diff --git a/arch/arm/boot/dts/qcom/msm-smb138x.dtsi b/arch/arm/boot/dts/qcom/msm-smb138x.dtsi new file mode 100644 index 000000000000..b8c721e64ca7 --- /dev/null +++ b/arch/arm/boot/dts/qcom/msm-smb138x.dtsi @@ -0,0 +1,103 @@ +/* Copyright (c) 2016, 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 + * only version 2 as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#include + +&i2c_7 { + status = "okay"; + qcom,smb138x@8 { + compatible = "qcom,i2c-pmic"; + reg = <0x8>; + #address-cells = <2>; + #size-cells = <0>; + interrupt-parent = <&spmi_bus>; + interrupts = <0x0 0xd1 0x0 IRQ_TYPE_LEVEL_LOW>; + interrupt_names = "smb138x"; + interrupt-controller; + #interrupt-cells = <3>; + qcom,periph-map = <0x10 0x11 0x12 0x13 0x14 0x16 0x36>; + + smb138x_revid: qcom,revid@100 { + compatible = "qcom,qpnp-revid"; + reg = <0x100 0x100>; + }; + + smb138x_tadc: qcom,tadc@3600 { + compatible = "qcom,tadc"; + reg = <0x3600 0x100>; + #address-cells = <1>; + #size-cells = <0>; + #io-channel-cells = <1>; + interrupts = <0x36 0x0 IRQ_TYPE_EDGE_BOTH>; + interrupt-names = "eoc"; + + batt_temp@0 { + reg = <0>; + qcom,rbias = <68100>; + qcom,rtherm-at-25degc = <68000>; + qcom,beta-coefficient = <3450>; + }; + + skin_temp@1 { + reg = <1>; + qcom,rbias = <33000>; + qcom,rtherm-at-25degc = <68000>; + qcom,beta-coefficient = <3450>; + }; + + die_temp@2 { + reg = <2>; + qcom,scale = <(-1032)>; + qcom,offset = <344125>; + }; + + batt_i@3 { + reg = <3>; + qcom,channel = <3>; + qcom,scale = <(-20000000)>; + }; + + batt_v@4 { + reg = <4>; + qcom,scale = <5000000>; + }; + + input_i@5 { + reg = <5>; + qcom,scale = <14285714>; + }; + + input_v@6 { + reg = <6>; + qcom,scale = <25000000>; + }; + + otg_i@7 { + reg = <7>; + qcom,scale = <5714286>; + }; + }; + + smb138x_parallel_slave: qcom,smb138x-parallel-slave@1000 { + compatible = "qcom,smb138x-parallel-slave"; + qcom,pmic-revid = <&smb138x_revid>; + reg = <0x1000 0x700>; + + io-channels = <&smb138x_tadc 2>, + <&smb138x_tadc 12>, + <&smb138x_tadc 3>; + io-channel-names = "charger_temp", + "charger_temp_max", + "batt_i"; + }; + }; +}; diff --git a/arch/arm/boot/dts/qcom/msm8998-cdp.dtsi b/arch/arm/boot/dts/qcom/msm8998-cdp.dtsi index ec57ab601d46..605f1562a10a 100644 --- a/arch/arm/boot/dts/qcom/msm8998-cdp.dtsi +++ b/arch/arm/boot/dts/qcom/msm8998-cdp.dtsi @@ -207,68 +207,6 @@ }; }; -&i2c_7 { - status = "okay"; - qcom,smb138x@8 { - compatible = "qcom,i2c-pmic"; - reg = <0x8>; - #address-cells = <2>; - #size-cells = <0>; - interrupt-parent = <&spmi_bus>; - interrupts = <0x0 0xd1 0x0 IRQ_TYPE_LEVEL_LOW>; - interrupt_names = "smb138x"; - interrupt-controller; - #interrupt-cells = <3>; - qcom,periph-map = <0x10 0x11 0x12 0x13 0x14 0x16 0x36>; - - smb138x_tadc: qcom,tadc@3600 { - compatible = "qcom,tadc"; - reg = <0x3600 0x100>; - - interrupts = <0x36 0x0 IRQ_TYPE_EDGE_BOTH>; - interrupt-names = "eoc"; - - batt_therm { - qcom,rbias = <68100>; - qcom,rtherm-at-25degc = <68000>; - qcom,beta-coefficient = <3450>; - }; - - skin_temp { - qcom,rbias = <33000>; - qcom,rtherm-at-25degc = <68000>; - qcom,beta-coefficient = <3450>; - }; - - die_temp { - qcom,scale = <(-1032)>; - qcom,offset = <344125>; - }; - - batt_i { - qcom,channel = <3>; - qcom,scale = <20000000>; - }; - - batt_v { - qcom,scale = <5000000>; - }; - - input_i { - qcom,scale = <14285714>; - }; - - input_v { - qcom,scale = <25000000>; - }; - - otg_i { - qcom,scale = <5714286>; - }; - }; - }; -}; - &mdss_mdp { qcom,mdss-pref-prim-intf = "dsi"; }; diff --git a/arch/arm/boot/dts/qcom/msm8998-interposer-msmfalcon-cdp.dtsi b/arch/arm/boot/dts/qcom/msm8998-interposer-msmfalcon-cdp.dtsi index 76326e7ae86f..a2193de57dea 100644 --- a/arch/arm/boot/dts/qcom/msm8998-interposer-msmfalcon-cdp.dtsi +++ b/arch/arm/boot/dts/qcom/msm8998-interposer-msmfalcon-cdp.dtsi @@ -205,68 +205,6 @@ }; }; -&i2c_7 { - status = "okay"; - qcom,smb138x@8 { - compatible = "qcom,i2c-pmic"; - reg = <0x8>; - #address-cells = <2>; - #size-cells = <0>; - interrupt-parent = <&spmi_bus>; - interrupts = <0x0 0xd1 0x0 IRQ_TYPE_LEVEL_LOW>; - interrupt_names = "smb138x"; - interrupt-controller; - #interrupt-cells = <3>; - qcom,periph-map = <0x10 0x11 0x12 0x13 0x14 0x16 0x36>; - - smb138x_tadc: qcom,tadc@3600 { - compatible = "qcom,tadc"; - reg = <0x3600 0x100>; - - interrupts = <0x36 0x0 IRQ_TYPE_EDGE_BOTH>; - interrupt-names = "eoc"; - - batt_therm { - qcom,rbias = <68100>; - qcom,rtherm-at-25degc = <68000>; - qcom,beta-coefficient = <3450>; - }; - - skin_temp { - qcom,rbias = <33000>; - qcom,rtherm-at-25degc = <68000>; - qcom,beta-coefficient = <3450>; - }; - - die_temp { - qcom,scale = <(-1032)>; - qcom,offset = <344125>; - }; - - batt_i { - qcom,channel = <3>; - qcom,scale = <20000000>; - }; - - batt_v { - qcom,scale = <5000000>; - }; - - input_i { - qcom,scale = <14285714>; - }; - - input_v { - qcom,scale = <25000000>; - }; - - otg_i { - qcom,scale = <5714286>; - }; - }; - }; -}; - &mdss_mdp { qcom,mdss-pref-prim-intf = "dsi"; }; diff --git a/arch/arm/boot/dts/qcom/msm8998-interposer-msmfalcon-mtp.dtsi b/arch/arm/boot/dts/qcom/msm8998-interposer-msmfalcon-mtp.dtsi index 5c55732e0de7..9257c031d2f9 100644 --- a/arch/arm/boot/dts/qcom/msm8998-interposer-msmfalcon-mtp.dtsi +++ b/arch/arm/boot/dts/qcom/msm8998-interposer-msmfalcon-mtp.dtsi @@ -206,96 +206,6 @@ }; }; -&i2c_7 { - status = "okay"; - qcom,smb138x@8 { - compatible = "qcom,i2c-pmic"; - reg = <0x8>; - #address-cells = <2>; - #size-cells = <0>; - interrupt-parent = <&spmi_bus>; - interrupts = <0x0 0xd1 0x0 IRQ_TYPE_LEVEL_LOW>; - interrupt_names = "smb138x"; - interrupt-controller; - #interrupt-cells = <3>; - qcom,periph-map = <0x10 0x11 0x12 0x13 0x14 0x16 0x36>; - - smb138x_revid: qcom,revid@100 { - compatible = "qcom,qpnp-revid"; - reg = <0x100 0x100>; - }; - - smb138x_tadc: qcom,tadc@3600 { - compatible = "qcom,tadc"; - reg = <0x3600 0x100>; - #address-cells = <1>; - #size-cells = <0>; - #io-channel-cells = <1>; - interrupts = <0x36 0x0 IRQ_TYPE_EDGE_BOTH>; - interrupt-names = "eoc"; - - batt_temp@0 { - reg = <0>; - qcom,rbias = <68100>; - qcom,rtherm-at-25degc = <68000>; - qcom,beta-coefficient = <3450>; - }; - - skin_temp@1 { - reg = <1>; - qcom,rbias = <33000>; - qcom,rtherm-at-25degc = <68000>; - qcom,beta-coefficient = <3450>; - }; - - die_temp@2 { - reg = <2>; - qcom,scale = <(-1032)>; - qcom,offset = <344125>; - }; - - batt_i@3 { - reg = <3>; - qcom,channel = <3>; - qcom,scale = <20000000>; - }; - - batt_v@4 { - reg = <4>; - qcom,scale = <5000000>; - }; - - input_i@5 { - reg = <5>; - qcom,scale = <14285714>; - }; - - input_v@6 { - reg = <6>; - qcom,scale = <25000000>; - }; - - otg_i@7 { - reg = <7>; - qcom,scale = <5714286>; - }; - }; - - smb138x_parallel_slave: qcom,smb138x-parallel-slave@1000 { - compatible = "qcom,smb138x-parallel-slave"; - qcom,pmic-revid = <&smb138x_revid>; - reg = <0x1000 0x700>; - - io-channels = <&smb138x_tadc 2>, - <&smb138x_tadc 12>, - <&smb138x_tadc 3>; - io-channel-names = "charger_temp", - "charger_temp_max", - "batt_i"; - }; - }; -}; - &mdss_hdmi_tx { pinctrl-names = "hdmi_hpd_active", "hdmi_ddc_active", "hdmi_cec_active", "hdmi_active", "hdmi_sleep"; diff --git a/arch/arm/boot/dts/qcom/msm8998-interposer-msmfalcon.dtsi b/arch/arm/boot/dts/qcom/msm8998-interposer-msmfalcon.dtsi index 88f2fb39084e..e57573166b7b 100644 --- a/arch/arm/boot/dts/qcom/msm8998-interposer-msmfalcon.dtsi +++ b/arch/arm/boot/dts/qcom/msm8998-interposer-msmfalcon.dtsi @@ -3087,6 +3087,7 @@ #include "msm8998-blsp.dtsi" #include "msm-audio.dtsi" #include "msmfalcon-audio.dtsi" +#include "msm-smb138x.dtsi" /* GPU overrides */ &msm_gpu { diff --git a/arch/arm/boot/dts/qcom/msm8998-mtp.dtsi b/arch/arm/boot/dts/qcom/msm8998-mtp.dtsi index 45d6398daf25..9193fbe14a5a 100644 --- a/arch/arm/boot/dts/qcom/msm8998-mtp.dtsi +++ b/arch/arm/boot/dts/qcom/msm8998-mtp.dtsi @@ -218,96 +218,6 @@ }; }; -&i2c_7 { - status = "okay"; - qcom,smb138x@8 { - compatible = "qcom,i2c-pmic"; - reg = <0x8>; - #address-cells = <2>; - #size-cells = <0>; - interrupt-parent = <&spmi_bus>; - interrupts = <0x0 0xd1 0x0 IRQ_TYPE_LEVEL_LOW>; - interrupt_names = "smb138x"; - interrupt-controller; - #interrupt-cells = <3>; - qcom,periph-map = <0x10 0x11 0x12 0x13 0x14 0x16 0x36>; - - smb138x_revid: qcom,revid@100 { - compatible = "qcom,qpnp-revid"; - reg = <0x100 0x100>; - }; - - smb138x_tadc: qcom,tadc@3600 { - compatible = "qcom,tadc"; - reg = <0x3600 0x100>; - #address-cells = <1>; - #size-cells = <0>; - #io-channel-cells = <1>; - interrupts = <0x36 0x0 IRQ_TYPE_EDGE_BOTH>; - interrupt-names = "eoc"; - - batt_temp@0 { - reg = <0>; - qcom,rbias = <68100>; - qcom,rtherm-at-25degc = <68000>; - qcom,beta-coefficient = <3450>; - }; - - skin_temp@1 { - reg = <1>; - qcom,rbias = <33000>; - qcom,rtherm-at-25degc = <68000>; - qcom,beta-coefficient = <3450>; - }; - - die_temp@2 { - reg = <2>; - qcom,scale = <(-1032)>; - qcom,offset = <344125>; - }; - - batt_i@3 { - reg = <3>; - qcom,channel = <3>; - qcom,scale = <(-20000000)>; - }; - - batt_v@4 { - reg = <4>; - qcom,scale = <5000000>; - }; - - input_i@5 { - reg = <5>; - qcom,scale = <14285714>; - }; - - input_v@6 { - reg = <6>; - qcom,scale = <25000000>; - }; - - otg_i@7 { - reg = <7>; - qcom,scale = <5714286>; - }; - }; - - smb138x_parallel_slave: qcom,smb138x-parallel-slave@1000 { - compatible = "qcom,smb138x-parallel-slave"; - qcom,pmic-revid = <&smb138x_revid>; - reg = <0x1000 0x700>; - - io-channels = <&smb138x_tadc 2>, - <&smb138x_tadc 12>, - <&smb138x_tadc 3>; - io-channel-names = "charger_temp", - "charger_temp_max", - "batt_i"; - }; - }; -}; - &mdss_hdmi_tx { pinctrl-names = "hdmi_hpd_active", "hdmi_ddc_active", "hdmi_cec_active", "hdmi_active", "hdmi_sleep"; diff --git a/arch/arm/boot/dts/qcom/msm8998-qrd.dtsi b/arch/arm/boot/dts/qcom/msm8998-qrd.dtsi index 0a011b3656be..150194a0e86f 100644 --- a/arch/arm/boot/dts/qcom/msm8998-qrd.dtsi +++ b/arch/arm/boot/dts/qcom/msm8998-qrd.dtsi @@ -360,27 +360,6 @@ qcom,5v-boost-gpio = <&tlmm 51 0>; }; -&i2c_7 { - status = "okay"; - qcom,smb138x@8 { - compatible = "qcom,i2c-pmic"; - reg = <0x8>; - #address-cells = <2>; - #size-cells = <0>; - interrupt-parent = <&spmi_bus>; - interrupts = <0x0 0xd1 0x0 IRQ_TYPE_LEVEL_LOW>; - interrupt_names = "smb138x"; - interrupt-controller; - #interrupt-cells = <3>; - qcom,periph-map = <0x10 0x11 0x12 0x13 0x14 0x16 0x36>; - - smb138x_parallel_slave: qcom,smb138x-parallel-slave@1000 { - compatible = "qcom,smb138x-parallel-slave"; - reg = <0x1000 0x700>; - }; - }; -}; - &pmi8998_haptics { status = "okay"; }; @@ -607,4 +586,3 @@ /delete-property/ qcom,us-euro-gpios; }; }; - diff --git a/arch/arm/boot/dts/qcom/msm8998.dtsi b/arch/arm/boot/dts/qcom/msm8998.dtsi index ef488bbe0010..0b54647fedfb 100644 --- a/arch/arm/boot/dts/qcom/msm8998.dtsi +++ b/arch/arm/boot/dts/qcom/msm8998.dtsi @@ -3200,3 +3200,4 @@ #include "msm-rdbg.dtsi" #include "msm8998-blsp.dtsi" #include "msm8998-audio.dtsi" +#include "msm-smb138x.dtsi"