From 6e5000b911cb5b11852ab951d187d82e75770a8a Mon Sep 17 00:00:00 2001 From: Vijayanand Jitta Date: Wed, 13 Nov 2024 13:37:34 +0530 Subject: [PATCH 1/6] ARM: dts: msm: Add power domain and interconnect for kgsl-smmu Replace regulators with per-device genpd power domain and add interconnect for kgsl-smmu on tuna. Change-Id: I897b39ba98beaf630efef5397957e8cfb26b3d08 Signed-off-by: Vijayanand Jitta --- qcom/msm-arm-smmu-tuna.dtsi | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/qcom/msm-arm-smmu-tuna.dtsi b/qcom/msm-arm-smmu-tuna.dtsi index db01ac18..b58b38b3 100644 --- a/qcom/msm-arm-smmu-tuna.dtsi +++ b/qcom/msm-arm-smmu-tuna.dtsi @@ -17,8 +17,13 @@ ranges; dma-coherent; - qcom,regulator-names = "vdd"; - vdd-supply = <&gpu_cc_cx_gdsc>; + /* + * When gdsc is enabled, and cpu enters cpuidle, DDR + * bandwidth vote must be present to prevent DDR + * shutdown. + */ + power-domains = <&gpucc GPU_CC_CX_SMMU_GDSC>; + interconnects = <&gem_noc MASTER_GPU_TCU &mc_virt SLAVE_EBI1>; clocks = <&gpucc GPU_CC_HLOS1_VOTE_GPU_SMMU_CLK>; clock-names = From 45f50c8d8a26cbf5464760a57fc76e33067b9d44 Mon Sep 17 00:00:00 2001 From: Vijayanand Jitta Date: Tue, 29 Oct 2024 10:50:05 +0530 Subject: [PATCH 2/6] ARM: dts: msm: Update memory map for kera Update memory map for kera, inline with v2. Change-Id: I28488932a269a5c1ef6c131e9385cf7604ea723e Signed-off-by: Vijayanand Jitta --- qcom/kera-reserved-memory.dtsi | 82 +++++++++++++++------------------- qcom/kera.dtsi | 2 +- 2 files changed, 37 insertions(+), 47 deletions(-) diff --git a/qcom/kera-reserved-memory.dtsi b/qcom/kera-reserved-memory.dtsi index a0c6bbdf..665a87f6 100644 --- a/qcom/kera-reserved-memory.dtsi +++ b/qcom/kera-reserved-memory.dtsi @@ -18,9 +18,9 @@ reg = <0x0 0x80e00000 0x0 0x400000>; }; - cpucp_pdp_mem: cpucp_region@81200000 { + cpucp_mem: cpucp_region@81200000 { no-map; - reg = <0x0 0x81200000 0x0 0x200000>; + reg = <0x0 0x81200000 0x0 0x100000>; }; /* @@ -77,14 +77,9 @@ no-map; }; - pdp_ns_shared_mem: pdp_ns_shared_region@81f00000 { + cpucp_scandump_mem: cpucp_scandump_region@82200000 { no-map; - reg = <0x0 0x81f00000 0x0 0x100000>; - }; - - cpucp_scandump_mem: cpucp_scandump_region@82000000 { - no-map; - reg = <0x0 0x82000000 0x0 0x380000>; + reg = <0x0 0x82200000 0x0 0x180000>; }; adsp_mhi_mem: adsp_mhi_region@82380000 { @@ -124,87 +119,82 @@ dsm_partition_1_mem: dsm_partition_1_region@84a00000 { no-map; - reg = <0x0 0x84a00000 0x0 0x4900000>; + reg = <0x0 0x84a00000 0x0 0x3700000>; }; - dsm_partition_2_mem: dsm_partition_2_region@89300000 { + mpss_mem: mpss_region@88100000 { no-map; - reg = <0x0 0x89300000 0x0 0xa80000>; + reg = <0x0 0x88100000 0x0 0xcd00000>; }; - mpss_mem: mpss_region@89e00000 { + q6_mpss_dtb_mem: q6_mpss_dtb_region@94e00000 { no-map; - reg = <0x0 0x89e00000 0x0 0x11200000>; + reg = <0x0 0x94e00000 0x0 0x80000>; }; - q6_mpss_dtb_mem: q6_mpss_dtb_region@9b000000 { + ipa_fw_mem: ipa_fw_region@94e80000 { no-map; - reg = <0x0 0x9b000000 0x0 0x80000>; + reg = <0x0 0x94e80000 0x0 0x10000>; }; - ipa_fw_mem: ipa_fw_region@9b080000 { + ipa_gsi_mem: ipa_gsi_region@94e90000 { no-map; - reg = <0x0 0x9b080000 0x0 0x10000>; + reg = <0x0 0x94e90000 0x0 0xa000>; }; - ipa_gsi_mem: ipa_gsi_region@9b090000 { + gpu_microcode_mem: gpu_microcode_region@94e9a000 { no-map; - reg = <0x0 0x9b090000 0x0 0xa000>; + reg = <0x0 0x94e9a000 0x0 0x2000>; }; - gpu_microcode_mem: gpu_microcode_region@9b09a000 { + camera_mem: camera_region@94f00000 { no-map; - reg = <0x0 0x9b09a000 0x0 0x2000>; + reg = <0x0 0x94f00000 0x0 0x800000>; }; - camera_mem: camera_region@9b300000 { + camera_2_mem: camera_2_region@95700000 { no-map; - reg = <0x0 0x9b300000 0x0 0x800000>; + reg = <0x0 0x95700000 0x0 0x800000>; }; - camera_2_mem: camera_2_region@9bb00000 { + video_mem: video_region@95f00000 { no-map; - reg = <0x0 0x9bb00000 0x0 0x800000>; + reg = <0x0 0x95f00000 0x0 0x800000>; }; - video_mem: video_region@9c300000 { + cvp_mem: cvp_region@96700000 { no-map; - reg = <0x0 0x9c300000 0x0 0x800000>; + reg = <0x0 0x96700000 0x0 0x700000>; }; - cvp_mem: cvp_region@9cb00000 { + soccp_mem: soccp_region@96e00000 { no-map; - reg = <0x0 0x9cb00000 0x0 0x700000>; + reg = <0x0 0x96e00000 0x0 0x180000>; }; - cdsp_mem: cdsp_region@9d200000 { + wpss_mem: wpss_region@97000000 { no-map; - reg = <0x0 0x9d200000 0x0 0x2000000>; + reg = <0x0 0x97000000 0x0 0x1900000>; }; - q6_cdsp_dtb_mem: q6_cdsp_dtb_region@9f200000 { + cdsp_mem: cdsp_region@98900000 { no-map; - reg = <0x0 0x9f200000 0x0 0x80000>; + reg = <0x0 0x98900000 0x0 0x1900000>; }; - q6_adsp_dtb_mem: q6_adsp_dtb_region@9f280000 { + q6_cdsp_dtb_mem: q6_cdsp_dtb_region@9a200000 { no-map; - reg = <0x0 0x9f280000 0x0 0x80000>; + reg = <0x0 0x9a200000 0x0 0x80000>; }; - adspslpi_mem: adspslpi_region@9f300000 { + q6_adsp_dtb_mem: q6_adsp_dtb_region@9a280000 { no-map; - reg = <0x0 0x9f300000 0x0 0x4080000>; + reg = <0x0 0x9a280000 0x0 0x80000>; }; - soccp_mem: soccp_region@a3380000 { + adspslpi_mem: adspslpi_region@9a300000 { no-map; - reg = <0x0 0xa3380000 0x0 0x180000>; - }; - - wpss_mem: wpss_region@a3500000 { - no-map; - reg = <0x0 0xa3500000 0x0 0x1900000>; + reg = <0x0 0x9a300000 0x0 0x3a80000>; }; wlan_msa_mem: wlan_msa_region@a6400000 { @@ -249,7 +239,7 @@ llcc_lpi_mem: llcc_lpi_region@ff800000 { no-map; - reg = <0x0 0xff800000 0x0 0x400000>; + reg = <0x0 0xff800000 0x0 0x180000>; }; }; diff --git a/qcom/kera.dtsi b/qcom/kera.dtsi index 7a61f8d0..89a39d8a 100644 --- a/qcom/kera.dtsi +++ b/qcom/kera.dtsi @@ -794,7 +794,7 @@ firmware-name = "modem.mdt", "modem_dtb.mdt"; - memory-region = <&mpss_mem &q6_mpss_dtb_mem &system_cma &dsm_partition_1_mem &dsm_partition_2_mem>; + memory-region = <&mpss_mem &q6_mpss_dtb_mem &system_cma &dsm_partition_1_mem>; /* Inputs from mss */ interrupts-extended = <&intc GIC_SPI 264 IRQ_TYPE_EDGE_RISING>, From c22bedce8fe424a6a72509d0f07f36592ed33646 Mon Sep 17 00:00:00 2001 From: Sneh Mankad Date: Tue, 19 Nov 2024 00:17:30 +0530 Subject: [PATCH 3/6] ARM: dts: msm: Modify Display and PCIe CRM devices for tuna Rectify the interrupt numbers for display and pcie crm. Change-Id: Idc4339263eae94266bd51964dbb2bd9dd7c31dfd Signed-off-by: Sneh Mankad --- qcom/tuna.dtsi | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/qcom/tuna.dtsi b/qcom/tuna.dtsi index 57fc7281..59a8c43c 100644 --- a/qcom/tuna.dtsi +++ b/qcom/tuna.dtsi @@ -841,9 +841,9 @@ reg = <0xaf21000 0x6000>, <0xaf27000 0x400>, <0xaf27400 0x400>, <0xaf27800 0x2000>, <0xaf29800 0x700>, <0xaf29f00 0x100>; reg-names = "base", "crm_b", "crm_b_pt", "crm_c", "crm_v", "common"; - interrupts = , - , - , + interrupts = , + , + , , , ; @@ -877,7 +877,7 @@ reg = <0x1d01000 0x2000>, <0x1d03000 0x400>, <0x1d03400 0x400>, <0x1d03800 0x2000>, <0x1d05800 0x700>, <0x1d05f00 0x100>; reg-names = "base", "crm_b", "crm_b_pt", "crm_c", "crm_v", "common"; - interrupts = ; + interrupts = ; interrupt-names = "pcie_crm_drv0"; clocks = <&pcie_0_pipe_clk>; qcom,hw-drv-ids = <0 1>; From d27754d423ee35d0ed0e2b2afdfc21b754e9b3e0 Mon Sep 17 00:00:00 2001 From: Akhil Budampati Date: Sun, 17 Nov 2024 18:19:56 +0530 Subject: [PATCH 4/6] ARM: dts: msm: enabling mem-object node for tuna Tuna needs mem-object node for si-core xts enablement. Change-Id: I1ece1cc93606cc11febab038ae2e7f0ab7f0bd8e Signed-off-by: Akhil Budampati --- qcom/tuna-oemvm.dtsi | 4 ++++ qcom/tuna-vm.dtsi | 4 ++++ qcom/tuna.dtsi | 4 ++++ 3 files changed, 12 insertions(+) diff --git a/qcom/tuna-oemvm.dtsi b/qcom/tuna-oemvm.dtsi index bdd5e6a1..2efd2aae 100644 --- a/qcom/tuna-oemvm.dtsi +++ b/qcom/tuna-oemvm.dtsi @@ -307,6 +307,10 @@ compatible = "qcom,smcinvoke"; }; + qcom_mem_object { + compatible = "qcom,mem-object"; + }; + qcom,qrtr { compatible = "qcom,qrtr"; qcom,node-id = <21>; diff --git a/qcom/tuna-vm.dtsi b/qcom/tuna-vm.dtsi index 814a1852..9baafb40 100644 --- a/qcom/tuna-vm.dtsi +++ b/qcom/tuna-vm.dtsi @@ -420,6 +420,10 @@ compatible = "qcom,smcinvoke"; }; + qcom_mem_object { + compatible = "qcom,mem-object"; + }; + qtee_shmbridge { compatible = "qcom,tee-shared-memory-bridge"; qcom,custom-bridge-size = <64>; diff --git a/qcom/tuna.dtsi b/qcom/tuna.dtsi index 59a8c43c..698b00f3 100644 --- a/qcom/tuna.dtsi +++ b/qcom/tuna.dtsi @@ -488,6 +488,10 @@ compatible = "qcom,smcinvoke"; }; + qcom_mem_object { + compatible = "qcom,mem-object"; + }; + qtee_shmbridge { compatible = "qcom,tee-shared-memory-bridge"; }; From 061c027a2a3ea64d39ce59da92d472a737f44717 Mon Sep 17 00:00:00 2001 From: Uttkarsh Aggarwal Date: Fri, 15 Nov 2024 14:11:06 +0530 Subject: [PATCH 5/6] ARM: dts: msm: Adding dependency of iommu node on USB driver Currently, wait_for_device_probe api added before dwc3_probe is called in core_init which is suppose to ensure that in case the child is getting teared down, the userspace doesn't get to write UDC and do gadget_start. However, wait_for_device_probe api makes sure that the driver wait until all probes are completed. Ideally, it wouldn't be a problem but in cases of other driver's probe fails, usb would be affected here even though usb isn't at fault. Fix this by making a dummy-dependency on smmu node since the original intention of the patch was to make sure if smmu driver was probed successfully, then only proceed for child driver's probe. Addtional: Adding qcom,dis-sending-cm-l1-quirk in tuna Change-Id: I7503fd04407ef8d2ee108effcc95699a4325c9c5 Signed-off-by: Uttkarsh Aggarwal --- qcom/tuna-usb.dtsi | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/qcom/tuna-usb.dtsi b/qcom/tuna-usb.dtsi index 295425b4..ca4fee3e 100644 --- a/qcom/tuna-usb.dtsi +++ b/qcom/tuna-usb.dtsi @@ -40,6 +40,7 @@ qcom,use-pdc-interrupts; qcom,use-eusb2-phy; + qcom,dis-sending-cm-l1-quirk; qcom,core-clk-rate = <200000000>; qcom,core-clk-rate-hs = <66666667>; qcom,core-clk-rate-disconnected = <133333333>; @@ -58,6 +59,13 @@ 0x144 /* GSI_RING_BASE_ADDR_H */ 0x1a4>; /* GSI_IF_STS */ + /* + * Establish dependency on smmu driver so that depopulate path of + * deferred probe doesn't run into existing bug in smmu driver. + */ + dummy-supply = <&apps_smmu>; + + dwc3_0: dwc3@a600000 { compatible = "snps,dwc3"; reg = <0x0 0xa600000 0x0 0xd93c>; From a121d96ca2e00fe7a053d5f3751564300c30f98a Mon Sep 17 00:00:00 2001 From: Uttkarsh Aggarwal Date: Fri, 22 Nov 2024 11:46:02 +0530 Subject: [PATCH 6/6] ARM: dts: msm: Add eUSB2 repeater nodes for tuna Add the eUSB2 repeater node and references for PMIH010x and PMIV010x. Note: ATP, QRD and CDP. Change-Id: Id47a3d7243a00be3bf5d186cc5eb8a9b2e6f677d Signed-off-by: Uttkarsh Aggarwal --- qcom/tuna-pmih010x.dtsi | 10 ++++++++++ qcom/tuna-pmiv0108.dtsi | 10 ++++++++++ 2 files changed, 20 insertions(+) diff --git a/qcom/tuna-pmih010x.dtsi b/qcom/tuna-pmih010x.dtsi index 2834f616..e90b1c6e 100644 --- a/qcom/tuna-pmih010x.dtsi +++ b/qcom/tuna-pmih010x.dtsi @@ -198,3 +198,13 @@ }; }; }; + +&pmih010x_eusb2_repeater { + vdd18-supply = <&L7B>; + vdd3-supply = <&L17B>; +}; + +&eusb2_phy0 { + dummy-supply = <&pmih010x_eusb2_repeater>; + usb-repeater = <&pmih010x_eusb2_repeater>; +}; diff --git a/qcom/tuna-pmiv0108.dtsi b/qcom/tuna-pmiv0108.dtsi index 95be68f8..fdb246ad 100644 --- a/qcom/tuna-pmiv0108.dtsi +++ b/qcom/tuna-pmiv0108.dtsi @@ -184,3 +184,13 @@ }; }; }; + +&pmiv010x_eusb2_repeater { + vdd18-supply = <&L7B>; + vdd3-supply = <&L17B>; +}; + +&eusb2_phy0 { + dummy-supply = <&pmiv010x_eusb2_repeater>; + usb-repeater = <&pmiv010x_eusb2_repeater>; +};