Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Boris BREZILLON and committed by
Nicolas Ferre
d195608a d54322d8

+158 -88
+2
arch/arm/boot/dts/at91sam9g25.dtsi
··· 7 7 */ 8 8 9 9 #include "at91sam9x5.dtsi" 10 + #include "at91sam9x5_usart3.dtsi" 11 + #include "at91sam9x5_macb0.dtsi" 10 12 11 13 / { 12 14 model = "Atmel AT91SAM9G25 SoC";
+1
arch/arm/boot/dts/at91sam9g35.dtsi
··· 7 7 */ 8 8 9 9 #include "at91sam9x5.dtsi" 10 + #include "at91sam9x5_macb0.dtsi" 10 11 11 12 / { 12 13 model = "Atmel AT91SAM9G35 SoC";
+3 -21
arch/arm/boot/dts/at91sam9x25.dtsi
··· 7 7 */ 8 8 9 9 #include "at91sam9x5.dtsi" 10 + #include "at91sam9x5_usart3.dtsi" 11 + #include "at91sam9x5_macb0.dtsi" 12 + #include "at91sam9x5_macb1.dtsi" 10 13 11 14 / { 12 15 model = "Atmel AT91SAM9X25 SoC"; ··· 25 22 0x80000000 0xfffd0000 0xb83fffff /* pioC */ 26 23 0x003fffff 0x003f8000 0x00000000 /* pioD */ 27 24 >; 28 - 29 - macb1 { 30 - pinctrl_macb1_rmii: macb1_rmii-0 { 31 - atmel,pins = 32 - <AT91_PIOC 16 AT91_PERIPH_B AT91_PINCTRL_NONE /* PC16 periph B */ 33 - AT91_PIOC 18 AT91_PERIPH_B AT91_PINCTRL_NONE /* PC18 periph B */ 34 - AT91_PIOC 19 AT91_PERIPH_B AT91_PINCTRL_NONE /* PC19 periph B */ 35 - AT91_PIOC 20 AT91_PERIPH_B AT91_PINCTRL_NONE /* PC20 periph B */ 36 - AT91_PIOC 21 AT91_PERIPH_B AT91_PINCTRL_NONE /* PC21 periph B */ 37 - AT91_PIOC 27 AT91_PERIPH_B AT91_PINCTRL_NONE /* PC27 periph B */ 38 - AT91_PIOC 28 AT91_PERIPH_B AT91_PINCTRL_NONE /* PC28 periph B */ 39 - AT91_PIOC 29 AT91_PERIPH_B AT91_PINCTRL_NONE /* PC29 periph B */ 40 - AT91_PIOC 30 AT91_PERIPH_B AT91_PINCTRL_NONE /* PC30 periph B */ 41 - AT91_PIOC 31 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PC31 periph B */ 42 - }; 43 - }; 44 - }; 45 - 46 - macb1: ethernet@f8030000 { 47 - pinctrl-names = "default"; 48 - pinctrl-0 = <&pinctrl_macb1_rmii>; 49 25 }; 50 26 }; 51 27 };
+1
arch/arm/boot/dts/at91sam9x35.dtsi
··· 7 7 */ 8 8 9 9 #include "at91sam9x5.dtsi" 10 + #include "at91sam9x5_macb0.dtsi" 10 11 11 12 / { 12 13 model = "Atmel AT91SAM9X35 SoC";
-67
arch/arm/boot/dts/at91sam9x5.dtsi
··· 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 209 uart0 { 233 210 pinctrl_uart0: uart0-0 { 234 211 atmel,pins = ··· 251 274 AT91_PIOD 19 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD19 periph A Data bit 13 */ 252 275 AT91_PIOD 20 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD20 periph A Data bit 14 */ 253 276 AT91_PIOD 21 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD21 periph A Data bit 15 */ 254 - }; 255 - }; 256 - 257 - macb0 { 258 - pinctrl_macb0_rmii: macb0_rmii-0 { 259 - atmel,pins = 260 - <AT91_PIOB 0 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB0 periph A */ 261 - AT91_PIOB 1 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB1 periph A */ 262 - AT91_PIOB 2 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB2 periph A */ 263 - AT91_PIOB 3 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB3 periph A */ 264 - AT91_PIOB 4 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB4 periph A */ 265 - AT91_PIOB 5 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB5 periph A */ 266 - AT91_PIOB 6 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB6 periph A */ 267 - AT91_PIOB 7 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB7 periph A */ 268 - AT91_PIOB 9 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB9 periph A */ 269 - AT91_PIOB 10 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB10 periph A */ 270 - }; 271 - 272 - pinctrl_macb0_rmii_mii: macb0_rmii_mii-0 { 273 - atmel,pins = 274 - <AT91_PIOB 8 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB8 periph A */ 275 - AT91_PIOB 11 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB11 periph A */ 276 - AT91_PIOB 12 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB12 periph A */ 277 - AT91_PIOB 13 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB13 periph A */ 278 - AT91_PIOB 14 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB14 periph A */ 279 - AT91_PIOB 15 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB15 periph A */ 280 - AT91_PIOB 16 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB16 periph A */ 281 - AT91_PIOB 17 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB17 periph A */ 282 277 }; 283 278 }; 284 279 ··· 554 605 interrupts = <7 IRQ_TYPE_LEVEL_HIGH 5>; 555 606 pinctrl-names = "default"; 556 607 pinctrl-0 = <&pinctrl_usart2>; 557 - status = "disabled"; 558 - }; 559 - 560 - macb0: ethernet@f802c000 { 561 - compatible = "cdns,at32ap7000-macb", "cdns,macb"; 562 - reg = <0xf802c000 0x100>; 563 - interrupts = <24 IRQ_TYPE_LEVEL_HIGH 3>; 564 - pinctrl-names = "default"; 565 - pinctrl-0 = <&pinctrl_macb0_rmii>; 566 - status = "disabled"; 567 - }; 568 - 569 - macb1: ethernet@f8030000 { 570 - compatible = "cdns,at32ap7000-macb", "cdns,macb"; 571 - reg = <0xf8030000 0x100>; 572 - interrupts = <27 IRQ_TYPE_LEVEL_HIGH 3>; 573 608 status = "disabled"; 574 609 }; 575 610
+56
arch/arm/boot/dts/at91sam9x5_macb0.dtsi
··· 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 + };
+44
arch/arm/boot/dts/at91sam9x5_macb1.dtsi
··· 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 + };
+51
arch/arm/boot/dts/at91sam9x5_usart3.dtsi
··· 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 + };