ARM: ux500: move MUSB pin config to device tree
authorLinus Walleij <linus.walleij@linaro.org>
Wed, 13 Nov 2013 14:59:40 +0000 (15:59 +0100)
committerLinus Walleij <linus.walleij@linaro.org>
Tue, 26 Nov 2013 20:01:55 +0000 (21:01 +0100)
This moves the MUSB pin control table out of the board file
and into the device tree. Tie the config to the on-chip MUSB
device rather than the ab8500-usb device which is off-chip.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
arch/arm/boot/dts/ste-href-family-pinctrl.dtsi
arch/arm/boot/dts/ste-href.dtsi
arch/arm/boot/dts/ste-nomadik-pinctrl.dtsi
arch/arm/boot/dts/ste-snowball.dts
arch/arm/mach-ux500/board-mop500-pins.c

index 7408d3a..6868fec 100644 (file)
                                        };
                                };
                        };
+
+
+                       musb {
+                               musb_default_mode: musb_default {
+                                       default_mux {
+                                               ste,function = "usb";
+                                               ste,pins = "usb_a_1";
+                                       };
+                                       default_cfg1 {
+                                               ste,pins =
+                                               "GPIO256_AF28", /* NXT */
+                                               "GPIO258_AD29", /* XCLK */
+                                               "GPIO259_AC29", /* DIR */
+                                               "GPIO260_AD28", /* DAT7 */
+                                               "GPIO261_AD26", /* DAT6 */
+                                               "GPIO262_AE26", /* DAT5 */
+                                               "GPIO263_AG29", /* DAT4 */
+                                               "GPIO264_AE27", /* DAT3 */
+                                               "GPIO265_AD27", /* DAT2 */
+                                               "GPIO266_AC28", /* DAT1 */
+                                               "GPIO267_AC27"; /* DAT0 */
+                                               ste,config = <&in_nopull>;
+                                       };
+                                       default_cfg2 {
+                                               ste,pins = "GPIO257_AE29"; /* STP */
+                                               ste,config = <&out_hi>;
+                                       };
+                               };
+
+                               musb_sleep_mode: musb_sleep {
+                                       sleep_cfg1 {
+                                               ste,pins =
+                                               "GPIO256_AF28", /* NXT */
+                                               "GPIO258_AD29", /* XCLK */
+                                               "GPIO259_AC29"; /* DIR */
+                                               ste,config = <&slpm_wkup_pdis_en>;
+                                       };
+                                       sleep_cfg2 {
+                                               ste,pins = "GPIO257_AE29"; /* STP */
+                                               ste,config = <&slpm_out_hi_wkup_pdis>;
+                                       };
+                                       sleep_cfg3 {
+                                               ste,pins =
+                                               "GPIO260_AD28", /* DAT7 */
+                                               "GPIO261_AD26", /* DAT6 */
+                                               "GPIO262_AE26", /* DAT5 */
+                                               "GPIO263_AG29", /* DAT4 */
+                                               "GPIO264_AE27", /* DAT3 */
+                                               "GPIO265_AD27", /* DAT2 */
+                                               "GPIO266_AC28", /* DAT1 */
+                                               "GPIO267_AC27"; /* DAT0 */
+                                               ste,config = <&slpm_in_wkup_pdis_en>;
+                                       };
+                               };
+                       };
                };
        };
 };
index 8526084..4fda2d9 100644 (file)
        };
 
        soc {
+               usb_per5@a03e0000 {
+                       pinctrl-names = "default", "sleep";
+                       pinctrl-0 = <&musb_default_mode>;
+                       pinctrl-1 = <&musb_sleep_mode>;
+               };
+
                uart@80120000 {
                        pinctrl-names = "default", "sleep";
                        pinctrl-0 = <&uart0_default_mode>;
index 9aea983..9f3e875 100644 (file)
                ste,output = <OUTPUT_LOW>;
        };
 
+       slpm_wkup_pdis_en: slpm_wkup_pdis_en {
+               ste,sleep = <SLPM_ENABLED>;
+               ste,sleep-wakeup = <SLPM_WAKEUP_ENABLE>;
+               ste,sleep-pull-disable = <SLPM_PDIS_ENABLED>;
+       };
+
        slpm_in_pu: slpm_in_pu {
                ste,sleep = <SLPM_ENABLED>;
                ste,sleep-input = <SLPM_INPUT_PULLUP>;
                ste,sleep-pull-disable = <SLPM_PDIS_DISABLED>;
        };
 
+       slpm_in_wkup_pdis_en: slpm_in_wkup_pdis_en {
+               ste,sleep = <SLPM_ENABLED>;
+               ste,sleep-input = <SLPM_DIR_INPUT>;
+               ste,sleep-wakeup = <SLPM_WAKEUP_ENABLE>;
+               ste,sleep-pull-disable = <SLPM_PDIS_ENABLED>;
+       };
+
        slpm_out_lo: slpm_out_lo {
                ste,sleep = <SLPM_ENABLED>;
                ste,sleep-output = <SLPM_OUTPUT_LOW>;
index 65180b2..4763b80 100644 (file)
        };
 
        soc {
+               usb_per5@a03e0000 {
+                       pinctrl-names = "default", "sleep";
+                       pinctrl-0 = <&musb_default_mode>;
+                       pinctrl-1 = <&musb_sleep_mode>;
+               };
 
                sound {
                        compatible = "stericsson,snd-soc-mop500";
index c032392..a6d431b 100644 (file)
@@ -30,7 +30,6 @@ BIAS(pd, PIN_PULL_DOWN);
 BIAS(in_nopull, PIN_INPUT_NOPULL);
 BIAS(in_pu, PIN_INPUT_PULLUP);
 BIAS(in_pd, PIN_INPUT_PULLDOWN);
-BIAS(out_hi, PIN_OUTPUT_HIGH);
 BIAS(out_lo, PIN_OUTPUT_LOW);
 
 BIAS(abx500_out_lo, PIN_CONF_PACKED(PIN_CONFIG_OUTPUT, 0));
@@ -47,18 +46,12 @@ BIAS(gpio_out_lo, PIN_OUTPUT_LOW|PIN_GPIOMODE_ENABLED);
 /* Sleep modes */
 BIAS(slpm_in_wkup_pdis, PIN_SLEEPMODE_ENABLED|
        PIN_SLPM_DIR_INPUT|PIN_SLPM_WAKEUP_ENABLE|PIN_SLPM_PDIS_DISABLED);
-BIAS(slpm_in_wkup_pdis_en, PIN_SLEEPMODE_ENABLED|
-       PIN_SLPM_DIR_INPUT|PIN_SLPM_WAKEUP_ENABLE|PIN_SLPM_PDIS_ENABLED);
 BIAS(slpm_wkup_pdis, PIN_SLEEPMODE_ENABLED|
        PIN_SLPM_WAKEUP_ENABLE|PIN_SLPM_PDIS_DISABLED);
-BIAS(slpm_wkup_pdis_en, PIN_SLEEPMODE_ENABLED|
-       PIN_SLPM_WAKEUP_ENABLE|PIN_SLPM_PDIS_ENABLED);
 BIAS(slpm_out_lo_pdis, PIN_SLEEPMODE_ENABLED|
        PIN_SLPM_OUTPUT_LOW|PIN_SLPM_WAKEUP_DISABLE|PIN_SLPM_PDIS_DISABLED);
 BIAS(slpm_out_lo_wkup_pdis, PIN_SLEEPMODE_ENABLED|
        PIN_SLPM_OUTPUT_LOW|PIN_SLPM_WAKEUP_ENABLE|PIN_SLPM_PDIS_DISABLED);
-BIAS(slpm_out_hi_wkup_pdis, PIN_SLEEPMODE_ENABLED|PIN_SLPM_OUTPUT_HIGH|
-       PIN_SLPM_WAKEUP_ENABLE|PIN_SLPM_PDIS_DISABLED);
 BIAS(slpm_in_pu_wkup_pdis_en, PIN_SLEEPMODE_ENABLED|PIN_SLPM_INPUT_PULLUP|
        PIN_SLPM_WAKEUP_ENABLE|PIN_SLPM_PDIS_ENABLED);
 
@@ -349,24 +342,6 @@ static struct pinctrl_map __initdata mop500_family_pinmap[] = {
        /* LCD VSI1 sleep state */
        DB8500_PIN_SLEEP("GPIO69_E2", slpm_in_wkup_pdis, "0-0070"),
 
-       /* Mux in USB pins, drive STP high */
-       /* USB default state */
-       DB8500_MUX("usb_a_1", "usb", "ab8500-usb.0"),
-       DB8500_PIN("GPIO257_AE29", out_hi, "ab8500-usb.0"), /* STP */
-       /* USB sleep state */
-       DB8500_PIN_SLEEP("GPIO256_AF28", slpm_wkup_pdis_en, "ab8500-usb.0"), /* NXT */
-       DB8500_PIN_SLEEP("GPIO257_AE29", slpm_out_hi_wkup_pdis, "ab8500-usb.0"), /* STP */
-       DB8500_PIN_SLEEP("GPIO258_AD29", slpm_wkup_pdis_en, "ab8500-usb.0"), /* XCLK */
-       DB8500_PIN_SLEEP("GPIO259_AC29", slpm_wkup_pdis_en, "ab8500-usb.0"), /* DIR */
-       DB8500_PIN_SLEEP("GPIO260_AD28", slpm_in_wkup_pdis_en, "ab8500-usb.0"), /* DAT7 */
-       DB8500_PIN_SLEEP("GPIO261_AD26", slpm_in_wkup_pdis_en, "ab8500-usb.0"), /* DAT6 */
-       DB8500_PIN_SLEEP("GPIO262_AE26", slpm_in_wkup_pdis_en, "ab8500-usb.0"), /* DAT5 */
-       DB8500_PIN_SLEEP("GPIO263_AG29", slpm_in_wkup_pdis_en, "ab8500-usb.0"), /* DAT4 */
-       DB8500_PIN_SLEEP("GPIO264_AE27", slpm_in_wkup_pdis_en, "ab8500-usb.0"), /* DAT3 */
-       DB8500_PIN_SLEEP("GPIO265_AD27", slpm_in_wkup_pdis_en, "ab8500-usb.0"), /* DAT2 */
-       DB8500_PIN_SLEEP("GPIO266_AC28", slpm_in_wkup_pdis_en, "ab8500-usb.0"), /* DAT1 */
-       DB8500_PIN_SLEEP("GPIO267_AC27", slpm_in_wkup_pdis_en, "ab8500-usb.0"), /* DAT0 */
-
        /* Mux in SPI2 pins on the "other C1" altfunction */
        DB8500_MUX("spi2_oc1_2", "spi2", "spi2"),
        DB8500_PIN("GPIO216_AG12", gpio_out_hi, "spi2"), /* FRM */