Message ID | 20230531-rpm-rproc-v2-11-56a4a00c8260@gerhold.net (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Add dedicated device tree node for RPM processor/subsystem | expand |
On 8.06.2023 09:10, Stephan Gerhold wrote: > Rather than having the RPM SMD channels as the only child of a dummy > SMD node, switch to representing the RPM as remoteproc like all the > other remoteprocs (WCNSS, modem DSP). > > This allows assigning additional subdevices to it like the MPM > interrupt-controller or rpm-master-stats. > > Signed-off-by: Stephan Gerhold <stephan@gerhold.net> > --- Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org> Konrad > arch/arm/boot/dts/qcom-apq8084.dtsi | 6 ++--- > arch/arm/boot/dts/qcom-msm8226.dtsi | 38 ++++++++++++++++---------------- > arch/arm/boot/dts/qcom-msm8974.dtsi | 44 ++++++++++++++++++------------------- > 3 files changed, 44 insertions(+), 44 deletions(-) > > diff --git a/arch/arm/boot/dts/qcom-apq8084.dtsi b/arch/arm/boot/dts/qcom-apq8084.dtsi > index 8f178bc87e1d..2b1f9d0fb510 100644 > --- a/arch/arm/boot/dts/qcom-apq8084.dtsi > +++ b/arch/arm/boot/dts/qcom-apq8084.dtsi > @@ -784,10 +784,10 @@ spmi_bus: spmi@fc4cf000 { > }; > }; > > - smd { > - compatible = "qcom,smd"; > + rpm: remoteproc { > + compatible = "qcom,apq8084-rpm-proc", "qcom,rpm-proc"; > > - rpm { > + smd-edge { > interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>; > qcom,ipc = <&apcs 8 0>; > qcom,smd-edge = <15>; > diff --git a/arch/arm/boot/dts/qcom-msm8226.dtsi b/arch/arm/boot/dts/qcom-msm8226.dtsi > index a3a9162e9c28..a3e8d023d0e6 100644 > --- a/arch/arm/boot/dts/qcom-msm8226.dtsi > +++ b/arch/arm/boot/dts/qcom-msm8226.dtsi > @@ -53,26 +53,10 @@ pmu { > IRQ_TYPE_LEVEL_HIGH)>; > }; > > - reserved-memory { > - #address-cells = <1>; > - #size-cells = <1>; > - ranges; > - > - smem_region: smem@3000000 { > - reg = <0x3000000 0x100000>; > - no-map; > - }; > - > - adsp_region: adsp@dc00000 { > - reg = <0x0dc00000 0x1900000>; > - no-map; > - }; > - }; > - > - smd { > - compatible = "qcom,smd"; > + rpm: remoteproc { > + compatible = "qcom,msm8226-rpm-proc", "qcom,rpm-proc"; > > - rpm { > + smd-edge { > interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>; > qcom,ipc = <&apcs 8 0>; > qcom,smd-edge = <15>; > @@ -120,6 +104,22 @@ rpmpd_opp_super_turbo: opp6 { > }; > }; > > + reserved-memory { > + #address-cells = <1>; > + #size-cells = <1>; > + ranges; > + > + smem_region: smem@3000000 { > + reg = <0x3000000 0x100000>; > + no-map; > + }; > + > + adsp_region: adsp@dc00000 { > + reg = <0x0dc00000 0x1900000>; > + no-map; > + }; > + }; > + > smem { > compatible = "qcom,smem"; > > diff --git a/arch/arm/boot/dts/qcom-msm8974.dtsi b/arch/arm/boot/dts/qcom-msm8974.dtsi > index 58e144957c5d..0a5b5ecb5dfa 100644 > --- a/arch/arm/boot/dts/qcom-msm8974.dtsi > +++ b/arch/arm/boot/dts/qcom-msm8974.dtsi > @@ -113,6 +113,28 @@ pmu { > interrupts = <GIC_PPI 7 0xf04>; > }; > > + rpm: remoteproc { > + compatible = "qcom,msm8974-rpm-proc", "qcom,rpm-proc"; > + > + smd-edge { > + interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>; > + qcom,ipc = <&apcs 8 0>; > + qcom,smd-edge = <15>; > + > + rpm_requests: rpm-requests { > + compatible = "qcom,rpm-msm8974"; > + qcom,smd-channels = "rpm_requests"; > + > + rpmcc: clock-controller { > + compatible = "qcom,rpmcc-msm8974", "qcom,rpmcc"; > + #clock-cells = <1>; > + clocks = <&xo_board>; > + clock-names = "xo"; > + }; > + }; > + }; > + }; > + > reserved-memory { > #address-cells = <1>; > #size-cells = <1>; > @@ -293,28 +315,6 @@ wcnss_smsm: wcnss@7 { > }; > }; > > - smd { > - compatible = "qcom,smd"; > - > - rpm { > - interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>; > - qcom,ipc = <&apcs 8 0>; > - qcom,smd-edge = <15>; > - > - rpm_requests: rpm-requests { > - compatible = "qcom,rpm-msm8974"; > - qcom,smd-channels = "rpm_requests"; > - > - rpmcc: clock-controller { > - compatible = "qcom,rpmcc-msm8974", "qcom,rpmcc"; > - #clock-cells = <1>; > - clocks = <&xo_board>; > - clock-names = "xo"; > - }; > - }; > - }; > - }; > - > soc: soc { > #address-cells = <1>; > #size-cells = <1>; >
diff --git a/arch/arm/boot/dts/qcom-apq8084.dtsi b/arch/arm/boot/dts/qcom-apq8084.dtsi index 8f178bc87e1d..2b1f9d0fb510 100644 --- a/arch/arm/boot/dts/qcom-apq8084.dtsi +++ b/arch/arm/boot/dts/qcom-apq8084.dtsi @@ -784,10 +784,10 @@ spmi_bus: spmi@fc4cf000 { }; }; - smd { - compatible = "qcom,smd"; + rpm: remoteproc { + compatible = "qcom,apq8084-rpm-proc", "qcom,rpm-proc"; - rpm { + smd-edge { interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>; qcom,ipc = <&apcs 8 0>; qcom,smd-edge = <15>; diff --git a/arch/arm/boot/dts/qcom-msm8226.dtsi b/arch/arm/boot/dts/qcom-msm8226.dtsi index a3a9162e9c28..a3e8d023d0e6 100644 --- a/arch/arm/boot/dts/qcom-msm8226.dtsi +++ b/arch/arm/boot/dts/qcom-msm8226.dtsi @@ -53,26 +53,10 @@ pmu { IRQ_TYPE_LEVEL_HIGH)>; }; - reserved-memory { - #address-cells = <1>; - #size-cells = <1>; - ranges; - - smem_region: smem@3000000 { - reg = <0x3000000 0x100000>; - no-map; - }; - - adsp_region: adsp@dc00000 { - reg = <0x0dc00000 0x1900000>; - no-map; - }; - }; - - smd { - compatible = "qcom,smd"; + rpm: remoteproc { + compatible = "qcom,msm8226-rpm-proc", "qcom,rpm-proc"; - rpm { + smd-edge { interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>; qcom,ipc = <&apcs 8 0>; qcom,smd-edge = <15>; @@ -120,6 +104,22 @@ rpmpd_opp_super_turbo: opp6 { }; }; + reserved-memory { + #address-cells = <1>; + #size-cells = <1>; + ranges; + + smem_region: smem@3000000 { + reg = <0x3000000 0x100000>; + no-map; + }; + + adsp_region: adsp@dc00000 { + reg = <0x0dc00000 0x1900000>; + no-map; + }; + }; + smem { compatible = "qcom,smem"; diff --git a/arch/arm/boot/dts/qcom-msm8974.dtsi b/arch/arm/boot/dts/qcom-msm8974.dtsi index 58e144957c5d..0a5b5ecb5dfa 100644 --- a/arch/arm/boot/dts/qcom-msm8974.dtsi +++ b/arch/arm/boot/dts/qcom-msm8974.dtsi @@ -113,6 +113,28 @@ pmu { interrupts = <GIC_PPI 7 0xf04>; }; + rpm: remoteproc { + compatible = "qcom,msm8974-rpm-proc", "qcom,rpm-proc"; + + smd-edge { + interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>; + qcom,ipc = <&apcs 8 0>; + qcom,smd-edge = <15>; + + rpm_requests: rpm-requests { + compatible = "qcom,rpm-msm8974"; + qcom,smd-channels = "rpm_requests"; + + rpmcc: clock-controller { + compatible = "qcom,rpmcc-msm8974", "qcom,rpmcc"; + #clock-cells = <1>; + clocks = <&xo_board>; + clock-names = "xo"; + }; + }; + }; + }; + reserved-memory { #address-cells = <1>; #size-cells = <1>; @@ -293,28 +315,6 @@ wcnss_smsm: wcnss@7 { }; }; - smd { - compatible = "qcom,smd"; - - rpm { - interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>; - qcom,ipc = <&apcs 8 0>; - qcom,smd-edge = <15>; - - rpm_requests: rpm-requests { - compatible = "qcom,rpm-msm8974"; - qcom,smd-channels = "rpm_requests"; - - rpmcc: clock-controller { - compatible = "qcom,rpmcc-msm8974", "qcom,rpmcc"; - #clock-cells = <1>; - clocks = <&xo_board>; - clock-names = "xo"; - }; - }; - }; - }; - soc: soc { #address-cells = <1>; #size-cells = <1>;
Rather than having the RPM SMD channels as the only child of a dummy SMD node, switch to representing the RPM as remoteproc like all the other remoteprocs (WCNSS, modem DSP). This allows assigning additional subdevices to it like the MPM interrupt-controller or rpm-master-stats. Signed-off-by: Stephan Gerhold <stephan@gerhold.net> --- arch/arm/boot/dts/qcom-apq8084.dtsi | 6 ++--- arch/arm/boot/dts/qcom-msm8226.dtsi | 38 ++++++++++++++++---------------- arch/arm/boot/dts/qcom-msm8974.dtsi | 44 ++++++++++++++++++------------------- 3 files changed, 44 insertions(+), 44 deletions(-)