ARM: dts: qcom: apq8064: split PMICs to separate dtsi files
authorDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Thu, 28 Sep 2023 11:02:50 +0000 (14:02 +0300)
committerBjorn Andersson <andersson@kernel.org>
Tue, 14 Nov 2023 17:25:59 +0000 (11:25 -0600)
The PMICs are not a part of the SoC, so move PMICs to separate files and
include them from the board files.

Suggested-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20230928110309.1212221-18-dmitry.baryshkov@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm/boot/dts/qcom/pm8821.dtsi [new file with mode: 0644]
arch/arm/boot/dts/qcom/pm8921.dtsi
arch/arm/boot/dts/qcom/qcom-apq8064-asus-nexus7-flo.dts
arch/arm/boot/dts/qcom/qcom-apq8064-cm-qs600.dts
arch/arm/boot/dts/qcom/qcom-apq8064-ifc6410.dts
arch/arm/boot/dts/qcom/qcom-apq8064-sony-xperia-lagan-yuga.dts
arch/arm/boot/dts/qcom/qcom-apq8064.dtsi

diff --git a/arch/arm/boot/dts/qcom/pm8821.dtsi b/arch/arm/boot/dts/qcom/pm8821.dtsi
new file mode 100644 (file)
index 0000000..064e3ba
--- /dev/null
@@ -0,0 +1,22 @@
+// SPDX-License-Identifier: GPL-2.0
+
+/* This PMIC is used on a secondary SSBI bus */
+&ssbi2 {
+       pm8821: pmic {
+               compatible = "qcom,pm8821";
+               interrupt-controller;
+               #interrupt-cells = <2>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               pm8821_mpps: mpps@50 {
+                       compatible = "qcom,pm8821-mpp", "qcom,ssbi-mpp";
+                       reg = <0x50>;
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       gpio-ranges = <&pm8821_mpps 0 0 4>;
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+               };
+       };
+};
index 414941f7a42f937240ae4f39f894f45e48604dbb..ad41d99ab2655c4b1faaaf39b235bff47f0768b7 100644 (file)
@@ -8,6 +8,30 @@
                #address-cells = <1>;
                #size-cells = <0>;
 
+               pm8921_gpio: gpio@150 {
+
+                       compatible = "qcom,pm8921-gpio",
+                                    "qcom,ssbi-gpio";
+                       reg = <0x150>;
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+                       gpio-controller;
+                       gpio-ranges = <&pm8921_gpio 0 0 44>;
+                       #gpio-cells = <2>;
+
+               };
+
+               pm8921_mpps: mpps@50 {
+                       compatible = "qcom,pm8921-mpp",
+                                    "qcom,ssbi-mpp";
+                       reg = <0x50>;
+                       gpio-controller;
+                       #gpio-cells = <2>;
+                       gpio-ranges = <&pm8921_mpps 0 0 12>;
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+               };
+
                pwrkey@1c {
                        compatible = "qcom,pm8921-pwrkey";
                        reg = <0x1c>;
                        reg = <0x11d>;
                        allow-set-time;
                };
+
+               pm8921_xoadc: xoadc@197 {
+                       compatible = "qcom,pm8921-adc";
+                       reg = <0x197>;
+                       interrupts-extended = <&pm8921 78 IRQ_TYPE_EDGE_RISING>;
+                       #address-cells = <2>;
+                       #size-cells = <0>;
+                       #io-channel-cells = <2>;
+
+                       vcoin: adc-channel@0 {
+                               reg = <0x00 0x00>;
+                       };
+
+                       vbat: adc-channel@1 {
+                               reg = <0x00 0x01>;
+                       };
+
+                       dcin: adc-channel@2 {
+                               reg = <0x00 0x02>;
+                       };
+
+                       vph_pwr: adc-channel@4 {
+                               reg = <0x00 0x04>;
+                       };
+
+                       batt_therm: adc-channel@8 {
+                               reg = <0x00 0x08>;
+                       };
+
+                       batt_id: adc-channel@9 {
+                               reg = <0x00 0x09>;
+                       };
+
+                       usb_vbus: adc-channel@a {
+                               reg = <0x00 0x0a>;
+                       };
+
+                       die_temp: adc-channel@b {
+                               reg = <0x00 0x0b>;
+                       };
+
+                       ref_625mv: adc-channel@c {
+                               reg = <0x00 0x0c>;
+                       };
+
+                       ref_1250mv: adc-channel@d {
+                               reg = <0x00 0x0d>;
+                       };
+
+                       chg_temp: adc-channel@e {
+                               reg = <0x00 0x0e>;
+                       };
+
+                       ref_muxoff: adc-channel@f {
+                               reg = <0x00 0x0f>;
+                       };
+               };
+       };
+};
+
+/ {
+       /*
+        * These channels from the ADC are simply hardware monitors.
+        * That is why the ADC is referred to as "HKADC" - HouseKeeping
+        * ADC.
+        */
+       iio-hwmon {
+               compatible = "iio-hwmon";
+               io-channels = <&pm8921_xoadc 0x00 0x01>, /* Battery */
+                             <&pm8921_xoadc 0x00 0x02>, /* DC in (charger) */
+                             <&pm8921_xoadc 0x00 0x04>, /* VPH the main system voltage */
+                             <&pm8921_xoadc 0x00 0x0b>, /* Die temperature */
+                             <&pm8921_xoadc 0x00 0x0c>, /* Reference voltage 1.25V */
+                             <&pm8921_xoadc 0x00 0x0d>, /* Reference voltage 0.625V */
+                             <&pm8921_xoadc 0x00 0x0e>; /* Charger temperature */
        };
 };
index d6fb2bc7f32ffc1265b3ebc744a3756f5cc938b7..e8f893d869807547f560e6657e519324b5f4b416 100644 (file)
@@ -1,8 +1,12 @@
 // SPDX-License-Identifier: GPL-2.0
-#include "qcom-apq8064-v2.0.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
+
+#include "qcom-apq8064-v2.0.dtsi"
+#include "pm8821.dtsi"
+#include "pm8921.dtsi"
+
 / {
        model = "Asus Nexus7(flo)";
        compatible = "asus,nexus7-flo", "qcom,apq8064";
index c01254b1a3a787ad3c670d67cdcc483eb9d2c314..d4db84e9fcf35131dcd20faa918a8bafeedc25e3 100644 (file)
@@ -1,8 +1,11 @@
 // SPDX-License-Identifier: GPL-2.0
-#include "qcom-apq8064-v2.0.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
 
+#include "qcom-apq8064-v2.0.dtsi"
+#include "pm8821.dtsi"
+#include "pm8921.dtsi"
+
 / {
        model = "CompuLab CM-QS600";
        compatible = "qcom,apq8064-cm-qs600", "qcom,apq8064";
index 4cd14b121b653ffb5ba26f462eebbe9f70a83a85..6aea97a0d54df58d5c68480d4f53b1e31b590001 100644 (file)
@@ -1,9 +1,12 @@
 // SPDX-License-Identifier: GPL-2.0
-#include "qcom-apq8064-v2.0.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/leds/common.h>
 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
 
+#include "qcom-apq8064-v2.0.dtsi"
+#include "pm8821.dtsi"
+#include "pm8921.dtsi"
+
 / {
        model = "Qualcomm APQ8064/IFC6410";
        compatible = "qcom,apq8064-ifc6410", "qcom,apq8064";
index 7917f16570254aac6ba1807d890f1d40c477524e..ba18a02b1c573e60c6c94f682a7e1d5779a0104e 100644 (file)
@@ -1,10 +1,13 @@
 // SPDX-License-Identifier: GPL-2.0
-#include "qcom-apq8064-v2.0.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
 #include <dt-bindings/mfd/qcom-rpm.h>
 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
 
+#include "qcom-apq8064-v2.0.dtsi"
+#include "pm8821.dtsi"
+#include "pm8921.dtsi"
+
 / {
        model = "Sony Xperia Z";
        compatible = "sony,xperia-yuga", "qcom,apq8064";
index 3bf9b6e61f524660311be7b960d23bf82205c522..f7c6db3a0fdd42ed8e86503e119f26a733d61a4b 100644 (file)
                };
        };
 
-
-       /*
-        * These channels from the ADC are simply hardware monitors.
-        * That is why the ADC is referred to as "HKADC" - HouseKeeping
-        * ADC.
-        */
-       iio-hwmon {
-               compatible = "iio-hwmon";
-               io-channels = <&pm8921_xoadc 0x00 0x01>, /* Battery */
-                             <&pm8921_xoadc 0x00 0x02>, /* DC in (charger) */
-                             <&pm8921_xoadc 0x00 0x04>, /* VPH the main system voltage */
-                             <&pm8921_xoadc 0x00 0x0b>, /* Die temperature */
-                             <&pm8921_xoadc 0x00 0x0c>, /* Reference voltage 1.25V */
-                             <&pm8921_xoadc 0x00 0x0d>, /* Reference voltage 0.625V */
-                             <&pm8921_xoadc 0x00 0x0e>; /* Charger temperature */
-       };
-
        soc: soc {
                #address-cells = <1>;
                #size-cells = <1>;
                        clock-names = "core";
                };
 
-               ssbi@c00000 {
+               ssbi2: ssbi@c00000 {
                        compatible = "qcom,ssbi";
                        reg = <0x00c00000 0x1000>;
                        qcom,controller-type = "pmic-arbiter";
-
-                       pm8821: pmic {
-                               compatible = "qcom,pm8821";
-                               #interrupt-cells = <2>;
-                               interrupt-controller;
-                               #address-cells = <1>;
-                               #size-cells = <0>;
-
-                               pm8821_mpps: mpps@50 {
-                                       compatible = "qcom,pm8821-mpp", "qcom,ssbi-mpp";
-                                       reg = <0x50>;
-                                       interrupt-controller;
-                                       #interrupt-cells = <2>;
-                                       gpio-controller;
-                                       #gpio-cells = <2>;
-                                       gpio-ranges = <&pm8821_mpps 0 0 4>;
-                               };
-                       };
                };
 
-               ssbi@500000 {
+               ssbi: ssbi@500000 {
                        compatible = "qcom,ssbi";
                        reg = <0x00500000 0x1000>;
                        qcom,controller-type = "pmic-arbiter";
-
-                       pm8921: pmic {
-                               compatible = "qcom,pm8921";
-                               #interrupt-cells = <2>;
-                               interrupt-controller;
-                               #address-cells = <1>;
-                               #size-cells = <0>;
-
-                               pm8921_gpio: gpio@150 {
-
-                                       compatible = "qcom,pm8921-gpio",
-                                                    "qcom,ssbi-gpio";
-                                       reg = <0x150>;
-                                       interrupt-controller;
-                                       #interrupt-cells = <2>;
-                                       gpio-controller;
-                                       gpio-ranges = <&pm8921_gpio 0 0 44>;
-                                       #gpio-cells = <2>;
-
-                               };
-
-                               pm8921_mpps: mpps@50 {
-                                       compatible = "qcom,pm8921-mpp",
-                                                    "qcom,ssbi-mpp";
-                                       reg = <0x50>;
-                                       gpio-controller;
-                                       #gpio-cells = <2>;
-                                       gpio-ranges = <&pm8921_mpps 0 0 12>;
-                                       interrupt-controller;
-                                       #interrupt-cells = <2>;
-                               };
-
-                               rtc@11d {
-                                       compatible = "qcom,pm8921-rtc";
-                                       interrupt-parent = <&pm8921>;
-                                       interrupts = <39 1>;
-                                       reg = <0x11d>;
-                                       allow-set-time;
-                               };
-
-                               pwrkey@1c {
-                                       compatible = "qcom,pm8921-pwrkey";
-                                       reg = <0x1c>;
-                                       interrupt-parent = <&pm8921>;
-                                       interrupts = <50 1>, <51 1>;
-                                       debounce = <15625>;
-                                       pull-up;
-                               };
-
-                               pm8921_xoadc: xoadc@197 {
-                                       compatible = "qcom,pm8921-adc";
-                                       reg = <0x197>;
-                                       interrupts-extended = <&pm8921 78 IRQ_TYPE_EDGE_RISING>;
-                                       #address-cells = <2>;
-                                       #size-cells = <0>;
-                                       #io-channel-cells = <2>;
-
-                                       vcoin: adc-channel@0 {
-                                               reg = <0x00 0x00>;
-                                       };
-                                       vbat: adc-channel@1 {
-                                               reg = <0x00 0x01>;
-                                       };
-                                       dcin: adc-channel@2 {
-                                               reg = <0x00 0x02>;
-                                       };
-                                       vph_pwr: adc-channel@4 {
-                                               reg = <0x00 0x04>;
-                                       };
-                                       batt_therm: adc-channel@8 {
-                                               reg = <0x00 0x08>;
-                                       };
-                                       batt_id: adc-channel@9 {
-                                               reg = <0x00 0x09>;
-                                       };
-                                       usb_vbus: adc-channel@a {
-                                               reg = <0x00 0x0a>;
-                                       };
-                                       die_temp: adc-channel@b {
-                                               reg = <0x00 0x0b>;
-                                       };
-                                       ref_625mv: adc-channel@c {
-                                               reg = <0x00 0x0c>;
-                                       };
-                                       ref_1250mv: adc-channel@d {
-                                               reg = <0x00 0x0d>;
-                                       };
-                                       chg_temp: adc-channel@e {
-                                               reg = <0x00 0x0e>;
-                                       };
-                                       ref_muxoff: adc-channel@f {
-                                               reg = <0x00 0x0f>;
-                                       };
-                               };
-                       };
                };
 
                qfprom: qfprom@700000 {