Skip to content

Commit

Permalink
arm64: dts: qcom: sm8250: Add remoteprocs
Browse files Browse the repository at this point in the history
Add remoteproc nodes for the audio, compute and sensor cores, define
glink for each one and enable them on the MTP with appropriate firmware
defined.

Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Reviewed-by: Vinod Koul <vkoul@kernel.org>
Link: https://lore.kernel.org/r/20200622222747.717306-6-bjorn.andersson@linaro.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
  • Loading branch information
Bjorn Andersson committed Jun 23, 2020
1 parent 8770a2a commit 23a8903
Show file tree
Hide file tree
Showing 2 changed files with 131 additions and 0 deletions.
15 changes: 15 additions & 0 deletions arch/arm64/boot/dts/qcom/sm8250-mtp.dts
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,11 @@
};
};

&adsp {
status = "okay";
firmware-name = "qcom/sm8250/adsp.mbn";
};

&apps_rsc {
pm8150-rpmh-regulators {
compatible = "qcom,pm8150-rpmh-regulators";
Expand Down Expand Up @@ -348,10 +353,20 @@
};
};

&cdsp {
status = "okay";
firmware-name = "qcom/sm8250/cdsp.mbn";
};

&qupv3_id_1 {
status = "okay";
};

&slpi {
status = "okay";
firmware-name = "qcom/sm8250/slpi.mbn";
};

&tlmm {
gpio-reserved-ranges = <28 4>, <40 4>;
};
Expand Down
116 changes: 116 additions & 0 deletions arch/arm64/boot/dts/qcom/sm8250.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -1052,6 +1052,83 @@
reg = <0x0 0x01f40000 0x0 0x40000>;
};

slpi: remoteproc@5c00000 {
compatible = "qcom,sm8250-slpi-pas";
reg = <0 0x05c00000 0 0x4000>;

interrupts-extended = <&pdc 9 IRQ_TYPE_LEVEL_HIGH>,
<&smp2p_slpi_in 0 IRQ_TYPE_EDGE_RISING>,
<&smp2p_slpi_in 1 IRQ_TYPE_EDGE_RISING>,
<&smp2p_slpi_in 2 IRQ_TYPE_EDGE_RISING>,
<&smp2p_slpi_in 3 IRQ_TYPE_EDGE_RISING>;
interrupt-names = "wdog", "fatal", "ready",
"handover", "stop-ack";

clocks = <&rpmhcc RPMH_CXO_CLK>;
clock-names = "xo";

power-domains = <&aoss_qmp AOSS_QMP_LS_SLPI>,
<&rpmhpd SM8250_LCX>,
<&rpmhpd SM8250_LMX>;
power-domain-names = "load_state", "lcx", "lmx";

memory-region = <&slpi_mem>;

qcom,smem-states = <&smp2p_slpi_out 0>;
qcom,smem-state-names = "stop";

status = "disabled";

glink-edge {
interrupts-extended = <&ipcc IPCC_CLIENT_SLPI
IPCC_MPROC_SIGNAL_GLINK_QMP
IRQ_TYPE_EDGE_RISING>;
mboxes = <&ipcc IPCC_CLIENT_SLPI
IPCC_MPROC_SIGNAL_GLINK_QMP>;

label = "lpass";
qcom,remote-pid = <3>;
};
};

cdsp: remoteproc@8300000 {
compatible = "qcom,sm8250-cdsp-pas";
reg = <0 0x08300000 0 0x10000>;

interrupts-extended = <&intc GIC_SPI 578 IRQ_TYPE_LEVEL_HIGH>,
<&smp2p_cdsp_in 0 IRQ_TYPE_EDGE_RISING>,
<&smp2p_cdsp_in 1 IRQ_TYPE_EDGE_RISING>,
<&smp2p_cdsp_in 2 IRQ_TYPE_EDGE_RISING>,
<&smp2p_cdsp_in 3 IRQ_TYPE_EDGE_RISING>;
interrupt-names = "wdog", "fatal", "ready",
"handover", "stop-ack";

clocks = <&rpmhcc RPMH_CXO_CLK>;
clock-names = "xo";

power-domains = <&aoss_qmp AOSS_QMP_LS_CDSP>,
<&rpmhpd SM8250_CX>;
power-domain-names = "load_state", "cx";

memory-region = <&cdsp_mem>;

qcom,smem-states = <&smp2p_cdsp_out 0>;
qcom,smem-state-names = "stop";

status = "disabled";

glink-edge {
interrupts-extended = <&ipcc IPCC_CLIENT_CDSP
IPCC_MPROC_SIGNAL_GLINK_QMP
IRQ_TYPE_EDGE_RISING>;
mboxes = <&ipcc IPCC_CLIENT_CDSP
IPCC_MPROC_SIGNAL_GLINK_QMP>;

label = "lpass";
qcom,remote-pid = <5>;
};
};

pdc: interrupt-controller@b220000 {
compatible = "qcom,sm8250-pdc", "qcom,pdc";
reg = <0 0x0b220000 0 0x30000>, <0 0x17c000f0 0 0x60>;
Expand Down Expand Up @@ -1668,6 +1745,45 @@
};
};

adsp: remoteproc@17300000 {
compatible = "qcom,sm8250-adsp-pas";
reg = <0 0x17300000 0 0x100>;

interrupts-extended = <&pdc 6 IRQ_TYPE_LEVEL_HIGH>,
<&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>,
<&smp2p_adsp_in 1 IRQ_TYPE_EDGE_RISING>,
<&smp2p_adsp_in 2 IRQ_TYPE_EDGE_RISING>,
<&smp2p_adsp_in 3 IRQ_TYPE_EDGE_RISING>;
interrupt-names = "wdog", "fatal", "ready",
"handover", "stop-ack";

clocks = <&rpmhcc RPMH_CXO_CLK>;
clock-names = "xo";

power-domains = <&aoss_qmp AOSS_QMP_LS_LPASS>,
<&rpmhpd SM8250_LCX>,
<&rpmhpd SM8250_LMX>;
power-domain-names = "load_state", "lcx", "lmx";

memory-region = <&adsp_mem>;

qcom,smem-states = <&smp2p_adsp_out 0>;
qcom,smem-state-names = "stop";

status = "disabled";

glink-edge {
interrupts-extended = <&ipcc IPCC_CLIENT_LPASS
IPCC_MPROC_SIGNAL_GLINK_QMP
IRQ_TYPE_EDGE_RISING>;
mboxes = <&ipcc IPCC_CLIENT_LPASS
IPCC_MPROC_SIGNAL_GLINK_QMP>;

label = "lpass";
qcom,remote-pid = <2>;
};
};

intc: interrupt-controller@17a00000 {
compatible = "arm,gic-v3";
#interrupt-cells = <3>;
Expand Down

0 comments on commit 23a8903

Please sign in to comment.