mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 19:30:30 +09:00
arm64: dts: qcom: Add rpm-proc node for SMD platforms
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. Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org> Signed-off-by: Stephan Gerhold <stephan@gerhold.net> Link: https://lore.kernel.org/r/20230531-rpm-rproc-v3-10-a07dcdefd918@gerhold.net Signed-off-by: Bjorn Andersson <andersson@kernel.org>
This commit is contained in:
committed by
Bjorn Andersson
parent
752f585805
commit
091efd5633
@@ -282,10 +282,10 @@
|
||||
};
|
||||
};
|
||||
|
||||
smd {
|
||||
compatible = "qcom,smd";
|
||||
rpm: remoteproc {
|
||||
compatible = "qcom,msm8916-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>;
|
||||
|
||||
@@ -242,6 +242,62 @@
|
||||
interrupts = <GIC_PPI 7 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>;
|
||||
};
|
||||
|
||||
rpm: remoteproc {
|
||||
compatible = "qcom,msm8936-rpm-proc", "qcom,rpm-proc";
|
||||
|
||||
smd-edge {
|
||||
interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
|
||||
qcom,ipc = <&apcs1_mbox 8 0>;
|
||||
qcom,smd-edge = <15>;
|
||||
|
||||
rpm_requests: rpm-requests {
|
||||
compatible = "qcom,rpm-msm8936";
|
||||
qcom,smd-channels = "rpm_requests";
|
||||
|
||||
rpmcc: clock-controller {
|
||||
compatible = "qcom,rpmcc-msm8936", "qcom,rpmcc";
|
||||
#clock-cells = <1>;
|
||||
clock-names = "xo";
|
||||
clocks = <&xo_board>;
|
||||
};
|
||||
|
||||
rpmpd: power-controller {
|
||||
compatible = "qcom,msm8939-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 = <1>;
|
||||
};
|
||||
|
||||
rpmpd_opp_svs_krait: opp2 {
|
||||
opp-level = <2>;
|
||||
};
|
||||
|
||||
rpmpd_opp_svs_soc: opp3 {
|
||||
opp-level = <3>;
|
||||
};
|
||||
|
||||
rpmpd_opp_nom: opp4 {
|
||||
opp-level = <4>;
|
||||
};
|
||||
|
||||
rpmpd_opp_turbo: opp5 {
|
||||
opp-level = <5>;
|
||||
};
|
||||
|
||||
rpmpd_opp_super_turbo: opp6 {
|
||||
opp-level = <6>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
reserved-memory {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
@@ -310,62 +366,6 @@
|
||||
};
|
||||
};
|
||||
|
||||
smd {
|
||||
compatible = "qcom,smd";
|
||||
|
||||
rpm {
|
||||
interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
|
||||
qcom,ipc = <&apcs1_mbox 8 0>;
|
||||
qcom,smd-edge = <15>;
|
||||
|
||||
rpm_requests: rpm-requests {
|
||||
compatible = "qcom,rpm-msm8936";
|
||||
qcom,smd-channels = "rpm_requests";
|
||||
|
||||
rpmcc: clock-controller {
|
||||
compatible = "qcom,rpmcc-msm8936", "qcom,rpmcc";
|
||||
#clock-cells = <1>;
|
||||
clock-names = "xo";
|
||||
clocks = <&xo_board>;
|
||||
};
|
||||
|
||||
rpmpd: power-controller {
|
||||
compatible = "qcom,msm8939-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 = <1>;
|
||||
};
|
||||
|
||||
rpmpd_opp_svs_krait: opp2 {
|
||||
opp-level = <2>;
|
||||
};
|
||||
|
||||
rpmpd_opp_svs_soc: opp3 {
|
||||
opp-level = <3>;
|
||||
};
|
||||
|
||||
rpmpd_opp_nom: opp4 {
|
||||
opp-level = <4>;
|
||||
};
|
||||
|
||||
rpmpd_opp_turbo: opp5 {
|
||||
opp-level = <5>;
|
||||
};
|
||||
|
||||
rpmpd_opp_super_turbo: opp6 {
|
||||
opp-level = <6>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
smp2p-hexagon {
|
||||
compatible = "qcom,smp2p";
|
||||
qcom,smem = <435>, <428>;
|
||||
|
||||
@@ -190,6 +190,74 @@
|
||||
method = "smc";
|
||||
};
|
||||
|
||||
rpm: remoteproc {
|
||||
compatible = "qcom,msm8953-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-msm8953";
|
||||
qcom,smd-channels = "rpm_requests";
|
||||
|
||||
rpmcc: clock-controller {
|
||||
compatible = "qcom,rpmcc-msm8953", "qcom,rpmcc";
|
||||
clocks = <&xo_board>;
|
||||
clock-names = "xo";
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
|
||||
rpmpd: power-controller {
|
||||
compatible = "qcom,msm8953-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>;
|
||||
@@ -263,74 +331,6 @@
|
||||
};
|
||||
};
|
||||
|
||||
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-msm8953";
|
||||
qcom,smd-channels = "rpm_requests";
|
||||
|
||||
rpmcc: clock-controller {
|
||||
compatible = "qcom,rpmcc-msm8953", "qcom,rpmcc";
|
||||
clocks = <&xo_board>;
|
||||
clock-names = "xo";
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
|
||||
rpmpd: power-controller {
|
||||
compatible = "qcom,msm8953-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>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
smp2p-adsp {
|
||||
compatible = "qcom,smp2p";
|
||||
qcom,smem = <443>, <429>;
|
||||
|
||||
@@ -232,6 +232,82 @@
|
||||
method = "smc";
|
||||
};
|
||||
|
||||
rpm: remoteproc {
|
||||
compatible = "qcom,msm8976-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-msm8976";
|
||||
qcom,smd-channels = "rpm_requests";
|
||||
|
||||
rpmcc: clock-controller {
|
||||
compatible = "qcom,rpmcc-msm8976", "qcom,rpmcc";
|
||||
clocks = <&xo_board>;
|
||||
clock-names = "xo";
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
|
||||
rpmpd: power-controller {
|
||||
compatible = "qcom,msm8976-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>;
|
||||
};
|
||||
|
||||
rpmpd_opp_turbo_high: opp111 {
|
||||
opp-level = <RPM_SMD_LEVEL_TURBO_HIGH>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
reserved-memory {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
@@ -346,82 +422,6 @@
|
||||
};
|
||||
};
|
||||
|
||||
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-msm8976";
|
||||
qcom,smd-channels = "rpm_requests";
|
||||
|
||||
rpmcc: clock-controller {
|
||||
compatible = "qcom,rpmcc-msm8976", "qcom,rpmcc";
|
||||
clocks = <&xo_board>;
|
||||
clock-names = "xo";
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
|
||||
rpmpd: power-controller {
|
||||
compatible = "qcom,msm8976-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>;
|
||||
};
|
||||
|
||||
rpmpd_opp_turbo_high: opp111 {
|
||||
opp-level = <RPM_SMD_LEVEL_TURBO_HIGH>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
smsm {
|
||||
compatible = "qcom,smsm";
|
||||
|
||||
|
||||
@@ -178,6 +178,56 @@
|
||||
method = "hvc";
|
||||
};
|
||||
|
||||
rpm: remoteproc {
|
||||
compatible = "qcom,msm8994-rpm-proc", "qcom,rpm-proc";
|
||||
|
||||
smd-edge {
|
||||
interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
|
||||
qcom,ipc = <&apcs 8 0>;
|
||||
qcom,smd-edge = <15>;
|
||||
qcom,remote-pid = <6>;
|
||||
|
||||
rpm_requests: rpm-requests {
|
||||
compatible = "qcom,rpm-msm8994";
|
||||
qcom,smd-channels = "rpm_requests";
|
||||
|
||||
rpmcc: clock-controller {
|
||||
compatible = "qcom,rpmcc-msm8994", "qcom,rpmcc";
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
|
||||
rpmpd: power-controller {
|
||||
compatible = "qcom,msm8994-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 = <1>;
|
||||
};
|
||||
rpmpd_opp_svs_krait: opp2 {
|
||||
opp-level = <2>;
|
||||
};
|
||||
rpmpd_opp_svs_soc: opp3 {
|
||||
opp-level = <3>;
|
||||
};
|
||||
rpmpd_opp_nom: opp4 {
|
||||
opp-level = <4>;
|
||||
};
|
||||
rpmpd_opp_turbo: opp5 {
|
||||
opp-level = <5>;
|
||||
};
|
||||
rpmpd_opp_super_turbo: opp6 {
|
||||
opp-level = <6>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
reserved-memory {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
@@ -237,55 +287,6 @@
|
||||
};
|
||||
};
|
||||
|
||||
smd {
|
||||
compatible = "qcom,smd";
|
||||
rpm {
|
||||
interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
|
||||
qcom,ipc = <&apcs 8 0>;
|
||||
qcom,smd-edge = <15>;
|
||||
qcom,remote-pid = <6>;
|
||||
|
||||
rpm_requests: rpm-requests {
|
||||
compatible = "qcom,rpm-msm8994";
|
||||
qcom,smd-channels = "rpm_requests";
|
||||
|
||||
rpmcc: clock-controller {
|
||||
compatible = "qcom,rpmcc-msm8994", "qcom,rpmcc";
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
|
||||
rpmpd: power-controller {
|
||||
compatible = "qcom,msm8994-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 = <1>;
|
||||
};
|
||||
rpmpd_opp_svs_krait: opp2 {
|
||||
opp-level = <2>;
|
||||
};
|
||||
rpmpd_opp_svs_soc: opp3 {
|
||||
opp-level = <3>;
|
||||
};
|
||||
rpmpd_opp_nom: opp4 {
|
||||
opp-level = <4>;
|
||||
};
|
||||
rpmpd_opp_turbo: opp5 {
|
||||
opp-level = <5>;
|
||||
};
|
||||
rpmpd_opp_super_turbo: opp6 {
|
||||
opp-level = <6>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
smem {
|
||||
compatible = "qcom,smem";
|
||||
memory-region = <&smem_mem>;
|
||||
|
||||
Reference in New Issue
Block a user