arm64: dts: qcom: Add rpm-proc node for GLINK gplatforms
authorStephan Gerhold <stephan@gerhold.net>
Thu, 15 Jun 2023 16:50:44 +0000 (18:50 +0200)
committerBjorn Andersson <andersson@kernel.org>
Fri, 14 Jul 2023 05:23:36 +0000 (22:23 -0700)
Rather than having the RPM GLINK channels as the only child of a dummy
top-level rpm-glink node, switch to representing the RPM as remoteproc
like all the other remoteprocs (modem DSP, ...).

This allows assigning additional subdevices to it like the MPM
interrupt-controller or rpm-master-stats.

Tested-by: Konrad Dybcio <konrad.dybcio@linaro.org> # SM6375
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Link: https://lore.kernel.org/r/20230531-rpm-rproc-v3-11-a07dcdefd918@gerhold.net
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm64/boot/dts/qcom/ipq6018.dtsi
arch/arm64/boot/dts/qcom/ipq9574.dtsi
arch/arm64/boot/dts/qcom/msm8996.dtsi
arch/arm64/boot/dts/qcom/msm8998.dtsi
arch/arm64/boot/dts/qcom/qcm2290.dtsi
arch/arm64/boot/dts/qcom/qcs404.dtsi
arch/arm64/boot/dts/qcom/sdm630.dtsi
arch/arm64/boot/dts/qcom/sm6115.dtsi
arch/arm64/boot/dts/qcom/sm6125.dtsi
arch/arm64/boot/dts/qcom/sm6375.dtsi

index 7355f26..47b8b1d 100644 (file)
                method = "smc";
        };
 
+       rpm: remoteproc {
+               compatible = "qcom,ipq6018-rpm-proc", "qcom,rpm-proc";
+
+               glink-edge {
+                       compatible = "qcom,glink-rpm";
+                       interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
+                       qcom,rpm-msg-ram = <&rpm_msg_ram>;
+                       mboxes = <&apcs_glb 0>;
+
+                       rpm_requests: rpm-requests {
+                               compatible = "qcom,rpm-ipq6018";
+                               qcom,glink-channels = "rpm_requests";
+
+                               regulators {
+                                       compatible = "qcom,rpm-mp5496-regulators";
+
+                                       ipq6018_s2: s2 {
+                                               regulator-min-microvolt = <725000>;
+                                               regulator-max-microvolt = <1062500>;
+                                               regulator-always-on;
+                                       };
+                               };
+                       };
+               };
+       };
+
        reserved-memory {
                #address-cells = <2>;
                #size-cells = <2>;
                };
        };
 
-       rpm-glink {
-               compatible = "qcom,glink-rpm";
-               interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
-               qcom,rpm-msg-ram = <&rpm_msg_ram>;
-               mboxes = <&apcs_glb 0>;
-
-               rpm_requests: rpm-requests {
-                       compatible = "qcom,rpm-ipq6018";
-                       qcom,glink-channels = "rpm_requests";
-
-                       regulators {
-                               compatible = "qcom,rpm-mp5496-regulators";
-
-                               ipq6018_s2: s2 {
-                                       regulator-min-microvolt = <725000>;
-                                       regulator-max-microvolt = <1062500>;
-                                       regulator-always-on;
-                               };
-                       };
-               };
-       };
-
        smem {
                compatible = "qcom,smem";
                memory-region = <&smem_region>;
index 2ba9454..a212250 100644 (file)
                method = "smc";
        };
 
+       rpm: remoteproc {
+               compatible = "qcom,ipq9574-rpm-proc", "qcom,rpm-proc";
+
+               glink-edge {
+                       compatible = "qcom,glink-rpm";
+                       interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
+                       qcom,rpm-msg-ram = <&rpm_msg_ram>;
+                       mboxes = <&apcs_glb 0>;
+
+                       rpm_requests: rpm-requests {
+                               compatible = "qcom,rpm-ipq9574";
+                               qcom,glink-channels = "rpm_requests";
+                       };
+               };
+       };
+
        reserved-memory {
                #address-cells = <2>;
                #size-cells = <2>;
                };
        };
 
-       rpm-glink {
-               compatible = "qcom,glink-rpm";
-               interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
-               qcom,rpm-msg-ram = <&rpm_msg_ram>;
-               mboxes = <&apcs_glb 0>;
-
-               rpm_requests: rpm-requests {
-                       compatible = "qcom,rpm-ipq9574";
-                       qcom,glink-channels = "rpm_requests";
-               };
-       };
-
        soc: soc@0 {
                compatible = "simple-bus";
                #address-cells = <1>;
index b5866b1..440557c 100644 (file)
                method = "smc";
        };
 
+       rpm: remoteproc {
+               compatible = "qcom,msm8996-rpm-proc", "qcom,rpm-proc";
+
+               glink-edge {
+                       compatible = "qcom,glink-rpm";
+                       interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
+                       qcom,rpm-msg-ram = <&rpm_msg_ram>;
+                       mboxes = <&apcs_glb 0>;
+
+                       rpm_requests: rpm-requests {
+                               compatible = "qcom,rpm-msm8996";
+                               qcom,glink-channels = "rpm_requests";
+
+                               rpmcc: clock-controller {
+                                       compatible = "qcom,rpmcc-msm8996", "qcom,rpmcc";
+                                       #clock-cells = <1>;
+                                       clocks = <&xo_board>;
+                                       clock-names = "xo";
+                               };
+
+                               rpmpd: power-controller {
+                                       compatible = "qcom,msm8996-rpmpd";
+                                       #power-domain-cells = <1>;
+                                       operating-points-v2 = <&rpmpd_opp_table>;
+
+                                       rpmpd_opp_table: opp-table {
+                                               compatible = "operating-points-v2";
+
+                                               rpmpd_opp1: opp1 {
+                                                       opp-level = <1>;
+                                               };
+
+                                               rpmpd_opp2: opp2 {
+                                                       opp-level = <2>;
+                                               };
+
+                                               rpmpd_opp3: opp3 {
+                                                       opp-level = <3>;
+                                               };
+
+                                               rpmpd_opp4: opp4 {
+                                                       opp-level = <4>;
+                                               };
+
+                                               rpmpd_opp5: opp5 {
+                                                       opp-level = <5>;
+                                               };
+
+                                               rpmpd_opp6: opp6 {
+                                                       opp-level = <6>;
+                                               };
+                                       };
+                               };
+                       };
+               };
+       };
+
        reserved-memory {
                #address-cells = <2>;
                #size-cells = <2>;
                };
        };
 
-       rpm-glink {
-               compatible = "qcom,glink-rpm";
-
-               interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
-
-               qcom,rpm-msg-ram = <&rpm_msg_ram>;
-
-               mboxes = <&apcs_glb 0>;
-
-               rpm_requests: rpm-requests {
-                       compatible = "qcom,rpm-msm8996";
-                       qcom,glink-channels = "rpm_requests";
-
-                       rpmcc: clock-controller {
-                               compatible = "qcom,rpmcc-msm8996", "qcom,rpmcc";
-                               #clock-cells = <1>;
-                               clocks = <&xo_board>;
-                               clock-names = "xo";
-                       };
-
-                       rpmpd: power-controller {
-                               compatible = "qcom,msm8996-rpmpd";
-                               #power-domain-cells = <1>;
-                               operating-points-v2 = <&rpmpd_opp_table>;
-
-                               rpmpd_opp_table: opp-table {
-                                       compatible = "operating-points-v2";
-
-                                       rpmpd_opp1: opp1 {
-                                               opp-level = <1>;
-                                       };
-
-                                       rpmpd_opp2: opp2 {
-                                               opp-level = <2>;
-                                       };
-
-                                       rpmpd_opp3: opp3 {
-                                               opp-level = <3>;
-                                       };
-
-                                       rpmpd_opp4: opp4 {
-                                               opp-level = <4>;
-                                       };
-
-                                       rpmpd_opp5: opp5 {
-                                               opp-level = <5>;
-                                       };
-
-                                       rpmpd_opp6: opp6 {
-                                               opp-level = <6>;
-                                       };
-                               };
-                       };
-               };
-       };
-
        smem {
                compatible = "qcom,smem";
                memory-region = <&smem_mem>;
index 78867cb..360fe3e 100644 (file)
                method = "smc";
        };
 
-       rpm-glink {
-               compatible = "qcom,glink-rpm";
+       rpm: remoteproc {
+               compatible = "qcom,msm8998-rpm-proc", "qcom,rpm-proc";
 
-               interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
-               qcom,rpm-msg-ram = <&rpm_msg_ram>;
-               mboxes = <&apcs_glb 0>;
+               glink-edge {
+                       compatible = "qcom,glink-rpm";
 
-               rpm_requests: rpm-requests {
-                       compatible = "qcom,rpm-msm8998";
-                       qcom,glink-channels = "rpm_requests";
+                       interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
+                       qcom,rpm-msg-ram = <&rpm_msg_ram>;
+                       mboxes = <&apcs_glb 0>;
 
-                       rpmcc: clock-controller {
-                               compatible = "qcom,rpmcc-msm8998", "qcom,rpmcc";
-                               clocks = <&xo>;
-                               clock-names = "xo";
-                               #clock-cells = <1>;
-                       };
+                       rpm_requests: rpm-requests {
+                               compatible = "qcom,rpm-msm8998";
+                               qcom,glink-channels = "rpm_requests";
 
-                       rpmpd: power-controller {
-                               compatible = "qcom,msm8998-rpmpd";
-                               #power-domain-cells = <1>;
-                               operating-points-v2 = <&rpmpd_opp_table>;
+                               rpmcc: clock-controller {
+                                       compatible = "qcom,rpmcc-msm8998", "qcom,rpmcc";
+                                       clocks = <&xo>;
+                                       clock-names = "xo";
+                                       #clock-cells = <1>;
+                               };
 
-                               rpmpd_opp_table: opp-table {
-                                       compatible = "operating-points-v2";
+                               rpmpd: power-controller {
+                                       compatible = "qcom,msm8998-rpmpd";
+                                       #power-domain-cells = <1>;
+                                       operating-points-v2 = <&rpmpd_opp_table>;
 
-                                       rpmpd_opp_ret: opp1 {
-                                               opp-level = <RPM_SMD_LEVEL_RETENTION>;
-                                       };
+                                       rpmpd_opp_table: opp-table {
+                                               compatible = "operating-points-v2";
 
-                                       rpmpd_opp_ret_plus: opp2 {
-                                               opp-level = <RPM_SMD_LEVEL_RETENTION_PLUS>;
-                                       };
+                                               rpmpd_opp_ret: opp1 {
+                                                       opp-level = <RPM_SMD_LEVEL_RETENTION>;
+                                               };
 
-                                       rpmpd_opp_min_svs: opp3 {
-                                               opp-level = <RPM_SMD_LEVEL_MIN_SVS>;
-                                       };
+                                               rpmpd_opp_ret_plus: opp2 {
+                                                       opp-level = <RPM_SMD_LEVEL_RETENTION_PLUS>;
+                                               };
 
-                                       rpmpd_opp_low_svs: opp4 {
-                                               opp-level = <RPM_SMD_LEVEL_LOW_SVS>;
-                                       };
+                                               rpmpd_opp_min_svs: opp3 {
+                                                       opp-level = <RPM_SMD_LEVEL_MIN_SVS>;
+                                               };
 
-                                       rpmpd_opp_svs: opp5 {
-                                               opp-level = <RPM_SMD_LEVEL_SVS>;
-                                       };
+                                               rpmpd_opp_low_svs: opp4 {
+                                                       opp-level = <RPM_SMD_LEVEL_LOW_SVS>;
+                                               };
 
-                                       rpmpd_opp_svs_plus: opp6 {
-                                               opp-level = <RPM_SMD_LEVEL_SVS_PLUS>;
-                                       };
+                                               rpmpd_opp_svs: opp5 {
+                                                       opp-level = <RPM_SMD_LEVEL_SVS>;
+                                               };
 
-                                       rpmpd_opp_nom: opp7 {
-                                               opp-level = <RPM_SMD_LEVEL_NOM>;
-                                       };
+                                               rpmpd_opp_svs_plus: opp6 {
+                                                       opp-level = <RPM_SMD_LEVEL_SVS_PLUS>;
+                                               };
 
-                                       rpmpd_opp_nom_plus: opp8 {
-                                               opp-level = <RPM_SMD_LEVEL_NOM_PLUS>;
-                                       };
+                                               rpmpd_opp_nom: opp7 {
+                                                       opp-level = <RPM_SMD_LEVEL_NOM>;
+                                               };
 
-                                       rpmpd_opp_turbo: opp9 {
-                                               opp-level = <RPM_SMD_LEVEL_TURBO>;
-                                       };
+                                               rpmpd_opp_nom_plus: opp8 {
+                                                       opp-level = <RPM_SMD_LEVEL_NOM_PLUS>;
+                                               };
+
+                                               rpmpd_opp_turbo: opp9 {
+                                                       opp-level = <RPM_SMD_LEVEL_TURBO>;
+                                               };
 
-                                       rpmpd_opp_turbo_plus: opp10 {
-                                               opp-level = <RPM_SMD_LEVEL_BINNING>;
+                                               rpmpd_opp_turbo_plus: opp10 {
+                                                       opp-level = <RPM_SMD_LEVEL_BINNING>;
+                                               };
                                        };
                                };
                        };
index cf995ee..d46e591 100644 (file)
                };
        };
 
+       rpm: remoteproc {
+               compatible = "qcom,qcm2290-rpm-proc", "qcom,rpm-proc";
+
+               glink-edge {
+                       compatible = "qcom,glink-rpm";
+                       interrupts = <GIC_SPI 194 IRQ_TYPE_EDGE_RISING>;
+                       qcom,rpm-msg-ram = <&rpm_msg_ram>;
+                       mboxes = <&apcs_glb 0>;
+
+                       rpm_requests: rpm-requests {
+                               compatible = "qcom,rpm-qcm2290";
+                               qcom,glink-channels = "rpm_requests";
+
+                               rpmcc: clock-controller {
+                                       compatible = "qcom,rpmcc-qcm2290", "qcom,rpmcc";
+                                       clocks = <&xo_board>;
+                                       clock-names = "xo";
+                                       #clock-cells = <1>;
+                               };
+
+                               rpmpd: power-controller {
+                                       compatible = "qcom,qcm2290-rpmpd";
+                                       #power-domain-cells = <1>;
+                                       operating-points-v2 = <&rpmpd_opp_table>;
+
+                                       rpmpd_opp_table: opp-table {
+                                               compatible = "operating-points-v2";
+
+                                               rpmpd_opp_min_svs: opp1 {
+                                                       opp-level = <RPM_SMD_LEVEL_MIN_SVS>;
+                                               };
+
+                                               rpmpd_opp_low_svs: opp2 {
+                                                       opp-level = <RPM_SMD_LEVEL_LOW_SVS>;
+                                               };
+
+                                               rpmpd_opp_svs: opp3 {
+                                                       opp-level = <RPM_SMD_LEVEL_SVS>;
+                                               };
+
+                                               rpmpd_opp_svs_plus: opp4 {
+                                                       opp-level = <RPM_SMD_LEVEL_SVS_PLUS>;
+                                               };
+
+                                               rpmpd_opp_nom: opp5 {
+                                                       opp-level = <RPM_SMD_LEVEL_NOM>;
+                                               };
+
+                                               rpmpd_opp_nom_plus: opp6 {
+                                                       opp-level = <RPM_SMD_LEVEL_NOM_PLUS>;
+                                               };
+
+                                               rpmpd_opp_turbo: opp7 {
+                                                       opp-level = <RPM_SMD_LEVEL_TURBO>;
+                                               };
+
+                                               rpmpd_opp_turbo_plus: opp8 {
+                                                       opp-level = <RPM_SMD_LEVEL_TURBO_NO_CPR>;
+                                               };
+                                       };
+                               };
+                       };
+               };
+       };
+
        reserved_memory: reserved-memory {
                #address-cells = <2>;
                #size-cells = <2>;
                };
        };
 
-       rpm-glink {
-               compatible = "qcom,glink-rpm";
-               interrupts = <GIC_SPI 194 IRQ_TYPE_EDGE_RISING>;
-               qcom,rpm-msg-ram = <&rpm_msg_ram>;
-               mboxes = <&apcs_glb 0>;
-
-               rpm_requests: rpm-requests {
-                       compatible = "qcom,rpm-qcm2290";
-                       qcom,glink-channels = "rpm_requests";
-
-                       rpmcc: clock-controller {
-                               compatible = "qcom,rpmcc-qcm2290", "qcom,rpmcc";
-                               clocks = <&xo_board>;
-                               clock-names = "xo";
-                               #clock-cells = <1>;
-                       };
-
-                       rpmpd: power-controller {
-                               compatible = "qcom,qcm2290-rpmpd";
-                               #power-domain-cells = <1>;
-                               operating-points-v2 = <&rpmpd_opp_table>;
-
-                               rpmpd_opp_table: opp-table {
-                                       compatible = "operating-points-v2";
-
-                                       rpmpd_opp_min_svs: opp1 {
-                                               opp-level = <RPM_SMD_LEVEL_MIN_SVS>;
-                                       };
-
-                                       rpmpd_opp_low_svs: opp2 {
-                                               opp-level = <RPM_SMD_LEVEL_LOW_SVS>;
-                                       };
-
-                                       rpmpd_opp_svs: opp3 {
-                                               opp-level = <RPM_SMD_LEVEL_SVS>;
-                                       };
-
-                                       rpmpd_opp_svs_plus: opp4 {
-                                               opp-level = <RPM_SMD_LEVEL_SVS_PLUS>;
-                                       };
-
-                                       rpmpd_opp_nom: opp5 {
-                                               opp-level = <RPM_SMD_LEVEL_NOM>;
-                                       };
-
-                                       rpmpd_opp_nom_plus: opp6 {
-                                               opp-level = <RPM_SMD_LEVEL_NOM_PLUS>;
-                                       };
-
-                                       rpmpd_opp_turbo: opp7 {
-                                               opp-level = <RPM_SMD_LEVEL_TURBO>;
-                                       };
-
-                                       rpmpd_opp_turbo_plus: opp8 {
-                                               opp-level = <RPM_SMD_LEVEL_TURBO_NO_CPR>;
-                                       };
-                               };
-                       };
-               };
-       };
-
        smp2p-adsp {
                compatible = "qcom,smp2p";
                qcom,smem = <443>, <429>;
index f2568af..2721f32 100644 (file)
                method = "smc";
        };
 
+       rpm: remoteproc {
+               compatible = "qcom,qcs404-rpm-proc", "qcom,rpm-proc";
+
+               glink-edge {
+                       compatible = "qcom,glink-rpm";
+
+                       interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
+                       qcom,rpm-msg-ram = <&rpm_msg_ram>;
+                       mboxes = <&apcs_glb 0>;
+
+                       rpm_requests: rpm-requests {
+                               compatible = "qcom,rpm-qcs404";
+                               qcom,glink-channels = "rpm_requests";
+
+                               rpmcc: clock-controller {
+                                       compatible = "qcom,rpmcc-qcs404", "qcom,rpmcc";
+                                       #clock-cells = <1>;
+                                       clocks = <&xo_board>;
+                                       clock-names = "xo";
+                               };
+
+                               rpmpd: power-controller {
+                                       compatible = "qcom,qcs404-rpmpd";
+                                       #power-domain-cells = <1>;
+                                       operating-points-v2 = <&rpmpd_opp_table>;
+
+                                       rpmpd_opp_table: opp-table {
+                                               compatible = "operating-points-v2";
+
+                                               rpmpd_opp_ret: opp1 {
+                                                       opp-level = <16>;
+                                               };
+
+                                               rpmpd_opp_ret_plus: opp2 {
+                                                       opp-level = <32>;
+                                               };
+
+                                               rpmpd_opp_min_svs: opp3 {
+                                                       opp-level = <48>;
+                                               };
+
+                                               rpmpd_opp_low_svs: opp4 {
+                                                       opp-level = <64>;
+                                               };
+
+                                               rpmpd_opp_svs: opp5 {
+                                                       opp-level = <128>;
+                                               };
+
+                                               rpmpd_opp_svs_plus: opp6 {
+                                                       opp-level = <192>;
+                                               };
+
+                                               rpmpd_opp_nom: opp7 {
+                                                       opp-level = <256>;
+                                               };
+
+                                               rpmpd_opp_nom_plus: opp8 {
+                                                       opp-level = <320>;
+                                               };
+
+                                               rpmpd_opp_turbo: opp9 {
+                                                       opp-level = <384>;
+                                               };
+
+                                               rpmpd_opp_turbo_no_cpr: opp10 {
+                                                       opp-level = <416>;
+                                               };
+
+                                               rpmpd_opp_turbo_plus: opp11 {
+                                                       opp-level = <512>;
+                                               };
+                                       };
+                               };
+                       };
+               };
+       };
+
        reserved-memory {
                #address-cells = <2>;
                #size-cells = <2>;
                };
        };
 
-       rpm-glink {
-               compatible = "qcom,glink-rpm";
-
-               interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
-               qcom,rpm-msg-ram = <&rpm_msg_ram>;
-               mboxes = <&apcs_glb 0>;
-
-               rpm_requests: rpm-requests {
-                       compatible = "qcom,rpm-qcs404";
-                       qcom,glink-channels = "rpm_requests";
-
-                       rpmcc: clock-controller {
-                               compatible = "qcom,rpmcc-qcs404", "qcom,rpmcc";
-                               #clock-cells = <1>;
-                               clocks = <&xo_board>;
-                               clock-names = "xo";
-                       };
-
-                       rpmpd: power-controller {
-                               compatible = "qcom,qcs404-rpmpd";
-                               #power-domain-cells = <1>;
-                               operating-points-v2 = <&rpmpd_opp_table>;
-
-                               rpmpd_opp_table: opp-table {
-                                       compatible = "operating-points-v2";
-
-                                       rpmpd_opp_ret: opp1 {
-                                               opp-level = <16>;
-                                       };
-
-                                       rpmpd_opp_ret_plus: opp2 {
-                                               opp-level = <32>;
-                                       };
-
-                                       rpmpd_opp_min_svs: opp3 {
-                                               opp-level = <48>;
-                                       };
-
-                                       rpmpd_opp_low_svs: opp4 {
-                                               opp-level = <64>;
-                                       };
-
-                                       rpmpd_opp_svs: opp5 {
-                                               opp-level = <128>;
-                                       };
-
-                                       rpmpd_opp_svs_plus: opp6 {
-                                               opp-level = <192>;
-                                       };
-
-                                       rpmpd_opp_nom: opp7 {
-                                               opp-level = <256>;
-                                       };
-
-                                       rpmpd_opp_nom_plus: opp8 {
-                                               opp-level = <320>;
-                                       };
-
-                                       rpmpd_opp_turbo: opp9 {
-                                               opp-level = <384>;
-                                       };
-
-                                       rpmpd_opp_turbo_no_cpr: opp10 {
-                                               opp-level = <416>;
-                                       };
-
-                                       rpmpd_opp_turbo_plus: opp11 {
-                                               opp-level = <512>;
-                                       };
-                               };
-                       };
-               };
-       };
-
        smem {
                compatible = "qcom,smem";
 
index 759b3a5..83afce5 100644 (file)
                method = "smc";
        };
 
+       rpm: remoteproc {
+               compatible = "qcom,sdm660-rpm-proc", "qcom,rpm-proc";
+
+               glink-edge {
+                       compatible = "qcom,glink-rpm";
+
+                       interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
+                       qcom,rpm-msg-ram = <&rpm_msg_ram>;
+                       mboxes = <&apcs_glb 0>;
+
+                       rpm_requests: rpm-requests {
+                               compatible = "qcom,rpm-sdm660";
+                               qcom,glink-channels = "rpm_requests";
+
+                               rpmcc: clock-controller {
+                                       compatible = "qcom,rpmcc-sdm660", "qcom,rpmcc";
+                                       #clock-cells = <1>;
+                               };
+
+                               rpmpd: power-controller {
+                                       compatible = "qcom,sdm660-rpmpd";
+                                       #power-domain-cells = <1>;
+                                       operating-points-v2 = <&rpmpd_opp_table>;
+
+                                       rpmpd_opp_table: opp-table {
+                                               compatible = "operating-points-v2";
+
+                                               rpmpd_opp_ret: opp1 {
+                                                       opp-level = <RPM_SMD_LEVEL_RETENTION>;
+                                               };
+
+                                               rpmpd_opp_ret_plus: opp2 {
+                                                       opp-level = <RPM_SMD_LEVEL_RETENTION_PLUS>;
+                                               };
+
+                                               rpmpd_opp_min_svs: opp3 {
+                                                       opp-level = <RPM_SMD_LEVEL_MIN_SVS>;
+                                               };
+
+                                               rpmpd_opp_low_svs: opp4 {
+                                                       opp-level = <RPM_SMD_LEVEL_LOW_SVS>;
+                                               };
+
+                                               rpmpd_opp_svs: opp5 {
+                                                       opp-level = <RPM_SMD_LEVEL_SVS>;
+                                               };
+
+                                               rpmpd_opp_svs_plus: opp6 {
+                                                       opp-level = <RPM_SMD_LEVEL_SVS_PLUS>;
+                                               };
+
+                                               rpmpd_opp_nom: opp7 {
+                                                       opp-level = <RPM_SMD_LEVEL_NOM>;
+                                               };
+
+                                               rpmpd_opp_nom_plus: opp8 {
+                                                       opp-level = <RPM_SMD_LEVEL_NOM_PLUS>;
+                                               };
+
+                                               rpmpd_opp_turbo: opp9 {
+                                                       opp-level = <RPM_SMD_LEVEL_TURBO>;
+                                               };
+                                       };
+                               };
+                       };
+               };
+       };
+
        reserved-memory {
                #address-cells = <2>;
                #size-cells = <2>;
                };
        };
 
-       rpm-glink {
-               compatible = "qcom,glink-rpm";
-
-               interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
-               qcom,rpm-msg-ram = <&rpm_msg_ram>;
-               mboxes = <&apcs_glb 0>;
-
-               rpm_requests: rpm-requests {
-                       compatible = "qcom,rpm-sdm660";
-                       qcom,glink-channels = "rpm_requests";
-
-                       rpmcc: clock-controller {
-                               compatible = "qcom,rpmcc-sdm660", "qcom,rpmcc";
-                               #clock-cells = <1>;
-                       };
-
-                       rpmpd: power-controller {
-                               compatible = "qcom,sdm660-rpmpd";
-                               #power-domain-cells = <1>;
-                               operating-points-v2 = <&rpmpd_opp_table>;
-
-                               rpmpd_opp_table: opp-table {
-                                       compatible = "operating-points-v2";
-
-                                       rpmpd_opp_ret: opp1 {
-                                               opp-level = <RPM_SMD_LEVEL_RETENTION>;
-                                       };
-
-                                       rpmpd_opp_ret_plus: opp2 {
-                                               opp-level = <RPM_SMD_LEVEL_RETENTION_PLUS>;
-                                       };
-
-                                       rpmpd_opp_min_svs: opp3 {
-                                               opp-level = <RPM_SMD_LEVEL_MIN_SVS>;
-                                       };
-
-                                       rpmpd_opp_low_svs: opp4 {
-                                               opp-level = <RPM_SMD_LEVEL_LOW_SVS>;
-                                       };
-
-                                       rpmpd_opp_svs: opp5 {
-                                               opp-level = <RPM_SMD_LEVEL_SVS>;
-                                       };
-
-                                       rpmpd_opp_svs_plus: opp6 {
-                                               opp-level = <RPM_SMD_LEVEL_SVS_PLUS>;
-                                       };
-
-                                       rpmpd_opp_nom: opp7 {
-                                               opp-level = <RPM_SMD_LEVEL_NOM>;
-                                       };
-
-                                       rpmpd_opp_nom_plus: opp8 {
-                                               opp-level = <RPM_SMD_LEVEL_NOM_PLUS>;
-                                       };
-
-                                       rpmpd_opp_turbo: opp9 {
-                                               opp-level = <RPM_SMD_LEVEL_TURBO>;
-                                       };
-                               };
-                       };
-               };
-       };
-
        smem: smem {
                compatible = "qcom,smem";
                memory-region = <&smem_region>;
index 9f2c968..839c603 100644 (file)
                };
        };
 
+       rpm: remoteproc {
+               compatible = "qcom,sm6115-rpm-proc", "qcom,rpm-proc";
+
+               glink-edge {
+                       compatible = "qcom,glink-rpm";
+
+                       interrupts = <GIC_SPI 194 IRQ_TYPE_EDGE_RISING>;
+                       qcom,rpm-msg-ram = <&rpm_msg_ram>;
+                       mboxes = <&apcs_glb 0>;
+
+                       rpm_requests: rpm-requests {
+                               compatible = "qcom,rpm-sm6115";
+                               qcom,glink-channels = "rpm_requests";
+
+                               rpmcc: clock-controller {
+                                       compatible = "qcom,rpmcc-sm6115", "qcom,rpmcc";
+                                       clocks = <&xo_board>;
+                                       clock-names = "xo";
+                                       #clock-cells = <1>;
+                               };
+
+                               rpmpd: power-controller {
+                                       compatible = "qcom,sm6115-rpmpd";
+                                       #power-domain-cells = <1>;
+                                       operating-points-v2 = <&rpmpd_opp_table>;
+
+                                       rpmpd_opp_table: opp-table {
+                                               compatible = "operating-points-v2";
+
+                                               rpmpd_opp_min_svs: opp1 {
+                                                       opp-level = <RPM_SMD_LEVEL_MIN_SVS>;
+                                               };
+
+                                               rpmpd_opp_low_svs: opp2 {
+                                                       opp-level = <RPM_SMD_LEVEL_LOW_SVS>;
+                                               };
+
+                                               rpmpd_opp_svs: opp3 {
+                                                       opp-level = <RPM_SMD_LEVEL_SVS>;
+                                               };
+
+                                               rpmpd_opp_svs_plus: opp4 {
+                                                       opp-level = <RPM_SMD_LEVEL_SVS_PLUS>;
+                                               };
+
+                                               rpmpd_opp_nom: opp5 {
+                                                       opp-level = <RPM_SMD_LEVEL_NOM>;
+                                               };
+
+                                               rpmpd_opp_nom_plus: opp6 {
+                                                       opp-level = <RPM_SMD_LEVEL_NOM_PLUS>;
+                                               };
+
+                                               rpmpd_opp_turbo: opp7 {
+                                                       opp-level = <RPM_SMD_LEVEL_TURBO>;
+                                               };
+
+                                               rpmpd_opp_turbo_plus: opp8 {
+                                                       opp-level = <RPM_SMD_LEVEL_TURBO_NO_CPR>;
+                                               };
+                                       };
+                               };
+                       };
+               };
+       };
+
        reserved_memory: reserved-memory {
                #address-cells = <2>;
                #size-cells = <2>;
                };
        };
 
-       rpm-glink {
-               compatible = "qcom,glink-rpm";
-
-               interrupts = <GIC_SPI 194 IRQ_TYPE_EDGE_RISING>;
-               qcom,rpm-msg-ram = <&rpm_msg_ram>;
-               mboxes = <&apcs_glb 0>;
-
-               rpm_requests: rpm-requests {
-                       compatible = "qcom,rpm-sm6115";
-                       qcom,glink-channels = "rpm_requests";
-
-                       rpmcc: clock-controller {
-                               compatible = "qcom,rpmcc-sm6115", "qcom,rpmcc";
-                               clocks = <&xo_board>;
-                               clock-names = "xo";
-                               #clock-cells = <1>;
-                       };
-
-                       rpmpd: power-controller {
-                               compatible = "qcom,sm6115-rpmpd";
-                               #power-domain-cells = <1>;
-                               operating-points-v2 = <&rpmpd_opp_table>;
-
-                               rpmpd_opp_table: opp-table {
-                                       compatible = "operating-points-v2";
-
-                                       rpmpd_opp_min_svs: opp1 {
-                                               opp-level = <RPM_SMD_LEVEL_MIN_SVS>;
-                                       };
-
-                                       rpmpd_opp_low_svs: opp2 {
-                                               opp-level = <RPM_SMD_LEVEL_LOW_SVS>;
-                                       };
-
-                                       rpmpd_opp_svs: opp3 {
-                                               opp-level = <RPM_SMD_LEVEL_SVS>;
-                                       };
-
-                                       rpmpd_opp_svs_plus: opp4 {
-                                               opp-level = <RPM_SMD_LEVEL_SVS_PLUS>;
-                                       };
-
-                                       rpmpd_opp_nom: opp5 {
-                                               opp-level = <RPM_SMD_LEVEL_NOM>;
-                                       };
-
-                                       rpmpd_opp_nom_plus: opp6 {
-                                               opp-level = <RPM_SMD_LEVEL_NOM_PLUS>;
-                                       };
-
-                                       rpmpd_opp_turbo: opp7 {
-                                               opp-level = <RPM_SMD_LEVEL_TURBO>;
-                                       };
-
-                                       rpmpd_opp_turbo_plus: opp8 {
-                                               opp-level = <RPM_SMD_LEVEL_TURBO_NO_CPR>;
-                                       };
-                               };
-                       };
-               };
-       };
-
        smp2p-adsp {
                compatible = "qcom,smp2p";
                qcom,smem = <443>, <429>;
index a596baa..d7c1a40 100644 (file)
                method = "smc";
        };
 
+       rpm: remoteproc {
+               compatible = "qcom,sm6125-rpm-proc", "qcom,rpm-proc";
+
+               glink-edge {
+                       compatible = "qcom,glink-rpm";
+
+                       interrupts = <GIC_SPI 194 IRQ_TYPE_EDGE_RISING>;
+                       qcom,rpm-msg-ram = <&rpm_msg_ram>;
+                       mboxes = <&apcs_glb 0>;
+
+                       rpm_requests: rpm-requests {
+                               compatible = "qcom,rpm-sm6125";
+                               qcom,glink-channels = "rpm_requests";
+
+                               rpmcc: clock-controller {
+                                       compatible = "qcom,rpmcc-sm6125", "qcom,rpmcc";
+                                       #clock-cells = <1>;
+                               };
+
+                               rpmpd: power-controller {
+                                       compatible = "qcom,sm6125-rpmpd";
+                                       #power-domain-cells = <1>;
+                                       operating-points-v2 = <&rpmpd_opp_table>;
+
+                                       rpmpd_opp_table: opp-table {
+                                               compatible = "operating-points-v2";
+
+                                               rpmpd_opp_ret: opp1 {
+                                                       opp-level = <RPM_SMD_LEVEL_RETENTION>;
+                                               };
+
+                                               rpmpd_opp_ret_plus: opp2 {
+                                                       opp-level = <RPM_SMD_LEVEL_RETENTION_PLUS>;
+                                               };
+
+                                               rpmpd_opp_min_svs: opp3 {
+                                                       opp-level = <RPM_SMD_LEVEL_MIN_SVS>;
+                                               };
+
+                                               rpmpd_opp_low_svs: opp4 {
+                                                       opp-level = <RPM_SMD_LEVEL_LOW_SVS>;
+                                               };
+
+                                               rpmpd_opp_svs: opp5 {
+                                                       opp-level = <RPM_SMD_LEVEL_SVS>;
+                                               };
+
+                                               rpmpd_opp_svs_plus: opp6 {
+                                                       opp-level = <RPM_SMD_LEVEL_SVS_PLUS>;
+                                               };
+
+                                               rpmpd_opp_nom: opp7 {
+                                                       opp-level = <RPM_SMD_LEVEL_NOM>;
+                                               };
+
+                                               rpmpd_opp_nom_plus: opp8 {
+                                                       opp-level = <RPM_SMD_LEVEL_NOM_PLUS>;
+                                               };
+
+                                               rpmpd_opp_turbo: opp9 {
+                                                       opp-level = <RPM_SMD_LEVEL_TURBO>;
+                                               };
+
+                                               rpmpd_opp_turbo_no_cpr: opp10 {
+                                                       opp-level = <RPM_SMD_LEVEL_TURBO_NO_CPR>;
+                                               };
+                                       };
+                               };
+                       };
+               };
+       };
+
        reserved_memory: reserved-memory {
                #address-cells = <2>;
                #size-cells = <2>;
                };
        };
 
-       rpm-glink {
-               compatible = "qcom,glink-rpm";
-
-               interrupts = <GIC_SPI 194 IRQ_TYPE_EDGE_RISING>;
-               qcom,rpm-msg-ram = <&rpm_msg_ram>;
-               mboxes = <&apcs_glb 0>;
-
-               rpm_requests: rpm-requests {
-                       compatible = "qcom,rpm-sm6125";
-                       qcom,glink-channels = "rpm_requests";
-
-                       rpmcc: clock-controller {
-                               compatible = "qcom,rpmcc-sm6125", "qcom,rpmcc";
-                               #clock-cells = <1>;
-                       };
-
-                       rpmpd: power-controller {
-                               compatible = "qcom,sm6125-rpmpd";
-                               #power-domain-cells = <1>;
-                               operating-points-v2 = <&rpmpd_opp_table>;
-
-                               rpmpd_opp_table: opp-table {
-                                       compatible = "operating-points-v2";
-
-                                       rpmpd_opp_ret: opp1 {
-                                               opp-level = <RPM_SMD_LEVEL_RETENTION>;
-                                       };
-
-                                       rpmpd_opp_ret_plus: opp2 {
-                                               opp-level = <RPM_SMD_LEVEL_RETENTION_PLUS>;
-                                       };
-
-                                       rpmpd_opp_min_svs: opp3 {
-                                               opp-level = <RPM_SMD_LEVEL_MIN_SVS>;
-                                       };
-
-                                       rpmpd_opp_low_svs: opp4 {
-                                               opp-level = <RPM_SMD_LEVEL_LOW_SVS>;
-                                       };
-
-                                       rpmpd_opp_svs: opp5 {
-                                               opp-level = <RPM_SMD_LEVEL_SVS>;
-                                       };
-
-                                       rpmpd_opp_svs_plus: opp6 {
-                                               opp-level = <RPM_SMD_LEVEL_SVS_PLUS>;
-                                       };
-
-                                       rpmpd_opp_nom: opp7 {
-                                               opp-level = <RPM_SMD_LEVEL_NOM>;
-                                       };
-
-                                       rpmpd_opp_nom_plus: opp8 {
-                                               opp-level = <RPM_SMD_LEVEL_NOM_PLUS>;
-                                       };
-
-                                       rpmpd_opp_turbo: opp9 {
-                                               opp-level = <RPM_SMD_LEVEL_TURBO>;
-                                       };
-
-                                       rpmpd_opp_turbo_no_cpr: opp10 {
-                                               opp-level = <RPM_SMD_LEVEL_TURBO_NO_CPR>;
-                                       };
-                               };
-                       };
-               };
-       };
-
        smem: smem {
                compatible = "qcom,smem";
                memory-region = <&smem_mem>;
index 927aa59..e7ff554 100644 (file)
                };
        };
 
-       rpm-glink {
-               compatible = "qcom,glink-rpm";
-               interrupts-extended = <&ipcc IPCC_CLIENT_AOP
-                                            IPCC_MPROC_SIGNAL_GLINK_QMP
-                                            IRQ_TYPE_EDGE_RISING>;
-               qcom,rpm-msg-ram = <&rpm_msg_ram>;
-               mboxes = <&ipcc IPCC_CLIENT_AOP IPCC_MPROC_SIGNAL_GLINK_QMP>;
-
-               rpm_requests: rpm-requests {
-                       compatible = "qcom,rpm-sm6375";
-                       qcom,glink-channels = "rpm_requests";
-
-                       rpmcc: clock-controller {
-                               compatible = "qcom,rpmcc-sm6375", "qcom,rpmcc";
-                               clocks = <&xo_board_clk>;
-                               clock-names = "xo";
-                               #clock-cells = <1>;
-                       };
-
-                       rpmpd: power-controller {
-                               compatible = "qcom,sm6375-rpmpd";
-                               #power-domain-cells = <1>;
-                               operating-points-v2 = <&rpmpd_opp_table>;
-
-                               rpmpd_opp_table: opp-table {
-                                       compatible = "operating-points-v2";
-
-                                       rpmpd_opp_ret: opp1 {
-                                               opp-level = <RPM_SMD_LEVEL_RETENTION>;
-                                       };
-
-                                       rpmpd_opp_min_svs: opp2 {
-                                               opp-level = <RPM_SMD_LEVEL_MIN_SVS>;
-                                       };
-
-                                       rpmpd_opp_low_svs: opp3 {
-                                               opp-level = <RPM_SMD_LEVEL_LOW_SVS>;
-                                       };
-
-                                       rpmpd_opp_svs: opp4 {
-                                               opp-level = <RPM_SMD_LEVEL_SVS>;
-                                       };
-
-                                       rpmpd_opp_svs_plus: opp5 {
-                                               opp-level = <RPM_SMD_LEVEL_SVS_PLUS>;
-                                       };
-
-                                       rpmpd_opp_nom: opp6 {
-                                               opp-level = <RPM_SMD_LEVEL_NOM>;
-                                       };
-
-                                       rpmpd_opp_nom_plus: opp7 {
-                                               opp-level = <RPM_SMD_LEVEL_NOM_PLUS>;
-                                       };
-
-                                       rpmpd_opp_turbo: opp8 {
-                                               opp-level = <RPM_SMD_LEVEL_TURBO>;
-                                       };
-
-                                       rpmpd_opp_turbo_no_cpr: opp9 {
-                                               opp-level = <RPM_SMD_LEVEL_TURBO_NO_CPR>;
+       rpm: remoteproc {
+               compatible = "qcom,sm6375-rpm-proc", "qcom,rpm-proc";
+
+               glink-edge {
+                       compatible = "qcom,glink-rpm";
+                       interrupts-extended = <&ipcc IPCC_CLIENT_AOP
+                                                    IPCC_MPROC_SIGNAL_GLINK_QMP
+                                                    IRQ_TYPE_EDGE_RISING>;
+                       qcom,rpm-msg-ram = <&rpm_msg_ram>;
+                       mboxes = <&ipcc IPCC_CLIENT_AOP IPCC_MPROC_SIGNAL_GLINK_QMP>;
+
+                       rpm_requests: rpm-requests {
+                               compatible = "qcom,rpm-sm6375";
+                               qcom,glink-channels = "rpm_requests";
+
+                               rpmcc: clock-controller {
+                                       compatible = "qcom,rpmcc-sm6375", "qcom,rpmcc";
+                                       clocks = <&xo_board_clk>;
+                                       clock-names = "xo";
+                                       #clock-cells = <1>;
+                               };
+
+                               rpmpd: power-controller {
+                                       compatible = "qcom,sm6375-rpmpd";
+                                       #power-domain-cells = <1>;
+                                       operating-points-v2 = <&rpmpd_opp_table>;
+
+                                       rpmpd_opp_table: opp-table {
+                                               compatible = "operating-points-v2";
+
+                                               rpmpd_opp_ret: opp1 {
+                                                       opp-level = <RPM_SMD_LEVEL_RETENTION>;
+                                               };
+
+                                               rpmpd_opp_min_svs: opp2 {
+                                                       opp-level = <RPM_SMD_LEVEL_MIN_SVS>;
+                                               };
+
+                                               rpmpd_opp_low_svs: opp3 {
+                                                       opp-level = <RPM_SMD_LEVEL_LOW_SVS>;
+                                               };
+
+                                               rpmpd_opp_svs: opp4 {
+                                                       opp-level = <RPM_SMD_LEVEL_SVS>;
+                                               };
+
+                                               rpmpd_opp_svs_plus: opp5 {
+                                                       opp-level = <RPM_SMD_LEVEL_SVS_PLUS>;
+                                               };
+
+                                               rpmpd_opp_nom: opp6 {
+                                                       opp-level = <RPM_SMD_LEVEL_NOM>;
+                                               };
+
+                                               rpmpd_opp_nom_plus: opp7 {
+                                                       opp-level = <RPM_SMD_LEVEL_NOM_PLUS>;
+                                               };
+
+                                               rpmpd_opp_turbo: opp8 {
+                                                       opp-level = <RPM_SMD_LEVEL_TURBO>;
+                                               };
+
+                                               rpmpd_opp_turbo_no_cpr: opp9 {
+                                                       opp-level = <RPM_SMD_LEVEL_TURBO_NO_CPR>;
+                                               };
                                        };
                                };
                        };