1 From 4904a82a9399d037588162e6fb4b293fa6a37f7c Mon Sep 17 00:00:00 2001
2 From: Arnaud Ebalard <arno@natisbad.org>
3 Date: Sat, 22 Nov 2014 00:45:56 +0100
4 Subject: arm: mvebu: move Armada 370/XP pinctrl node definition
7 What was done by Sebastian in 264a05e19bf5 ("ARM: mvebu: armada-xp:
8 Add node alias to pinctrl and add base address") and 01c434225ee6
9 ("ARM: mvebu: armada-xp: Use pinctrl node alias") can also be done for
12 - Rename Armada 370 pinctrl node to pin-ctrl with its address encoded
13 - Add a node alias to access the pinctrl node easily.
14 - use the newly available alias in existing Armada 370 .dts files
16 We can even go a bit further by putting the pinctrl node definition in
17 armada-370-xp.dtsi, with only its reg property defined. This allows us
18 to then also use the newly defined node alias in armada-xp.dtsi,
21 Suggested-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
22 Suggested-by: Andrew Lunn <andrew@lunn.ch>
23 Acked-by: Andrew Lunn <andrew@lunn.ch>
24 Signed-off-by: Arnaud Ebalard <arno@natisbad.org>
25 Link: https://lkml.kernel.org/r/b54eb45e5242728aace3ce8aef2eae4251f8dea3.1416613429.git.arno@natisbad.org
26 Signed-off-by: Jason Cooper <jason@lakedaemon.net>
28 --- a/arch/arm/boot/dts/armada-370-db.dts
29 +++ b/arch/arm/boot/dts/armada-370-db.dts
31 compatible = "linux,spdif-dir";
37 + * These pins might be muxed as I2S by
38 + * the bootloader, but it conflicts
39 + * with the real I2S pins that are
40 + * muxed using i2s_pins. We must mux
41 + * those pins to a function other than
44 + pinctrl-0 = <&hog_pins1 &hog_pins2>;
45 + pinctrl-names = "default";
47 + hog_pins1: hog-pins1 {
48 + marvell,pins = "mpp6", "mpp8", "mpp10",
50 + marvell,function = "gpio";
53 + hog_pins2: hog-pins2 {
54 + marvell,pins = "mpp5", "mpp7", "mpp9";
55 + marvell,function = "gpo";
58 --- a/arch/arm/boot/dts/armada-370-mirabox.dts
59 +++ b/arch/arm/boot/dts/armada-370-mirabox.dts
65 - pwr_led_pin: pwr-led-pin {
66 - marvell,pins = "mpp63";
67 - marvell,function = "gpo";
70 - stat_led_pins: stat-led-pins {
71 - marvell,pins = "mpp64", "mpp65";
72 - marvell,function = "gpio";
77 compatible = "gpio-leds";
78 pinctrl-names = "default";
85 + pwr_led_pin: pwr-led-pin {
86 + marvell,pins = "mpp63";
87 + marvell,function = "gpo";
90 + stat_led_pins: stat-led-pins {
91 + marvell,pins = "mpp64", "mpp65";
92 + marvell,function = "gpio";
96 --- a/arch/arm/boot/dts/armada-370-netgear-rn102.dts
97 +++ b/arch/arm/boot/dts/armada-370-netgear-rn102.dts
103 - power_led_pin: power-led-pin {
104 - marvell,pins = "mpp57";
105 - marvell,function = "gpio";
108 - sata1_led_pin: sata1-led-pin {
109 - marvell,pins = "mpp15";
110 - marvell,function = "gpio";
113 - sata2_led_pin: sata2-led-pin {
114 - marvell,pins = "mpp14";
115 - marvell,function = "gpio";
118 - backup_led_pin: backup-led-pin {
119 - marvell,pins = "mpp56";
120 - marvell,function = "gpio";
123 - backup_button_pin: backup-button-pin {
124 - marvell,pins = "mpp58";
125 - marvell,function = "gpio";
128 - power_button_pin: power-button-pin {
129 - marvell,pins = "mpp62";
130 - marvell,function = "gpio";
133 - reset_button_pin: reset-button-pin {
134 - marvell,pins = "mpp6";
135 - marvell,function = "gpio";
138 - poweroff: poweroff {
139 - marvell,pins = "mpp8";
140 - marvell,function = "gpio";
145 pinctrl-0 = <&mdio_pins>;
146 pinctrl-names = "default";
148 gpios = <&gpio0 8 GPIO_ACTIVE_LOW>;
153 + power_led_pin: power-led-pin {
154 + marvell,pins = "mpp57";
155 + marvell,function = "gpio";
158 + sata1_led_pin: sata1-led-pin {
159 + marvell,pins = "mpp15";
160 + marvell,function = "gpio";
163 + sata2_led_pin: sata2-led-pin {
164 + marvell,pins = "mpp14";
165 + marvell,function = "gpio";
168 + backup_led_pin: backup-led-pin {
169 + marvell,pins = "mpp56";
170 + marvell,function = "gpio";
173 + backup_button_pin: backup-button-pin {
174 + marvell,pins = "mpp58";
175 + marvell,function = "gpio";
178 + power_button_pin: power-button-pin {
179 + marvell,pins = "mpp62";
180 + marvell,function = "gpio";
183 + reset_button_pin: reset-button-pin {
184 + marvell,pins = "mpp6";
185 + marvell,function = "gpio";
188 + poweroff: poweroff {
189 + marvell,pins = "mpp8";
190 + marvell,function = "gpio";
193 --- a/arch/arm/boot/dts/armada-370-netgear-rn104.dts
194 +++ b/arch/arm/boot/dts/armada-370-netgear-rn104.dts
200 - poweroff: poweroff {
201 - marvell,pins = "mpp60";
202 - marvell,function = "gpio";
205 - backup_button_pin: backup-button-pin {
206 - marvell,pins = "mpp52";
207 - marvell,function = "gpio";
210 - power_button_pin: power-button-pin {
211 - marvell,pins = "mpp62";
212 - marvell,function = "gpio";
215 - backup_led_pin: backup-led-pin {
216 - marvell,pins = "mpp63";
217 - marvell,function = "gpo";
220 - power_led_pin: power-led-pin {
221 - marvell,pins = "mpp64";
222 - marvell,function = "gpio";
225 - reset_button_pin: reset-button-pin {
226 - marvell,pins = "mpp65";
227 - marvell,function = "gpio";
232 pinctrl-0 = <&mdio_pins>;
233 pinctrl-names = "default";
235 gpios = <&gpio1 28 GPIO_ACTIVE_LOW>;
240 + poweroff: poweroff {
241 + marvell,pins = "mpp60";
242 + marvell,function = "gpio";
245 + backup_button_pin: backup-button-pin {
246 + marvell,pins = "mpp52";
247 + marvell,function = "gpio";
250 + power_button_pin: power-button-pin {
251 + marvell,pins = "mpp62";
252 + marvell,function = "gpio";
255 + backup_led_pin: backup-led-pin {
256 + marvell,pins = "mpp63";
257 + marvell,function = "gpo";
260 + power_led_pin: power-led-pin {
261 + marvell,pins = "mpp64";
262 + marvell,function = "gpio";
265 + reset_button_pin: reset-button-pin {
266 + marvell,pins = "mpp65";
267 + marvell,function = "gpio";
270 --- a/arch/arm/boot/dts/armada-370-rd.dts
271 +++ b/arch/arm/boot/dts/armada-370-rd.dts
277 - fan_pins: fan-pins {
278 - marvell,pins = "mpp8";
279 - marvell,function = "gpio";
282 - led_pins: led-pins {
283 - marvell,pins = "mpp32";
284 - marvell,function = "gpio";
297 + fan_pins: fan-pins {
298 + marvell,pins = "mpp8";
299 + marvell,function = "gpio";
302 + led_pins: led-pins {
303 + marvell,pins = "mpp32";
304 + marvell,function = "gpio";
307 --- a/arch/arm/boot/dts/armada-370-xp.dtsi
308 +++ b/arch/arm/boot/dts/armada-370-xp.dtsi
313 + pinctrl: pin-ctrl@18000 {
314 + reg = <0x18000 0x38>;
317 coredivclk: corediv-clock@18740 {
318 compatible = "marvell,armada-370-corediv-clock";
320 --- a/arch/arm/boot/dts/armada-370.dtsi
321 +++ b/arch/arm/boot/dts/armada-370.dtsi
323 reg = <0x11100 0x20>;
327 - compatible = "marvell,mv88f6710-pinctrl";
328 - reg = <0x18000 0x38>;
330 - sdio_pins1: sdio-pins1 {
331 - marvell,pins = "mpp9", "mpp11", "mpp12",
332 - "mpp13", "mpp14", "mpp15";
333 - marvell,function = "sd0";
336 - sdio_pins2: sdio-pins2 {
337 - marvell,pins = "mpp47", "mpp48", "mpp49",
338 - "mpp50", "mpp51", "mpp52";
339 - marvell,function = "sd0";
342 - sdio_pins3: sdio-pins3 {
343 - marvell,pins = "mpp48", "mpp49", "mpp50",
344 - "mpp51", "mpp52", "mpp53";
345 - marvell,function = "sd0";
348 - i2c0_pins: i2c0-pins {
349 - marvell,pins = "mpp2", "mpp3";
350 - marvell,function = "i2c0";
353 - i2s_pins1: i2s-pins1 {
354 - marvell,pins = "mpp5", "mpp6", "mpp7",
355 - "mpp8", "mpp9", "mpp10",
357 - marvell,function = "audio";
360 - i2s_pins2: i2s-pins2 {
361 - marvell,pins = "mpp49", "mpp47", "mpp50",
362 - "mpp59", "mpp57", "mpp61",
363 - "mpp62", "mpp60", "mpp58";
364 - marvell,function = "audio";
367 - mdio_pins: mdio-pins {
368 - marvell,pins = "mpp17", "mpp18";
369 - marvell,function = "ge";
372 - ge0_rgmii_pins: ge0-rgmii-pins {
373 - marvell,pins = "mpp5", "mpp6", "mpp7", "mpp8",
374 - "mpp9", "mpp10", "mpp11", "mpp12",
375 - "mpp13", "mpp14", "mpp15", "mpp16";
376 - marvell,function = "ge0";
379 - ge1_rgmii_pins: ge1-rgmii-pins {
380 - marvell,pins = "mpp19", "mpp20", "mpp21", "mpp22",
381 - "mpp23", "mpp24", "mpp25", "mpp26",
382 - "mpp27", "mpp28", "mpp29", "mpp30";
383 - marvell,function = "ge1";
388 compatible = "marvell,orion-gpio";
389 reg = <0x18100 0x40>;
396 + compatible = "marvell,mv88f6710-pinctrl";
398 + sdio_pins1: sdio-pins1 {
399 + marvell,pins = "mpp9", "mpp11", "mpp12",
400 + "mpp13", "mpp14", "mpp15";
401 + marvell,function = "sd0";
404 + sdio_pins2: sdio-pins2 {
405 + marvell,pins = "mpp47", "mpp48", "mpp49",
406 + "mpp50", "mpp51", "mpp52";
407 + marvell,function = "sd0";
410 + sdio_pins3: sdio-pins3 {
411 + marvell,pins = "mpp48", "mpp49", "mpp50",
412 + "mpp51", "mpp52", "mpp53";
413 + marvell,function = "sd0";
416 + i2c0_pins: i2c0-pins {
417 + marvell,pins = "mpp2", "mpp3";
418 + marvell,function = "i2c0";
421 + i2s_pins1: i2s-pins1 {
422 + marvell,pins = "mpp5", "mpp6", "mpp7",
423 + "mpp8", "mpp9", "mpp10",
425 + marvell,function = "audio";
428 + i2s_pins2: i2s-pins2 {
429 + marvell,pins = "mpp49", "mpp47", "mpp50",
430 + "mpp59", "mpp57", "mpp61",
431 + "mpp62", "mpp60", "mpp58";
432 + marvell,function = "audio";
435 + mdio_pins: mdio-pins {
436 + marvell,pins = "mpp17", "mpp18";
437 + marvell,function = "ge";
440 + ge0_rgmii_pins: ge0-rgmii-pins {
441 + marvell,pins = "mpp5", "mpp6", "mpp7", "mpp8",
442 + "mpp9", "mpp10", "mpp11", "mpp12",
443 + "mpp13", "mpp14", "mpp15", "mpp16";
444 + marvell,function = "ge0";
447 + ge1_rgmii_pins: ge1-rgmii-pins {
448 + marvell,pins = "mpp19", "mpp20", "mpp21", "mpp22",
449 + "mpp23", "mpp24", "mpp25", "mpp26",
450 + "mpp27", "mpp28", "mpp29", "mpp30";
451 + marvell,function = "ge1";
454 --- a/arch/arm/boot/dts/armada-xp.dtsi
455 +++ b/arch/arm/boot/dts/armada-xp.dtsi
460 - pinctrl: pin-ctrl@18000 {
461 - reg = <0x18000 0x38>;
463 - pmx_ge0_gmii: pmx-ge0-gmii {
465 - "mpp0", "mpp1", "mpp2", "mpp3",
466 - "mpp4", "mpp5", "mpp6", "mpp7",
467 - "mpp8", "mpp9", "mpp10", "mpp11",
468 - "mpp12", "mpp13", "mpp14", "mpp15",
469 - "mpp16", "mpp17", "mpp18", "mpp19",
470 - "mpp20", "mpp21", "mpp22", "mpp23";
471 - marvell,function = "ge0";
474 - pmx_ge0_rgmii: pmx-ge0-rgmii {
476 - "mpp0", "mpp1", "mpp2", "mpp3",
477 - "mpp4", "mpp5", "mpp6", "mpp7",
478 - "mpp8", "mpp9", "mpp10", "mpp11";
479 - marvell,function = "ge0";
482 - pmx_ge1_rgmii: pmx-ge1-rgmii {
484 - "mpp12", "mpp13", "mpp14", "mpp15",
485 - "mpp16", "mpp17", "mpp18", "mpp19",
486 - "mpp20", "mpp21", "mpp22", "mpp23";
487 - marvell,function = "ge1";
490 - sdio_pins: sdio-pins {
491 - marvell,pins = "mpp30", "mpp31", "mpp32",
492 - "mpp33", "mpp34", "mpp35";
493 - marvell,function = "sd0";
497 system-controller@18200 {
498 compatible = "marvell,armada-370-xp-system-controller";
499 reg = <0x18200 0x500>;
506 + pmx_ge0_gmii: pmx-ge0-gmii {
508 + "mpp0", "mpp1", "mpp2", "mpp3",
509 + "mpp4", "mpp5", "mpp6", "mpp7",
510 + "mpp8", "mpp9", "mpp10", "mpp11",
511 + "mpp12", "mpp13", "mpp14", "mpp15",
512 + "mpp16", "mpp17", "mpp18", "mpp19",
513 + "mpp20", "mpp21", "mpp22", "mpp23";
514 + marvell,function = "ge0";
517 + pmx_ge0_rgmii: pmx-ge0-rgmii {
519 + "mpp0", "mpp1", "mpp2", "mpp3",
520 + "mpp4", "mpp5", "mpp6", "mpp7",
521 + "mpp8", "mpp9", "mpp10", "mpp11";
522 + marvell,function = "ge0";
525 + pmx_ge1_rgmii: pmx-ge1-rgmii {
527 + "mpp12", "mpp13", "mpp14", "mpp15",
528 + "mpp16", "mpp17", "mpp18", "mpp19",
529 + "mpp20", "mpp21", "mpp22", "mpp23";
530 + marvell,function = "ge1";
533 + sdio_pins: sdio-pins {
534 + marvell,pins = "mpp30", "mpp31", "mpp32",
535 + "mpp33", "mpp34", "mpp35";
536 + marvell,function = "sd0";