diff options
| author | Linux Build Service Account <lnxbuild@localhost> | 2018-03-15 05:43:14 -0700 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2018-03-15 05:43:13 -0700 |
| commit | b615bd970fe49bb3a52d6ba6f7c007392b60dec7 (patch) | |
| tree | 2d3d3a9987c3a4f3cf734865c6167178f89bc224 | |
| parent | c8eb18237515e2eb737f61c33d20f79d568d174d (diff) | |
| parent | 8304c5cf2f37339222656dd8aec90f5d9e0281a3 (diff) | |
Merge "ARM: dts: msm: Configure I2C instances for bus recovery"
| -rw-r--r-- | arch/arm/boot/dts/qcom/msm8996-pinctrl.dtsi | 54 | ||||
| -rw-r--r-- | arch/arm/boot/dts/qcom/msm8996.dtsi | 22 | ||||
| -rw-r--r-- | arch/arm/boot/dts/qcom/msm8998-blsp.dtsi | 62 | ||||
| -rw-r--r-- | arch/arm/boot/dts/qcom/msm8998-pinctrl.dtsi | 146 | ||||
| -rw-r--r-- | arch/arm/boot/dts/qcom/sdm660-blsp.dtsi | 42 | ||||
| -rw-r--r-- | arch/arm/boot/dts/qcom/sdm660-pinctrl.dtsi | 98 | ||||
| -rw-r--r-- | arch/arm/boot/dts/qcom/vplatform-lfv-msm8996-blsp.dtsi | 13 | ||||
| -rw-r--r-- | arch/arm/boot/dts/qcom/vplatform-lfv-msm8996-pinctrl.dtsi | 28 |
8 files changed, 430 insertions, 35 deletions
diff --git a/arch/arm/boot/dts/qcom/msm8996-pinctrl.dtsi b/arch/arm/boot/dts/qcom/msm8996-pinctrl.dtsi index 50312a57059a..0982ead00f8c 100644 --- a/arch/arm/boot/dts/qcom/msm8996-pinctrl.dtsi +++ b/arch/arm/boot/dts/qcom/msm8996-pinctrl.dtsi @@ -1,4 +1,4 @@ -/* Copyright (c) 2014-2017, The Linux Foundation. All rights reserved. +/* Copyright (c) 2014-2018, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and @@ -713,6 +713,19 @@ bias-pull-down; }; }; + + i2c_12_bitbang: i2c_12_bitbang { + mux { + pins = "gpio87", "gpio88"; + function = "gpio"; + }; + + config { + pins = "gpio87", "gpio88"; + drive-strength = <2>; + bias-pull-up; + }; + }; }; i2c_6 { @@ -741,6 +754,19 @@ bias-pull-up; }; }; + + i2c_6_bitbang: i2c_6_bitbang { + mux { + pins = "gpio27", "gpio28"; + function = "gpio"; + }; + + config { + pins = "gpio27", "gpio28"; + drive-strength = <2>; + bias-pull-up; + }; + }; }; i2c_7 { @@ -769,6 +795,19 @@ bias-pull-up; }; }; + + i2c_7_bitbang: i2c_7_bitbang { + mux { + pins = "gpio55", "gpio56"; + function = "gpio"; + }; + + config { + pins = "gpio55", "gpio56"; + drive-strength = <2>; + bias-pull-up; + }; + }; }; i2c_8 { @@ -797,6 +836,19 @@ bias-pull-up; }; }; + + i2c_8_bitbang: i2c_8_bitbang { + mux { + pins = "gpio6", "gpio7"; + function = "gpio"; + }; + + config { + pins = "gpio6", "gpio7"; + drive-strength = <4>; + bias-pull-up; + }; + }; }; pmx_fm_int { diff --git a/arch/arm/boot/dts/qcom/msm8996.dtsi b/arch/arm/boot/dts/qcom/msm8996.dtsi index 3b067e6090e6..2d30aab29a0e 100644 --- a/arch/arm/boot/dts/qcom/msm8996.dtsi +++ b/arch/arm/boot/dts/qcom/msm8996.dtsi @@ -1,4 +1,4 @@ -/* Copyright (c) 2014-2017, The Linux Foundation. All rights reserved. +/* Copyright (c) 2014-2018, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and @@ -405,9 +405,12 @@ clock-names = "iface_clk", "core_clk"; clocks = <&clock_gcc clk_gcc_blsp2_ahb_clk>, <&clock_gcc clk_gcc_blsp2_qup6_i2c_apps_clk>; - pinctrl-names = "i2c_active", "i2c_sleep"; + qcom,i2c-dat = <&tlmm 87 0x00>; + qcom,i2c-clk = <&tlmm 88 0x00>; + pinctrl-names = "i2c_active", "i2c_sleep", "i2c_bitbang"; pinctrl-0 = <&i2c_12_active>; pinctrl-1 = <&i2c_12_sleep>; + pinctrl-2 = <&i2c_12_bitbang>; }; @@ -444,9 +447,12 @@ clock-names = "iface_clk", "core_clk"; clocks = <&clock_gcc clk_gcc_blsp1_ahb_clk>, <&clock_gcc clk_gcc_blsp1_qup6_i2c_apps_clk>; - pinctrl-names = "i2c_active", "i2c_sleep"; + qcom,i2c-dat = <&tlmm 27 0x00>; + qcom,i2c-clk = <&tlmm 28 0x00>; + pinctrl-names = "i2c_active", "i2c_sleep", "i2c_bitbang"; pinctrl-0 = <&i2c_6_active>; pinctrl-1 = <&i2c_6_sleep>; + pinctrl-2 = <&i2c_6_bitbang>; }; i2c_7: i2c@75b5000 { /* BLSP2 QUP1 */ @@ -466,9 +472,12 @@ clock-names = "iface_clk", "core_clk"; clocks = <&clock_gcc clk_gcc_blsp2_ahb_clk>, <&clock_gcc clk_gcc_blsp2_qup1_i2c_apps_clk>; - pinctrl-names = "i2c_active", "i2c_sleep"; + qcom,i2c-dat = <&tlmm 55 0x00>; + qcom,i2c-clk = <&tlmm 56 0x00>; + pinctrl-names = "i2c_active", "i2c_sleep", "i2c_bitbang"; pinctrl-0 = <&i2c_7_active>; pinctrl-1 = <&i2c_7_sleep>; + pinctrl-2 = <&i2c_7_bitbang>; }; i2c_8: i2c@75b6000 { /* BLSP2 QUP2 */ @@ -488,9 +497,12 @@ clock-names = "iface_clk", "core_clk"; clocks = <&clock_gcc clk_gcc_blsp2_ahb_clk>, <&clock_gcc clk_gcc_blsp2_qup2_i2c_apps_clk>; - pinctrl-names = "i2c_active", "i2c_sleep"; + qcom,i2c-dat = <&tlmm 6 0x00>; + qcom,i2c-clk = <&tlmm 7 0x00>; + pinctrl-names = "i2c_active", "i2c_sleep", "i2c_bitbang"; pinctrl-0 = <&i2c_8_active>; pinctrl-1 = <&i2c_8_sleep>; + pinctrl-2 = <&i2c_8_bitbang>; }; blsp1_uart2: uart@07570000 { /* BLSP1 UART2 */ diff --git a/arch/arm/boot/dts/qcom/msm8998-blsp.dtsi b/arch/arm/boot/dts/qcom/msm8998-blsp.dtsi index b9e323d894c3..cc258d15a780 100644 --- a/arch/arm/boot/dts/qcom/msm8998-blsp.dtsi +++ b/arch/arm/boot/dts/qcom/msm8998-blsp.dtsi @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015-2016, The Linux Foundation. All rights reserved. + * Copyright (c) 2015-2016, 2018, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and @@ -75,9 +75,12 @@ clock-names = "iface_clk", "core_clk"; clocks = <&clock_gcc clk_gcc_blsp1_ahb_clk>, <&clock_gcc clk_gcc_blsp1_qup1_i2c_apps_clk>; - pinctrl-names = "i2c_active", "i2c_sleep"; + qcom,i2c-dat = <&tlmm 2 0x00>; + qcom,i2c-clk = <&tlmm 3 0x00>; + pinctrl-names = "i2c_active", "i2c_sleep", "i2c_bitbang"; pinctrl-0 = <&i2c_1_active>; pinctrl-1 = <&i2c_1_sleep>; + pinctrl-2 = <&i2c_1_bitbang>; status = "disabled"; }; @@ -98,9 +101,12 @@ clock-names = "iface_clk", "core_clk"; clocks = <&clock_gcc clk_gcc_blsp1_ahb_clk>, <&clock_gcc clk_gcc_blsp1_qup2_i2c_apps_clk>; - pinctrl-names = "i2c_active", "i2c_sleep"; + qcom,i2c-dat = <&tlmm 33 0x00>; + qcom,i2c-clk = <&tlmm 32 0x00>; + pinctrl-names = "i2c_active", "i2c_sleep", "i2c_bitbang"; pinctrl-0 = <&i2c_2_active>; pinctrl-1 = <&i2c_2_sleep>; + pinctrl-2 = <&i2c_2_bitbang>; status = "disabled"; }; @@ -121,9 +127,12 @@ clock-names = "iface_clk", "core_clk"; clocks = <&clock_gcc clk_gcc_blsp1_ahb_clk>, <&clock_gcc clk_gcc_blsp1_qup3_i2c_apps_clk>; - pinctrl-names = "i2c_active", "i2c_sleep"; + qcom,i2c-dat = <&tlmm 47 0x00>; + qcom,i2c-clk = <&tlmm 48 0x00>; + pinctrl-names = "i2c_active", "i2c_sleep", "i2c_bitbang"; pinctrl-0 = <&i2c_3_active>; pinctrl-1 = <&i2c_3_sleep>; + pinctrl-2 = <&i2c_3_bitbang>; status = "disabled"; }; @@ -144,9 +153,12 @@ clock-names = "iface_clk", "core_clk"; clocks = <&clock_gcc clk_gcc_blsp1_ahb_clk>, <&clock_gcc clk_gcc_blsp1_qup4_i2c_apps_clk>; - pinctrl-names = "i2c_active", "i2c_sleep"; + qcom,i2c-dat = <&tlmm 10 0x00>; + qcom,i2c-clk = <&tlmm 11 0x00>; + pinctrl-names = "i2c_active", "i2c_sleep", "i2c_bitbang"; pinctrl-0 = <&i2c_4_active>; pinctrl-1 = <&i2c_4_sleep>; + pinctrl-2 = <&i2c_4_bitbang>; status = "disabled"; }; @@ -167,9 +179,12 @@ clock-names = "iface_clk", "core_clk"; clocks = <&clock_gcc clk_gcc_blsp1_ahb_clk>, <&clock_gcc clk_gcc_blsp1_qup5_i2c_apps_clk>; - pinctrl-names = "i2c_active", "i2c_sleep"; + qcom,i2c-dat = <&tlmm 87 0x00>; + qcom,i2c-clk = <&tlmm 88 0x00>; + pinctrl-names = "i2c_active", "i2c_sleep", "i2c_bitbang"; pinctrl-0 = <&i2c_5_active>; pinctrl-1 = <&i2c_5_sleep>; + pinctrl-2 = <&i2c_5_bitbang>; status = "disabled"; }; @@ -190,9 +205,12 @@ clock-names = "iface_clk", "core_clk"; clocks = <&clock_gcc clk_gcc_blsp1_ahb_clk>, <&clock_gcc clk_gcc_blsp1_qup6_i2c_apps_clk>; - pinctrl-names = "i2c_active", "i2c_sleep"; + qcom,i2c-dat = <&tlmm 43 0x00>; + qcom,i2c-clk = <&tlmm 44 0x00>; + pinctrl-names = "i2c_active", "i2c_sleep", "i2c_bitbang"; pinctrl-0 = <&i2c_6_active>; pinctrl-1 = <&i2c_6_sleep>; + pinctrl-2 = <&i2c_6_bitbang>; status = "disabled"; }; @@ -213,9 +231,12 @@ clock-names = "iface_clk", "core_clk"; clocks = <&clock_gcc clk_gcc_blsp2_ahb_clk>, <&clock_gcc clk_gcc_blsp2_qup1_i2c_apps_clk>; - pinctrl-names = "i2c_active", "i2c_sleep"; + qcom,i2c-dat = <&tlmm 55 0x00>; + qcom,i2c-clk = <&tlmm 56 0x00>; + pinctrl-names = "i2c_active", "i2c_sleep", "i2c_bitbang"; pinctrl-0 = <&i2c_7_active>; pinctrl-1 = <&i2c_7_sleep>; + pinctrl-2 = <&i2c_7_bitbang>; status = "disabled"; }; @@ -236,9 +257,12 @@ clock-names = "iface_clk", "core_clk"; clocks = <&clock_gcc clk_gcc_blsp2_ahb_clk>, <&clock_gcc clk_gcc_blsp2_qup2_i2c_apps_clk>; - pinctrl-names = "i2c_active", "i2c_sleep"; + qcom,i2c-dat = <&tlmm 6 0x00>; + qcom,i2c-clk = <&tlmm 7 0x00>; + pinctrl-names = "i2c_active", "i2c_sleep", "i2c_bitbang"; pinctrl-0 = <&i2c_8_active>; pinctrl-1 = <&i2c_8_sleep>; + pinctrl-2 = <&i2c_8_bitbang>; status = "disabled"; }; @@ -259,9 +283,12 @@ clock-names = "iface_clk", "core_clk"; clocks = <&clock_gcc clk_gcc_blsp2_ahb_clk>, <&clock_gcc clk_gcc_blsp2_qup3_i2c_apps_clk>; - pinctrl-names = "i2c_active", "i2c_sleep"; + qcom,i2c-dat = <&tlmm 51 0x00>; + qcom,i2c-clk = <&tlmm 52 0x00>; + pinctrl-names = "i2c_active", "i2c_sleep", "i2c_bitbang"; pinctrl-0 = <&i2c_9_active>; pinctrl-1 = <&i2c_9_sleep>; + pinctrl-2 = <&i2c_9_bitbang>; status = "disabled"; }; @@ -282,9 +309,12 @@ clock-names = "iface_clk", "core_clk"; clocks = <&clock_gcc clk_gcc_blsp2_ahb_clk>, <&clock_gcc clk_gcc_blsp2_qup4_i2c_apps_clk>; - pinctrl-names = "i2c_active", "i2c_sleep"; + qcom,i2c-dat = <&tlmm 67 0x00>; + qcom,i2c-clk = <&tlmm 68 0x00>; + pinctrl-names = "i2c_active", "i2c_sleep", "i2c_bitbang"; pinctrl-0 = <&i2c_10_active>; pinctrl-1 = <&i2c_10_sleep>; + pinctrl-2 = <&i2c_10_bitbang>; status = "disabled"; }; @@ -305,9 +335,12 @@ clock-names = "iface_clk", "core_clk"; clocks = <&clock_gcc clk_gcc_blsp2_ahb_clk>, <&clock_gcc clk_gcc_blsp2_qup5_i2c_apps_clk>; - pinctrl-names = "i2c_active", "i2c_sleep"; + qcom,i2c-dat = <&tlmm 60 0x00>; + qcom,i2c-clk = <&tlmm 61 0x00>; + pinctrl-names = "i2c_active", "i2c_sleep", "i2c_bitbang"; pinctrl-0 = <&i2c_11_active>; pinctrl-1 = <&i2c_11_sleep>; + pinctrl-2 = <&i2c_11_bitbang>; status = "disabled"; }; @@ -328,9 +361,12 @@ clock-names = "iface_clk", "core_clk"; clocks = <&clock_gcc clk_gcc_blsp2_ahb_clk>, <&clock_gcc clk_gcc_blsp2_qup6_i2c_apps_clk>; - pinctrl-names = "i2c_active", "i2c_sleep"; + qcom,i2c-dat = <&tlmm 83 0x00>; + qcom,i2c-clk = <&tlmm 84 0x00>; + pinctrl-names = "i2c_active", "i2c_sleep", "i2c_bitbang"; pinctrl-0 = <&i2c_12_active>; pinctrl-1 = <&i2c_12_sleep>; + pinctrl-2 = <&i2c_12_bitbang>; status = "disabled"; }; diff --git a/arch/arm/boot/dts/qcom/msm8998-pinctrl.dtsi b/arch/arm/boot/dts/qcom/msm8998-pinctrl.dtsi index 1abb28897fbd..e066d483b350 100644 --- a/arch/arm/boot/dts/qcom/msm8998-pinctrl.dtsi +++ b/arch/arm/boot/dts/qcom/msm8998-pinctrl.dtsi @@ -1,4 +1,4 @@ -/* Copyright (c) 2015-2017, The Linux Foundation. All rights reserved. +/* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and @@ -76,6 +76,18 @@ bias-pull-up; }; }; + i2c_1_bitbang: i2c_1_bitbang { + mux { + pins = "gpio2", "gpio3"; + function = "gpio"; + }; + + config { + pins = "gpio2", "gpio3"; + drive-strength = <2>; + bias-pull-up; + }; + }; }; i2c_2 { @@ -104,6 +116,18 @@ bias-pull-up; }; }; + i2c_2_bitbang: i2c_2_bitbang { + mux { + pins = "gpio32", "gpio33"; + function = "gpio"; + }; + + config { + pins = "gpio32", "gpio33"; + drive-strength = <2>; + bias-pull-up; + }; + }; }; i2c_3 { @@ -132,6 +156,18 @@ bias-pull-up; }; }; + i2c_3_bitbang: i2c_3_bitbang { + mux { + pins = "gpio47", "gpio48"; + function = "gpio"; + }; + + config { + pins = "gpio47", "gpio48"; + drive-strength = <2>; + bias-pull-up; + }; + }; }; i2c_4 { @@ -160,6 +196,18 @@ bias-pull-up; }; }; + i2c_4_bitbang: i2c_4_bitbang { + mux { + pins = "gpio10", "gpio11"; + function = "gpio"; + }; + + config { + pins = "gpio10", "gpio11"; + drive-strength = <2>; + bias-pull-up; + }; + }; }; i2c_5 { @@ -188,6 +236,18 @@ bias-disable; }; }; + i2c_5_bitbang: i2c_5_bitbang { + mux { + pins = "gpio87", "gpio88"; + function = "gpio"; + }; + + config { + pins = "gpio87", "gpio88"; + drive-strength = <2>; + bias-pull-up; + }; + }; }; i2c_6 { @@ -216,6 +276,18 @@ bias-pull-up; }; }; + i2c_6_bitbang: i2c_6_bitbang { + mux { + pins = "gpio43", "gpio44"; + function = "gpio"; + }; + + config { + pins = "gpio43", "gpio44"; + drive-strength = <2>; + bias-pull-up; + }; + }; }; nfc { @@ -306,6 +378,18 @@ bias-pull-up; }; }; + i2c_7_bitbang: i2c_7_bitbang { + mux { + pins = "gpio55", "gpio56"; + function = "gpio"; + }; + + config { + pins = "gpio55", "gpio56"; + drive-strength = <2>; + bias-pull-up; + }; + }; }; i2c_8 { @@ -334,6 +418,18 @@ bias-pull-up; }; }; + i2c_8_bitbang: i2c_8_bitbang { + mux { + pins = "gpio6", "gpio7"; + function = "gpio"; + }; + + config { + pins = "gpio6", "gpio7"; + drive-strength = <2>; + bias-pull-up; + }; + }; }; i2c_9 { @@ -362,6 +458,18 @@ bias-pull-up; }; }; + i2c_9_bitbang: i2c_9_bitbang { + mux { + pins = "gpio51", "gpio52"; + function = "gpio"; + }; + + config { + pins = "gpio51", "gpio52"; + drive-strength = <2>; + bias-pull-up; + }; + }; }; i2c_10 { @@ -390,6 +498,18 @@ bias-pull-up; }; }; + i2c_10_bitbang: i2c_10_bitbang { + mux { + pins = "gpio67", "gpio68"; + function = "gpio"; + }; + + config { + pins = "gpio67", "gpio68"; + drive-strength = <2>; + bias-pull-up; + }; + }; }; i2c_11 { @@ -418,6 +538,18 @@ bias-pull-up; }; }; + i2c_11_bitbang: i2c_11_bitbang { + mux { + pins = "gpio60", "gpio61"; + function = "gpio"; + }; + + config { + pins = "gpio60", "gpio61"; + drive-strength = <2>; + bias-pull-up; + }; + }; }; i2c_12 { @@ -446,6 +578,18 @@ bias-pull-up; }; }; + i2c_12_bitbang: i2c_12_bitbang { + mux { + pins = "gpio83", "gpio84"; + function = "gpio"; + }; + + config { + pins = "gpio83", "gpio84"; + drive-strength = <2>; + bias-pull-up; + }; + }; }; /* SPI CONFIGURATION */ diff --git a/arch/arm/boot/dts/qcom/sdm660-blsp.dtsi b/arch/arm/boot/dts/qcom/sdm660-blsp.dtsi index 555d9a285102..f3b9431f39bc 100644 --- a/arch/arm/boot/dts/qcom/sdm660-blsp.dtsi +++ b/arch/arm/boot/dts/qcom/sdm660-blsp.dtsi @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016-2017, The Linux Foundation. All rights reserved. + * Copyright (c) 2016-2018, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and @@ -52,9 +52,12 @@ clock-names = "iface_clk", "core_clk"; clocks = <&clock_gcc GCC_BLSP1_AHB_CLK>, <&clock_gcc GCC_BLSP1_QUP1_I2C_APPS_CLK>; - pinctrl-names = "i2c_active", "i2c_sleep"; + qcom,i2c-dat = <&tlmm 2 0x00>; + qcom,i2c-clk = <&tlmm 3 0x00>; + pinctrl-names = "i2c_active", "i2c_sleep", "i2c_bitbang"; pinctrl-0 = <&i2c_1_active>; pinctrl-1 = <&i2c_1_sleep>; + pinctrl-2 = <&i2c_1_bitbang>; status = "disabled"; }; @@ -75,9 +78,12 @@ clock-names = "iface_clk", "core_clk"; clocks = <&clock_gcc GCC_BLSP1_AHB_CLK>, <&clock_gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>; - pinctrl-names = "i2c_active", "i2c_sleep"; + qcom,i2c-dat = <&tlmm 6 0x00>; + qcom,i2c-clk = <&tlmm 7 0x00>; + pinctrl-names = "i2c_active", "i2c_sleep", "i2c_bitbang"; pinctrl-0 = <&i2c_2_active>; pinctrl-1 = <&i2c_2_sleep>; + pinctrl-2 = <&i2c_2_bitbang>; status = "disabled"; }; @@ -98,9 +104,12 @@ clock-names = "iface_clk", "core_clk"; clocks = <&clock_gcc GCC_BLSP1_AHB_CLK>, <&clock_gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>; - pinctrl-names = "i2c_active", "i2c_sleep"; + qcom,i2c-dat = <&tlmm 10 0x00>; + qcom,i2c-clk = <&tlmm 11 0x00>; + pinctrl-names = "i2c_active", "i2c_sleep", "i2c_bitbang"; pinctrl-0 = <&i2c_3_active>; pinctrl-1 = <&i2c_3_sleep>; + pinctrl-2 = <&i2c_3_bitbang>; status = "disabled"; }; @@ -121,9 +130,12 @@ clock-names = "iface_clk", "core_clk"; clocks = <&clock_gcc GCC_BLSP1_AHB_CLK>, <&clock_gcc GCC_BLSP1_QUP4_I2C_APPS_CLK>; - pinctrl-names = "i2c_active", "i2c_sleep"; + qcom,i2c-dat = <&tlmm 14 0x00>; + qcom,i2c-clk = <&tlmm 15 0x00>; + pinctrl-names = "i2c_active", "i2c_sleep", "i2c_bitbang"; pinctrl-0 = <&i2c_4_active>; pinctrl-1 = <&i2c_4_sleep>; + pinctrl-2 = <&i2c_4_bitbang>; status = "disabled"; }; @@ -144,9 +156,12 @@ clock-names = "iface_clk", "core_clk"; clocks = <&clock_gcc GCC_BLSP2_AHB_CLK>, <&clock_gcc GCC_BLSP2_QUP1_I2C_APPS_CLK>; - pinctrl-names = "i2c_active", "i2c_sleep"; + qcom,i2c-dat = <&tlmm 18 0x00>; + qcom,i2c-clk = <&tlmm 19 0x00>; + pinctrl-names = "i2c_active", "i2c_sleep", "i2c_bitbang"; pinctrl-0 = <&i2c_5_active>; pinctrl-1 = <&i2c_5_sleep>; + pinctrl-2 = <&i2c_5_bitbang>; status = "disabled"; }; @@ -167,9 +182,12 @@ clock-names = "iface_clk", "core_clk"; clocks = <&clock_gcc GCC_BLSP2_AHB_CLK>, <&clock_gcc GCC_BLSP2_QUP2_I2C_APPS_CLK>; - pinctrl-names = "i2c_active", "i2c_sleep"; + qcom,i2c-dat = <&tlmm 22 0x00>; + qcom,i2c-clk = <&tlmm 23 0x00>; + pinctrl-names = "i2c_active", "i2c_sleep", "i2c_bitbang"; pinctrl-0 = <&i2c_6_active>; pinctrl-1 = <&i2c_6_sleep>; + pinctrl-2 = <&i2c_6_bitbang>; status = "disabled"; }; @@ -190,9 +208,12 @@ clock-names = "iface_clk", "core_clk"; clocks = <&clock_gcc GCC_BLSP2_AHB_CLK>, <&clock_gcc GCC_BLSP2_QUP3_I2C_APPS_CLK>; - pinctrl-names = "i2c_active", "i2c_sleep"; + qcom,i2c-dat = <&tlmm 26 0x00>; + qcom,i2c-clk = <&tlmm 27 0x00>; + pinctrl-names = "i2c_active", "i2c_sleep", "i2c_bitbang"; pinctrl-0 = <&i2c_7_active>; pinctrl-1 = <&i2c_7_sleep>; + pinctrl-2 = <&i2c_7_bitbang>; status = "disabled"; }; @@ -213,9 +234,12 @@ clock-names = "iface_clk", "core_clk"; clocks = <&clock_gcc GCC_BLSP2_AHB_CLK>, <&clock_gcc GCC_BLSP2_QUP4_I2C_APPS_CLK>; - pinctrl-names = "i2c_active", "i2c_sleep"; + qcom,i2c-dat = <&tlmm 30 0x00>; + qcom,i2c-clk = <&tlmm 31 0x00>; + pinctrl-names = "i2c_active", "i2c_sleep", "i2c_bitbang"; pinctrl-0 = <&i2c_8_active>; pinctrl-1 = <&i2c_8_sleep>; + pinctrl-2 = <&i2c_8_bitbang>; status = "disabled"; }; diff --git a/arch/arm/boot/dts/qcom/sdm660-pinctrl.dtsi b/arch/arm/boot/dts/qcom/sdm660-pinctrl.dtsi index e55a67e68b36..5b97aea1c013 100644 --- a/arch/arm/boot/dts/qcom/sdm660-pinctrl.dtsi +++ b/arch/arm/boot/dts/qcom/sdm660-pinctrl.dtsi @@ -1,4 +1,4 @@ -/* Copyright (c) 2016-2017, The Linux Foundation. All rights reserved. +/* Copyright (c) 2016-2018, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and @@ -240,6 +240,18 @@ bias-pull-up; }; }; + i2c_1_bitbang: i2c_1_bitbang { + mux { + pins = "gpio2", "gpio3"; + function = "gpio"; + }; + + config { + pins = "gpio2", "gpio3"; + drive-strength = <2>; + bias-pull-up; + }; + }; }; i2c_2 { @@ -268,6 +280,18 @@ bias-pull-up; }; }; + i2c_2_bitbang: i2c_2_bitbang { + mux { + pins = "gpio6", "gpio7"; + function = "gpio"; + }; + + config { + pins = "gpio6", "gpio7"; + drive-strength = <2>; + bias-pull-up; + }; + }; }; i2c_3 { @@ -296,6 +320,18 @@ bias-pull-up; }; }; + i2c_3_bitbang: i2c_3_bitbang { + mux { + pins = "gpio10", "gpio11"; + function = "gpio"; + }; + + config { + pins = "gpio10", "gpio11"; + drive-strength = <2>; + bias-pull-up; + }; + }; }; i2c_4 { @@ -324,6 +360,18 @@ bias-pull-up; }; }; + i2c_4_bitbang: i2c_4_bitbang { + mux { + pins = "gpio14", "gpio15"; + function = "gpio"; + }; + + config { + pins = "gpio14", "gpio15"; + drive-strength = <2>; + bias-pull-up; + }; + }; }; i2c_5 { @@ -352,6 +400,18 @@ bias-pull-up; }; }; + i2c_5_bitbang: i2c_5_bitbang { + mux { + pins = "gpio18", "gpio19"; + function = "gpio"; + }; + + config { + pins = "gpio18", "gpio19"; + drive-strength = <2>; + bias-pull-up; + }; + }; }; i2c_6 { @@ -380,6 +440,18 @@ bias-pull-up; }; }; + i2c_6_bitbang: i2c_6_bitbang { + mux { + pins = "gpio22", "gpio23"; + function = "gpio"; + }; + + config { + pins = "gpio22", "gpio23"; + drive-strength = <2>; + bias-pull-up; + }; + }; }; nfc { @@ -472,6 +544,18 @@ bias-pull-up; }; }; + i2c_7_bitbang: i2c_7_bitbang { + mux { + pins = "gpio26", "gpio27"; + function = "gpio"; + }; + + config { + pins = "gpio26", "gpio27"; + drive-strength = <2>; + bias-pull-up; + }; + }; }; i2c_8 { @@ -500,6 +584,18 @@ bias-pull-up; }; }; + i2c_8_bitbang: i2c_8_bitbang { + mux { + pins = "gpio30", "gpio31"; + function = "gpio"; + }; + + config { + pins = "gpio30", "gpio31"; + drive-strength = <2>; + bias-pull-up; + }; + }; }; /* SPI CONFIGURATION */ diff --git a/arch/arm/boot/dts/qcom/vplatform-lfv-msm8996-blsp.dtsi b/arch/arm/boot/dts/qcom/vplatform-lfv-msm8996-blsp.dtsi index eb78cfd8b133..61b48802540a 100644 --- a/arch/arm/boot/dts/qcom/vplatform-lfv-msm8996-blsp.dtsi +++ b/arch/arm/boot/dts/qcom/vplatform-lfv-msm8996-blsp.dtsi @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, The Linux Foundation. All rights reserved. + * Copyright (c) 2017-2018, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and @@ -56,9 +56,12 @@ clock-names = "iface_clk", "core_clk"; clocks = <&clock_virt clk_gcc_blsp1_ahb_clk>, <&clock_virt clk_gcc_blsp1_qup6_i2c_apps_clk>; - pinctrl-names = "i2c_active", "i2c_sleep"; + qcom,i2c-dat = <&tlmm 27 0x00>; + qcom,i2c-clk = <&tlmm 28 0x00>; + pinctrl-names = "i2c_active", "i2c_sleep", "i2c_bitbang"; pinctrl-0 = <&i2c_6_active>; pinctrl-1 = <&i2c_6_sleep>; + pinctrl-2 = <&i2c_6_bitbang>; status = "disabled"; }; @@ -77,10 +80,12 @@ clock-names = "iface_clk", "core_clk"; clocks = <&clock_virt clk_gcc_blsp2_ahb_clk>, <&clock_virt clk_gcc_blsp2_qup2_i2c_apps_clk>; - pinctrl-names = "i2c_active", "i2c_sleep"; + qcom,i2c-dat = <&tlmm 6 0x00>; + qcom,i2c-clk = <&tlmm 7 0x00>; + pinctrl-names = "i2c_active", "i2c_sleep", "i2c_bitbang"; pinctrl-0 = <&i2c_8_active>; pinctrl-1 = <&i2c_8_sleep>; - status = "disabled"; + pinctrl-2 = <&i2c_8_bitbang>; }; blsp1_uart2: uart@07570000 { /* BLSP1 UART2 */ diff --git a/arch/arm/boot/dts/qcom/vplatform-lfv-msm8996-pinctrl.dtsi b/arch/arm/boot/dts/qcom/vplatform-lfv-msm8996-pinctrl.dtsi index 02162e64e35f..f1aa0ce19cfb 100644 --- a/arch/arm/boot/dts/qcom/vplatform-lfv-msm8996-pinctrl.dtsi +++ b/arch/arm/boot/dts/qcom/vplatform-lfv-msm8996-pinctrl.dtsi @@ -1,4 +1,4 @@ -/* Copyright (c) 2014-2017, The Linux Foundation. All rights reserved. +/* Copyright (c) 2014-2018, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and @@ -89,6 +89,19 @@ bias-pull-up; }; }; + + i2c_6_bitbang: i2c_6_bitbang { + mux { + pins = "gpio27", "gpio28"; + function = "gpio"; + }; + + config { + pins = "gpio27", "gpio28"; + drive-strength = <2>; + bias-pull-up; + }; + }; }; i2c_8 { @@ -117,6 +130,19 @@ bias-pull-up; }; }; + + i2c_8_bitbang: i2c_8_bitbang { + mux { + pins = "gpio6", "gpio7"; + function = "gpio"; + }; + + config { + pins = "gpio6", "gpio7"; + drive-strength = <4>; + bias-pull-up; + }; + }; }; spi_9 { |
