Add PAS and MSA based Modem support
Subsystems (5)
cover Add PAS and MSA based Modem support
Add PAS based modem support on SC7180 SoCs and update the device node to support MSA based modem boot.
Patch [1,2] - Add PAS based modem support
Patch [3] - Update reserved memory map
Patch [4,5] - Add PAS/MSA modem nodes
Sibi Sankar (5):
dt-bindings: remoteproc: qcom: Add SC7180 MPSS support
remoteproc: qcom: pas: Add SC7180 Modem support
arm64: dts: qcom: sc7180: Update reserved memory map
arm64: dts: qcom: sc7180: Add Q6V5 MSS node
arm64: dts: qcom: sc7180: Update Q6V5 MSS node
.../bindings/remoteproc/qcom,adsp.txt | 3 + arch/arm64/boot/dts/qcom/sc7180-idp.dts | 105 +++++++++++++++ arch/arm64/boot/dts/qcom/sc7180.dtsi | 124 +++++++++++++++++- drivers/remoteproc/qcom_q6v5_pas.c | 1 + 4 files changed, 231 insertions(+), 2 deletions(-)
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project
PATCH 1/5 dt-bindings: remoteproc: qcom: Add SC7180 MPSS support
Add MPSS PAS support for SC7180 SoCs.
--- Documentation/devicetree/bindings/remoteproc/qcom,adsp.txt | 3 +++ 1 file changed, 3 insertions(+)
Documentation/devicetree/bindings/remoteproc/qcom,adsp.txt +3 -0
@@ -15,6 +15,7 @@ on the Qualcomm ADSP Hexagon core. "qcom,qcs404-adsp-pas" "qcom,qcs404-cdsp-pas" "qcom,qcs404-wcss-pas" + "qcom,sc7180-mpss-pas" "qcom,sdm845-adsp-pas" "qcom,sdm845-cdsp-pas" "qcom,sm8150-adsp-pas"
@@ -46,6 +47,7 @@ on the Qualcomm ADSP Hexagon core. qcom,sm8150-slpi-pas: must be "wdog", "fatal", "ready", "handover", "stop-ack" qcom,qcs404-wcss-pas: + qcom,sc7180-mpss-pas: qcom,sm8150-mpss-pas: must be "wdog", "fatal", "ready", "handover", "stop-ack", "shutdown-ack"
@@ -106,6 +108,7 @@ on the Qualcomm ADSP Hexagon core. qcom,sm8150-adsp-pas: qcom,sm8150-cdsp-pas: must be "cx", "load_state" + qcom,sc7180-mpss-pas: qcom,sm8150-mpss-pas: must be "cx", "load_state", "mss" qcom,sm8150-slpi-pas:
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project
Re: [PATCH 1/5] dt-bindings: remoteproc: qcom: Add SC7180 MPSS support
Quoted 3 lines · Sibi Sankar
Add MPSS PAS support for SC7180 SoCs.
Signed-off-by Sibi Sankar <[email protected]>
Regards,
Bjorn
Quoted 35 lines
--- Documentation/devicetree/bindings/remoteproc/qcom,adsp.txt | 3 +++ 1 file changed, 3 insertions(+)Documentation/devicetree/bindings/remoteproc/qcom,adsp.txt +3
-0@@ -15,6 +15,7 @@ on the Qualcomm ADSP Hexagon core. "qcom,qcs404-adsp-pas" "qcom,qcs404-cdsp-pas" "qcom,qcs404-wcss-pas" + "qcom,sc7180-mpss-pas" "qcom,sdm845-adsp-pas" "qcom,sdm845-cdsp-pas" "qcom,sm8150-adsp-pas"@@ -46,6 +47,7 @@ on the Qualcomm ADSP Hexagon core. qcom,sm8150-slpi-pas: must be "wdog", "fatal", "ready", "handover", "stop-ack" qcom,qcs404-wcss-pas: + qcom,sc7180-mpss-pas: qcom,sm8150-mpss-pas: must be "wdog", "fatal", "ready", "handover", "stop-ack", "shutdown-ack"@@ -106,6 +108,7 @@ on the Qualcomm ADSP Hexagon core. qcom,sm8150-adsp-pas: qcom,sm8150-cdsp-pas: must be "cx", "load_state" + qcom,sc7180-mpss-pas: qcom,sm8150-mpss-pas: must be "cx", "load_state", "mss" qcom,sm8150-slpi-pas:Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project
PATCH 2/5 remoteproc: qcom: pas: Add SC7180 Modem support
In reply to Sibi SankarAdd support for booting the Modem DSP found on Qualcomm's SC7180 SoCs.
--- drivers/remoteproc/qcom_q6v5_pas.c | 1 + 1 file changed, 1 insertion(+)
drivers/remoteproc/qcom_q6v5_pas.c +1 -0
@@ -637,6 +637,7 @@ static const struct of_device_id adsp_of_match[] = { { .compatible = "qcom,qcs404-adsp-pas", .data = &adsp_resource_init }, { .compatible = "qcom,qcs404-cdsp-pas", .data = &cdsp_resource_init }, { .compatible = "qcom,qcs404-wcss-pas", .data = &wcss_resource_init }, + { .compatible = "qcom,sc7180-mpss-pas", .data = &mpss_resource_init}, { .compatible = "qcom,sdm845-adsp-pas", .data = &adsp_resource_init}, { .compatible = "qcom,sdm845-cdsp-pas", .data = &cdsp_resource_init}, { .compatible = "qcom,sm8150-adsp-pas", .data = &sm8150_adsp_resource},
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project
Re: [PATCH 2/5] remoteproc: qcom: pas: Add SC7180 Modem support
Quoted 3 lines · Sibi Sankar
Add support for booting the Modem DSP found on Qualcomm's SC7180 SoCs.
Signed-off-by Sibi Sankar <[email protected]>
Regards,
Bjorn
Quoted 19 lines
--- drivers/remoteproc/qcom_q6v5_pas.c | 1 + 1 file changed, 1 insertion(+)drivers/remoteproc/qcom_q6v5_pas.c +1
-0@@ -637,6 +637,7 @@ static const struct of_device_id adsp_of_match[] = { { .compatible = "qcom,qcs404-adsp-pas", .data = &adsp_resource_init }, { .compatible = "qcom,qcs404-cdsp-pas", .data = &cdsp_resource_init }, { .compatible = "qcom,qcs404-wcss-pas", .data = &wcss_resource_init }, + { .compatible = "qcom,sc7180-mpss-pas", .data = &mpss_resource_init}, { .compatible = "qcom,sdm845-adsp-pas", .data = &adsp_resource_init}, { .compatible = "qcom,sdm845-cdsp-pas", .data = &cdsp_resource_init}, { .compatible = "qcom,sm8150-adsp-pas", .data = &sm8150_adsp_resource},Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project
PATCH 3/5 arm64: dts: qcom: sc7180: Update reserved memory map
In reply to Sibi SankarAdd missing regions and remove unused regions from the reserved memory map, as described in version 5.
--- arch/arm64/boot/dts/qcom/sc7180-idp.dts | 63 +++++++++++++++++++ arch/arm64/boot/dts/qcom/sc7180.dtsi | 83 ++++++++++++++++++++++++- 2 files changed, 144 insertions(+), 2 deletions(-)
arch/arm64/boot/dts/qcom/sc7180-idp.dts +63 -0
@@ -28,6 +28,69 @@ chosen { }; }; +/* + * Reserved memory changes + * + * Keep all modifications to the memory map (from sc7180.dtsi) in one place. + * Delete all unused memory nodes and re-create atf_mem/venus_mem/camera_mem + * and wlan_mem memory nodes. + * + */ + +/delete-node/ &hyp_mem; +/delete-node/ &xbl_mem; +/delete-node/ &aop_mem; +/delete-node/ &sec_apps_mem; +/delete-node/ &tz_mem; +/delete-node/ &camera_mem; +/delete-node/ &npu_mem; +/delete-node/ &venus_mem; +/delete-node/ &cdsp_mem; +/delete-node/ &adsp_mem; +/delete-node/ &wlan_mem; +/delete-node/ &ipa_fw_mem; +/delete-node/ &ipa_gsi_mem; +/delete-node/ &gpu_mem; + +/* Increase the size from 132 MB to 140 MB */ +&mpss_mem { + reg = <0x0 0x86000000 0x0 0x8c00000>; +}; + +/* Increase the size from 2MB to 8MB */ +&rmtfs_mem { + reg = <0x0 0x84400000 0x0 0x800000>; +}; + +/ { + reserved-memory { + atf_mem: memory@80b00000 { + reg = <0x0 0x80b00000 0x0 0x100000>; + no-map; + }; + + camera_mem: memory@8ec00000 { + reg = <0x0 0x8ec00000 0x0 0x500000>; + no-map; + }; + + venus_mem: memory@8f600000 { + reg = <0 0x8f600000 0 0x500000>; + no-map; + }; + + wlan_mem: memory@94100000 { + reg = <0x0 0x94100000 0x0 0x200000>; + no-map; + }; + + mba_mem: memory@94400000 { + reg = <0x0 0x94400000 0x0 0x200000>; + no-map; + }; + }; +}; + &apps_rsc { pm6150-rpmh-regulators { compatible = "qcom,pm6150-rpmh-regulators";
arch/arm64/boot/dts/qcom/sc7180.dtsi +81 -2
99 lines not on this page · raw message
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project
Re: [PATCH 3/5] arm64: dts: qcom: sc7180: Update reserved memory map
Quoted 3 lines · Sibi Sankar
Add missing regions and remove unused regions from the reserved memory map, as described in version 5.
Your patch looks good, but I'm quite unhappy with the way these turns out and we have been ignoring the fact that different devices on the same platform (with TZ) might come with different firmware versions and hence different layout of the peripheral memory region.
So how about pushing out at least the peripheral regions to the device's dts (the others are pretty much static, except when using coreboot)? That should reduce your patch to 4(?) delete-nodes?
Regards,
Bjorn
Quoted 187 lines
Signed-off-by Sibi Sankar <[email protected]>--- arch/arm64/boot/dts/qcom/sc7180-idp.dts | 63 +++++++++++++++++++ arch/arm64/boot/dts/qcom/sc7180.dtsi | 83 ++++++++++++++++++++++++- 2 files changed, 144 insertions(+), 2 deletions(-)arch/arm64/boot/dts/qcom/sc7180-idp.dts +63
-0@@ -28,6 +28,69 @@ chosen { }; }; +/* + * Reserved memory changes + * + * Keep all modifications to the memory map (from sc7180.dtsi) in one place. + * Delete all unused memory nodes and re-create atf_mem/venus_mem/camera_mem + * and wlan_mem memory nodes. + * + */ + +/delete-node/ &hyp_mem; +/delete-node/ &xbl_mem; +/delete-node/ &aop_mem; +/delete-node/ &sec_apps_mem; +/delete-node/ &tz_mem; +/delete-node/ &camera_mem; +/delete-node/ &npu_mem; +/delete-node/ &venus_mem; +/delete-node/ &cdsp_mem; +/delete-node/ &adsp_mem; +/delete-node/ &wlan_mem; +/delete-node/ &ipa_fw_mem; +/delete-node/ &ipa_gsi_mem; +/delete-node/ &gpu_mem; + +/* Increase the size from 132 MB to 140 MB */ +&mpss_mem { + reg = <0x0 0x86000000 0x0 0x8c00000>; +}; + +/* Increase the size from 2MB to 8MB */ +&rmtfs_mem { + reg = <0x0 0x84400000 0x0 0x800000>; +}; + +/ { + reserved-memory { + atf_mem: memory@80b00000 { + reg = <0x0 0x80b00000 0x0 0x100000>; + no-map; + }; + + camera_mem: memory@8ec00000 { + reg = <0x0 0x8ec00000 0x0 0x500000>; + no-map; + }; + + venus_mem: memory@8f600000 { + reg = <0 0x8f600000 0 0x500000>; + no-map; + }; + + wlan_mem: memory@94100000 { + reg = <0x0 0x94100000 0x0 0x200000>; + no-map; + }; + + mba_mem: memory@94400000 { + reg = <0x0 0x94400000 0x0 0x200000>; + no-map; + }; + }; +}; + &apps_rsc { pm6150-rpmh-regulators { compatible = "qcom,pm6150-rpmh-regulators";arch/arm64/boot/dts/qcom/sc7180.dtsi +81
-2@@ -69,18 +69,97 @@ reserved_memory: reserved-memory { #size-cells = <2>; ranges; + hyp_mem: memory@80000000 { + reg = <0x0 0x80000000 0x0 0x600000>; + no-map; + }; + + xbl_mem: memory@80600000 { + reg = <0x0 0x80600000 0x0 0x200000>; + no-map; + }; + + aop_mem: memory@80800000 { + reg = <0x0 0x80800000 0x0 0x20000>; + no-map; + }; + aop_cmd_db_mem: memory@80820000 { reg = <0x0 0x80820000 0x0 0x20000>; compatible = "qcom,cmd-db"; }; + sec_apps_mem: memory@808ff000 { + reg = <0x0 0x808ff000 0x0 0x1000>; + no-map; + }; + smem_mem: memory@80900000 { reg = <0x0 0x80900000 0x0 0x200000>; no-map; }; - venus_mem: memory@8f600000 { - reg = <0 0x8f600000 0 0x500000>; + tz_mem: memory@80b00000 { + reg = <0x0 0x80b00000 0x0 0x3900000>; + no-map; + }; + + rmtfs_mem: memory@84400000 { + compatible = "qcom,rmtfs-mem"; + reg = <0x0 0x84400000 0x0 0x200000>; + no-map; + + qcom,client-id = <1>; + qcom,vmid = <15>; + }; + + mpss_mem: memory@86000000 { + reg = <0x0 0x86000000 0x0 0x8400000>; + no-map; + }; + + camera_mem: memory@8e400000 { + reg = <0x0 0x8e400000 0x0 0x500000>; + no-map; + }; + + npu_mem: memory@8e900000 { + reg = <0x0 0x8e900000 0x0 0x500000>; + no-map; + }; + + venus_mem: memory@8ee00000 { + reg = <0x0 0x8ee00000 0x0 0x500000>; + no-map; + }; + + cdsp_mem: memory@8f300000 { + reg = <0x0 0x8f300000 0x0 0x1e00000>; + no-map; + }; + + adsp_mem: memory@91100000 { + reg = <0x0 0x91100000 0x0 0x2800000>; + no-map; + }; + + wlan_mem: memory@93900000 { + reg = <0x0 0x93900000 0x0 0x200000>; + no-map; + }; + + ipa_fw_mem: memory@93b00000 { + reg = <0x0 0x93b00000 0x0 0x10000>; + no-map; + }; + + ipa_gsi_mem: memory@93b10000 { + reg = <0x0 0x93b10000 0x0 0x5000>; + no-map; + }; + + gpu_mem: memory@93b15000 { + reg = <0x0 0x93b15000 0x0 0x2000>; no-map; }; };Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project
PATCH 4/5 arm64: dts: qcom: sc7180: Add Q6V5 MSS node
In reply to Sibi SankarThis patch adds Q6V5 MSS PAS remoteproc node for SC7180 SoCs.
--- arch/arm64/boot/dts/qcom/sc7180.dtsi | 36 ++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+)
arch/arm64/boot/dts/qcom/sc7180.dtsi +36 -0
@@ -1372,6 +1372,42 @@ sd-cd { }; }; + remoteproc_mpss: remoteproc@4080000 { + compatible = "qcom,sc7180-mpss-pas"; + reg = <0x0 0x04080000 0x0 0x4040>; + + interrupts-extended = <&intc GIC_SPI 266 IRQ_TYPE_EDGE_RISING>, + <&modem_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, + <&modem_smp2p_in 1 IRQ_TYPE_EDGE_RISING>, + <&modem_smp2p_in 2 IRQ_TYPE_EDGE_RISING>, + <&modem_smp2p_in 3 IRQ_TYPE_EDGE_RISING>, + <&modem_smp2p_in 7 IRQ_TYPE_EDGE_RISING>; + interrupt-names = "wdog", "fatal", "ready", "handover", + "stop-ack", "shutdown-ack"; + + clocks = <&rpmhcc RPMH_CXO_CLK>; + clock-names = "xo"; + + power-domains = <&aoss_qmp AOSS_QMP_LS_MODEM>, + <&rpmhpd SC7180_CX>, + <&rpmhpd SC7180_MSS>; + power-domain-names = "load_state", "cx", "mss"; + + memory-region = <&mpss_mem>; + + qcom,smem-states = <&modem_smp2p_out 0>; + qcom,smem-state-names = "stop"; + + status = "disabled"; + + glink-edge { + interrupts = <GIC_SPI 449 IRQ_TYPE_EDGE_RISING>; + label = "modem"; + qcom,remote-pid = <1>; + mboxes = <&apss_shared 12>; + }; + }; + sdhc_2: sdhci@8804000 { compatible = "qcom,sc7180-sdhci", "qcom,sdhci-msm-v5"; reg = <0 0x08804000 0 0x1000>;
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project
PATCH 5/5 arm64: dts: qcom: sc7180: Update Q6V5 MSS node
In reply to Sibi SankarAdd TCSR node and update MSS node to support MSA based Modem boot on SC7180 SoCs.
---
Depends on the following bindings:
iommus: https://patchwork.kernel.org/patch/11443101/
spare-regs: https://patchwork.kernel.org/patch/11491425/
arch/arm64/boot/dts/qcom/sc7180-idp.dts | 42 +++++++++++++++++++++++++ arch/arm64/boot/dts/qcom/sc7180.dtsi | 5 +++ 2 files changed, 47 insertions(+)
arch/arm64/boot/dts/qcom/sc7180-idp.dts +42 -0
@@ -319,6 +319,48 @@ &qupv3_id_1 { status = "okay"; }; +&remoteproc_mpss { + compatible = "qcom,sc7180-mss-pil"; + reg = <0 0x04080000 0 0x410>, <0 0x04180000 0 0x48>; + reg-names = "qdsp6", "rmb"; + + clocks = <&gcc GCC_MSS_CFG_AHB_CLK>, + <&gcc GCC_MSS_Q6_MEMNOC_AXI_CLK>, + <&gcc GCC_MSS_NAV_AXI_CLK>, + <&gcc GCC_MSS_SNOC_AXI_CLK>, + <&gcc GCC_MSS_MFAB_AXIS_CLK>, + <&rpmhcc RPMH_CXO_CLK>; + clock-names = "iface", "bus", "nav", "snoc_axi", + "mnoc_axi", "xo"; + + iommus = <&apps_smmu 0x460 0x1>, <&apps_smmu 0x444 0x2>; + + resets = <&aoss_reset AOSS_CC_MSS_RESTART>, + <&pdc_reset PDC_MODEM_SYNC_RESET>; + reset-names = "mss_restart", "pdc_reset"; + + qcom,halt-regs = <&tcsr_mutex_regs 0x23000 0x25000 0x24000>; + qcom,spare-regs = <&tcsr_regs 0xb3e4>; + + power-domains = <&aoss_qmp AOSS_QMP_LS_MODEM>, + <&rpmhpd SC7180_CX>, + <&rpmhpd SC7180_MX>, + <&rpmhpd SC7180_MSS>; + power-domain-names = "load_state", "cx", "mx", "mss"; + + /delete-property/memory-region; + + status = "okay"; + + mba { + memory-region = <&mba_mem>; + }; + + mpss { + memory-region = <&mpss_mem>; + }; +}; + &uart3 { status = "okay";
arch/arm64/boot/dts/qcom/sc7180.dtsi +5 -0
@@ -981,6 +981,11 @@ tcsr_mutex_regs: syscon@1f40000 { reg = <0 0x01f40000 0 0x40000>; }; + tcsr_regs: syscon@1fc0000 { + compatible = "syscon"; + reg = <0 0x01fc0000 0 0x40000>; + }; + tlmm: pinctrl@3500000 { compatible = "qcom,sc7180-pinctrl"; reg = <0 0x03500000 0 0x300000>,
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project
Re: [PATCH 5/5] arm64: dts: qcom: sc7180: Update Q6V5 MSS node
Quoted 19 lines · Sibi Sankar
Add TCSR node and update MSS node to support MSA based Modem boot on SC7180 SoCs.
Signed-off-by Sibi Sankar <[email protected]>---
Depends on the following bindings:
iommus: https://patchwork.kernel.org/patch/11443101/
spare-regs: https://patchwork.kernel.org/patch/11491425/arch/arm64/boot/dts/qcom/sc7180-idp.dts | 42 +++++++++++++++++++++++++ arch/arm64/boot/dts/qcom/sc7180.dtsi | 5 +++ 2 files changed, 47 insertions(+)arch/arm64/boot/dts/qcom/sc7180-idp.dts +0
-0
arch/arm64/boot/dts/qcom/sc7180-idp.dts &qupv3_id_1 { · line 324
Quoted 6 lines
arch/arm64/boot/dts/qcom/sc7180-idp.dts +3
-0@@ -319,6 +319,48 @@ &qupv3_id_1 { status = "okay"; }; +&remoteproc_mpss { + compatible = "qcom,sc7180-mss-pil"; + reg = <0 0x04080000 0 0x410>, <0 0x04180000 0 0x48>;
I think we should overspecify the properties in the platform dtsi, whenever possible - it shouldn't be a problem that the pas driver doesn't use all the properties provided by the binding.
As such I think you should move the reg, clocks, resets, halt regs and power-domains to the platform.
Quoted 22 lines
arch/arm64/boot/dts/qcom/sc7180-idp.dts +22
-0+ reg-names = "qdsp6", "rmb"; + + clocks = <&gcc GCC_MSS_CFG_AHB_CLK>, + <&gcc GCC_MSS_Q6_MEMNOC_AXI_CLK>, + <&gcc GCC_MSS_NAV_AXI_CLK>, + <&gcc GCC_MSS_SNOC_AXI_CLK>, + <&gcc GCC_MSS_MFAB_AXIS_CLK>, + <&rpmhcc RPMH_CXO_CLK>; + clock-names = "iface", "bus", "nav", "snoc_axi", + "mnoc_axi", "xo"; + + iommus = <&apps_smmu 0x460 0x1>, <&apps_smmu 0x444 0x2>; + + resets = <&aoss_reset AOSS_CC_MSS_RESTART>, + <&pdc_reset PDC_MODEM_SYNC_RESET>; + reset-names = "mss_restart", "pdc_reset"; + + qcom,halt-regs = <&tcsr_mutex_regs 0x23000 0x25000 0x24000>; + qcom,spare-regs = <&tcsr_regs 0xb3e4>; + + power-domains = <&aoss_qmp AOSS_QMP_LS_MODEM>, + <&rpmhpd SC7180_CX>,
arch/arm64/boot/dts/qcom/sc7180-idp.dts &qupv3_id_1 { · line 356
Quoted 10 lines
arch/arm64/boot/dts/qcom/sc7180-idp.dts +10
-0+ <&rpmhpd SC7180_MX>, + <&rpmhpd SC7180_MSS>; + power-domain-names = "load_state", "cx", "mx", "mss"; + + /delete-property/memory-region; + + status = "okay"; + + mba { + memory-region = <&mba_mem>;
When I wrote this I was under the impression that memory-region wasn't allowed to take an array of regions, perhaps we can make the mss binding and driver support a multi-cell memory-region in the of_node directly and drop these sub children.
Then it would be a cleaner update of the pas' memory-region.
But I'm fine with us putting this part on the todo list for the time being...
Regards,
Bjorn
Quoted 29 lines
arch/arm64/boot/dts/qcom/sc7180-idp.dts +7
-0+ }; + + mpss { + memory-region = <&mpss_mem>; + }; +}; + &uart3 { status = "okay";arch/arm64/boot/dts/qcom/sc7180.dtsi +5
-0@@ -981,6 +981,11 @@ tcsr_mutex_regs: syscon@1f40000 { reg = <0 0x01f40000 0 0x40000>; }; + tcsr_regs: syscon@1fc0000 { + compatible = "syscon"; + reg = <0 0x01fc0000 0 0x40000>; + }; + tlmm: pinctrl@3500000 { compatible = "qcom,sc7180-pinctrl"; reg = <0 0x03500000 0 0x300000>,Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project
Re: [PATCH 5/5] arm64: dts: qcom: sc7180: Update Q6V5 MSS node
Hey Bjorn,
Thanks for reviewing the series!
Addressed all the review comments
in v3.
Quoted 74 lines · Bjorn Andersson
Quoted 20 lines · Sibi Sankar
Add TCSR node and update MSS node to support MSA based Modem boot on SC7180 SoCs.
Signed-off-by Sibi Sankar <[email protected]>---
Depends on the following bindings:
iommus: https://patchwork.kernel.org/patch/11443101/
spare-regs: https://patchwork.kernel.org/patch/11491425/arch/arm64/boot/dts/qcom/sc7180-idp.dts | 42 +++++++++++++++++++++++++ arch/arm64/boot/dts/qcom/sc7180.dtsi | 5 +++ 2 files changed, 47 insertions(+)arch/arm64/boot/dts/qcom/sc7180-idp.dts +0
-0arch/arm64/boot/dts/qcom/sc7180-idp.dts &qupv3_id_1 { · line 324
Quoted 6 lines
arch/arm64/boot/dts/qcom/sc7180-idp.dts +3
-0@@ -319,6 +319,48 @@ &qupv3_id_1 { status = "okay"; }; +&remoteproc_mpss { + compatible = "qcom,sc7180-mss-pil"; + reg = <0 0x04080000 0 0x410>, <0 0x04180000 0 0x48>;I think we should overspecify the properties in the platform dtsi, whenever possible - it shouldn't be a problem that the pas driver doesn't use all the properties provided by the binding.
As such I think you should move the reg, clocks, resets, halt regs and power-domains to the platform.
Quoted 22 lines
arch/arm64/boot/dts/qcom/sc7180-idp.dts +22
-0+ reg-names = "qdsp6", "rmb"; + + clocks = <&gcc GCC_MSS_CFG_AHB_CLK>, + <&gcc GCC_MSS_Q6_MEMNOC_AXI_CLK>, + <&gcc GCC_MSS_NAV_AXI_CLK>, + <&gcc GCC_MSS_SNOC_AXI_CLK>, + <&gcc GCC_MSS_MFAB_AXIS_CLK>, + <&rpmhcc RPMH_CXO_CLK>; + clock-names = "iface", "bus", "nav", "snoc_axi", + "mnoc_axi", "xo"; + + iommus = <&apps_smmu 0x460 0x1>, <&apps_smmu 0x444 0x2>; + + resets = <&aoss_reset AOSS_CC_MSS_RESTART>, + <&pdc_reset PDC_MODEM_SYNC_RESET>; + reset-names = "mss_restart", "pdc_reset"; + + qcom,halt-regs = <&tcsr_mutex_regs 0x23000 0x25000 0x24000>; + qcom,spare-regs = <&tcsr_regs 0xb3e4>; + + power-domains = <&aoss_qmp AOSS_QMP_LS_MODEM>, + <&rpmhpd SC7180_CX>,arch/arm64/boot/dts/qcom/sc7180-idp.dts &qupv3_id_1 { · line 356
Quoted 10 lines
arch/arm64/boot/dts/qcom/sc7180-idp.dts +10
-0+ <&rpmhpd SC7180_MX>, + <&rpmhpd SC7180_MSS>; + power-domain-names = "load_state", "cx", "mx", "mss"; + + /delete-property/memory-region; + + status = "okay"; + + mba { + memory-region = <&mba_mem>;When I wrote this I was under the impression that memory-region wasn't allowed to take an array of regions, perhaps we can make the mss binding and driver support a multi-cell memory-region in the
of_nodedirectly and drop these sub children.
Quoted 4 lines
Then it would be a cleaner update of the pas' memory-region.
But I'm fine with us putting this part on the todo list for the time being...
I've switched to using memory-region
in v3. I'll plan to convert the doc
to yaml after the remaining bindings
changes land.
Quoted 33 lines
Regards,
BjornQuoted 29 lines
arch/arm64/boot/dts/qcom/sc7180-idp.dts +7
-0+ }; + + mpss { + memory-region = <&mpss_mem>; + }; +}; + &uart3 { status = "okay";arch/arm64/boot/dts/qcom/sc7180.dtsi +5
-1@@ -981,6 +981,11 @@ tcsr_mutex_regs: syscon@1f40000 { reg = <0 0x01f40000 0 0x40000>; }; + tcsr_regs: syscon@1fc0000 { + compatible = "syscon"; + reg = <0 0x01fc0000 0 0x40000>; + }; + tlmm: pinctrl@3500000 { compatible = "qcom,sc7180-pinctrl"; reg = <0 0x03500000 0 0x300000>, --The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project
Signature · 2 lines
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project.