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

ARM: dts: ux500: Push VMMCI down to each tree

The setting of VMMCI differs so much between different
boards that we need to handle it on a per-board basis
rather that complicating things by overriding stuff from
the included DTSI:s. Push it down into top-level tree
instead.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

+153 -42
-15
arch/arm/boot/dts/ste-href.dtsi
··· 113 113 status = "okay"; 114 114 }; 115 115 116 - /* ST6G3244ME level translator for 1.8/2.9 V */ 117 - vmmci: regulator-gpio { 118 - compatible = "regulator-gpio"; 119 - 120 - regulator-min-microvolt = <1800000>; 121 - regulator-max-microvolt = <2900000>; 122 - regulator-name = "mmci-reg"; 123 - regulator-type = "voltage"; 124 - 125 - startup-delay-us = <100>; 126 - 127 - states = <1800000 0x1 128 - 2900000 0x0>; 129 - }; 130 - 131 116 // External Micro SD slot 132 117 sdi0_per1@80126000 { 133 118 arm,primecell-periphid = <0x10480180>;
+37 -5
arch/arm/boot/dts/ste-href520-tvk.dts
··· 12 12 model = "ST-Ericsson HREF520 and TVK1281618 UIB"; 13 13 compatible = "st-ericsson,href520", "st-ericsson,u8500"; 14 14 15 - soc { 16 - vmmci: regulator-gpio { 17 - gpios = <&gpio0 5 GPIO_ACTIVE_HIGH>; 18 - enable-gpio = <&gpio2 14 GPIO_ACTIVE_HIGH>; 19 - enable-active-high; 15 + 16 + /* ST6G3244ME level translator for 1.8/2.9 V */ 17 + vmmci: regulator-gpio { 18 + compatible = "regulator-gpio"; 19 + 20 + regulator-min-microvolt = <1800000>; 21 + regulator-max-microvolt = <2900000>; 22 + regulator-name = "mmci-reg"; 23 + regulator-type = "voltage"; 24 + 25 + startup-delay-us = <100>; 26 + 27 + states = <1800000 0x1 28 + 2900000 0x0>; 29 + 30 + gpios = <&gpio0 5 GPIO_ACTIVE_HIGH>; 31 + enable-gpio = <&gpio2 14 GPIO_ACTIVE_HIGH>; 32 + enable-active-high; 33 + 34 + pinctrl-names = "default"; 35 + pinctrl-0 = <&vmmci_default_mode>; 36 + }; 37 + }; 38 + 39 + &pinctrl { 40 + vmmci { 41 + vmmci_default_mode: vmmc_default { 42 + /* VMMCI level-shifter enable */ 43 + default_href520_cfg1 { 44 + pins = "GPIO78_F4"; 45 + ste,config = <&gpio_out_hi>; 46 + }; 47 + /* VMMCI level-shifter voltage select */ 48 + default_href520_cfg2 { 49 + pins = "GPIO5_AG6"; 50 + ste,config = <&gpio_out_hi>; 51 + }; 20 52 }; 21 53 }; 22 54 };
+19
arch/arm/boot/dts/ste-hrefprev60-stuib.dts
··· 12 12 model = "ST-Ericsson HREF (pre-v60) and ST UIB"; 13 13 compatible = "st-ericsson,mop500", "st-ericsson,u8500"; 14 14 15 + /* ST6G3244ME level translator for 1.8/2.9 V */ 16 + vmmci: regulator-gpio { 17 + compatible = "regulator-gpio"; 18 + 19 + regulator-min-microvolt = <1800000>; 20 + regulator-max-microvolt = <2900000>; 21 + regulator-name = "mmci-reg"; 22 + regulator-type = "voltage"; 23 + 24 + startup-delay-us = <100>; 25 + 26 + states = <1800000 0x1 27 + 2900000 0x0>; 28 + 29 + gpios = <&tc3589x_gpio 18 GPIO_ACTIVE_HIGH>; 30 + enable-gpio = <&tc3589x_gpio 17 GPIO_ACTIVE_HIGH>; 31 + enable-active-high; 32 + }; 33 + 15 34 soc { 16 35 /* Reset line for the BU21013 touchscreen */ 17 36 i2c@80110000 {
+19
arch/arm/boot/dts/ste-hrefprev60-tvk.dts
··· 11 11 / { 12 12 model = "ST-Ericsson HREF (pre-v60) and TVK1281618 UIB"; 13 13 compatible = "st-ericsson,mop500", "st-ericsson,u8500"; 14 + 15 + /* ST6G3244ME level translator for 1.8/2.9 V */ 16 + vmmci: regulator-gpio { 17 + compatible = "regulator-gpio"; 18 + 19 + regulator-min-microvolt = <1800000>; 20 + regulator-max-microvolt = <2900000>; 21 + regulator-name = "mmci-reg"; 22 + regulator-type = "voltage"; 23 + 24 + startup-delay-us = <100>; 25 + 26 + states = <1800000 0x1 27 + 2900000 0x0>; 28 + 29 + gpios = <&tc3589x_gpio 18 GPIO_ACTIVE_HIGH>; 30 + enable-gpio = <&tc3589x_gpio 17 GPIO_ACTIVE_HIGH>; 31 + enable-active-high; 32 + }; 14 33 };
-6
arch/arm/boot/dts/ste-hrefprev60.dtsi
··· 65 65 cd-gpios = <&tc3589x_gpio 3 GPIO_ACTIVE_HIGH>; 66 66 }; 67 67 68 - vmmci: regulator-gpio { 69 - gpios = <&tc3589x_gpio 18 GPIO_ACTIVE_HIGH>; 70 - enable-gpio = <&tc3589x_gpio 17 GPIO_ACTIVE_HIGH>; 71 - enable-active-high; 72 - }; 73 - 74 68 pinctrl { 75 69 /* Set this up using hogs */ 76 70 pinctrl-names = "default";
+39
arch/arm/boot/dts/ste-hrefv60plus-stuib.dts
··· 14 14 model = "ST-Ericsson HREF (v60+) and ST UIB"; 15 15 compatible = "st-ericsson,hrefv60+", "st-ericsson,u8500"; 16 16 17 + /* ST6G3244ME level translator for 1.8/2.9 V */ 18 + vmmci: regulator-gpio { 19 + compatible = "regulator-gpio"; 20 + 21 + regulator-min-microvolt = <1800000>; 22 + regulator-max-microvolt = <2900000>; 23 + regulator-name = "mmci-reg"; 24 + regulator-type = "voltage"; 25 + 26 + startup-delay-us = <100>; 27 + 28 + states = <1800000 0x1 29 + 2900000 0x0>; 30 + 31 + gpios = <&gpio0 5 GPIO_ACTIVE_HIGH>; 32 + enable-gpio = <&gpio5 9 GPIO_ACTIVE_HIGH>; 33 + enable-active-high; 34 + 35 + pinctrl-names = "default"; 36 + pinctrl-0 = <&vmmci_default_mode>; 37 + }; 38 + 17 39 soc { 18 40 /* Reset line for the BU21013 touchscreen */ 19 41 i2c@80110000 { ··· 51 29 interrupts = <20 IRQ_TYPE_LEVEL_LOW>; 52 30 touch-gpios = <&gpio2 20 GPIO_ACTIVE_LOW>; 53 31 reset-gpios = <&gpio4 17 GPIO_LINE_OPEN_DRAIN>; 32 + }; 33 + }; 34 + }; 35 + }; 36 + 37 + &pinctrl { 38 + vmmci { 39 + vmmci_default_mode: vmmc_default { 40 + /* VMMCI level-shifter enable */ 41 + default_hrefv60_cfg2 { 42 + pins = "GPIO169_D22"; 43 + ste,config = <&gpio_out_hi>; 44 + }; 45 + /* VMMCI level-shifter voltage select */ 46 + default_hrefv60_cfg3 { 47 + pins = "GPIO5_AG6"; 48 + ste,config = <&gpio_out_hi>; 54 49 }; 55 50 }; 56 51 };
+39
arch/arm/boot/dts/ste-hrefv60plus-tvk.dts
··· 13 13 / { 14 14 model = "ST-Ericsson HREF (v60+) and TVK1281618 UIB"; 15 15 compatible = "st-ericsson,hrefv60+", "st-ericsson,u8500"; 16 + 17 + /* ST6G3244ME level translator for 1.8/2.9 V */ 18 + vmmci: regulator-gpio { 19 + compatible = "regulator-gpio"; 20 + 21 + regulator-min-microvolt = <1800000>; 22 + regulator-max-microvolt = <2900000>; 23 + regulator-name = "mmci-reg"; 24 + regulator-type = "voltage"; 25 + 26 + startup-delay-us = <100>; 27 + 28 + states = <1800000 0x1 29 + 2900000 0x0>; 30 + 31 + gpios = <&gpio0 5 GPIO_ACTIVE_HIGH>; 32 + enable-gpio = <&gpio5 9 GPIO_ACTIVE_HIGH>; 33 + enable-active-high; 34 + 35 + pinctrl-names = "default"; 36 + pinctrl-0 = <&vmmci_default_mode>; 37 + }; 38 + }; 39 + 40 + &pinctrl { 41 + vmmci { 42 + vmmci_default_mode: vmmc_default { 43 + /* VMMCI level-shifter enable */ 44 + default_hrefv60_cfg2 { 45 + pins = "GPIO169_D22"; 46 + ste,config = <&gpio_out_hi>; 47 + }; 48 + /* VMMCI level-shifter voltage select */ 49 + default_hrefv60_cfg3 { 50 + pins = "GPIO5_AG6"; 51 + ste,config = <&gpio_out_hi>; 52 + }; 53 + }; 54 + }; 16 55 };
-16
arch/arm/boot/dts/ste-hrefv60plus.dtsi
··· 194 194 cd-gpios = <&gpio2 31 GPIO_ACTIVE_HIGH>; // 95 195 195 }; 196 196 197 - vmmci: regulator-gpio { 198 - gpios = <&gpio0 5 GPIO_ACTIVE_HIGH>; 199 - enable-gpio = <&gpio5 9 GPIO_ACTIVE_HIGH>; 200 - enable-active-high; 201 - }; 202 - 203 197 pinctrl { 204 198 /* 205 199 * Set this up using hogs, as time goes by and as seems fit, these ··· 217 223 default_hrefv60_cfg1 { 218 224 pins = "GPIO95_E8"; 219 225 ste,config = <&gpio_in_pu>; 220 - }; 221 - /* VMMCI level-shifter enable */ 222 - default_hrefv60_cfg2 { 223 - pins = "GPIO169_D22"; 224 - ste,config = <&gpio_out_hi>; 225 - }; 226 - /* VMMCI level-shifter voltage select */ 227 - default_hrefv60_cfg3 { 228 - pins = "GPIO5_AG6"; 229 - ste,config = <&gpio_out_hi>; 230 226 }; 231 227 }; 232 228 };