ARM: dts: qcom-msm8974*: Consolidate I2C/UART/SDHCI
authorKonrad Dybcio <konrad.dybcio@somainline.org>
Fri, 15 Apr 2022 11:56:29 +0000 (13:56 +0200)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Wed, 20 Apr 2022 02:10:48 +0000 (21:10 -0500)
Clean up and commonize (where possible and it makes sense to) I2C, UART
and SDHCI nodes and pin configurations.

Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220415115633.575010-20-konrad.dybcio@somainline.org
arch/arm/boot/dts/qcom-apq8074-dragonboard.dts
arch/arm/boot/dts/qcom-msm8974-fairphone-fp2.dts
arch/arm/boot/dts/qcom-msm8974-lge-nexus5-hammerhead.dts
arch/arm/boot/dts/qcom-msm8974-sony-xperia-rhine.dtsi
arch/arm/boot/dts/qcom-msm8974.dtsi
arch/arm/boot/dts/qcom-msm8974pro-samsung-klte.dts
arch/arm/boot/dts/qcom-msm8974pro-sony-xperia-shinano-castor.dts

index f47020c..3051a86 100644 (file)
@@ -26,9 +26,6 @@
        status = "okay";
        clock-frequency = <200000>;
 
-       pinctrl-0 = <&i2c11_pins>;
-       pinctrl-names = "default";
-
        eeprom: eeprom@52 {
                compatible = "atmel,24c128";
                reg = <0x52>;
        vmmc-supply = <&pm8941_l20>;
        vqmmc-supply = <&pm8941_s3>;
 
-       pinctrl-names = "default";
-       pinctrl-0 = <&sdhc1_pin_a>;
+       pinctrl-names = "default", "sleep";
+       pinctrl-0 = <&sdc1_on>;
+       pinctrl-1 = <&sdc1_off>;
 };
 
 &sdhc_2 {
        status = "okay";
-       cd-gpios = <&tlmm 62 0x1>;
-       pinctrl-names = "default";
-       pinctrl-0 = <&sdhc2_pin_a>, <&sdhc2_cd_pin_a>;
 
+       cd-gpios = <&tlmm 62 0x1>;
        vmmc-supply = <&pm8941_l21>;
        vqmmc-supply = <&pm8941_l13>;
+
+       pinctrl-names = "default", "sleep";
+       pinctrl-0 = <&sdc2_on>;
+       pinctrl-1 = <&sdc2_off>;
 };
 
 &tlmm {
-       i2c11_pins: i2c11 {
-               mux {
-                       pins = "gpio83", "gpio84";
-                       function = "blsp_i2c11";
-               };
-       };
-
-       spi8_default: spi8_default {
-               mosi {
-                       pins = "gpio45";
-                       function = "blsp_spi8";
-               };
-               miso {
-                       pins = "gpio46";
-                       function = "blsp_spi8";
-               };
-               cs {
-                       pins = "gpio47";
-                       function = "blsp_spi8";
-               };
-               clk {
-                       pins = "gpio48";
-                       function = "blsp_spi8";
-               };
-       };
-
-       sdhc1_pin_a: sdhc1-pin-active {
+       sdc1_on: sdc1-on {
                clk {
                        pins = "sdc1_clk";
                        drive-strength = <16>;
                };
        };
 
-       sdhc2_cd_pin_a: sdhc2-cd-pin-active {
-               pins = "gpio62";
-               function = "gpio";
-
-               drive-strength = <2>;
-               bias-disable;
-       };
-
-       sdhc2_pin_a: sdhc2-pin-active {
+       sdc2_on: sdc2-on {
                clk {
                        pins = "sdc2_clk";
                        drive-strength = <10>;
                        drive-strength = <6>;
                        bias-pull-up;
                };
+
+               cd {
+                       pins = "gpio62";
+                       function = "gpio";
+                       drive-strength = <2>;
+                       bias-disable;
+               };
        };
 };
index 7056c6f..7ae0b15 100644 (file)
        vmmc-supply = <&pm8941_l20>;
        vqmmc-supply = <&pm8941_s3>;
 
-       pinctrl-names = "default";
-       pinctrl-0 = <&sdhc1_pin_a>;
+       pinctrl-names = "default", "sleep";
+       pinctrl-0 = <&sdc1_on>;
+       pinctrl-1 = <&sdc1_off>;
 };
 
 &sdhc_2 {
        vmmc-supply = <&pm8941_l21>;
        vqmmc-supply = <&pm8941_l13>;
 
-       pinctrl-names = "default";
-       pinctrl-0 = <&sdhc2_pin_a>;
+       pinctrl-names = "default", "sleep";
+       pinctrl-0 = <&sdc2_on>;
+       pinctrl-1 = <&sdc2_off>;
 };
 
 &tlmm {
-       sdhc1_pin_a: sdhc1-pin-active {
+       sdc1_on: sdc1-on {
                clk {
                        pins = "sdc1_clk";
                        drive-strength = <16>;
                };
        };
 
-       sdhc2_pin_a: sdhc2-pin-active {
+       sdc2_on: sdc2-on {
                clk {
                        pins = "sdc2_clk";
                        drive-strength = <10>;
index 6537950..7e4e723 100644 (file)
@@ -59,9 +59,6 @@
        status = "okay";
        clock-frequency = <100000>;
 
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c1_pins>;
-
        charger: bq24192@6b {
                compatible = "ti,bq24192";
                reg = <0x6b>;
@@ -93,9 +90,6 @@
        status = "okay";
        clock-frequency = <355000>;
 
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c2_pins>;
-
        synaptics@70 {
                compatible = "syna,rmi4-i2c";
                reg = <0x70>;
        status = "okay";
        clock-frequency = <100000>;
 
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c3_pins>;
-
        avago_apds993@39 {
                compatible = "avago,apds9930";
                reg = <0x39>;
        status = "okay";
        clock-frequency = <355000>;
 
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c11_pins>;
-
        led-controller@38 {
                compatible = "ti,lm3630a";
                status = "okay";
        status = "okay";
        clock-frequency = <100000>;
 
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c12_pins>;
-
        mpu6515@68 {
                compatible = "invensense,mpu6515";
                reg = <0x68>;
 &blsp2_uart4 {
        status = "okay";
 
-       pinctrl-names = "default";
-       pinctrl-0 = <&blsp2_uart4_pin_a>;
-
        bluetooth {
                compatible = "brcm,bcm43438-bt";
                max-speed = <3000000>;
        vmmc-supply = <&pm8941_l20>;
        vqmmc-supply = <&pm8941_s3>;
 
-       pinctrl-names = "default";
-       pinctrl-0 = <&sdhc1_pin_a>;
+       pinctrl-names = "default", "sleep";
+       pinctrl-0 = <&sdc1_on>;
+       pinctrl-1 = <&sdc1_off>;
 };
 
 &sdhc_2 {
        vqmmc-supply = <&pm8941_s3>;
        non-removable;
 
-       pinctrl-names = "default";
-       pinctrl-0 = <&sdhc2_pin_a>;
-
-       #address-cells = <1>;
-       #size-cells = <0>;
+       pinctrl-names = "default", "sleep";
+       pinctrl-0 = <&sdc2_on>;
+       pinctrl-1 = <&sdc2_off>;
 
        bcrmf@1 {
                compatible = "brcm,bcm4339-fmac", "brcm,bcm4329-fmac";
 };
 
 &tlmm {
-       sdhc1_pin_a: sdhc1-pin-active {
+       sdc1_on: sdc1-on {
                clk {
                        pins = "sdc1_clk";
                        drive-strength = <16>;
                };
        };
 
-       sdhc2_pin_a: sdhc2-pin-active {
+       sdc2_on: sdc2-on {
                clk {
                        pins = "sdc2_clk";
                        drive-strength = <6>;
                };
        };
 
-       i2c1_pins: i2c1 {
-               mux {
-                       pins = "gpio2", "gpio3";
-                       function = "blsp_i2c1";
-
-                       drive-strength = <2>;
-                       bias-disable;
-               };
-       };
-
-       i2c2_pins: i2c2 {
-               mux {
-                       pins = "gpio6", "gpio7";
-                       function = "blsp_i2c2";
-
-                       drive-strength = <2>;
-                       bias-disable;
-               };
-       };
-
-       i2c3_pins: i2c3 {
-               mux {
-                       pins = "gpio10", "gpio11";
-                       function = "blsp_i2c3";
-                       drive-strength = <2>;
-                       bias-disable;
-               };
-       };
-
-       i2c11_pins: i2c11 {
-               mux {
-                       pins = "gpio83", "gpio84";
-                       function = "blsp_i2c11";
-
-                       drive-strength = <2>;
-                       bias-disable;
-               };
-       };
-
-       i2c12_pins: i2c12 {
-               mux {
-                       pins = "gpio87", "gpio88";
-                       function = "blsp_i2c12";
-                       drive-strength = <2>;
-                       bias-disable;
-               };
-       };
-
        mpu6515_pin: mpu6515 {
                irq {
                        pins = "gpio73";
                        function = "gpio";
                };
        };
-
-       blsp2_uart4_pin_a: blsp2-uart4-pin-active {
-               tx {
-                       pins = "gpio53";
-                       function = "blsp_uart10";
-
-                       drive-strength = <2>;
-                       bias-disable;
-               };
-
-               rx {
-                       pins = "gpio54";
-                       function = "blsp_uart10";
-
-                       drive-strength = <2>;
-                       bias-pull-up;
-               };
-
-               cts {
-                       pins = "gpio55";
-                       function = "blsp_uart10";
-
-                       drive-strength = <2>;
-                       bias-pull-up;
-               };
-
-               rts {
-                       pins = "gpio56";
-                       function = "blsp_uart10";
-
-                       drive-strength = <2>;
-                       bias-disable;
-               };
-       };
 };
index 870e0ae..c2e423d 100644 (file)
@@ -55,9 +55,6 @@
        status = "okay";
        clock-frequency = <355000>;
 
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c2_pins>;
-
        synaptics@2c {
                compatible = "syna,rmi4-i2c";
                reg = <0x2c>;
@@ -90,9 +87,6 @@
 
 &blsp1_uart2 {
        status = "okay";
-
-       pinctrl-names = "default";
-       pinctrl-0 = <&blsp1_uart2_pin_a>;
 };
 
 &blsp2_dma {
        vmmc-supply = <&pm8941_l20>;
        vqmmc-supply = <&pm8941_s3>;
 
-       pinctrl-names = "default";
-       pinctrl-0 = <&sdhc1_pin_a>;
+       pinctrl-names = "default", "sleep";
+       pinctrl-0 = <&sdc1_on>;
+       pinctrl-1 = <&sdc1_off>;
 };
 
 &sdhc_2 {
 
        cd-gpios = <&tlmm 62 GPIO_ACTIVE_LOW>;
 
-       pinctrl-names = "default";
-       pinctrl-0 = <&sdhc2_pin_a>, <&sdhc2_cd_pin_a>;
+       pinctrl-names = "default", "sleep";
+       pinctrl-0 = <&sdc2_on>;
+       pinctrl-1 = <&sdc2_off>;
 };
 
 &smbb {
                };
        };
 
-       blsp1_uart2_pin_a: blsp1-uart2-pin-active {
-               rx {
-                       pins = "gpio5";
-                       function = "blsp_uart2";
-
-                       drive-strength = <2>;
-                       bias-pull-up;
-               };
-
-               tx {
-                       pins = "gpio4";
-                       function = "blsp_uart2";
-
-                       drive-strength = <4>;
-                       bias-disable;
-               };
-       };
-
-       i2c2_pins: i2c2 {
-               mux {
-                       pins = "gpio6", "gpio7";
-                       function = "blsp_i2c2";
-
-                       drive-strength = <2>;
-                       bias-disable;
-               };
-       };
-
-       sdhc1_pin_a: sdhc1-pin-active {
+       sdc1_on: sdc1-on {
                clk {
                        pins = "sdc1_clk";
                        drive-strength = <16>;
                };
        };
 
-       sdhc2_cd_pin_a: sdhc2-cd-pin-active {
-               pins = "gpio62";
-               function = "gpio";
-
-               drive-strength = <2>;
-               bias-disable;
-               };
-
-       sdhc2_pin_a: sdhc2-pin-active {
+       sdc2_on: sdc-on {
                clk {
                        pins = "sdc2_clk";
                        drive-strength = <10>;
                        drive-strength = <6>;
                        bias-pull-up;
                };
+
+               cd {
+                       pins = "gpio62";
+                       function = "gpio";
+                       drive-strength = <2>;
+                       bias-disable;
+               };
        };
 };
index c7dffb3..814ad0b 100644 (file)
                        clock-names = "core", "iface", "xo";
                        bus-width = <4>;
 
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
                        status = "disabled";
                };
 
                        clock-names = "core", "iface", "xo";
                        bus-width = <4>;
 
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
                        status = "disabled";
                };
 
                        interrupts = <0 95 IRQ_TYPE_LEVEL_HIGH>;
                        clocks = <&gcc GCC_BLSP1_QUP1_I2C_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
                        clock-names = "core", "iface";
+                       pinctrl-names = "default", "sleep";
+                       pinctrl-0 = <&blsp1_i2c1_default>;
+                       pinctrl-1 = <&blsp1_i2c1_sleep>;
                        #address-cells = <1>;
                        #size-cells = <0>;
                };
                        interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
                        clocks = <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
                        clock-names = "core", "iface";
+                       pinctrl-names = "default", "sleep";
+                       pinctrl-0 = <&blsp1_i2c2_default>;
+                       pinctrl-1 = <&blsp1_i2c2_sleep>;
                        #address-cells = <1>;
                        #size-cells = <0>;
                };
                        interrupts = <0 97 IRQ_TYPE_LEVEL_HIGH>;
                        clocks = <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
                        clock-names = "core", "iface";
+                       pinctrl-names = "default", "sleep";
+                       pinctrl-0 = <&blsp1_i2c3_default>;
+                       pinctrl-1 = <&blsp1_i2c3_sleep>;
                        #address-cells = <1>;
                        #size-cells = <0>;
                };
                        interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
                        clocks = <&gcc GCC_BLSP1_QUP6_I2C_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
                        clock-names = "core", "iface";
+                       pinctrl-names = "default", "sleep";
+                       pinctrl-0 = <&blsp1_i2c6_default>;
+                       pinctrl-1 = <&blsp1_i2c6_sleep>;
                        #address-cells = <1>;
                        #size-cells = <0>;
                };
                        interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
                        clocks = <&gcc GCC_BLSP2_QUP2_I2C_APPS_CLK>, <&gcc GCC_BLSP2_AHB_CLK>;
                        clock-names = "core", "iface";
+                       pinctrl-names = "default", "sleep";
+                       pinctrl-0 = <&blsp2_i2c2_default>;
+                       pinctrl-1 = <&blsp2_i2c2_sleep>;
                        #address-cells = <1>;
                        #size-cells = <0>;
                };
                        interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
                        clocks = <&gcc GCC_BLSP2_QUP5_I2C_APPS_CLK>, <&gcc GCC_BLSP2_AHB_CLK>;
                        clock-names = "core", "iface";
-                       #address-cells = <1>;
-                       #size-cells = <0>;
                        dmas = <&blsp2_dma 20>, <&blsp2_dma 21>;
                        dma-names = "tx", "rx";
+                       pinctrl-names = "default", "sleep";
+                       pinctrl-0 = <&blsp2_i2c5_default>;
+                       pinctrl-1 = <&blsp2_i2c5_sleep>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
                };
 
                blsp2_i2c6: i2c@f9968000 {
                        interrupt-controller;
                        #interrupt-cells = <2>;
                        interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
+
+                       sdc1_off: sdc1-off {
+                               clk {
+                                       pins = "sdc1_clk";
+                                       bias-disable;
+                                       drive-strength = <2>;
+                               };
+
+                               cmd {
+                                       pins = "sdc1_cmd";
+                                       bias-pull-up;
+                                       drive-strength = <2>;
+                               };
+
+                               data {
+                                       pins = "sdc1_data";
+                                       bias-pull-up;
+                                       drive-strength = <2>;
+                               };
+                       };
+
+                       sdc2_off: sdc2-off {
+                               clk {
+                                       pins = "sdc2_clk";
+                                       bias-disable;
+                                       drive-strength = <2>;
+                               };
+
+                               cmd {
+                                       pins = "sdc2_cmd";
+                                       bias-pull-up;
+                                       drive-strength = <2>;
+                               };
+
+                               data {
+                                       pins = "sdc2_data";
+                                       bias-pull-up;
+                                       drive-strength = <2>;
+                               };
+
+                               cd {
+                                       pins = "gpio54";
+                                       bias-disable;
+                                       drive-strength = <2>;
+                               };
+                       };
+
+                       blsp1_uart2_active: blsp1-uart2-active {
+                               rx {
+                                       pins = "gpio5";
+                                       function = "blsp_uart2";
+                                       drive-strength = <2>;
+                                       bias-pull-up;
+                               };
+
+                               tx {
+                                       pins = "gpio4";
+                                       function = "blsp_uart2";
+                                       drive-strength = <4>;
+                                       bias-disable;
+                               };
+                       };
+
+                       blsp2_uart1_active: blsp2-uart1-active {
+                               tx-rts {
+                                       pins = "gpio41", "gpio44";
+                                       function = "blsp_uart7";
+                                       drive-strength = <2>;
+                                       bias-disable;
+                               };
+
+                               rx-cts {
+                                       pins = "gpio42", "gpio43";
+                                       function = "blsp_uart7";
+                                       drive-strength = <2>;
+                                       bias-pull-up;
+                               };
+                       };
+
+                       blsp2_uart1_sleep: blsp2-uart1-sleep {
+                               pins = "gpio41", "gpio42", "gpio43", "gpio44";
+                               function = "gpio";
+                               drive-strength = <2>;
+                               bias-pull-down;
+                       };
+
+                       blsp2_uart4_active: blsp2-uart4-active {
+                               tx-rts {
+                                       pins = "gpio53", "gpio56";
+                                       function = "blsp_uart10";
+                                       drive-strength = <2>;
+                                       bias-disable;
+                               };
+
+                               rx-cts {
+                                       pins = "gpio54", "gpio55";
+                                       function = "blsp_uart10";
+                                       drive-strength = <2>;
+                                       bias-pull-up;
+                               };
+                       };
+
+                       blsp1_i2c1_default: blsp1-i2c1-default {
+                               pins = "gpio2", "gpio3";
+                               function = "blsp_i2c1";
+                               drive-strength = <2>;
+                               bias-disable;
+                       };
+
+                       blsp1_i2c1_sleep: blsp1-i2c1-sleep {
+                               pins = "gpio2", "gpio3";
+                               function = "blsp_i2c1";
+                               drive-strength = <2>;
+                               bias-pull-up;
+                       };
+
+                       blsp1_i2c2_default: blsp1-i2c2-default {
+                               pins = "gpio6", "gpio7";
+                               function = "blsp_i2c2";
+                               drive-strength = <2>;
+                               bias-disable;
+                       };
+
+                       blsp1_i2c2_sleep: blsp1-i2c2-sleep {
+                               pins = "gpio6", "gpio7";
+                               function = "blsp_i2c2";
+                               drive-strength = <2>;
+                               bias-pull-up;
+                       };
+
+                       blsp1_i2c3_default: blsp1-i2c3-default {
+                               pins = "gpio10", "gpio11";
+                               function = "blsp_i2c3";
+                               drive-strength = <2>;
+                               bias-disable;
+                       };
+
+                       blsp1_i2c3_sleep: blsp1-i2c3-sleep {
+                               pins = "gpio10", "gpio11";
+                               function = "blsp_i2c3";
+                               drive-strength = <2>;
+                               bias-pull-up;
+                       };
+
+                       /* BLSP1_I2C4 info is missing */
+
+                       /* BLSP1_I2C5 info is missing */
+
+                       blsp1_i2c6_default: blsp1-i2c6-default {
+                               pins = "gpio29", "gpio30";
+                               function = "blsp_i2c6";
+                               drive-strength = <2>;
+                               bias-disable;
+                       };
+
+                       blsp1_i2c6_sleep: blsp1-i2c6-sleep {
+                               pins = "gpio29", "gpio30";
+                               function = "blsp_i2c6";
+                               drive-strength = <2>;
+                               bias-pull-up;
+                       };
+                       /* 6 interfaces per QUP, BLSP2 indexes are numbered (n)+6 */
+
+                       /* BLSP2_I2C1 info is missing */
+
+                       blsp2_i2c2_default: blsp2-i2c2-default {
+                               pins = "gpio47", "gpio48";
+                               function = "blsp_i2c8";
+                               drive-strength = <2>;
+                               bias-disable;
+                       };
+
+                       blsp2_i2c2_sleep: blsp2-i2c2-sleep {
+                               pins = "gpio47", "gpio48";
+                               function = "blsp_i2c8";
+                               drive-strength = <2>;
+                               bias-pull-up;
+                       };
+
+                       /* BLSP2_I2C3 info is missing */
+
+                       /* BLSP2_I2C4 info is missing */
+
+                       blsp2_i2c5_default: blsp2-i2c5-default {
+                               pins = "gpio83", "gpio84";
+                               function = "blsp_i2c11";
+                               drive-strength = <2>;
+                               bias-disable;
+                       };
+
+                       blsp2_i2c5_sleep: blsp2-i2c5-sleep {
+                               pins = "gpio83", "gpio84";
+                               function = "blsp_i2c11";
+                               drive-strength = <2>;
+                               bias-pull-up;
+                       };
+
+                       /* BLSP2_I2C6 info is missing - nobody uses it though? */
+
+                       spi8_default: spi8_default {
+                               mosi {
+                                       pins = "gpio45";
+                                       function = "blsp_spi8";
+                               };
+                               miso {
+                                       pins = "gpio46";
+                                       function = "blsp_spi8";
+                               };
+                               cs {
+                                       pins = "gpio47";
+                                       function = "blsp_spi8";
+                               };
+                               clk {
+                                       pins = "gpio48";
+                                       function = "blsp_spi8";
+                               };
+                       };
                };
 
                mmcc: clock-controller@fd8c0000 {
index 3b1ea8c..c8151a6 100644 (file)
 &blsp1_i2c2 {
        status = "okay";
 
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c2_pins>;
-
        touchscreen@20 {
                compatible = "syna,rmi4-i2c";
                reg = <0x20>;
 &blsp1_i2c6 {
        status = "okay";
 
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c6_pins>;
-
        pmic@60 {
                reg = <0x60>;
                compatible = "maxim,max77826";
 &blsp2_i2c6 {
        status = "okay";
 
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c12_pins>;
-
        fuelgauge@36 {
                compatible = "maxim,max17048";
                reg = <0x36>;
        vmmc-supply = <&pma8084_l20>;
        vqmmc-supply = <&pma8084_s4>;
 
-       pinctrl-names = "default";
-       pinctrl-0 = <&sdhc1_pin_a>;
+       pinctrl-names = "default", "sleep";
+       pinctrl-0 = <&sdc1_on>;
+       pinctrl-1 = <&sdc1_off>;
 };
 
 &sdhc_2 {
        status = "okay";
        max-frequency = <100000000>;
-
-       pinctrl-names = "default";
-       pinctrl-0 = <&sdhc3_pin_a>;
-
        vmmc-supply = <&vreg_wlan>;
        vqmmc-supply = <&pma8084_s4>;
-
        non-removable;
 
-       #address-cells = <1>;
-       #size-cells = <0>;
+       pinctrl-names = "default", "sleep";
+       pinctrl-0 = <&sdc2_on>;
+       pinctrl-1 = <&sdc2_off>;
 
        wifi@1 {
                reg = <1>;
 &sdhc_3 {
        status = "okay";
        max-frequency = <100000000>;
-
        vmmc-supply = <&pma8084_l21>;
        vqmmc-supply = <&pma8084_l13>;
 
         * cd-gpios the driver resorts to polling, so hotplug works.
         */
        pinctrl-names = "default";
-       pinctrl-0 = <&sdhc2_pin_a /* &sdhc2_cd_pin */>;
+       pinctrl-0 = <&sdc3_on /* &sdhc3_cd_pin */>;
        /* cd-gpios = <&tlmm 62 GPIO_ACTIVE_LOW>; */
 };
 
 &tlmm {
+       /* This seems suspicious, but somebody with this device should look into it. */
        blsp2_uart2_pins_active: blsp2-uart2-pins-active {
                pins = "gpio45", "gpio46", "gpio47", "gpio48";
                function = "blsp_uart8";
                };
        };
 
-       sdhc1_pin_a: sdhc1-pin-active {
+       sdc1_on: sdhc1-on {
                clk {
                        pins = "sdc1_clk";
                        drive-strength = <4>;
                };
        };
 
-       sdhc2_pin_a: sdhc2-pin-active {
-               clk-cmd-data {
-                       pins = "gpio35", "gpio36", "gpio37", "gpio38",
-                               "gpio39", "gpio40";
-                       function = "sdc3";
-                       drive-strength = <8>;
-                       bias-disable;
-               };
+       sdc3_on: sdc3-on {
+               pins = "gpio35", "gpio36", "gpio37", "gpio38", "gpio39", "gpio40";
+               function = "sdc3";
+               drive-strength = <8>;
+               bias-disable;
        };
 
-       sdhc2_cd_pin: sdhc2-cd {
+       sdhc3_cd_pin: sdc3-cd-on {
                pins = "gpio62";
                function = "gpio";
 
                bias-disable;
        };
 
-       sdhc3_pin_a: sdhc3-pin-active {
+       sdc2_on: sdhc2-on {
                clk {
                        pins = "sdc2_clk";
                        drive-strength = <6>;
                };
        };
 
-       i2c2_pins: i2c2 {
-               mux {
-                       pins = "gpio6", "gpio7";
-                       function = "blsp_i2c2";
-
-                       drive-strength = <2>;
-                       bias-disable;
-               };
-       };
-
-       i2c6_pins: i2c6 {
-               mux {
-                       pins = "gpio29", "gpio30";
-                       function = "blsp_i2c6";
-
-                       drive-strength = <2>;
-                       bias-disable;
-               };
-       };
-
-       i2c12_pins: i2c12 {
-               mux {
-                       pins = "gpio87", "gpio88";
-                       function = "blsp_i2c12";
-
-                       drive-strength = <2>;
-                       bias-disable;
-               };
-       };
-
        i2c_touchkey_pins: i2c-touchkey {
                mux {
                        pins = "gpio95", "gpio96";
index b8b6447..465d01d 100644 (file)
 
 &blsp1_uart2 {
        status = "okay";
-
-       pinctrl-names = "default";
-       pinctrl-0 = <&blsp1_uart2_pin_a>;
 };
 
 &blsp2_i2c2 {
        status = "okay";
        clock-frequency = <355000>;
 
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c8_pins>;
-
        synaptics@2c {
                compatible = "syna,rmi4-i2c";
                reg = <0x2c>;
        status = "okay";
        clock-frequency = <355000>;
 
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c11_pins>;
-
        lp8566_wled: backlight@2c {
                compatible = "ti,lp8556";
                reg = <0x2c>;
 &blsp2_uart1 {
        status = "okay";
 
-       pinctrl-names = "default";
-       pinctrl-0 = <&blsp2_uart7_pin_a>;
-
        bluetooth {
                compatible = "brcm,bcm43438-bt";
                max-speed = <3000000>;
 
                pinctrl-names = "default";
-               pinctrl-0 = <&bt_host_wake_pin>,
-                               <&bt_dev_wake_pin>,
-                               <&bt_reg_on_pin>;
+               pinctrl-0 = <&bt_host_wake_pin>, <&bt_dev_wake_pin>, <&bt_reg_on_pin>;
 
                host-wakeup-gpios = <&tlmm 95 GPIO_ACTIVE_HIGH>;
                device-wakeup-gpios = <&tlmm 96 GPIO_ACTIVE_HIGH>;
        vmmc-supply = <&pm8941_l20>;
        vqmmc-supply = <&pm8941_s3>;
 
-       pinctrl-names = "default";
-       pinctrl-0 = <&sdhc1_pin_a>;
+       pinctrl-names = "default", "sleep";
+       pinctrl-0 = <&sdc1_on>;
+       pinctrl-1 = <&sdc1_off>;
 };
 
 &sdhc_2 {
 
        cd-gpios = <&tlmm 62 GPIO_ACTIVE_LOW>;
 
-       pinctrl-names = "default";
-       pinctrl-0 = <&sdhc2_pin_a>, <&sdhc2_cd_pin_a>;
+       pinctrl-names = "default", "sleep";
+       pinctrl-0 = <&sdc2_on>;
+       pinctrl-1 = <&sdc2_off>;
 };
 
 &sdhc_3 {
        non-removable;
 
        pinctrl-names = "default";
-       pinctrl-0 = <&sdhc3_pin_a>;
+       pinctrl-0 = <&sdc3_on>;
 
        #address-cells = <1>;
        #size-cells = <0>;
 };
 
 &tlmm {
-       blsp1_uart2_pin_a: blsp1-uart2-pin-active {
-               rx {
-                       pins = "gpio5";
-                       function = "blsp_uart2";
-
-                       drive-strength = <2>;
-                       bias-pull-up;
-               };
-
-               tx {
-                       pins = "gpio4";
-                       function = "blsp_uart2";
-
-                       drive-strength = <4>;
-                       bias-disable;
-               };
-       };
-
-       blsp2_uart7_pin_a: blsp2-uart7-pin-active {
-               tx {
-                       pins = "gpio41";
-                       function = "blsp_uart7";
-
-                       drive-strength = <2>;
-                       bias-disable;
-               };
-
-               rx {
-                       pins = "gpio42";
-                       function = "blsp_uart7";
-
-                       drive-strength = <2>;
-                       bias-pull-up;
-               };
-
-               cts {
-                       pins = "gpio43";
-                       function = "blsp_uart7";
-
-                       drive-strength = <2>;
-                       bias-pull-up;
-               };
-
-               rts {
-                       pins = "gpio44";
-                       function = "blsp_uart7";
-
-                       drive-strength = <2>;
-                       bias-disable;
-               };
-       };
-
-       i2c8_pins: i2c8 {
-               mux {
-                       pins = "gpio47", "gpio48";
-                       function = "blsp_i2c8";
-
-                       drive-strength = <2>;
-                       bias-disable;
-               };
-       };
-
-       i2c11_pins: i2c11 {
-               mux {
-                       pins = "gpio83", "gpio84";
-                       function = "blsp_i2c11";
-
-                       drive-strength = <2>;
-                       bias-disable;
-               };
-       };
-
        lcd_backlight_en_pin_a: lcd-backlight-vddio {
                pins = "gpio69";
                drive-strength = <10>;
                bias-disable;
        };
 
-       sdhc1_pin_a: sdhc1-pin-active {
+       sdc1_on: sdc1-on {
                clk {
                        pins = "sdc1_clk";
                        drive-strength = <16>;
                };
        };
 
-       sdhc2_cd_pin_a: sdhc2-cd-pin-active {
-               pins = "gpio62";
-               function = "gpio";
-
-               drive-strength = <2>;
-               bias-disable;
-               };
-
-       sdhc2_pin_a: sdhc2-pin-active {
+       sdc2_on: sdc2-on {
                clk {
                        pins = "sdc2_clk";
                        drive-strength = <6>;
                        drive-strength = <6>;
                        bias-pull-up;
                };
+
+               cd {
+                       pins = "gpio62";
+                       function = "gpio";
+                       drive-strength = <2>;
+                       bias-disable;
+               };
        };
 
-       sdhc3_pin_a: sdhc3-pin-active {
+       sdc3_on: sdc3-on {
                clk {
                        pins = "gpio40";
                        function = "sdc3";
-
                        drive-strength = <10>;
                        bias-disable;
                };
                cmd {
                        pins = "gpio39";
                        function = "sdc3";
-
                        drive-strength = <10>;
                        bias-pull-up;
                };
                data {
                        pins = "gpio35", "gpio36", "gpio37", "gpio38";
                        function = "sdc3";
-
                        drive-strength = <10>;
                        bias-pull-up;
                };
        };
 
-       ts_int_pin: synaptics {
-               pin {
-                       pins = "gpio86";
-                       function = "gpio";
-
-                       drive-strength = <2>;
-                       bias-disable;
-                       input-enable;
-               };
+       ts_int_pin: ts-int-pin {
+               pins = "gpio86";
+               function = "gpio";
+               drive-strength = <2>;
+               bias-disable;
+               input-enable;
        };
 
        bt_host_wake_pin: bt-host-wake {
                pins = "gpio95";
                function = "gpio";
-
                drive-strength = <2>;
                bias-disable;
                output-low;
        bt_dev_wake_pin: bt-dev-wake {
                pins = "gpio96";
                function = "gpio";
-
                drive-strength = <2>;
                bias-disable;
        };