Skip to content

Commit 98bc768

Browse files
committed
Merge tag 'at91-soc-7.1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/at91/linux into soc/drivers
Microchip AT91 SoC updates for v7.1 This update includes: - device tree bindings conversion to DT schema for CHIPID, RAM controller and PIT, PIT64b, ST timers * tag 'at91-soc-7.1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/at91/linux: dt-bindings: arm: atmel,at91rm9200-sdramc: convert to DT schema dt-bindings: arm: atmel,at91rm9200-st: convert to DT schema dt-bindings: arm: microchip,sam9x60-pit64b : convert to DT schema dt-bindings: arm: atmel,at91sam9260-pit: convert to DT schema dt-bindings: arm: microchip,sama7g5-chipid : convert to DT schema Signed-off-by: Krzysztof Kozlowski <[email protected]>
2 parents d7dbdad + f3ae004 commit 98bc768

6 files changed

Lines changed: 293 additions & 48 deletions

File tree

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/arm/atmel,at91rm9200-sdramc.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Microchip (Atmel) SDRAM / DDR Controller (RAMC / DDRAMC / UDDRC)
8+
9+
maintainers:
10+
- Nicolas Ferre <[email protected]>
11+
- Claudiu Beznea <[email protected]>
12+
13+
description:
14+
The SDRAM/DDR Controller (often called RAMC or DDRAMC) in various
15+
Atmel/Microchip ARM9 and Cortex-A5/A7 SoCs manages external
16+
SDRAM / DDR memory. It is typically exposed as a syscon node for
17+
register access from other drivers (e.g. for initialization or mode
18+
configuration). No interrupts or clocks are usually required in the
19+
binding.
20+
21+
properties:
22+
compatible:
23+
oneOf:
24+
- items:
25+
- const: atmel,at91rm9200-sdramc
26+
- const: syscon
27+
- items:
28+
- const: microchip,sama7d65-uddrc
29+
- const: microchip,sama7g5-uddrc
30+
- enum:
31+
- atmel,at91sam9260-sdramc
32+
- atmel,at91sam9g45-ddramc
33+
- atmel,sama5d3-ddramc
34+
- microchip,sam9x60-ddramc
35+
- microchip,sam9x7-ddramc
36+
- microchip,sama7g5-uddrc
37+
38+
reg:
39+
maxItems: 1
40+
41+
clocks:
42+
minItems: 1
43+
maxItems: 2
44+
45+
clock-names:
46+
minItems: 1
47+
items:
48+
- const: ddrck
49+
- const: mpddr
50+
51+
required:
52+
- compatible
53+
- reg
54+
55+
unevaluatedProperties: false
56+
57+
examples:
58+
- |
59+
#include <dt-bindings/clock/at91.h>
60+
ramc@ffffe400 {
61+
compatible = "atmel,at91sam9g45-ddramc";
62+
reg = <0xffffe400 0x200>;
63+
clocks = <&pmc PMC_TYPE_SYSTEM 2>;
64+
clock-names = "ddrck";
65+
};
66+
...
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/arm/atmel,at91rm9200-st.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Atmel System Timer
8+
9+
maintainers:
10+
- Nicolas Ferre <[email protected]>
11+
- Claudiu Beznea <[email protected]>
12+
13+
description:
14+
The System Timer (ST) module in AT91RM9200 provides periodic tick and
15+
alarm capabilities. It is exposed as a simple multi-function device
16+
(simple-mfd + syscon) because it shares its register space and interrupt
17+
with other System Controller blocks.
18+
19+
properties:
20+
compatible:
21+
items:
22+
- const: atmel,at91rm9200-st
23+
- const: syscon
24+
- const: simple-mfd
25+
26+
reg:
27+
maxItems: 1
28+
29+
interrupts:
30+
maxItems: 1
31+
32+
clocks:
33+
maxItems: 1
34+
35+
"#address-cells":
36+
const: 1
37+
38+
"#size-cells":
39+
const: 1
40+
41+
patternProperties:
42+
"^watchdog@[0-9a-f]+$":
43+
$ref: /schemas/watchdog/atmel,at91rm9200-wdt.yaml#
44+
45+
required:
46+
- compatible
47+
- reg
48+
- interrupts
49+
- clocks
50+
51+
unevaluatedProperties: false
52+
53+
examples:
54+
- |
55+
#include <dt-bindings/interrupt-controller/irq.h>
56+
timer@fffffd00 {
57+
compatible = "atmel,at91rm9200-st", "syscon", "simple-mfd";
58+
reg = <0xfffffd00 0x100>;
59+
interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
60+
clocks = <&slow_xtal>;
61+
#address-cells = <1>;
62+
#size-cells = <1>;
63+
64+
watchdog@fffffd40 {
65+
compatible = "atmel,at91rm9200-wdt";
66+
reg = <0xfffffd40 0x40>;
67+
};
68+
};
69+
...
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/arm/atmel,at91sam9260-pit.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Atmel AT91SAM9260 Periodic Interval Timer (PIT)
8+
9+
maintainers:
10+
- Nicolas Ferre <[email protected]>
11+
- Claudiu Beznea <[email protected]>
12+
13+
description:
14+
The Periodic Interval Timer (PIT) is part of the System Controller of
15+
various Microchip 32-bit ARM-based SoCs (formerly Atmel AT91 series).
16+
It is a simple down-counter timer used mainly as the kernel tick source.
17+
The PIT is clocked from the slow clock and shares a single IRQ line with
18+
other System Controller peripherals.
19+
20+
properties:
21+
compatible:
22+
const: atmel,at91sam9260-pit
23+
24+
reg:
25+
maxItems: 1
26+
27+
interrupts:
28+
maxItems: 1
29+
30+
clocks:
31+
maxItems: 1
32+
33+
required:
34+
- compatible
35+
- reg
36+
- interrupts
37+
38+
unevaluatedProperties: false
39+
40+
examples:
41+
- |
42+
#include <dt-bindings/interrupt-controller/irq.h>
43+
timer@fffffd30 {
44+
compatible = "atmel,at91sam9260-pit";
45+
reg = <0xfffffd30 0x10>;
46+
interrupts = <1 IRQ_TYPE_LEVEL_HIGH>;
47+
clocks = <&clk32k>;
48+
};
49+
...

Documentation/devicetree/bindings/arm/atmel-sysregs.txt

Lines changed: 0 additions & 48 deletions
This file was deleted.
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/arm/microchip,sam9x60-pit64b.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Microchip PIT64B 64-bit Periodic Interval Timer
8+
9+
maintainers:
10+
- Nicolas Ferre <[email protected]>
11+
- Claudiu Beznea <[email protected]>
12+
13+
description:
14+
The Microchip PIT64B is a 64-bit periodic interval timer used in
15+
several modern Microchip ARM SoCs including SAM9X60, SAM9X7 and
16+
SAMA7D65 families. It provides extended timing range, flexible
17+
clock selection and supports both periodic and one-shot interrupt
18+
generation modes.
19+
20+
properties:
21+
compatible:
22+
oneOf:
23+
- const: microchip,sam9x60-pit64b
24+
- items:
25+
- enum:
26+
- microchip,sam9x7-pit64b
27+
- microchip,sama7d65-pit64b
28+
- microchip,sama7g5-pit64b
29+
- const: microchip,sam9x60-pit64b
30+
31+
reg:
32+
maxItems: 1
33+
34+
interrupts:
35+
maxItems: 1
36+
37+
clocks:
38+
minItems: 1
39+
maxItems: 2
40+
41+
clock-names:
42+
minItems: 1
43+
maxItems: 2
44+
items:
45+
enum:
46+
- pclk
47+
- gclk
48+
49+
required:
50+
- compatible
51+
- reg
52+
- interrupts
53+
- clocks
54+
55+
unevaluatedProperties: false
56+
57+
examples:
58+
- |
59+
#include <dt-bindings/interrupt-controller/irq.h>
60+
#include <dt-bindings/clock/at91.h>
61+
timer@f0028000 {
62+
compatible = "microchip,sama7g5-pit64b", "microchip,sam9x60-pit64b";
63+
reg = <0xf0028000 0x100>;
64+
interrupts = <37 IRQ_TYPE_LEVEL_HIGH 7>;
65+
clocks = <&pmc PMC_TYPE_PERIPHERAL 37>, <&pmc PMC_TYPE_GCK 37>;
66+
clock-names = "pclk", "gclk";
67+
};
68+
...
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/arm/microchip,sama7g5-chipid.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Atmel/Microchip RAMC SDRAM/DDR Controller
8+
9+
maintainers:
10+
- Nicolas Ferre <[email protected]>
11+
- Claudiu Beznea <[email protected]>
12+
13+
description:
14+
This binding describes the Atmel/Microchip Chip ID register block used
15+
for SoC identification and revision information. It requires compatible
16+
strings matching specific SoC families and a reg property defining the
17+
register address and size.
18+
19+
properties:
20+
compatible:
21+
enum:
22+
- atmel,sama5d2-chipid
23+
- microchip,sama7d65-chipid
24+
- microchip,sama7g5-chipid
25+
26+
reg:
27+
maxItems: 1
28+
29+
required:
30+
- compatible
31+
- reg
32+
33+
unevaluatedProperties: false
34+
35+
examples:
36+
- |
37+
chipid@fc069000 {
38+
compatible = "atmel,sama5d2-chipid";
39+
reg = <0xfc069000 0x8>;
40+
};
41+
...

0 commit comments

Comments
 (0)