diff options
author | Boris BREZILLON <b.brezillon@overkiz.com> | 2013-08-07 06:14:26 -0400 |
---|---|---|
committer | Nicolas Ferre <nicolas.ferre@atmel.com> | 2013-10-16 09:47:07 -0400 |
commit | d195608acc78db293468694ed5225a39e440429d (patch) | |
tree | 0018e973d8baf55db02ab43d93c77f5d9bbb165b | |
parent | d54322d8f69344d7248cfea038b5810fa2ba1b35 (diff) |
ARM: at91/dt: split sam9x5 peripheral definitions
This patch splits the sam9x5 peripheral definitions into:
- a common base for all sam9x5 SoCs (at91sam9x5.dtsi)
- several optional peripheral definitions which will be included by specific
sam9x5 SoCs (at91sam9x5_'periph name'.dtsi)
This provides a better representation of the real hardware (drop unneeded
dt nodes) and avoids future peripheral id conflict (lcdc and isi both use
peripheral id 25).
Signed-off-by: Boris BREZILLON <b.brezillon@overkiz.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
-rw-r--r-- | arch/arm/boot/dts/at91sam9g25.dtsi | 2 | ||||
-rw-r--r-- | arch/arm/boot/dts/at91sam9g35.dtsi | 1 | ||||
-rw-r--r-- | arch/arm/boot/dts/at91sam9x25.dtsi | 24 | ||||
-rw-r--r-- | arch/arm/boot/dts/at91sam9x35.dtsi | 1 | ||||
-rw-r--r-- | arch/arm/boot/dts/at91sam9x5.dtsi | 67 | ||||
-rw-r--r-- | arch/arm/boot/dts/at91sam9x5_macb0.dtsi | 56 | ||||
-rw-r--r-- | arch/arm/boot/dts/at91sam9x5_macb1.dtsi | 44 | ||||
-rw-r--r-- | arch/arm/boot/dts/at91sam9x5_usart3.dtsi | 51 |
8 files changed, 158 insertions, 88 deletions
diff --git a/arch/arm/boot/dts/at91sam9g25.dtsi b/arch/arm/boot/dts/at91sam9g25.dtsi index b4ec6fe53fc7..17b879990914 100644 --- a/arch/arm/boot/dts/at91sam9g25.dtsi +++ b/arch/arm/boot/dts/at91sam9g25.dtsi | |||
@@ -7,6 +7,8 @@ | |||
7 | */ | 7 | */ |
8 | 8 | ||
9 | #include "at91sam9x5.dtsi" | 9 | #include "at91sam9x5.dtsi" |
10 | #include "at91sam9x5_usart3.dtsi" | ||
11 | #include "at91sam9x5_macb0.dtsi" | ||
10 | 12 | ||
11 | / { | 13 | / { |
12 | model = "Atmel AT91SAM9G25 SoC"; | 14 | model = "Atmel AT91SAM9G25 SoC"; |
diff --git a/arch/arm/boot/dts/at91sam9g35.dtsi b/arch/arm/boot/dts/at91sam9g35.dtsi index bebf9f55614b..e35c2fcf8298 100644 --- a/arch/arm/boot/dts/at91sam9g35.dtsi +++ b/arch/arm/boot/dts/at91sam9g35.dtsi | |||
@@ -7,6 +7,7 @@ | |||
7 | */ | 7 | */ |
8 | 8 | ||
9 | #include "at91sam9x5.dtsi" | 9 | #include "at91sam9x5.dtsi" |
10 | #include "at91sam9x5_macb0.dtsi" | ||
10 | 11 | ||
11 | / { | 12 | / { |
12 | model = "Atmel AT91SAM9G35 SoC"; | 13 | model = "Atmel AT91SAM9G35 SoC"; |
diff --git a/arch/arm/boot/dts/at91sam9x25.dtsi b/arch/arm/boot/dts/at91sam9x25.dtsi index 49e94aba938f..c2554219f7a4 100644 --- a/arch/arm/boot/dts/at91sam9x25.dtsi +++ b/arch/arm/boot/dts/at91sam9x25.dtsi | |||
@@ -7,6 +7,9 @@ | |||
7 | */ | 7 | */ |
8 | 8 | ||
9 | #include "at91sam9x5.dtsi" | 9 | #include "at91sam9x5.dtsi" |
10 | #include "at91sam9x5_usart3.dtsi" | ||
11 | #include "at91sam9x5_macb0.dtsi" | ||
12 | #include "at91sam9x5_macb1.dtsi" | ||
10 | 13 | ||
11 | / { | 14 | / { |
12 | model = "Atmel AT91SAM9X25 SoC"; | 15 | model = "Atmel AT91SAM9X25 SoC"; |
@@ -22,27 +25,6 @@ | |||
22 | 0x80000000 0xfffd0000 0xb83fffff /* pioC */ | 25 | 0x80000000 0xfffd0000 0xb83fffff /* pioC */ |
23 | 0x003fffff 0x003f8000 0x00000000 /* pioD */ | 26 | 0x003fffff 0x003f8000 0x00000000 /* pioD */ |
24 | >; | 27 | >; |
25 | |||
26 | macb1 { | ||
27 | pinctrl_macb1_rmii: macb1_rmii-0 { | ||
28 | atmel,pins = | ||
29 | <AT91_PIOC 16 AT91_PERIPH_B AT91_PINCTRL_NONE /* PC16 periph B */ | ||
30 | AT91_PIOC 18 AT91_PERIPH_B AT91_PINCTRL_NONE /* PC18 periph B */ | ||
31 | AT91_PIOC 19 AT91_PERIPH_B AT91_PINCTRL_NONE /* PC19 periph B */ | ||
32 | AT91_PIOC 20 AT91_PERIPH_B AT91_PINCTRL_NONE /* PC20 periph B */ | ||
33 | AT91_PIOC 21 AT91_PERIPH_B AT91_PINCTRL_NONE /* PC21 periph B */ | ||
34 | AT91_PIOC 27 AT91_PERIPH_B AT91_PINCTRL_NONE /* PC27 periph B */ | ||
35 | AT91_PIOC 28 AT91_PERIPH_B AT91_PINCTRL_NONE /* PC28 periph B */ | ||
36 | AT91_PIOC 29 AT91_PERIPH_B AT91_PINCTRL_NONE /* PC29 periph B */ | ||
37 | AT91_PIOC 30 AT91_PERIPH_B AT91_PINCTRL_NONE /* PC30 periph B */ | ||
38 | AT91_PIOC 31 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PC31 periph B */ | ||
39 | }; | ||
40 | }; | ||
41 | }; | ||
42 | |||
43 | macb1: ethernet@f8030000 { | ||
44 | pinctrl-names = "default"; | ||
45 | pinctrl-0 = <&pinctrl_macb1_rmii>; | ||
46 | }; | 28 | }; |
47 | }; | 29 | }; |
48 | }; | 30 | }; |
diff --git a/arch/arm/boot/dts/at91sam9x35.dtsi b/arch/arm/boot/dts/at91sam9x35.dtsi index 1a3d525a1f5d..8eac66ce0ab7 100644 --- a/arch/arm/boot/dts/at91sam9x35.dtsi +++ b/arch/arm/boot/dts/at91sam9x35.dtsi | |||
@@ -7,6 +7,7 @@ | |||
7 | */ | 7 | */ |
8 | 8 | ||
9 | #include "at91sam9x5.dtsi" | 9 | #include "at91sam9x5.dtsi" |
10 | #include "at91sam9x5_macb0.dtsi" | ||
10 | 11 | ||
11 | / { | 12 | / { |
12 | model = "Atmel AT91SAM9X35 SoC"; | 13 | model = "Atmel AT91SAM9X35 SoC"; |
diff --git a/arch/arm/boot/dts/at91sam9x5.dtsi b/arch/arm/boot/dts/at91sam9x5.dtsi index cf78ac0b04b1..417899002c41 100644 --- a/arch/arm/boot/dts/at91sam9x5.dtsi +++ b/arch/arm/boot/dts/at91sam9x5.dtsi | |||
@@ -206,29 +206,6 @@ | |||
206 | }; | 206 | }; |
207 | }; | 207 | }; |
208 | 208 | ||
209 | usart3 { | ||
210 | pinctrl_usart3: usart3-0 { | ||
211 | atmel,pins = | ||
212 | <AT91_PIOC 22 AT91_PERIPH_B AT91_PINCTRL_PULL_UP /* PC22 periph B with pullup */ | ||
213 | AT91_PIOC 23 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PC23 periph B */ | ||
214 | }; | ||
215 | |||
216 | pinctrl_usart3_rts: usart3_rts-0 { | ||
217 | atmel,pins = | ||
218 | <AT91_PIOC 24 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PC24 periph B */ | ||
219 | }; | ||
220 | |||
221 | pinctrl_usart3_cts: usart3_cts-0 { | ||
222 | atmel,pins = | ||
223 | <AT91_PIOC 25 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PC25 periph B */ | ||
224 | }; | ||
225 | |||
226 | pinctrl_usart3_sck: usart3_sck-0 { | ||
227 | atmel,pins = | ||
228 | <AT91_PIOC 26 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PC26 periph B */ | ||
229 | }; | ||
230 | }; | ||
231 | |||
232 | uart0 { | 209 | uart0 { |
233 | pinctrl_uart0: uart0-0 { | 210 | pinctrl_uart0: uart0-0 { |
234 | atmel,pins = | 211 | atmel,pins = |
@@ -277,34 +254,6 @@ | |||
277 | }; | 254 | }; |
278 | }; | 255 | }; |
279 | 256 | ||
280 | macb0 { | ||
281 | pinctrl_macb0_rmii: macb0_rmii-0 { | ||
282 | atmel,pins = | ||
283 | <AT91_PIOB 0 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB0 periph A */ | ||
284 | AT91_PIOB 1 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB1 periph A */ | ||
285 | AT91_PIOB 2 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB2 periph A */ | ||
286 | AT91_PIOB 3 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB3 periph A */ | ||
287 | AT91_PIOB 4 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB4 periph A */ | ||
288 | AT91_PIOB 5 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB5 periph A */ | ||
289 | AT91_PIOB 6 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB6 periph A */ | ||
290 | AT91_PIOB 7 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB7 periph A */ | ||
291 | AT91_PIOB 9 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB9 periph A */ | ||
292 | AT91_PIOB 10 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB10 periph A */ | ||
293 | }; | ||
294 | |||
295 | pinctrl_macb0_rmii_mii: macb0_rmii_mii-0 { | ||
296 | atmel,pins = | ||
297 | <AT91_PIOB 8 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB8 periph A */ | ||
298 | AT91_PIOB 11 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB11 periph A */ | ||
299 | AT91_PIOB 12 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB12 periph A */ | ||
300 | AT91_PIOB 13 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB13 periph A */ | ||
301 | AT91_PIOB 14 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB14 periph A */ | ||
302 | AT91_PIOB 15 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB15 periph A */ | ||
303 | AT91_PIOB 16 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB16 periph A */ | ||
304 | AT91_PIOB 17 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB17 periph A */ | ||
305 | }; | ||
306 | }; | ||
307 | |||
308 | mmc0 { | 257 | mmc0 { |
309 | pinctrl_mmc0_slot0_clk_cmd_dat0: mmc0_slot0_clk_cmd_dat0-0 { | 258 | pinctrl_mmc0_slot0_clk_cmd_dat0: mmc0_slot0_clk_cmd_dat0-0 { |
310 | atmel,pins = | 259 | atmel,pins = |
@@ -608,22 +557,6 @@ | |||
608 | status = "disabled"; | 557 | status = "disabled"; |
609 | }; | 558 | }; |
610 | 559 | ||
611 | macb0: ethernet@f802c000 { | ||
612 | compatible = "cdns,at32ap7000-macb", "cdns,macb"; | ||
613 | reg = <0xf802c000 0x100>; | ||
614 | interrupts = <24 IRQ_TYPE_LEVEL_HIGH 3>; | ||
615 | pinctrl-names = "default"; | ||
616 | pinctrl-0 = <&pinctrl_macb0_rmii>; | ||
617 | status = "disabled"; | ||
618 | }; | ||
619 | |||
620 | macb1: ethernet@f8030000 { | ||
621 | compatible = "cdns,at32ap7000-macb", "cdns,macb"; | ||
622 | reg = <0xf8030000 0x100>; | ||
623 | interrupts = <27 IRQ_TYPE_LEVEL_HIGH 3>; | ||
624 | status = "disabled"; | ||
625 | }; | ||
626 | |||
627 | i2c0: i2c@f8010000 { | 560 | i2c0: i2c@f8010000 { |
628 | compatible = "atmel,at91sam9x5-i2c"; | 561 | compatible = "atmel,at91sam9x5-i2c"; |
629 | reg = <0xf8010000 0x100>; | 562 | reg = <0xf8010000 0x100>; |
diff --git a/arch/arm/boot/dts/at91sam9x5_macb0.dtsi b/arch/arm/boot/dts/at91sam9x5_macb0.dtsi new file mode 100644 index 000000000000..55731ffba764 --- /dev/null +++ b/arch/arm/boot/dts/at91sam9x5_macb0.dtsi | |||
@@ -0,0 +1,56 @@ | |||
1 | /* | ||
2 | * at91sam9x5_macb0.dtsi - Device Tree Include file for AT91SAM9x5 SoC with 1 | ||
3 | * Ethernet interface. | ||
4 | * | ||
5 | * Copyright (C) 2013 Boris BREZILLON <b.brezillon@overkiz.com> | ||
6 | * | ||
7 | * Licensed under GPLv2. | ||
8 | */ | ||
9 | |||
10 | #include <dt-bindings/pinctrl/at91.h> | ||
11 | #include <dt-bindings/interrupt-controller/irq.h> | ||
12 | |||
13 | / { | ||
14 | ahb { | ||
15 | apb { | ||
16 | pinctrl@fffff400 { | ||
17 | macb0 { | ||
18 | pinctrl_macb0_rmii: macb0_rmii-0 { | ||
19 | atmel,pins = | ||
20 | <AT91_PIOB 0 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB0 periph A */ | ||
21 | AT91_PIOB 1 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB1 periph A */ | ||
22 | AT91_PIOB 2 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB2 periph A */ | ||
23 | AT91_PIOB 3 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB3 periph A */ | ||
24 | AT91_PIOB 4 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB4 periph A */ | ||
25 | AT91_PIOB 5 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB5 periph A */ | ||
26 | AT91_PIOB 6 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB6 periph A */ | ||
27 | AT91_PIOB 7 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB7 periph A */ | ||
28 | AT91_PIOB 9 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB9 periph A */ | ||
29 | AT91_PIOB 10 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB10 periph A */ | ||
30 | }; | ||
31 | |||
32 | pinctrl_macb0_rmii_mii: macb0_rmii_mii-0 { | ||
33 | atmel,pins = | ||
34 | <AT91_PIOB 8 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB8 periph A */ | ||
35 | AT91_PIOB 11 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB11 periph A */ | ||
36 | AT91_PIOB 12 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB12 periph A */ | ||
37 | AT91_PIOB 13 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB13 periph A */ | ||
38 | AT91_PIOB 14 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB14 periph A */ | ||
39 | AT91_PIOB 15 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB15 periph A */ | ||
40 | AT91_PIOB 16 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB16 periph A */ | ||
41 | AT91_PIOB 17 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB17 periph A */ | ||
42 | }; | ||
43 | }; | ||
44 | }; | ||
45 | |||
46 | macb0: ethernet@f802c000 { | ||
47 | compatible = "cdns,at32ap7000-macb", "cdns,macb"; | ||
48 | reg = <0xf802c000 0x100>; | ||
49 | interrupts = <24 IRQ_TYPE_LEVEL_HIGH 3>; | ||
50 | pinctrl-names = "default"; | ||
51 | pinctrl-0 = <&pinctrl_macb0_rmii>; | ||
52 | status = "disabled"; | ||
53 | }; | ||
54 | }; | ||
55 | }; | ||
56 | }; | ||
diff --git a/arch/arm/boot/dts/at91sam9x5_macb1.dtsi b/arch/arm/boot/dts/at91sam9x5_macb1.dtsi new file mode 100644 index 000000000000..77425a627a94 --- /dev/null +++ b/arch/arm/boot/dts/at91sam9x5_macb1.dtsi | |||
@@ -0,0 +1,44 @@ | |||
1 | /* | ||
2 | * at91sam9x5_macb1.dtsi - Device Tree Include file for AT91SAM9x5 SoC with 2 | ||
3 | * Ethernet interfaces. | ||
4 | * | ||
5 | * Copyright (C) 2013 Boris BREZILLON <b.brezillon@overkiz.com> | ||
6 | * | ||
7 | * Licensed under GPLv2. | ||
8 | */ | ||
9 | |||
10 | #include <dt-bindings/pinctrl/at91.h> | ||
11 | #include <dt-bindings/interrupt-controller/irq.h> | ||
12 | |||
13 | / { | ||
14 | ahb { | ||
15 | apb { | ||
16 | pinctrl@fffff400 { | ||
17 | macb1 { | ||
18 | pinctrl_macb1_rmii: macb1_rmii-0 { | ||
19 | atmel,pins = | ||
20 | <AT91_PIOC 16 AT91_PERIPH_B AT91_PINCTRL_NONE /* PC16 periph B */ | ||
21 | AT91_PIOC 18 AT91_PERIPH_B AT91_PINCTRL_NONE /* PC18 periph B */ | ||
22 | AT91_PIOC 19 AT91_PERIPH_B AT91_PINCTRL_NONE /* PC19 periph B */ | ||
23 | AT91_PIOC 20 AT91_PERIPH_B AT91_PINCTRL_NONE /* PC20 periph B */ | ||
24 | AT91_PIOC 21 AT91_PERIPH_B AT91_PINCTRL_NONE /* PC21 periph B */ | ||
25 | AT91_PIOC 27 AT91_PERIPH_B AT91_PINCTRL_NONE /* PC27 periph B */ | ||
26 | AT91_PIOC 28 AT91_PERIPH_B AT91_PINCTRL_NONE /* PC28 periph B */ | ||
27 | AT91_PIOC 29 AT91_PERIPH_B AT91_PINCTRL_NONE /* PC29 periph B */ | ||
28 | AT91_PIOC 30 AT91_PERIPH_B AT91_PINCTRL_NONE /* PC30 periph B */ | ||
29 | AT91_PIOC 31 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PC31 periph B */ | ||
30 | }; | ||
31 | }; | ||
32 | }; | ||
33 | |||
34 | macb1: ethernet@f8030000 { | ||
35 | compatible = "cdns,at32ap7000-macb", "cdns,macb"; | ||
36 | reg = <0xf8030000 0x100>; | ||
37 | interrupts = <27 IRQ_TYPE_LEVEL_HIGH 3>; | ||
38 | pinctrl-names = "default"; | ||
39 | pinctrl-0 = <&pinctrl_macb1_rmii>; | ||
40 | status = "disabled"; | ||
41 | }; | ||
42 | }; | ||
43 | }; | ||
44 | }; | ||
diff --git a/arch/arm/boot/dts/at91sam9x5_usart3.dtsi b/arch/arm/boot/dts/at91sam9x5_usart3.dtsi new file mode 100644 index 000000000000..2347e9563cef --- /dev/null +++ b/arch/arm/boot/dts/at91sam9x5_usart3.dtsi | |||
@@ -0,0 +1,51 @@ | |||
1 | /* | ||
2 | * at91sam9x5_usart3.dtsi - Device Tree Include file for AT91SAM9x5 SoC with | ||
3 | * 4 USART. | ||
4 | * | ||
5 | * Copyright (C) 2013 Boris BREZILLON <b.brezillon@overkiz.com> | ||
6 | * | ||
7 | * Licensed under GPLv2. | ||
8 | */ | ||
9 | |||
10 | #include <dt-bindings/pinctrl/at91.h> | ||
11 | #include <dt-bindings/interrupt-controller/irq.h> | ||
12 | |||
13 | / { | ||
14 | ahb { | ||
15 | apb { | ||
16 | pinctrl@fffff400 { | ||
17 | usart3 { | ||
18 | pinctrl_usart3: usart3-0 { | ||
19 | atmel,pins = | ||
20 | <AT91_PIOC 22 AT91_PERIPH_B AT91_PINCTRL_PULL_UP /* PC22 periph B with pullup */ | ||
21 | AT91_PIOC 23 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PC23 periph B */ | ||
22 | }; | ||
23 | |||
24 | pinctrl_usart3_rts: usart3_rts-0 { | ||
25 | atmel,pins = | ||
26 | <AT91_PIOC 24 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PC24 periph B */ | ||
27 | }; | ||
28 | |||
29 | pinctrl_usart3_cts: usart3_cts-0 { | ||
30 | atmel,pins = | ||
31 | <AT91_PIOC 25 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PC25 periph B */ | ||
32 | }; | ||
33 | |||
34 | pinctrl_usart3_sck: usart3_sck-0 { | ||
35 | atmel,pins = | ||
36 | <AT91_PIOC 26 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PC26 periph B */ | ||
37 | }; | ||
38 | }; | ||
39 | }; | ||
40 | |||
41 | usart3: serial@f8028000 { | ||
42 | compatible = "atmel,at91sam9260-usart"; | ||
43 | reg = <0xf8028000 0x200>; | ||
44 | interrupts = <8 IRQ_TYPE_LEVEL_HIGH 5>; | ||
45 | pinctrl-names = "default"; | ||
46 | pinctrl-0 = <&pinctrl_usart3>; | ||
47 | status = "disabled"; | ||
48 | }; | ||
49 | }; | ||
50 | }; | ||
51 | }; | ||