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

powerpc/5200: Use the gpt* labels to simplify mpc5200 dts files

The DTC labels feature allows a dts file to reference a node without
having to reproduce the entire node hierarchy above it. We can use this
to simplify the MPC5200 board dts files by referencing the gpt nodes by
label.

Cc: Anatolij Gustschin <agust@denx.de>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
[agust: fixed gpt7 phandle in the csi node of o2d.dtsi]
Signed-off-by: Anatolij Gustschin <agust@denx.de>

authored by

Grant Likely and committed by
Anatolij Gustschin
fa59f178 4fd0a213

+70 -235
+2 -4
arch/powerpc/boot/dts/a3m071.dts
··· 17 17 18 18 /include/ "mpc5200b.dtsi" 19 19 20 + &gpt0 { fsl,has-wdt; }; 21 + 20 22 / { 21 23 model = "anonymous,a3m071"; 22 24 compatible = "anonymous,a3m071"; ··· 31 29 reg = <0xf0000000 0x00000100>; 32 30 bus-frequency = <0>; /* From boot loader */ 33 31 system-frequency = <0>; /* From boot loader */ 34 - 35 - timer@600 { 36 - fsl,has-wdt; 37 - }; 38 32 39 33 spi@f00 { 40 34 status = "disabled";
+5 -22
arch/powerpc/boot/dts/a4m072.dts
··· 15 15 16 16 /include/ "mpc5200b.dtsi" 17 17 18 + &gpt0 { fsl,has-wdt; }; 19 + &gpt3 { gpio-controller; }; 20 + &gpt4 { gpio-controller; }; 21 + &gpt5 { gpio-controller; }; 22 + 18 23 / { 19 24 model = "anonymous,a4m072"; 20 25 compatible = "anonymous,a4m072"; ··· 37 32 fsl,init-ext-48mhz-en = <0x0>; 38 33 fsl,init-fd-enable = <0x01>; 39 34 fsl,init-fd-counters = <0x3333>; 40 - }; 41 - 42 - timer@600 { 43 - fsl,has-wdt; 44 - }; 45 - 46 - gpt3: timer@630 { /* General Purpose Timer in GPIO mode */ 47 - compatible = "fsl,mpc5200b-gpt-gpio","fsl,mpc5200-gpt-gpio"; 48 - gpio-controller; 49 - #gpio-cells = <2>; 50 - }; 51 - 52 - gpt4: timer@640 { /* General Purpose Timer in GPIO mode */ 53 - compatible = "fsl,mpc5200b-gpt-gpio","fsl,mpc5200-gpt-gpio"; 54 - gpio-controller; 55 - #gpio-cells = <2>; 56 - }; 57 - 58 - gpt5: timer@650 { /* General Purpose Timer in GPIO mode */ 59 - compatible = "fsl,mpc5200b-gpt-gpio","fsl,mpc5200-gpt-gpio"; 60 - gpio-controller; 61 - #gpio-cells = <2>; 62 35 }; 63 36 64 37 spi@f00 {
+2 -4
arch/powerpc/boot/dts/cm5200.dts
··· 12 12 13 13 /include/ "mpc5200b.dtsi" 14 14 15 + &gpt0 { fsl,has-wdt; }; 16 + 15 17 / { 16 18 model = "schindler,cm5200"; 17 19 compatible = "schindler,cm5200"; 18 20 19 21 soc5200@f0000000 { 20 - timer@600 { // General Purpose Timer 21 - fsl,has-wdt; 22 - }; 23 - 24 22 can@900 { 25 23 status = "disabled"; 26 24 };
+3 -11
arch/powerpc/boot/dts/digsy_mtc.dts
··· 13 13 14 14 /include/ "mpc5200b.dtsi" 15 15 16 + &gpt0 { gpio-controller; fsl,has-wdt; }; 17 + &gpt1 { gpio-controller; }; 18 + 16 19 / { 17 20 model = "intercontrol,digsy-mtc"; 18 21 compatible = "intercontrol,digsy-mtc"; ··· 25 22 }; 26 23 27 24 soc5200@f0000000 { 28 - timer@600 { // General Purpose Timer 29 - #gpio-cells = <2>; 30 - fsl,has-wdt; 31 - gpio-controller; 32 - }; 33 - 34 - timer@610 { 35 - #gpio-cells = <2>; 36 - gpio-controller; 37 - }; 38 - 39 25 rtc@800 { 40 26 status = "disabled"; 41 27 };
+2 -4
arch/powerpc/boot/dts/media5200.dts
··· 13 13 14 14 /include/ "mpc5200b.dtsi" 15 15 16 + &gpt0 { fsl,has-wdt; }; 17 + 16 18 / { 17 19 model = "fsl,media5200"; 18 20 compatible = "fsl,media5200"; ··· 42 40 43 41 soc5200@f0000000 { 44 42 bus-frequency = <132000000>;// 132 MHz 45 - 46 - timer@600 { // General Purpose Timer 47 - fsl,has-wdt; 48 - }; 49 43 50 44 psc@2000 { // PSC1 51 45 status = "disabled";
+11 -15
arch/powerpc/boot/dts/motionpro.dts
··· 12 12 13 13 /include/ "mpc5200b.dtsi" 14 14 15 + &gpt0 { fsl,has-wdt; }; 16 + &gpt6 { // Motion-PRO status LED 17 + compatible = "promess,motionpro-led"; 18 + label = "motionpro-statusled"; 19 + blink-delay = <100>; // 100 msec 20 + }; 21 + &gpt7 { // Motion-PRO ready LED 22 + compatible = "promess,motionpro-led"; 23 + label = "motionpro-readyled"; 24 + }; 25 + 15 26 / { 16 27 model = "promess,motionpro"; 17 28 compatible = "promess,motionpro"; 18 29 19 30 soc5200@f0000000 { 20 - timer@600 { // General Purpose Timer 21 - fsl,has-wdt; 22 - }; 23 - 24 - timer@660 { // Motion-PRO status LED 25 - compatible = "promess,motionpro-led"; 26 - label = "motionpro-statusled"; 27 - blink-delay = <100>; // 100 msec 28 - }; 29 - 30 - timer@670 { // Motion-PRO ready LED 31 - compatible = "promess,motionpro-led"; 32 - label = "motionpro-readyled"; 33 - }; 34 - 35 31 can@900 { 36 32 status = "disabled"; 37 33 };
+12 -36
arch/powerpc/boot/dts/mucmc52.dts
··· 13 13 14 14 /include/ "mpc5200b.dtsi" 15 15 16 + /* Timer pins that need to be in GPIO mode */ 17 + &gpt0 { gpio-controller; }; 18 + &gpt1 { gpio-controller; }; 19 + &gpt2 { gpio-controller; }; 20 + &gpt3 { gpio-controller; }; 21 + 22 + /* Disabled timers */ 23 + &gpt4 { status = "disabled"; }; 24 + &gpt5 { status = "disabled"; }; 25 + &gpt6 { status = "disabled"; }; 26 + &gpt7 { status = "disabled"; }; 27 + 16 28 / { 17 29 model = "manroland,mucmc52"; 18 30 compatible = "manroland,mucmc52"; 19 31 20 32 soc5200@f0000000 { 21 - gpt0: timer@600 { // GPT 0 in GPIO mode 22 - gpio-controller; 23 - #gpio-cells = <2>; 24 - }; 25 - 26 - gpt1: timer@610 { // General Purpose Timer in GPIO mode 27 - gpio-controller; 28 - #gpio-cells = <2>; 29 - }; 30 - 31 - gpt2: timer@620 { // General Purpose Timer in GPIO mode 32 - gpio-controller; 33 - #gpio-cells = <2>; 34 - }; 35 - 36 - gpt3: timer@630 { // General Purpose Timer in GPIO mode 37 - gpio-controller; 38 - #gpio-cells = <2>; 39 - }; 40 - 41 - timer@640 { 42 - status = "disabled"; 43 - }; 44 - 45 - timer@650 { 46 - status = "disabled"; 47 - }; 48 - 49 - timer@660 { 50 - status = "disabled"; 51 - }; 52 - 53 - timer@670 { 54 - status = "disabled"; 55 - }; 56 - 57 33 rtc@800 { 58 34 status = "disabled"; 59 35 };
+8 -19
arch/powerpc/boot/dts/o2d.dtsi
··· 12 12 13 13 /include/ "mpc5200b.dtsi" 14 14 15 + &gpt0 { 16 + gpio-controller; 17 + fsl,has-wdt; 18 + fsl,wdt-on-boot = <0>; 19 + }; 20 + &gpt1 { gpio-controller; }; 21 + 15 22 / { 16 23 model = "ifm,o2d"; 17 24 compatible = "ifm,o2d"; ··· 28 21 }; 29 22 30 23 soc5200@f0000000 { 31 - 32 - gpio_simple: gpio@b00 { 33 - }; 34 - 35 - timer@600 { // General Purpose Timer 36 - #gpio-cells = <2>; 37 - gpio-controller; 38 - fsl,has-wdt; 39 - fsl,wdt-on-boot = <0>; 40 - }; 41 - 42 - timer@610 { 43 - #gpio-cells = <2>; 44 - gpio-controller; 45 - }; 46 - 47 - timer7: timer@670 { 48 - }; 49 24 50 25 rtc@800 { 51 26 status = "disabled"; ··· 107 118 csi@3,0 { 108 119 compatible = "ifm,o2d-csi"; 109 120 reg = <3 0 0x00100000>; 110 - ifm,csi-clk-handle = <&timer7>; 121 + ifm,csi-clk-handle = <&gpt7>; 111 122 gpios = <&gpio_simple 23 0 /* imag_capture */ 112 123 &gpio_simple 26 0 /* imag_reset */ 113 124 &gpio_simple 29 0>; /* imag_master_en */
+8 -40
arch/powerpc/boot/dts/pcm030.dts
··· 14 14 15 15 /include/ "mpc5200b.dtsi" 16 16 17 + &gpt0 { fsl,has-wdt; }; 18 + &gpt2 { gpio-controller; }; 19 + &gpt3 { gpio-controller; }; 20 + &gpt4 { gpio-controller; }; 21 + &gpt5 { gpio-controller; }; 22 + &gpt6 { gpio-controller; }; 23 + &gpt7 { gpio-controller; }; 24 + 17 25 / { 18 26 model = "phytec,pcm030"; 19 27 compatible = "phytec,pcm030"; 20 28 21 29 soc5200@f0000000 { 22 - timer@600 { // General Purpose Timer 23 - fsl,has-wdt; 24 - }; 25 - 26 - gpt2: timer@620 { // General Purpose Timer in GPIO mode 27 - compatible = "fsl,mpc5200b-gpt-gpio","fsl,mpc5200-gpt-gpio"; 28 - gpio-controller; 29 - #gpio-cells = <2>; 30 - }; 31 - 32 - gpt3: timer@630 { // General Purpose Timer in GPIO mode 33 - compatible = "fsl,mpc5200b-gpt-gpio","fsl,mpc5200-gpt-gpio"; 34 - gpio-controller; 35 - #gpio-cells = <2>; 36 - }; 37 - 38 - gpt4: timer@640 { // General Purpose Timer in GPIO mode 39 - compatible = "fsl,mpc5200b-gpt-gpio","fsl,mpc5200-gpt-gpio"; 40 - gpio-controller; 41 - #gpio-cells = <2>; 42 - }; 43 - 44 - gpt5: timer@650 { // General Purpose Timer in GPIO mode 45 - compatible = "fsl,mpc5200b-gpt-gpio","fsl,mpc5200-gpt-gpio"; 46 - gpio-controller; 47 - #gpio-cells = <2>; 48 - }; 49 - 50 - gpt6: timer@660 { // General Purpose Timer in GPIO mode 51 - compatible = "fsl,mpc5200b-gpt-gpio","fsl,mpc5200-gpt-gpio"; 52 - gpio-controller; 53 - #gpio-cells = <2>; 54 - }; 55 - 56 - gpt7: timer@670 { // General Purpose Timer in GPIO mode 57 - compatible = "fsl,mpc5200b-gpt-gpio","fsl,mpc5200-gpt-gpio"; 58 - gpio-controller; 59 - #gpio-cells = <2>; 60 - }; 61 - 62 30 audioplatform: psc@2000 { /* PSC1 in ac97 mode */ 63 31 compatible = "mpc5200b-psc-ac97","fsl,mpc5200b-psc-ac97"; 64 32 cell-index = <0>;
+8 -37
arch/powerpc/boot/dts/pcm032.dts
··· 14 14 15 15 /include/ "mpc5200b.dtsi" 16 16 17 + &gpt0 { fsl,has-wdt; }; 18 + &gpt2 { gpio-controller; }; 19 + &gpt3 { gpio-controller; }; 20 + &gpt4 { gpio-controller; }; 21 + &gpt5 { gpio-controller; }; 22 + &gpt6 { gpio-controller; }; 23 + &gpt7 { gpio-controller; }; 24 + 17 25 / { 18 26 model = "phytec,pcm032"; 19 27 compatible = "phytec,pcm032"; ··· 31 23 }; 32 24 33 25 soc5200@f0000000 { 34 - timer@600 { // General Purpose Timer 35 - fsl,has-wdt; 36 - }; 37 - 38 - gpt2: timer@620 { // General Purpose Timer in GPIO mode 39 - gpio-controller; 40 - #gpio-cells = <2>; 41 - }; 42 - 43 - gpt3: timer@630 { // General Purpose Timer in GPIO mode 44 - gpio-controller; 45 - #gpio-cells = <2>; 46 - }; 47 - 48 - gpt4: timer@640 { // General Purpose Timer in GPIO mode 49 - gpio-controller; 50 - #gpio-cells = <2>; 51 - }; 52 - 53 - gpt5: timer@650 { // General Purpose Timer in GPIO mode 54 - gpio-controller; 55 - #gpio-cells = <2>; 56 - }; 57 - 58 - gpt6: timer@660 { // General Purpose Timer in GPIO mode 59 - compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; 60 - reg = <0x660 0x10>; 61 - interrupts = <1 15 0>; 62 - gpio-controller; 63 - #gpio-cells = <2>; 64 - }; 65 - 66 - gpt7: timer@670 { // General Purpose Timer in GPIO mode 67 - gpio-controller; 68 - #gpio-cells = <2>; 69 - }; 70 - 71 26 psc@2000 { /* PSC1 is ac97 */ 72 27 compatible = "fsl,mpc5200b-psc-ac97","fsl,mpc5200-psc-ac97"; 73 28 cell-index = <0>;
+9 -43
arch/powerpc/boot/dts/uc101.dts
··· 13 13 14 14 /include/ "mpc5200b.dtsi" 15 15 16 + &gpt0 { gpio-controller; }; 17 + &gpt1 { gpio-controller; }; 18 + &gpt2 { gpio-controller; }; 19 + &gpt3 { gpio-controller; }; 20 + &gpt4 { gpio-controller; }; 21 + &gpt5 { gpio-controller; }; 22 + &gpt6 { gpio-controller; }; 23 + &gpt7 { gpio-controller; }; 24 + 16 25 / { 17 26 model = "manroland,uc101"; 18 27 compatible = "manroland,uc101"; 19 28 20 29 soc5200@f0000000 { 21 - gpt0: timer@600 { // General Purpose Timer in GPIO mode 22 - gpio-controller; 23 - #gpio-cells = <2>; 24 - }; 25 - 26 - gpt1: timer@610 { // General Purpose Timer in GPIO mode 27 - gpio-controller; 28 - #gpio-cells = <2>; 29 - }; 30 - 31 - gpt2: timer@620 { // General Purpose Timer in GPIO mode 32 - gpio-controller; 33 - #gpio-cells = <2>; 34 - }; 35 - 36 - gpt3: timer@630 { // General Purpose Timer in GPIO mode 37 - compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; 38 - reg = <0x630 0x10>; 39 - interrupts = <1 12 0>; 40 - gpio-controller; 41 - #gpio-cells = <2>; 42 - }; 43 - 44 - gpt4: timer@640 { // General Purpose Timer in GPIO mode 45 - gpio-controller; 46 - #gpio-cells = <2>; 47 - }; 48 - 49 - gpt5: timer@650 { // General Purpose Timer in GPIO mode 50 - gpio-controller; 51 - #gpio-cells = <2>; 52 - }; 53 - 54 - gpt6: timer@660 { // General Purpose Timer in GPIO mode 55 - gpio-controller; 56 - #gpio-cells = <2>; 57 - }; 58 - 59 - gpt7: timer@670 { // General Purpose Timer in GPIO mode 60 - gpio-controller; 61 - #gpio-cells = <2>; 62 - }; 63 - 64 30 rtc@800 { 65 31 status = "disabled"; 66 32 };