On 2.07.2023 15:43, Dmitry Baryshkov wrote: > The PMIC is not a part of the SoC, so move PMIC to a separate file and > include it from the board files. > > Suggested-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxx> > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> > --- > arch/arm/boot/dts/qcom/pm8921.dtsi | 40 +++++++++++++++++++ > arch/arm/boot/dts/qcom/qcom-msm8960-cdp.dts | 1 + > .../qcom/qcom-msm8960-samsung-expressatt.dts | 3 +- > arch/arm/boot/dts/qcom/qcom-msm8960.dtsi | 38 +----------------- > 4 files changed, 45 insertions(+), 37 deletions(-) > create mode 100644 arch/arm/boot/dts/qcom/pm8921.dtsi > > diff --git a/arch/arm/boot/dts/qcom/pm8921.dtsi b/arch/arm/boot/dts/qcom/pm8921.dtsi > new file mode 100644 > index 000000000000..414941f7a42f > --- /dev/null > +++ b/arch/arm/boot/dts/qcom/pm8921.dtsi > @@ -0,0 +1,40 @@ > +// SPDX-License-Identifier: GPL-2.0 > + > +&ssbi { > + pm8921: pmic { > + compatible = "qcom,pm8921"; > + #interrupt-cells = <2>; > + interrupt-controller; > + #address-cells = <1>; > + #size-cells = <0>; > + > + pwrkey@1c { > + compatible = "qcom,pm8921-pwrkey"; > + reg = <0x1c>; > + interrupt-parent = <&pm8921>; > + interrupts = <50 IRQ_TYPE_EDGE_RISING>, > + <51 IRQ_TYPE_EDGE_RISING>; > + debounce = <15625>; > + pull-up; > + }; > + > + pm8921_keypad: keypad@148 { > + compatible = "qcom,pm8921-keypad"; > + reg = <0x148>; > + interrupt-parent = <&pm8921>; > + interrupts = <74 IRQ_TYPE_EDGE_RISING>, > + <75 IRQ_TYPE_EDGE_RISING>; > + debounce = <15>; > + scan-delay = <32>; > + row-hold = <91500>; > + }; > + > + rtc@11d { > + compatible = "qcom,pm8921-rtc"; > + interrupt-parent = <&pm8921>; > + interrupts = <39 IRQ_TYPE_EDGE_RISING>; > + reg = <0x11d>; > + allow-set-time; > + }; > + }; > +}; > diff --git a/arch/arm/boot/dts/qcom/qcom-msm8960-cdp.dts b/arch/arm/boot/dts/qcom/qcom-msm8960-cdp.dts > index 4641b4f2195d..414881d34c60 100644 > --- a/arch/arm/boot/dts/qcom/qcom-msm8960-cdp.dts > +++ b/arch/arm/boot/dts/qcom/qcom-msm8960-cdp.dts > @@ -2,6 +2,7 @@ > #include <dt-bindings/input/input.h> > > #include "qcom-msm8960.dtsi" > +#include "pm8921.dtsi" > > / { > model = "Qualcomm MSM8960 CDP"; > diff --git a/arch/arm/boot/dts/qcom/qcom-msm8960-samsung-expressatt.dts b/arch/arm/boot/dts/qcom/qcom-msm8960-samsung-expressatt.dts > index 13e85c287498..2e7d98e132be 100644 > --- a/arch/arm/boot/dts/qcom/qcom-msm8960-samsung-expressatt.dts > +++ b/arch/arm/boot/dts/qcom/qcom-msm8960-samsung-expressatt.dts > @@ -1,8 +1,9 @@ > // SPDX-License-Identifier: GPL-2.0 > #include <dt-bindings/input/input.h> > +#include <dt-bindings/reset/qcom,gcc-msm8960.h> > > #include "qcom-msm8960.dtsi" > -#include <dt-bindings/reset/qcom,gcc-msm8960.h> > +#include "pm8921.dtsi" > > / { > model = "Samsung Galaxy Express SGH-I437"; > diff --git a/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi b/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi > index 6b8d90d02146..8157236f249d 100644 > --- a/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi > +++ b/arch/arm/boot/dts/qcom/qcom-msm8960.dtsi > @@ -259,48 +259,14 @@ gsbi5_serial: serial@16440000 { > }; > }; > > - ssbi@500000 { > + ssbi: ssbi@500000 { > compatible = "qcom,ssbi"; > reg = <0x500000 0x1000>; > qcom,controller-type = "pmic-arbiter"; > > - pm8921: pmic { > - compatible = "qcom,pm8921"; > + pmic { > interrupt-parent = <&msmgpio>; > interrupts = <104 IRQ_TYPE_LEVEL_LOW>; Hm.. did you leave a stray node here? Konrad > - #interrupt-cells = <2>; > - interrupt-controller; > - #address-cells = <1>; > - #size-cells = <0>; > - > - pwrkey@1c { > - compatible = "qcom,pm8921-pwrkey"; > - reg = <0x1c>; > - interrupt-parent = <&pm8921>; > - interrupts = <50 IRQ_TYPE_EDGE_RISING>, > - <51 IRQ_TYPE_EDGE_RISING>; > - debounce = <15625>; > - pull-up; > - }; > - > - pm8921_keypad: keypad@148 { > - compatible = "qcom,pm8921-keypad"; > - reg = <0x148>; > - interrupt-parent = <&pm8921>; > - interrupts = <74 IRQ_TYPE_EDGE_RISING>, > - <75 IRQ_TYPE_EDGE_RISING>; > - debounce = <15>; > - scan-delay = <32>; > - row-hold = <91500>; > - }; > - > - rtc@11d { > - compatible = "qcom,pm8921-rtc"; > - interrupt-parent = <&pm8921>; > - interrupts = <39 IRQ_TYPE_EDGE_RISING>; > - reg = <0x11d>; > - allow-set-time; > - }; > }; > }; >