Add support for i2c2 and i2c6 interfaces, wrap up
SDC pins into pmx_sdc groups (following msm8916).

Signed-off-by: Konrad Dybcio <[email protected]>
---
 arch/arm64/boot/dts/qcom/msm8992-pins.dtsi | 149 ++++++++++++++++-----
 1 file changed, 118 insertions(+), 31 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/msm8992-pins.dtsi 
b/arch/arm64/boot/dts/qcom/msm8992-pins.dtsi
index c543c718c22d..17c9e048e414 100644
--- a/arch/arm64/boot/dts/qcom/msm8992-pins.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8992-pins.dtsi
@@ -32,59 +32,146 @@ pinconf {
        /* Order of pins */
        /* SDC1: CLK -> 0, CMD -> 1, DATA -> 2, RCLK -> 3 */
        /* SDC2: CLK -> 4, CMD -> 5, DATA -> 6 */
-       sdc1_clk_on: clk-on {
-               pinconf {
-                       pins = "sdc1_clk";
-                       bias-disable = <0>; /* No pull */
-                       drive-strength = <16>; /* 16mA */
+
+       pmx_sdc1_clk {
+               sdc1_clk_on: clk-on {
+                       pinmux {
+                               pins = "sdc1_clk";
+                       };
+                       pinconf {
+                               pins = "sdc1_clk";
+                               bias-disable; /* No pull */
+                               drive-strength = <6>; 
+                       };
+               };
+
+               sdc1_clk_off: clk-off {
+                       pinmux {
+                               pins = "sdc1_clk";
+                       };
+                       pinconf {
+                               pins = "sdc1_clk";
+                               bias-disable; /* No pull */
+                               drive-strength = <2>; 
+                       };
                };
        };
 
-       sdc1_clk_off: clk-off {
-               pinconf {
-                       pins = "sdc1_clk";
-                       bias-disable = <0>; /* No pull */
-                       drive-strength = <2>; /* 2mA */
+       pmx_sdc1_cmd {
+               sdc1_cmd_on: cmd-on {
+                       pinmux {
+                               pins = "sdc1_cmd";
+                       };
+                       pinconf {
+                               pins = "sdc1_cmd";
+                               bias-pull-up;
+                               drive-strength = <6>;
+                       };
+               };
+
+               sdc1_cmd_off: cmd-off {
+                       pinmux {
+                               pins = "sdc1_cmd";
+                       };
+                       pinconf {
+                               pins = "sdc1_cmd";
+                               bias-pull-up;
+                               drive-strength = <2>;
+                       };
                };
        };
 
-       sdc1_cmd_on: cmd-on {
-               pinconf {
-                       pins = "sdc1_cmd";
-                       bias-pull-up;
-                       drive-strength = <8>;
+       pmx_sdc1_data {
+               sdc1_data_on: data-on {
+                       pinmux {
+                               pins = "sdc1_data";
+                       };
+                       pinconf {
+                               pins = "sdc1_data";
+                               bias-pull-up;
+                               drive-strength = <6>;
+                       };
+               };
+
+               sdc1_data_off: data-off {
+                       pinmux {
+                               pins = "sdc1_data";
+                       };
+                       pinconf {
+                               pins = "sdc1_data";
+                               bias-pull-up;
+                               drive-strength = <2>;
+                       };
                };
        };
 
-       sdc1_cmd_off: cmd-off {
-               pinconf {
-                       pins = "sdc1_cmd";
-                       bias-pull-up = <0x3>; /* same as 3.10 ?? */
-                       drive-strength = <2>; /* 2mA */
+       pmx_sdc1_rclk {
+               sdc1_rclk_on: rclk-on {
+                       pinmux {
+                               pins = "sdc1_rclk";
+                       };
+                       pinconf {
+                               pins = "sdc1_rclk";
+                               bias-pull-down; /* pull down */
+                       };
+               };
+
+               sdc1_rclk_off: rclk-off {
+                       pinmux {
+                               pins = "sdc1_rclk";
+                       };
+                       pinconf {
+                               pins = "sdc1_rclk";
+                               bias-pull-down; /* pull down */
+                       };
                };
        };
 
-       sdc1_data_on: data-on {
+       i2c2_default: i2c2_default {
+               pinmux {
+                       function = "blsp_i2c2";
+                       pins = "gpio6", "gpio7";
+               };
                pinconf {
-                       pins = "sdc1_data";
-                       bias-pull-up;
-                       drive-strength = <8>; /* 8mA */
+                       pins = "gpio6", "gpio7";
+                       drive-strength = <2>;
+                       bias-disable;
                };
        };
 
-       sdc1_data_off: data-off {
+       i2c2_sleep: i2c2_sleep {
+               pinmux {
+                       function = "gpio";
+                       pins = "gpio6", "gpio7";
+               };
                pinconf {
-                       pins = "sdc1_data";
-                       bias-pull-up;
+                       pins = "gpio6", "gpio7";
                        drive-strength = <2>;
+                       bias-disable;
                };
        };
 
-       sdc1_rclk_on: rclk-on {
-               bias-pull-down; /* pull down */
+       i2c6_default: i2c6_default {
+               pinmux {
+                       function = "blsp_i2c6";
+                       pins = "gpio28", "gpio27";
+               };
+               pinconf {
+                       pins = "gpio28", "gpio27";
+                       drive-strength = <2>;
+                       bias-disable;
+               };
        };
 
-       sdc1_rclk_off: rclk-off {
-               bias-pull-down; /* pull down */
+       i2c6_sleep: i2c6_sleep {
+               pinmux {
+                       function = "gpio";
+                       pins = "gpio28", "gpio27";
+               };
+               pinconf {
+                       pins = "gpio28", "gpio27";
+                       drive-strength = <2>;
+                       bias-disable;
+               };
        };
 };
-- 
2.26.2

Reply via email to