arm64: dts: qcom: qcm2290: Hook up interconnects
Add interconnect provider nodes and hook up interconnects to consumer devices, including bwmon. Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org> Link: https://lore.kernel.org/r/20231125-topic-rb1_feat-v3-9-4cbb567743bb@linaro.org Signed-off-by: Bjorn Andersson <andersson@kernel.org>
This commit is contained in:
committed by
Bjorn Andersson
parent
a2b3209670
commit
5b970ff019
@@ -12,6 +12,8 @@
|
||||
#include <dt-bindings/firmware/qcom,scm.h>
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/interconnect/qcom,qcm2290.h>
|
||||
#include <dt-bindings/interconnect/qcom,rpm-icc.h>
|
||||
#include <dt-bindings/power/qcom-rpmpd.h>
|
||||
|
||||
/ {
|
||||
@@ -151,6 +153,8 @@
|
||||
clocks = <&rpmcc RPM_SMD_CE1_CLK>;
|
||||
clock-names = "core";
|
||||
#reset-cells = <1>;
|
||||
interconnects = <&system_noc MASTER_CRYPTO_CORE0 RPM_ALWAYS_TAG
|
||||
&bimc SLAVE_EBI1 RPM_ALWAYS_TAG>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -669,6 +673,33 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
system_noc: interconnect@1880000 {
|
||||
compatible = "qcom,qcm2290-snoc";
|
||||
reg = <0x0 0x01880000 0x0 0x60200>;
|
||||
#interconnect-cells = <2>;
|
||||
|
||||
qup_virt: interconnect-qup {
|
||||
compatible = "qcom,qcm2290-qup-virt";
|
||||
#interconnect-cells = <2>;
|
||||
};
|
||||
|
||||
mmnrt_virt: interconnect-mmnrt {
|
||||
compatible = "qcom,qcm2290-mmnrt-virt";
|
||||
#interconnect-cells = <2>;
|
||||
};
|
||||
|
||||
mmrt_virt: interconnect-mmrt {
|
||||
compatible = "qcom,qcm2290-mmrt-virt";
|
||||
#interconnect-cells = <2>;
|
||||
};
|
||||
};
|
||||
|
||||
config_noc: interconnect@1900000 {
|
||||
compatible = "qcom,qcm2290-cnoc";
|
||||
reg = <0x0 0x01900000 0x0 0x8200>;
|
||||
#interconnect-cells = <2>;
|
||||
};
|
||||
|
||||
qfprom@1b44000 {
|
||||
compatible = "qcom,qcm2290-qfprom", "qcom,qfprom";
|
||||
reg = <0x0 0x01b44000 0x0 0x3000>;
|
||||
@@ -681,6 +712,60 @@
|
||||
};
|
||||
};
|
||||
|
||||
pmu@1b8e300 {
|
||||
compatible = "qcom,qcm2290-cpu-bwmon", "qcom,sdm845-bwmon";
|
||||
reg = <0x0 0x01b8e300 0x0 0x600>;
|
||||
interrupts = <GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH>;
|
||||
|
||||
operating-points-v2 = <&cpu_bwmon_opp_table>;
|
||||
interconnects = <&bimc MASTER_APPSS_PROC RPM_ACTIVE_TAG
|
||||
&bimc SLAVE_EBI1 RPM_ACTIVE_TAG>;
|
||||
|
||||
cpu_bwmon_opp_table: opp-table {
|
||||
compatible = "operating-points-v2";
|
||||
|
||||
opp-0 {
|
||||
opp-peak-kBps = <(200 * 4 * 1000)>;
|
||||
};
|
||||
|
||||
opp-1 {
|
||||
opp-peak-kBps = <(300 * 4 * 1000)>;
|
||||
};
|
||||
|
||||
opp-2 {
|
||||
opp-peak-kBps = <(451 * 4 * 1000)>;
|
||||
};
|
||||
|
||||
opp-3 {
|
||||
opp-peak-kBps = <(547 * 4 * 1000)>;
|
||||
};
|
||||
|
||||
opp-4 {
|
||||
opp-peak-kBps = <(681 * 4 * 1000)>;
|
||||
};
|
||||
|
||||
opp-5 {
|
||||
opp-peak-kBps = <(768 * 4 * 1000)>;
|
||||
};
|
||||
|
||||
opp-6 {
|
||||
opp-peak-kBps = <(1017 * 4 * 1000)>;
|
||||
};
|
||||
|
||||
opp-7 {
|
||||
opp-peak-kBps = <(1353 * 4 * 1000)>;
|
||||
};
|
||||
|
||||
opp-8 {
|
||||
opp-peak-kBps = <(1555 * 4 * 1000)>;
|
||||
};
|
||||
|
||||
opp-9 {
|
||||
opp-peak-kBps = <(1804 * 4 * 1000)>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
spmi_bus: spmi@1c40000 {
|
||||
compatible = "qcom,spmi-pmic-arb";
|
||||
reg = <0x0 0x01c40000 0x0 0x1100>,
|
||||
@@ -721,6 +806,12 @@
|
||||
clock-names = "core";
|
||||
};
|
||||
|
||||
bimc: interconnect@4480000 {
|
||||
compatible = "qcom,qcm2290-bimc";
|
||||
reg = <0x0 0x04480000 0x0 0x80000>;
|
||||
#interconnect-cells = <2>;
|
||||
};
|
||||
|
||||
rpm_msg_ram: sram@45f0000 {
|
||||
compatible = "qcom,rpm-msg-ram";
|
||||
reg = <0x0 0x045f0000 0x0 0x7000>;
|
||||
@@ -756,13 +847,45 @@
|
||||
resets = <&gcc GCC_SDCC1_BCR>;
|
||||
|
||||
power-domains = <&rpmpd QCM2290_VDDCX>;
|
||||
operating-points-v2 = <&sdhc1_opp_table>;
|
||||
iommus = <&apps_smmu 0xc0 0x0>;
|
||||
interconnects = <&system_noc MASTER_SDCC_1 RPM_ALWAYS_TAG
|
||||
&bimc SLAVE_EBI1 RPM_ALWAYS_TAG>,
|
||||
<&bimc MASTER_APPSS_PROC RPM_ALWAYS_TAG
|
||||
&config_noc SLAVE_SDCC_1 RPM_ALWAYS_TAG>;
|
||||
interconnect-names = "sdhc-ddr",
|
||||
"cpu-sdhc";
|
||||
|
||||
qcom,dll-config = <0x000f642c>;
|
||||
qcom,ddr-config = <0x80040868>;
|
||||
bus-width = <8>;
|
||||
|
||||
status = "disabled";
|
||||
|
||||
sdhc1_opp_table: opp-table {
|
||||
compatible = "operating-points-v2";
|
||||
|
||||
opp-100000000 {
|
||||
opp-hz = /bits/ 64 <100000000>;
|
||||
required-opps = <&rpmpd_opp_low_svs>;
|
||||
opp-peak-kBps = <250000 133320>;
|
||||
opp-avg-kBps = <102400 65000>;
|
||||
};
|
||||
|
||||
opp-192000000 {
|
||||
opp-hz = /bits/ 64 <192000000>;
|
||||
required-opps = <&rpmpd_opp_low_svs>;
|
||||
opp-peak-kBps = <800000 300000>;
|
||||
opp-avg-kBps = <204800 200000>;
|
||||
};
|
||||
|
||||
opp-384000000 {
|
||||
opp-hz = /bits/ 64 <384000000>;
|
||||
required-opps = <&rpmpd_opp_svs_plus>;
|
||||
opp-peak-kBps = <800000 300000>;
|
||||
opp-avg-kBps = <204800 200000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
sdhc_2: mmc@4784000 {
|
||||
@@ -786,6 +909,12 @@
|
||||
power-domains = <&rpmpd QCM2290_VDDCX>;
|
||||
operating-points-v2 = <&sdhc2_opp_table>;
|
||||
iommus = <&apps_smmu 0xa0 0x0>;
|
||||
interconnects = <&system_noc MASTER_SDCC_2 RPM_ALWAYS_TAG
|
||||
&bimc SLAVE_EBI1 RPM_ALWAYS_TAG>,
|
||||
<&bimc MASTER_APPSS_PROC RPM_ALWAYS_TAG
|
||||
&config_noc SLAVE_SDCC_2 RPM_ALWAYS_TAG>;
|
||||
interconnect-names = "sdhc-ddr",
|
||||
"cpu-sdhc";
|
||||
|
||||
qcom,dll-config = <0x0007642c>;
|
||||
qcom,ddr-config = <0x80040868>;
|
||||
@@ -799,11 +928,15 @@
|
||||
opp-100000000 {
|
||||
opp-hz = /bits/ 64 <100000000>;
|
||||
required-opps = <&rpmpd_opp_low_svs>;
|
||||
opp-peak-kBps = <250000 133320>;
|
||||
opp-avg-kBps = <261438 150000>;
|
||||
};
|
||||
|
||||
opp-202000000 {
|
||||
opp-hz = /bits/ 64 <202000000>;
|
||||
required-opps = <&rpmpd_opp_svs_plus>;
|
||||
opp-peak-kBps = <800000 300000>;
|
||||
opp-avg-kBps = <261438 300000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -851,6 +984,15 @@
|
||||
dmas = <&gpi_dma0 0 0 QCOM_GPI_I2C>,
|
||||
<&gpi_dma0 1 0 QCOM_GPI_I2C>;
|
||||
dma-names = "tx", "rx";
|
||||
interconnects = <&qup_virt MASTER_QUP_CORE_0 RPM_ALWAYS_TAG
|
||||
&qup_virt SLAVE_QUP_CORE_0 RPM_ALWAYS_TAG>,
|
||||
<&bimc MASTER_APPSS_PROC RPM_ALWAYS_TAG
|
||||
&config_noc SLAVE_QUP_0 RPM_ALWAYS_TAG>,
|
||||
<&system_noc MASTER_QUP_0 RPM_ALWAYS_TAG
|
||||
&bimc SLAVE_EBI1 RPM_ALWAYS_TAG>;
|
||||
interconnect-names = "qup-core",
|
||||
"qup-config",
|
||||
"qup-memory";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
@@ -867,6 +1009,12 @@
|
||||
dmas = <&gpi_dma0 0 0 QCOM_GPI_SPI>,
|
||||
<&gpi_dma0 1 0 QCOM_GPI_SPI>;
|
||||
dma-names = "tx", "rx";
|
||||
interconnects = <&qup_virt MASTER_QUP_CORE_0 RPM_ALWAYS_TAG
|
||||
&qup_virt SLAVE_QUP_CORE_0 RPM_ALWAYS_TAG>,
|
||||
<&bimc MASTER_APPSS_PROC RPM_ALWAYS_TAG
|
||||
&config_noc MASTER_APPSS_PROC RPM_ALWAYS_TAG>;
|
||||
interconnect-names = "qup-core",
|
||||
"qup-config";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
@@ -880,6 +1028,12 @@
|
||||
clock-names = "se";
|
||||
pinctrl-0 = <&qup_uart0_default>;
|
||||
pinctrl-names = "default";
|
||||
interconnects = <&qup_virt MASTER_QUP_CORE_0 RPM_ALWAYS_TAG
|
||||
&qup_virt SLAVE_QUP_CORE_0 RPM_ALWAYS_TAG>,
|
||||
<&bimc MASTER_APPSS_PROC RPM_ALWAYS_TAG
|
||||
&config_noc MASTER_APPSS_PROC RPM_ALWAYS_TAG>;
|
||||
interconnect-names = "qup-core",
|
||||
"qup-config";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@@ -894,6 +1048,15 @@
|
||||
dmas = <&gpi_dma0 0 1 QCOM_GPI_I2C>,
|
||||
<&gpi_dma0 1 1 QCOM_GPI_I2C>;
|
||||
dma-names = "tx", "rx";
|
||||
interconnects = <&qup_virt MASTER_QUP_CORE_0 RPM_ALWAYS_TAG
|
||||
&qup_virt SLAVE_QUP_CORE_0 RPM_ALWAYS_TAG>,
|
||||
<&bimc MASTER_APPSS_PROC RPM_ALWAYS_TAG
|
||||
&config_noc SLAVE_QUP_0 RPM_ALWAYS_TAG>,
|
||||
<&system_noc MASTER_QUP_0 RPM_ALWAYS_TAG
|
||||
&bimc SLAVE_EBI1 RPM_ALWAYS_TAG>;
|
||||
interconnect-names = "qup-core",
|
||||
"qup-config",
|
||||
"qup-memory";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
@@ -910,6 +1073,12 @@
|
||||
dmas = <&gpi_dma0 0 1 QCOM_GPI_SPI>,
|
||||
<&gpi_dma0 1 1 QCOM_GPI_SPI>;
|
||||
dma-names = "tx", "rx";
|
||||
interconnects = <&qup_virt MASTER_QUP_CORE_0 RPM_ALWAYS_TAG
|
||||
&qup_virt SLAVE_QUP_CORE_0 RPM_ALWAYS_TAG>,
|
||||
<&bimc MASTER_APPSS_PROC RPM_ALWAYS_TAG
|
||||
&config_noc MASTER_APPSS_PROC RPM_ALWAYS_TAG>;
|
||||
interconnect-names = "qup-core",
|
||||
"qup-config";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
@@ -926,6 +1095,15 @@
|
||||
dmas = <&gpi_dma0 0 2 QCOM_GPI_I2C>,
|
||||
<&gpi_dma0 1 2 QCOM_GPI_I2C>;
|
||||
dma-names = "tx", "rx";
|
||||
interconnects = <&qup_virt MASTER_QUP_CORE_0 RPM_ALWAYS_TAG
|
||||
&qup_virt SLAVE_QUP_CORE_0 RPM_ALWAYS_TAG>,
|
||||
<&bimc MASTER_APPSS_PROC RPM_ALWAYS_TAG
|
||||
&config_noc SLAVE_QUP_0 RPM_ALWAYS_TAG>,
|
||||
<&system_noc MASTER_QUP_0 RPM_ALWAYS_TAG
|
||||
&bimc SLAVE_EBI1 RPM_ALWAYS_TAG>;
|
||||
interconnect-names = "qup-core",
|
||||
"qup-config",
|
||||
"qup-memory";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
@@ -942,6 +1120,12 @@
|
||||
dmas = <&gpi_dma0 0 2 QCOM_GPI_SPI>,
|
||||
<&gpi_dma0 1 2 QCOM_GPI_SPI>;
|
||||
dma-names = "tx", "rx";
|
||||
interconnects = <&qup_virt MASTER_QUP_CORE_0 RPM_ALWAYS_TAG
|
||||
&qup_virt SLAVE_QUP_CORE_0 RPM_ALWAYS_TAG>,
|
||||
<&bimc MASTER_APPSS_PROC RPM_ALWAYS_TAG
|
||||
&config_noc MASTER_APPSS_PROC RPM_ALWAYS_TAG>;
|
||||
interconnect-names = "qup-core",
|
||||
"qup-config";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
@@ -958,6 +1142,15 @@
|
||||
dmas = <&gpi_dma0 0 3 QCOM_GPI_I2C>,
|
||||
<&gpi_dma0 1 3 QCOM_GPI_I2C>;
|
||||
dma-names = "tx", "rx";
|
||||
interconnects = <&qup_virt MASTER_QUP_CORE_0 RPM_ALWAYS_TAG
|
||||
&qup_virt SLAVE_QUP_CORE_0 RPM_ALWAYS_TAG>,
|
||||
<&bimc MASTER_APPSS_PROC RPM_ALWAYS_TAG
|
||||
&config_noc SLAVE_QUP_0 RPM_ALWAYS_TAG>,
|
||||
<&system_noc MASTER_QUP_0 RPM_ALWAYS_TAG
|
||||
&bimc SLAVE_EBI1 RPM_ALWAYS_TAG>;
|
||||
interconnect-names = "qup-core",
|
||||
"qup-config",
|
||||
"qup-memory";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
@@ -974,6 +1167,12 @@
|
||||
dmas = <&gpi_dma0 0 3 QCOM_GPI_SPI>,
|
||||
<&gpi_dma0 1 3 QCOM_GPI_SPI>;
|
||||
dma-names = "tx", "rx";
|
||||
interconnects = <&qup_virt MASTER_QUP_CORE_0 RPM_ALWAYS_TAG
|
||||
&qup_virt SLAVE_QUP_CORE_0 RPM_ALWAYS_TAG>,
|
||||
<&bimc MASTER_APPSS_PROC RPM_ALWAYS_TAG
|
||||
&config_noc MASTER_APPSS_PROC RPM_ALWAYS_TAG>;
|
||||
interconnect-names = "qup-core",
|
||||
"qup-config";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
@@ -990,6 +1189,15 @@
|
||||
dmas = <&gpi_dma0 0 4 QCOM_GPI_I2C>,
|
||||
<&gpi_dma0 1 4 QCOM_GPI_I2C>;
|
||||
dma-names = "tx", "rx";
|
||||
interconnects = <&qup_virt MASTER_QUP_CORE_0 RPM_ALWAYS_TAG
|
||||
&qup_virt SLAVE_QUP_CORE_0 RPM_ALWAYS_TAG>,
|
||||
<&bimc MASTER_APPSS_PROC RPM_ALWAYS_TAG
|
||||
&config_noc SLAVE_QUP_0 RPM_ALWAYS_TAG>,
|
||||
<&system_noc MASTER_QUP_0 RPM_ALWAYS_TAG
|
||||
&bimc SLAVE_EBI1 RPM_ALWAYS_TAG>;
|
||||
interconnect-names = "qup-core",
|
||||
"qup-config",
|
||||
"qup-memory";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
@@ -1006,6 +1214,12 @@
|
||||
dmas = <&gpi_dma0 0 4 QCOM_GPI_SPI>,
|
||||
<&gpi_dma0 1 4 QCOM_GPI_SPI>;
|
||||
dma-names = "tx", "rx";
|
||||
interconnects = <&qup_virt MASTER_QUP_CORE_0 RPM_ALWAYS_TAG
|
||||
&qup_virt SLAVE_QUP_CORE_0 RPM_ALWAYS_TAG>,
|
||||
<&bimc MASTER_APPSS_PROC RPM_ALWAYS_TAG
|
||||
&config_noc MASTER_APPSS_PROC RPM_ALWAYS_TAG>;
|
||||
interconnect-names = "qup-core",
|
||||
"qup-config";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
@@ -1019,6 +1233,12 @@
|
||||
clock-names = "se";
|
||||
pinctrl-0 = <&qup_uart4_default>;
|
||||
pinctrl-names = "default";
|
||||
interconnects = <&qup_virt MASTER_QUP_CORE_0 RPM_ALWAYS_TAG
|
||||
&qup_virt SLAVE_QUP_CORE_0 RPM_ALWAYS_TAG>,
|
||||
<&bimc MASTER_APPSS_PROC RPM_ALWAYS_TAG
|
||||
&config_noc MASTER_APPSS_PROC RPM_ALWAYS_TAG>;
|
||||
interconnect-names = "qup-core",
|
||||
"qup-config";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@@ -1033,6 +1253,15 @@
|
||||
dmas = <&gpi_dma0 0 5 QCOM_GPI_I2C>,
|
||||
<&gpi_dma0 1 5 QCOM_GPI_I2C>;
|
||||
dma-names = "tx", "rx";
|
||||
interconnects = <&qup_virt MASTER_QUP_CORE_0 RPM_ALWAYS_TAG
|
||||
&qup_virt SLAVE_QUP_CORE_0 RPM_ALWAYS_TAG>,
|
||||
<&bimc MASTER_APPSS_PROC RPM_ALWAYS_TAG
|
||||
&config_noc SLAVE_QUP_0 RPM_ALWAYS_TAG>,
|
||||
<&system_noc MASTER_QUP_0 RPM_ALWAYS_TAG
|
||||
&bimc SLAVE_EBI1 RPM_ALWAYS_TAG>;
|
||||
interconnect-names = "qup-core",
|
||||
"qup-config",
|
||||
"qup-memory";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
@@ -1049,6 +1278,12 @@
|
||||
dmas = <&gpi_dma0 0 5 QCOM_GPI_SPI>,
|
||||
<&gpi_dma0 1 5 QCOM_GPI_SPI>;
|
||||
dma-names = "tx", "rx";
|
||||
interconnects = <&qup_virt MASTER_QUP_CORE_0 RPM_ALWAYS_TAG
|
||||
&qup_virt SLAVE_QUP_CORE_0 RPM_ALWAYS_TAG>,
|
||||
<&bimc MASTER_APPSS_PROC RPM_ALWAYS_TAG
|
||||
&config_noc MASTER_APPSS_PROC RPM_ALWAYS_TAG>;
|
||||
interconnect-names = "qup-core",
|
||||
"qup-config";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
@@ -1081,6 +1316,13 @@
|
||||
|
||||
resets = <&gcc GCC_USB30_PRIM_BCR>;
|
||||
power-domains = <&gcc GCC_USB30_PRIM_GDSC>;
|
||||
/* TODO: USB<->IPA path */
|
||||
interconnects = <&system_noc MASTER_USB3_0 RPM_ALWAYS_TAG
|
||||
&bimc SLAVE_EBI1 RPM_ALWAYS_TAG>,
|
||||
<&bimc MASTER_APPSS_PROC RPM_ALWAYS_TAG
|
||||
&config_noc SLAVE_USB3 RPM_ALWAYS_TAG>;
|
||||
interconnect-names = "usb-ddr",
|
||||
"apps-usb";
|
||||
wakeup-source;
|
||||
|
||||
#address-cells = <2>;
|
||||
@@ -1127,6 +1369,12 @@
|
||||
|
||||
iommus = <&apps_smmu 0x420 0x2>,
|
||||
<&apps_smmu 0x421 0x0>;
|
||||
interconnects = <&mmrt_virt MASTER_MDP0 RPM_ALWAYS_TAG
|
||||
&bimc SLAVE_EBI1 RPM_ALWAYS_TAG>,
|
||||
<&bimc MASTER_APPSS_PROC RPM_ALWAYS_TAG
|
||||
&config_noc SLAVE_DISPLAY_CFG RPM_ALWAYS_TAG>;
|
||||
interconnect-names = "mdp0-mem",
|
||||
"cpu-cfg";
|
||||
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
|
||||
Reference in New Issue
Block a user