1 | Hi, | 1 | Hi, |
---|---|---|---|
2 | |||
3 | Changes in v4: | ||
4 | - Addressed some of the dt bindings check mentioned by Krzysztof. | ||
5 | |||
6 | Changes in v3: | ||
7 | - Clubbed all the dt node into a single patch as suggested by Krzysztof. | ||
8 | - Removed the applied patch. | ||
9 | - Addressed some comments from Konrad and Dmitry. | ||
10 | |||
11 | Changes in v2: | ||
12 | - Added the CPUFreq support patch. | ||
13 | - Collected the Acked by tags. | ||
14 | - Addressed some minor comments from Konrad. | ||
2 | 15 | ||
3 | This series adds devicetree support for Qualcomm SDX75 platform and IDP | 16 | This series adds devicetree support for Qualcomm SDX75 platform and IDP |
4 | board. This series functionally depends on GCC and RPMh Clock support | 17 | board. This series functionally depends on GCC and RPMh Clock support |
5 | series [1], and pinctrl support for SDX75 [2] which are under review. | 18 | series [1], and pinctrl support for SDX75 [2] which are under review. |
6 | 19 | ||
... | ... | ||
11 | 24 | ||
12 | Thanks, | 25 | Thanks, |
13 | Rohit. | 26 | Rohit. |
14 | 27 | ||
15 | 28 | ||
16 | Imran Shaik (1): | 29 | Rohit Agarwal (5): |
17 | arm64: dts: qcom: Add support for GCC and RPMHCC for SDX75 | ||
18 | |||
19 | Rohit Agarwal (7): | ||
20 | dt-bindings: arm: qcom: Document SDX75 platform and boards | 30 | dt-bindings: arm: qcom: Document SDX75 platform and boards |
21 | dt-bindings: firmware: scm: Add compatible for SDX75 | 31 | dt-bindings: firmware: scm: Add compatible for SDX75 |
22 | dt-bindings: interrupt-controller: Add SDX75 PDC compatible | 32 | dt-bindings: interrupt-controller: Add SDX75 PDC compatible |
23 | dt-bindings: arm-smmu: Add SDX75 SMMU compatible | 33 | dt-bindings: cpufreq: cpufreq-qcom-hw: Add SDX75 compatible |
24 | arm64: dts: qcom: Add SDX75 platform and IDP board support | 34 | arm64: dts: qcom: Add SDX75 platform and IDP board support |
25 | arm64: dts: qcom: Add QUPv3 UART console node for SDX75 | ||
26 | arm64: dts: qcom: Enable the QUPv3 UART console for SDX75 | ||
27 | 35 | ||
28 | Documentation/devicetree/bindings/arm/qcom.yaml | 7 + | 36 | Documentation/devicetree/bindings/arm/qcom.yaml | 7 + |
37 | .../bindings/cpufreq/cpufreq-qcom-hw.yaml | 1 + | ||
29 | .../devicetree/bindings/firmware/qcom,scm.yaml | 1 + | 38 | .../devicetree/bindings/firmware/qcom,scm.yaml | 1 + |
30 | .../bindings/interrupt-controller/qcom,pdc.yaml | 1 + | 39 | .../bindings/interrupt-controller/qcom,pdc.yaml | 1 + |
31 | .../devicetree/bindings/iommu/arm,smmu.yaml | 1 + | ||
32 | arch/arm64/boot/dts/qcom/Makefile | 1 + | 40 | arch/arm64/boot/dts/qcom/Makefile | 1 + |
33 | arch/arm64/boot/dts/qcom/sdx75-idp.dts | 34 ++ | 41 | arch/arm64/boot/dts/qcom/sdx75-idp.dts | 33 + |
34 | arch/arm64/boot/dts/qcom/sdx75.dtsi | 618 +++++++++++++++++++++ | 42 | arch/arm64/boot/dts/qcom/sdx75.dtsi | 670 +++++++++++++++++++++ |
35 | 7 files changed, 663 insertions(+) | 43 | 7 files changed, 714 insertions(+) |
36 | create mode 100644 arch/arm64/boot/dts/qcom/sdx75-idp.dts | 44 | create mode 100644 arch/arm64/boot/dts/qcom/sdx75-idp.dts |
37 | create mode 100644 arch/arm64/boot/dts/qcom/sdx75.dtsi | 45 | create mode 100644 arch/arm64/boot/dts/qcom/sdx75.dtsi |
38 | 46 | ||
39 | -- | 47 | -- |
40 | 2.7.4 | 48 | 2.7.4 | diff view generated by jsdifflib |
1 | Document the SDX75 platform binding and also the boards using it. | 1 | Document the SDX75 platform binding and also the boards using it. |
---|---|---|---|
2 | 2 | ||
3 | Signed-off-by: Rohit Agarwal <quic_rohiagar@quicinc.com> | 3 | Signed-off-by: Rohit Agarwal <quic_rohiagar@quicinc.com> |
4 | Acked-by: Conor Dooley <conor.dooley@microchip.com> | ||
4 | --- | 5 | --- |
5 | Documentation/devicetree/bindings/arm/qcom.yaml | 7 +++++++ | 6 | Documentation/devicetree/bindings/arm/qcom.yaml | 7 +++++++ |
6 | 1 file changed, 7 insertions(+) | 7 | 1 file changed, 7 insertions(+) |
7 | 8 | ||
8 | diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentation/devicetree/bindings/arm/qcom.yaml | 9 | diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentation/devicetree/bindings/arm/qcom.yaml |
... | ... | diff view generated by jsdifflib |
1 | Add devicetree compatible for SCM present in SDX75 platform. | 1 | Add devicetree compatible for SCM present in SDX75 platform. |
---|---|---|---|
2 | 2 | ||
3 | Signed-off-by: Rohit Agarwal <quic_rohiagar@quicinc.com> | 3 | Signed-off-by: Rohit Agarwal <quic_rohiagar@quicinc.com> |
4 | Acked-by: Conor Dooley <conor.dooley@microchip.com> | ||
4 | --- | 5 | --- |
5 | Documentation/devicetree/bindings/firmware/qcom,scm.yaml | 1 + | 6 | Documentation/devicetree/bindings/firmware/qcom,scm.yaml | 1 + |
6 | 1 file changed, 1 insertion(+) | 7 | 1 file changed, 1 insertion(+) |
7 | 8 | ||
8 | diff --git a/Documentation/devicetree/bindings/firmware/qcom,scm.yaml b/Documentation/devicetree/bindings/firmware/qcom,scm.yaml | 9 | diff --git a/Documentation/devicetree/bindings/firmware/qcom,scm.yaml b/Documentation/devicetree/bindings/firmware/qcom,scm.yaml |
... | ... | diff view generated by jsdifflib |
1 | Add device tree bindings for PDC on SDX75 SOC. | 1 | Add device tree bindings for PDC on SDX75 SOC. |
---|---|---|---|
2 | 2 | ||
3 | Signed-off-by: Rohit Agarwal <quic_rohiagar@quicinc.com> | 3 | Signed-off-by: Rohit Agarwal <quic_rohiagar@quicinc.com> |
4 | Acked-by: Conor Dooley <conor.dooley@microchip.com> | ||
4 | --- | 5 | --- |
5 | Documentation/devicetree/bindings/interrupt-controller/qcom,pdc.yaml | 1 + | 6 | Documentation/devicetree/bindings/interrupt-controller/qcom,pdc.yaml | 1 + |
6 | 1 file changed, 1 insertion(+) | 7 | 1 file changed, 1 insertion(+) |
7 | 8 | ||
8 | diff --git a/Documentation/devicetree/bindings/interrupt-controller/qcom,pdc.yaml b/Documentation/devicetree/bindings/interrupt-controller/qcom,pdc.yaml | 9 | diff --git a/Documentation/devicetree/bindings/interrupt-controller/qcom,pdc.yaml b/Documentation/devicetree/bindings/interrupt-controller/qcom,pdc.yaml |
... | ... | diff view generated by jsdifflib |
1 | Add devicetree binding for Qualcomm SDX75 SMMU. | 1 | Add compatible for EPSS CPUFREQ-HW on SDX75. |
---|---|---|---|
2 | 2 | ||
3 | Signed-off-by: Rohit Agarwal <quic_rohiagar@quicinc.com> | 3 | Signed-off-by: Rohit Agarwal <quic_rohiagar@quicinc.com> |
4 | Acked-by: Viresh Kumar <viresh.kumar@linaro.org> | ||
5 | Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> | ||
4 | --- | 6 | --- |
5 | Documentation/devicetree/bindings/iommu/arm,smmu.yaml | 1 + | 7 | Documentation/devicetree/bindings/cpufreq/cpufreq-qcom-hw.yaml | 1 + |
6 | 1 file changed, 1 insertion(+) | 8 | 1 file changed, 1 insertion(+) |
7 | 9 | ||
8 | diff --git a/Documentation/devicetree/bindings/iommu/arm,smmu.yaml b/Documentation/devicetree/bindings/iommu/arm,smmu.yaml | 10 | diff --git a/Documentation/devicetree/bindings/cpufreq/cpufreq-qcom-hw.yaml b/Documentation/devicetree/bindings/cpufreq/cpufreq-qcom-hw.yaml |
9 | index XXXXXXX..XXXXXXX 100644 | 11 | index XXXXXXX..XXXXXXX 100644 |
10 | --- a/Documentation/devicetree/bindings/iommu/arm,smmu.yaml | 12 | --- a/Documentation/devicetree/bindings/cpufreq/cpufreq-qcom-hw.yaml |
11 | +++ b/Documentation/devicetree/bindings/iommu/arm,smmu.yaml | 13 | +++ b/Documentation/devicetree/bindings/cpufreq/cpufreq-qcom-hw.yaml |
12 | @@ -XXX,XX +XXX,XX @@ properties: | 14 | @@ -XXX,XX +XXX,XX @@ properties: |
13 | - qcom,sdm845-smmu-500 | 15 | - qcom,sa8775p-cpufreq-epss |
14 | - qcom,sdx55-smmu-500 | 16 | - qcom,sc7280-cpufreq-epss |
15 | - qcom,sdx65-smmu-500 | 17 | - qcom,sc8280xp-cpufreq-epss |
16 | + - qcom,sdx75-smmu-500 | 18 | + - qcom,sdx75-cpufreq-epss |
17 | - qcom,sm6115-smmu-500 | 19 | - qcom,sm6375-cpufreq-epss |
18 | - qcom,sm6125-smmu-500 | 20 | - qcom,sm8250-cpufreq-epss |
19 | - qcom,sm6350-smmu-500 | 21 | - qcom,sm8350-cpufreq-epss |
20 | -- | 22 | -- |
21 | 2.7.4 | 23 | 2.7.4 | diff view generated by jsdifflib |
... | ... | ||
---|---|---|---|
3 | the Application Processor Sub System (APSS) along with standard Qualcomm | 3 | the Application Processor Sub System (APSS) along with standard Qualcomm |
4 | peripherals like GCC, TLMM, UART, QPIC, and BAM etc... Also, there | 4 | peripherals like GCC, TLMM, UART, QPIC, and BAM etc... Also, there |
5 | exists the networking parts such as IPA, MHI, PCIE-EP, EMAC, and Modem | 5 | exists the networking parts such as IPA, MHI, PCIE-EP, EMAC, and Modem |
6 | etc.. | 6 | etc.. |
7 | 7 | ||
8 | This commit adds basic devicetree support. | ||
9 | |||
10 | Signed-off-by: Rohit Agarwal <quic_rohiagar@quicinc.com> | 8 | Signed-off-by: Rohit Agarwal <quic_rohiagar@quicinc.com> |
11 | --- | 9 | --- |
12 | arch/arm64/boot/dts/qcom/Makefile | 1 + | 10 | arch/arm64/boot/dts/qcom/Makefile | 1 + |
13 | arch/arm64/boot/dts/qcom/sdx75-idp.dts | 19 ++ | 11 | arch/arm64/boot/dts/qcom/sdx75-idp.dts | 33 ++ |
14 | arch/arm64/boot/dts/qcom/sdx75.dtsi | 534 +++++++++++++++++++++++++++++++++ | 12 | arch/arm64/boot/dts/qcom/sdx75.dtsi | 670 +++++++++++++++++++++++++++++++++ |
15 | 3 files changed, 554 insertions(+) | 13 | 3 files changed, 704 insertions(+) |
16 | create mode 100644 arch/arm64/boot/dts/qcom/sdx75-idp.dts | 14 | create mode 100644 arch/arm64/boot/dts/qcom/sdx75-idp.dts |
17 | create mode 100644 arch/arm64/boot/dts/qcom/sdx75.dtsi | 15 | create mode 100644 arch/arm64/boot/dts/qcom/sdx75.dtsi |
18 | 16 | ||
19 | diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile | 17 | diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile |
20 | index XXXXXXX..XXXXXXX 100644 | 18 | index XXXXXXX..XXXXXXX 100644 |
... | ... | ||
44 | +#include "sdx75.dtsi" | 42 | +#include "sdx75.dtsi" |
45 | + | 43 | + |
46 | +/ { | 44 | +/ { |
47 | + model = "Qualcomm Technologies, Inc. SDX75 IDP"; | 45 | + model = "Qualcomm Technologies, Inc. SDX75 IDP"; |
48 | + compatible = "qcom,sdx75-idp", "qcom,sdx75"; | 46 | + compatible = "qcom,sdx75-idp", "qcom,sdx75"; |
49 | + qcom,board-id = <0x2010022 0x302>; | 47 | + |
50 | + | 48 | + aliases { |
49 | + serial0 = &uart1; | ||
50 | + }; | ||
51 | +}; | ||
52 | + | ||
53 | +&chosen { | ||
54 | + stdout-path = "serial0:115200n8"; | ||
55 | +}; | ||
56 | + | ||
57 | +&qupv3_id_0 { | ||
58 | + status = "okay"; | ||
51 | +}; | 59 | +}; |
52 | + | 60 | + |
53 | +&tlmm { | 61 | +&tlmm { |
54 | + gpio-reserved-ranges = <110 6>; | 62 | + gpio-reserved-ranges = <110 6>; |
63 | +}; | ||
64 | + | ||
65 | +&uart1 { | ||
66 | + status = "okay"; | ||
55 | +}; | 67 | +}; |
56 | diff --git a/arch/arm64/boot/dts/qcom/sdx75.dtsi b/arch/arm64/boot/dts/qcom/sdx75.dtsi | 68 | diff --git a/arch/arm64/boot/dts/qcom/sdx75.dtsi b/arch/arm64/boot/dts/qcom/sdx75.dtsi |
57 | new file mode 100644 | 69 | new file mode 100644 |
58 | index XXXXXXX..XXXXXXX | 70 | index XXXXXXX..XXXXXXX |
59 | --- /dev/null | 71 | --- /dev/null |
... | ... | ||
66 | + * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved. | 78 | + * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved. |
67 | + * | 79 | + * |
68 | + */ | 80 | + */ |
69 | + | 81 | + |
70 | +#include <dt-bindings/clock/qcom,rpmh.h> | 82 | +#include <dt-bindings/clock/qcom,rpmh.h> |
83 | +#include <dt-bindings/clock/qcom,sdx75-gcc.h> | ||
71 | +#include <dt-bindings/interrupt-controller/arm-gic.h> | 84 | +#include <dt-bindings/interrupt-controller/arm-gic.h> |
72 | +#include <dt-bindings/soc/qcom,rpmh-rsc.h> | 85 | +#include <dt-bindings/soc/qcom,rpmh-rsc.h> |
73 | + | 86 | + |
74 | +/ { | 87 | +/ { |
75 | + #address-cells = <2>; | 88 | + #address-cells = <2>; |
76 | + #size-cells = <2>; | 89 | + #size-cells = <2>; |
77 | + qcom,msm-id = <556 0x10000>; | ||
78 | + interrupt-parent = <&intc>; | 90 | + interrupt-parent = <&intc>; |
79 | + | 91 | + |
80 | + chosen: chosen { }; | 92 | + chosen: chosen { }; |
81 | + | 93 | + |
82 | + memory { | 94 | + clocks { |
83 | + device_type = "memory"; | 95 | + xo_board: xo-board { |
84 | + reg = <0 0 0 0>; | 96 | + compatible = "fixed-clock"; |
85 | + }; | 97 | + clock-frequency = <76800000>; |
86 | + | 98 | + #clock-cells = <0>; |
87 | + clocks { }; | 99 | + }; |
100 | + | ||
101 | + sleep_clk: sleep-clk { | ||
102 | + compatible = "fixed-clock"; | ||
103 | + clock-frequency = <32000>; | ||
104 | + #clock-cells = <0>; | ||
105 | + }; | ||
106 | + }; | ||
88 | + | 107 | + |
89 | + cpus { | 108 | + cpus { |
90 | + #address-cells = <2>; | 109 | + #address-cells = <2>; |
91 | + #size-cells = <0>; | 110 | + #size-cells = <0>; |
92 | + | 111 | + |
93 | + CPU0: cpu@0 { | 112 | + CPU0: cpu@0 { |
94 | + device_type = "cpu"; | 113 | + device_type = "cpu"; |
95 | + compatible = "arm,cortex-a55"; | 114 | + compatible = "arm,cortex-a55"; |
96 | + reg = <0x0 0x0>; | 115 | + reg = <0x0 0x0>; |
116 | + clocks = <&cpufreq_hw 0>; | ||
97 | + enable-method = "psci"; | 117 | + enable-method = "psci"; |
98 | + power-domains = <&CPU_PD0>; | 118 | + power-domains = <&CPU_PD0>; |
99 | + power-domain-names = "psci"; | 119 | + power-domain-names = "psci"; |
120 | + qcom,freq-domain = <&cpufreq_hw 0>; | ||
121 | + capacity-dmips-mhz = <1024>; | ||
122 | + dynamic-power-coefficient = <100>; | ||
100 | + next-level-cache = <&L2_0>; | 123 | + next-level-cache = <&L2_0>; |
124 | + | ||
101 | + L2_0: l2-cache { | 125 | + L2_0: l2-cache { |
102 | + compatible = "cache"; | 126 | + compatible = "cache"; |
127 | + cache-level = <2>; | ||
128 | + cache-unified; | ||
103 | + next-level-cache = <&L3_0>; | 129 | + next-level-cache = <&L3_0>; |
104 | + L3_0: l3-cache { | 130 | + L3_0: l3-cache { |
105 | + compatible = "cache"; | 131 | + compatible = "cache"; |
132 | + cache-level = <3>; | ||
133 | + cache-unified; | ||
106 | + }; | 134 | + }; |
107 | + }; | 135 | + }; |
108 | + }; | 136 | + }; |
109 | + | 137 | + |
110 | + CPU1: cpu@100 { | 138 | + CPU1: cpu@100 { |
111 | + device_type = "cpu"; | 139 | + device_type = "cpu"; |
112 | + compatible = "arm,cortex-a55"; | 140 | + compatible = "arm,cortex-a55"; |
113 | + reg = <0x0 0x100>; | 141 | + reg = <0x0 0x100>; |
142 | + clocks = <&cpufreq_hw 0>; | ||
114 | + enable-method = "psci"; | 143 | + enable-method = "psci"; |
115 | + power-domains = <&CPU_PD1>; | 144 | + power-domains = <&CPU_PD1>; |
116 | + power-domain-names = "psci"; | 145 | + power-domain-names = "psci"; |
146 | + qcom,freq-domain = <&cpufreq_hw 0>; | ||
147 | + capacity-dmips-mhz = <1024>; | ||
148 | + dynamic-power-coefficient = <100>; | ||
117 | + next-level-cache = <&L2_100>; | 149 | + next-level-cache = <&L2_100>; |
150 | + | ||
118 | + L2_100: l2-cache { | 151 | + L2_100: l2-cache { |
119 | + compatible = "cache"; | 152 | + compatible = "cache"; |
153 | + cache-level = <2>; | ||
154 | + cache-unified; | ||
120 | + next-level-cache = <&L3_0>; | 155 | + next-level-cache = <&L3_0>; |
121 | + }; | 156 | + }; |
122 | + }; | 157 | + }; |
123 | + | 158 | + |
124 | + CPU2: cpu@200 { | 159 | + CPU2: cpu@200 { |
125 | + device_type = "cpu"; | 160 | + device_type = "cpu"; |
126 | + compatible = "arm,cortex-a55"; | 161 | + compatible = "arm,cortex-a55"; |
127 | + reg = <0x0 0x200>; | 162 | + reg = <0x0 0x200>; |
163 | + clocks = <&cpufreq_hw 0>; | ||
128 | + enable-method = "psci"; | 164 | + enable-method = "psci"; |
129 | + power-domains = <&CPU_PD2>; | 165 | + power-domains = <&CPU_PD2>; |
130 | + power-domain-names = "psci"; | 166 | + power-domain-names = "psci"; |
167 | + qcom,freq-domain = <&cpufreq_hw 0>; | ||
168 | + capacity-dmips-mhz = <1024>; | ||
169 | + dynamic-power-coefficient = <100>; | ||
131 | + next-level-cache = <&L2_200>; | 170 | + next-level-cache = <&L2_200>; |
171 | + | ||
132 | + L2_200: l2-cache { | 172 | + L2_200: l2-cache { |
133 | + compatible = "cache"; | 173 | + compatible = "cache"; |
174 | + cache-level = <2>; | ||
175 | + cache-unified; | ||
134 | + next-level-cache = <&L3_0>; | 176 | + next-level-cache = <&L3_0>; |
135 | + }; | 177 | + }; |
136 | + }; | 178 | + }; |
137 | + | 179 | + |
138 | + CPU3: cpu@300 { | 180 | + CPU3: cpu@300 { |
139 | + device_type = "cpu"; | 181 | + device_type = "cpu"; |
140 | + compatible = "arm,cortex-a55"; | 182 | + compatible = "arm,cortex-a55"; |
141 | + reg = <0x0 0x300>; | 183 | + reg = <0x0 0x300>; |
184 | + clocks = <&cpufreq_hw 0>; | ||
142 | + enable-method = "psci"; | 185 | + enable-method = "psci"; |
143 | + power-domains = <&CPU_PD3>; | 186 | + power-domains = <&CPU_PD3>; |
144 | + power-domain-names = "psci"; | 187 | + power-domain-names = "psci"; |
188 | + qcom,freq-domain = <&cpufreq_hw 0>; | ||
189 | + capacity-dmips-mhz = <1024>; | ||
190 | + dynamic-power-coefficient = <100>; | ||
145 | + next-level-cache = <&L2_300>; | 191 | + next-level-cache = <&L2_300>; |
192 | + | ||
146 | + L2_300: l2-cache { | 193 | + L2_300: l2-cache { |
147 | + compatible = "cache"; | 194 | + compatible = "cache"; |
195 | + cache-level = <2>; | ||
196 | + cache-unified; | ||
148 | + next-level-cache = <&L3_0>; | 197 | + next-level-cache = <&L3_0>; |
149 | + }; | 198 | + }; |
150 | + }; | 199 | + }; |
151 | + | 200 | + |
152 | + cpu-map { | 201 | + cpu-map { |
... | ... | ||
166 | + core3 { | 215 | + core3 { |
167 | + cpu = <&CPU3>; | 216 | + cpu = <&CPU3>; |
168 | + }; | 217 | + }; |
169 | + }; | 218 | + }; |
170 | + }; | 219 | + }; |
171 | + }; | 220 | + |
172 | + | 221 | + idle-states { |
173 | + idle-states { | 222 | + entry-method = "psci"; |
174 | + entry-method = "psci"; | 223 | + |
175 | + | 224 | + CPU_OFF: cpu-sleep-0 { |
176 | + CPU_OFF: cpu-sleep-0 { | 225 | + compatible = "arm,idle-state"; |
177 | + compatible = "arm,idle-state"; | 226 | + entry-latency-us = <235>; |
178 | + entry-latency-us = <235>; | 227 | + exit-latency-us = <428>; |
179 | + exit-latency-us = <428>; | 228 | + min-residency-us = <1774>; |
180 | + min-residency-us = <1774>; | 229 | + arm,psci-suspend-param = <0x40000003>; |
181 | + arm,psci-suspend-param = <0x40000003>; | 230 | + local-timer-stop; |
182 | + local-timer-stop; | 231 | + }; |
183 | + }; | 232 | + |
184 | + | 233 | + CPU_RAIL_OFF: cpu-rail-sleep-1 { |
185 | + CPU_RAIL_OFF: cpu-rail-sleep-1 { | 234 | + compatible = "arm,idle-state"; |
186 | + compatible = "arm,idle-state"; | 235 | + entry-latency-us = <800>; |
187 | + entry-latency-us = <800>; | 236 | + exit-latency-us = <750>; |
188 | + exit-latency-us = <750>; | 237 | + min-residency-us = <4090>; |
189 | + min-residency-us = <4090>; | 238 | + arm,psci-suspend-param = <0x40000004>; |
190 | + arm,psci-suspend-param = <0x40000004>; | 239 | + local-timer-stop; |
191 | + local-timer-stop; | 240 | + }; |
192 | + }; | 241 | + |
193 | + | 242 | + }; |
194 | + }; | 243 | + |
195 | + | 244 | + domain-idle-states { |
196 | + domain-idle-states { | 245 | + CLUSTER_SLEEP_0: cluster-sleep-0 { |
197 | + CLUSTER_SLEEP_0: cluster-sleep-0 { | 246 | + compatible = "domain-idle-state"; |
198 | + compatible = "domain-idle-state"; | 247 | + arm,psci-suspend-param = <0x41000044>; |
199 | + arm,psci-suspend-param = <0x41000044>; | 248 | + entry-latency-us = <1050>; |
200 | + entry-latency-us = <1050>; | 249 | + exit-latency-us = <2500>; |
201 | + exit-latency-us = <2500>; | 250 | + min-residency-us = <5309>; |
202 | + min-residency-us = <5309>; | 251 | + }; |
203 | + }; | 252 | + |
204 | + | 253 | + CLUSTER_SLEEP_1: cluster-sleep-1 { |
205 | + CLUSTER_SLEEP_1: cluster-sleep-1 { | 254 | + compatible = "domain-idle-state"; |
206 | + compatible = "domain-idle-state"; | 255 | + arm,psci-suspend-param = <0x41001344>; |
207 | + arm,psci-suspend-param = <0x4100b344>; | 256 | + entry-latency-us = <2761>; |
208 | + entry-latency-us = <2793>; | 257 | + exit-latency-us = <3964>; |
209 | + exit-latency-us = <4023>; | 258 | + min-residency-us = <8467>; |
210 | + min-residency-us = <9826>; | 259 | + }; |
211 | + }; | 260 | + |
212 | + | 261 | + CLUSTER_SLEEP_2: cluster-sleep-2 { |
213 | + CX_RET: cx-ret { | 262 | + compatible = "domain-idle-state"; |
214 | + compatible = "domain-idle-state"; | 263 | + arm,psci-suspend-param = <0x4100b344>; |
215 | + arm,psci-suspend-param = <0x41001344>; | 264 | + entry-latency-us = <2793>; |
216 | + entry-latency-us = <2761>; | 265 | + exit-latency-us = <4023>; |
217 | + exit-latency-us = <3964>; | 266 | + min-residency-us = <9826>; |
218 | + min-residency-us = <8467>; | 267 | + }; |
219 | + }; | 268 | + }; |
269 | + }; | ||
270 | + | ||
271 | + firmware { | ||
272 | + scm: scm { | ||
273 | + compatible = "qcom,scm-sdx75", "qcom,scm"; | ||
274 | + }; | ||
275 | + }; | ||
276 | + | ||
277 | + memory@80000000 { | ||
278 | + device_type = "memory"; | ||
279 | + reg = <0x0 0x80000000 0x0 0x0>; | ||
280 | + }; | ||
281 | + | ||
282 | + pmu { | ||
283 | + compatible = "arm,armv8-pmuv3"; | ||
284 | + interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>; | ||
220 | + }; | 285 | + }; |
221 | + | 286 | + |
222 | + psci { | 287 | + psci { |
223 | + compatible = "arm,psci-1.0"; | 288 | + compatible = "arm,psci-1.0"; |
224 | + method = "smc"; | 289 | + method = "smc"; |
... | ... | ||
247 | + domain-idle-states = <&CPU_OFF &CPU_RAIL_OFF>; | 312 | + domain-idle-states = <&CPU_OFF &CPU_RAIL_OFF>; |
248 | + }; | 313 | + }; |
249 | + | 314 | + |
250 | + CLUSTER_PD: power-domain-cpu-cluster0 { | 315 | + CLUSTER_PD: power-domain-cpu-cluster0 { |
251 | + #power-domain-cells = <0>; | 316 | + #power-domain-cells = <0>; |
252 | + domain-idle-states = <&CLUSTER_SLEEP_0 &CX_RET &CLUSTER_SLEEP_1>; | 317 | + domain-idle-states = <&CLUSTER_SLEEP_0 &CLUSTER_SLEEP_1 &CLUSTER_SLEEP_2>; |
253 | + }; | 318 | + }; |
254 | + }; | ||
255 | + | ||
256 | + firmware { | ||
257 | + scm: scm { | ||
258 | + compatible = "qcom,scm-sdx75", "qcom,scm"; | ||
259 | + }; | ||
260 | + }; | ||
261 | + | ||
262 | + pmu { | ||
263 | + compatible = "arm,armv8-pmuv3"; | ||
264 | + interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>; | ||
265 | + }; | 319 | + }; |
266 | + | 320 | + |
267 | + reserved-memory { | 321 | + reserved-memory { |
268 | + #address-cells = <2>; | 322 | + #address-cells = <2>; |
269 | + #size-cells = <2>; | 323 | + #size-cells = <2>; |
270 | + ranges; | 324 | + ranges; |
271 | + | 325 | + |
272 | + gunyah_hyp_mem: memory@80000000 { | 326 | + gunyah_hyp_mem: gunyah-hyp@80000000 { |
273 | + reg = <0x0 0x80000000 0x0 0x800000>; | 327 | + reg = <0x0 0x80000000 0x0 0x800000>; |
274 | + no-map; | 328 | + no-map; |
275 | + }; | 329 | + }; |
276 | + | 330 | + |
277 | + hyp_elf_package_mem: memory@80800000 { | 331 | + hyp_elf_package_mem: hyp-elf-package@80800000 { |
278 | + reg = <0x0 0x80800000 0x0 0x200000>; | 332 | + reg = <0x0 0x80800000 0x0 0x200000>; |
279 | + no-map; | 333 | + no-map; |
280 | + }; | 334 | + }; |
281 | + | 335 | + |
282 | + access_control_db_mem: memory@81380000 { | 336 | + access_control_db_mem: access-control-db@81380000 { |
283 | + reg = <0x0 0x81380000 0x0 0x80000>; | 337 | + reg = <0x0 0x81380000 0x0 0x80000>; |
284 | + no-map; | 338 | + no-map; |
285 | + }; | 339 | + }; |
286 | + | 340 | + |
287 | + qteetz_mem: memory@814e0000 { | 341 | + qteetz_mem: qteetz@814e0000 { |
288 | + reg = <0x0 0x814e0000 0x0 0x2a0000>; | 342 | + reg = <0x0 0x814e0000 0x0 0x2a0000>; |
289 | + no-map; | 343 | + no-map; |
290 | + }; | 344 | + }; |
291 | + | 345 | + |
292 | + trusted_apps_mem: memory@81780000 { | 346 | + trusted_apps_mem: trusted-apps@81780000 { |
293 | + reg = <0x0 0x81780000 0x0 0xa00000>; | 347 | + reg = <0x0 0x81780000 0x0 0xa00000>; |
294 | + no-map; | 348 | + no-map; |
295 | + }; | 349 | + }; |
296 | + | 350 | + |
297 | + xbl_ramdump_mem: memory@87a00000 { | 351 | + xbl_ramdump_mem: xbl-ramdump@87a00000 { |
298 | + reg = <0x0 0x87a00000 0x0 0x1c0000>; | 352 | + reg = <0x0 0x87a00000 0x0 0x1c0000>; |
299 | + no-map; | 353 | + no-map; |
300 | + }; | 354 | + }; |
301 | + | 355 | + |
302 | + cpucp_fw_mem: memory@87c00000 { | 356 | + cpucp_fw_mem: cpucp-fw@87c00000 { |
303 | + reg = <0x0 0x87c00000 0x0 0x100000>; | 357 | + reg = <0x0 0x87c00000 0x0 0x100000>; |
304 | + no-map; | 358 | + no-map; |
305 | + }; | 359 | + }; |
306 | + | 360 | + |
307 | + xbl_dtlog_mem: memory@87d00000 { | 361 | + xbl_dtlog_mem: xbl-dtlog@87d00000 { |
308 | + reg = <0x0 0x87d00000 0x0 0x40000>; | 362 | + reg = <0x0 0x87d00000 0x0 0x40000>; |
309 | + no-map; | 363 | + no-map; |
310 | + }; | 364 | + }; |
311 | + | 365 | + |
312 | + xbl_sc_mem: memory@87d40000 { | 366 | + xbl_sc_mem: xbl-sc@87d40000 { |
313 | + reg = <0x0 0x87d40000 0x0 0x40000>; | 367 | + reg = <0x0 0x87d40000 0x0 0x40000>; |
314 | + no-map; | 368 | + no-map; |
315 | + }; | 369 | + }; |
316 | + | 370 | + |
317 | + modem_efs_shared_mem: memory@87d80000 { | 371 | + modem_efs_shared_mem: modem-efs-shared@87d80000 { |
318 | + reg = <0x0 0x87d80000 0x0 0x10000>; | 372 | + reg = <0x0 0x87d80000 0x0 0x10000>; |
319 | + no-map; | 373 | + no-map; |
320 | + }; | 374 | + }; |
321 | + | 375 | + |
322 | + aop_image_mem: memory@87e00000 { | 376 | + aop_image_mem: aop-image@87e00000 { |
323 | + reg = <0x0 0x87e00000 0x0 0x20000>; | 377 | + reg = <0x0 0x87e00000 0x0 0x20000>; |
324 | + no-map; | 378 | + no-map; |
325 | + }; | 379 | + }; |
326 | + | 380 | + |
327 | + smem_mem: memory@87e20000 { | 381 | + smem_mem: smem@87e20000 { |
328 | + reg = <0x0 0x87e20000 0x0 0xc0000>; | 382 | + reg = <0x0 0x87e20000 0x0 0xc0000>; |
329 | + no-map; | 383 | + no-map; |
330 | + }; | 384 | + }; |
331 | + | 385 | + |
332 | + aop_cmd_db_mem: memory@87ee0000 { | 386 | + aop_cmd_db_mem: aop-cmd-db@87ee0000 { |
333 | + compatible = "qcom,cmd-db"; | 387 | + compatible = "qcom,cmd-db"; |
334 | + reg = <0x0 0x87ee0000 0x0 0x20000>; | 388 | + reg = <0x0 0x87ee0000 0x0 0x20000>; |
335 | + no-map; | 389 | + no-map; |
336 | + }; | 390 | + }; |
337 | + | 391 | + |
338 | + aop_config_mem: memory@87f00000 { | 392 | + aop_config_mem: aop-config@87f00000 { |
339 | + reg = <0x0 0x87f00000 0x0 0x20000>; | 393 | + reg = <0x0 0x87f00000 0x0 0x20000>; |
340 | + no-map; | 394 | + no-map; |
341 | + }; | 395 | + }; |
342 | + | 396 | + |
343 | + ipa_fw_mem: memory@87f20000 { | 397 | + ipa_fw_mem: ipa-fw@87f20000 { |
344 | + reg = <0x0 0x87f20000 0x0 0x10000>; | 398 | + reg = <0x0 0x87f20000 0x0 0x10000>; |
345 | + no-map; | 399 | + no-map; |
346 | + }; | 400 | + }; |
347 | + | 401 | + |
348 | + secdata_mem: memory@87f30000 { | 402 | + secdata_mem: secdata@87f30000 { |
349 | + reg = <0x0 0x87f30000 0x0 0x1000>; | 403 | + reg = <0x0 0x87f30000 0x0 0x1000>; |
350 | + no-map; | 404 | + no-map; |
351 | + }; | 405 | + }; |
352 | + | 406 | + |
353 | + tme_crashdump_mem: memory@87f31000 { | 407 | + tme_crashdump_mem: tme-crashdump@87f31000 { |
354 | + reg = <0x0 0x87f31000 0x0 0x40000>; | 408 | + reg = <0x0 0x87f31000 0x0 0x40000>; |
355 | + no-map; | 409 | + no-map; |
356 | + }; | 410 | + }; |
357 | + | 411 | + |
358 | + tme_log_mem: memory@87f71000 { | 412 | + tme_log_mem: tme-log@87f71000 { |
359 | + reg = <0x0 0x87f71000 0x0 0x4000>; | 413 | + reg = <0x0 0x87f71000 0x0 0x4000>; |
360 | + no-map; | 414 | + no-map; |
361 | + }; | 415 | + }; |
362 | + | 416 | + |
363 | + uefi_log_mem: memory@87f75000 { | 417 | + uefi_log_mem: uefi-log@87f75000 { |
364 | + reg = <0x0 0x87f75000 0x0 0x10000>; | 418 | + reg = <0x0 0x87f75000 0x0 0x10000>; |
365 | + no-map; | 419 | + no-map; |
366 | + }; | 420 | + }; |
367 | + | 421 | + |
368 | + qdss_mem: memory@88800000 { | 422 | + qdss_mem: qdss@88800000 { |
369 | + reg = <0x0 0x88800000 0x0 0x300000>; | 423 | + reg = <0x0 0x88800000 0x0 0x300000>; |
370 | + no-map; | 424 | + no-map; |
371 | + }; | 425 | + }; |
372 | + | 426 | + |
373 | + audio_heap_mem: memory@88b00000 { | 427 | + audio_heap_mem: audio-heap@88b00000 { |
374 | + compatible = "shared-dma-pool"; | 428 | + compatible = "shared-dma-pool"; |
375 | + reg = <0x0 0x88b00000 0x0 0x400000>; | 429 | + reg = <0x0 0x88b00000 0x0 0x400000>; |
376 | + no-map; | 430 | + no-map; |
377 | + }; | 431 | + }; |
378 | + | 432 | + |
379 | + mpss_dsmharq_mem: memory@88f00000 { | 433 | + mpss_dsmharq_mem: mpss-dsmharq@88f00000 { |
380 | + reg = <0x0 0x88f00000 0x0 0x5080000>; | 434 | + reg = <0x0 0x88f00000 0x0 0x5080000>; |
381 | + no-map; | 435 | + no-map; |
382 | + }; | 436 | + }; |
383 | + | 437 | + |
384 | + q6_mpss_dtb_mem: memory@8df80000 { | 438 | + q6_mpss_dtb_mem: q6-mpss-dtb@8df80000 { |
385 | + reg = <0x0 0x8df80000 0x0 0x80000>; | 439 | + reg = <0x0 0x8df80000 0x0 0x80000>; |
386 | + no-map; | 440 | + no-map; |
387 | + }; | 441 | + }; |
388 | + | 442 | + |
389 | + mpssadsp_mem: memory@8e000000 { | 443 | + mpssadsp_mem: mpssadsp@8e000000 { |
390 | + reg = <0x0 0x8e000000 0x0 0xf400000>; | 444 | + reg = <0x0 0x8e000000 0x0 0xf400000>; |
391 | + no-map; | 445 | + no-map; |
392 | + }; | 446 | + }; |
393 | + | 447 | + |
394 | + gunyah_trace_buffer_mem: memory@bdb00000 { | 448 | + gunyah_trace_buffer_mem: gunyah-trace-buffer@bdb00000 { |
395 | + reg = <0x0 0xbdb00000 0x0 0x2000000>; | 449 | + reg = <0x0 0xbdb00000 0x0 0x2000000>; |
396 | + no-map; | 450 | + no-map; |
397 | + }; | 451 | + }; |
398 | + | 452 | + |
399 | + smmu_debug_buf_mem: memory@bfb00000 { | 453 | + smmu_debug_buf_mem: smmu-debug-buf@bfb00000 { |
400 | + reg = <0x0 0xbfb00000 0x0 0x100000>; | 454 | + reg = <0x0 0xbfb00000 0x0 0x100000>; |
401 | + no-map; | 455 | + no-map; |
402 | + }; | 456 | + }; |
403 | + | 457 | + |
404 | + hyp_smmu_s2_pt_mem: memory@bfc00000 { | 458 | + hyp_smmu_s2_pt_mem: hyp-smmu-s2-pt@bfc00000 { |
405 | + reg = <0x0 0xbfc00000 0x0 0x400000>; | 459 | + reg = <0x0 0xbfc00000 0x0 0x400000>; |
406 | + no-map; | 460 | + no-map; |
407 | + }; | 461 | + }; |
408 | + }; | 462 | + }; |
409 | + | 463 | + |
... | ... | ||
412 | + memory-region = <&smem_mem>; | 466 | + memory-region = <&smem_mem>; |
413 | + hwlocks = <&tcsr_mutex 3>; | 467 | + hwlocks = <&tcsr_mutex 3>; |
414 | + }; | 468 | + }; |
415 | + | 469 | + |
416 | + soc: soc { | 470 | + soc: soc { |
471 | + compatible = "simple-bus"; | ||
417 | + #address-cells = <2>; | 472 | + #address-cells = <2>; |
418 | + #size-cells = <2>; | 473 | + #size-cells = <2>; |
419 | + ranges; | 474 | + ranges = <0 0 0 0 0x10 0>; |
420 | + compatible = "simple-bus"; | 475 | + dma-ranges = <0 0 0 0 0x10 0>; |
476 | + | ||
477 | + gcc: clock-controller@80000 { | ||
478 | + compatible = "qcom,sdx75-gcc"; | ||
479 | + reg = <0x0 0x0080000 0x0 0x1f7400>; | ||
480 | + clocks = <&rpmhcc RPMH_CXO_CLK>, | ||
481 | + <&sleep_clk>, | ||
482 | + <0>, | ||
483 | + <0>, | ||
484 | + <0>, | ||
485 | + <0>, | ||
486 | + <0>, | ||
487 | + <0>, | ||
488 | + <0>, | ||
489 | + <0>, | ||
490 | + <0>, | ||
491 | + <0>, | ||
492 | + <0>, | ||
493 | + <0>, | ||
494 | + <0>; | ||
495 | + #clock-cells = <1>; | ||
496 | + #reset-cells = <1>; | ||
497 | + #power-domain-cells = <1>; | ||
498 | + }; | ||
499 | + | ||
500 | + qupv3_id_0: geniqup@9c0000 { | ||
501 | + compatible = "qcom,geni-se-qup"; | ||
502 | + reg = <0x0 0x009c0000 0x0 0x2000>; | ||
503 | + clocks = <&gcc GCC_QUPV3_WRAP_0_M_AHB_CLK>, | ||
504 | + <&gcc GCC_QUPV3_WRAP_0_S_AHB_CLK>; | ||
505 | + clock-names = "m-ahb", | ||
506 | + "s-ahb"; | ||
507 | + iommus = <&apps_smmu 0xe3 0x0>; | ||
508 | + #address-cells = <2>; | ||
509 | + #size-cells = <2>; | ||
510 | + ranges; | ||
511 | + status = "disabled"; | ||
512 | + | ||
513 | + uart1: serial@984000 { | ||
514 | + compatible = "qcom,geni-debug-uart"; | ||
515 | + reg = <0x0 0x00984000 0x0 0x4000>; | ||
516 | + clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>; | ||
517 | + clock-names = "se"; | ||
518 | + interrupts = <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH>; | ||
519 | + pinctrl-0 = <&qupv3_se1_2uart_active>; | ||
520 | + pinctrl-1 = <&qupv3_se1_2uart_sleep>; | ||
521 | + pinctrl-names = "default", | ||
522 | + "sleep"; | ||
523 | + status = "disabled"; | ||
524 | + }; | ||
525 | + }; | ||
421 | + | 526 | + |
422 | + tcsr_mutex: hwlock@1f40000 { | 527 | + tcsr_mutex: hwlock@1f40000 { |
423 | + compatible = "qcom,tcsr-mutex"; | 528 | + compatible = "qcom,tcsr-mutex"; |
424 | + reg = <0x0 0x01f40000 0x0 0x40000>; | 529 | + reg = <0x0 0x01f40000 0x0 0x40000>; |
425 | + #hwlock-cells = <1>; | 530 | + #hwlock-cells = <1>; |
... | ... | ||
445 | + #gpio-cells = <2>; | 550 | + #gpio-cells = <2>; |
446 | + gpio-ranges = <&tlmm 0 0 133>; | 551 | + gpio-ranges = <&tlmm 0 0 133>; |
447 | + interrupt-controller; | 552 | + interrupt-controller; |
448 | + #interrupt-cells = <2>; | 553 | + #interrupt-cells = <2>; |
449 | + wakeup-parent = <&pdc>; | 554 | + wakeup-parent = <&pdc>; |
555 | + | ||
556 | + qupv3_se1_2uart_active: qupv3-se1-2uart-active-state { | ||
557 | + tx-pins { | ||
558 | + pins = "gpio12"; | ||
559 | + function = "qup_se1_l2_mira"; | ||
560 | + drive-strength= <2>; | ||
561 | + bias-disable; | ||
562 | + }; | ||
563 | + | ||
564 | + rx-pins { | ||
565 | + pins = "gpio13"; | ||
566 | + function = "qup_se1_l3_mira"; | ||
567 | + drive-strength= <2>; | ||
568 | + bias-disable; | ||
569 | + }; | ||
570 | + }; | ||
571 | + | ||
572 | + qupv3_se1_2uart_sleep: qupv3-se1-2uart-sleep-state { | ||
573 | + pins = "gpio12", "gpio13"; | ||
574 | + function = "gpio"; | ||
575 | + drive-strength = <2>; | ||
576 | + bias-pull-down; | ||
577 | + }; | ||
450 | + }; | 578 | + }; |
451 | + | 579 | + |
452 | + apps_smmu: iommu@15000000 { | 580 | + apps_smmu: iommu@15000000 { |
453 | + compatible = "qcom,sdx75-smmu-500", "arm,mmu-500"; | 581 | + compatible = "qcom,sdx75-smmu-500", "qcom,smmu-500", "arm,mmu-500"; |
454 | + reg = <0x0 0x15000000 0x0 0x40000>; | 582 | + reg = <0x0 0x15000000 0x0 0x40000>; |
455 | + #iommu-cells = <2>; | 583 | + #iommu-cells = <2>; |
456 | + #global-interrupts = <2>; | 584 | + #global-interrupts = <2>; |
585 | + dma-coherent; | ||
457 | + interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>, | 586 | + interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>, |
458 | + <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>, | 587 | + <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>, |
459 | + <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>, | 588 | + <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>, |
460 | + <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>, | 589 | + <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>, |
461 | + <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>, | 590 | + <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>, |
... | ... | ||
500 | + interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; | 629 | + interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; |
501 | + }; | 630 | + }; |
502 | + | 631 | + |
503 | + timer@17420000 { | 632 | + timer@17420000 { |
504 | + compatible = "arm,armv7-timer-mem"; | 633 | + compatible = "arm,armv7-timer-mem"; |
505 | + #address-cells = <2>; | ||
506 | + #size-cells = <2>; | ||
507 | + ranges; | ||
508 | + reg = <0x0 0x17420000 0x0 0x1000>; | 634 | + reg = <0x0 0x17420000 0x0 0x1000>; |
509 | + clock-frequency = <19200000>; | 635 | + #address-cells = <1>; |
636 | + #size-cells = <1>; | ||
637 | + ranges = <0 0 0 0x20000000>; | ||
510 | + | 638 | + |
511 | + frame@17421000 { | 639 | + frame@17421000 { |
640 | + reg = <0x17421000 0x1000>, | ||
641 | + <0x17422000 0x1000>; | ||
512 | + frame-number = <0>; | 642 | + frame-number = <0>; |
513 | + interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>, | 643 | + interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>, |
514 | + <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; | 644 | + <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; |
515 | + reg = <0x0 0x17421000 0x0 0x1000>, | ||
516 | + <0x0 0x17422000 0x0 0x1000>; | ||
517 | + }; | 645 | + }; |
518 | + | 646 | + |
519 | + frame@17423000 { | 647 | + frame@17423000 { |
648 | + reg = <0x17423000 0x1000>; | ||
520 | + frame-number = <1>; | 649 | + frame-number = <1>; |
521 | + interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; | 650 | + interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; |
522 | + reg = <0x0 0x17425000 0x0 0x1000>; | ||
523 | + status = "disabled"; | 651 | + status = "disabled"; |
524 | + }; | 652 | + }; |
525 | + | 653 | + |
526 | + frame@17425000 { | 654 | + frame@17425000 { |
655 | + reg = <0x17425000 0x1000>; | ||
527 | + frame-number = <2>; | 656 | + frame-number = <2>; |
528 | + interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; | 657 | + interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; |
529 | + reg = <0x0 0x17425000 0x0 0x1000>; | ||
530 | + status = "disabled"; | 658 | + status = "disabled"; |
531 | + }; | 659 | + }; |
532 | + | 660 | + |
533 | + frame@17427000 { | 661 | + frame@17427000 { |
662 | + reg = <0x17427000 0x1000>; | ||
534 | + frame-number = <3>; | 663 | + frame-number = <3>; |
535 | + interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; | 664 | + interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; |
536 | + reg = <0x0 0x17427000 0x0 0x1000>; | ||
537 | + status = "disabled"; | 665 | + status = "disabled"; |
538 | + }; | 666 | + }; |
539 | + | 667 | + |
540 | + frame@17429000 { | 668 | + frame@17429000 { |
669 | + reg = <0x17429000 0x1000>; | ||
541 | + frame-number = <4>; | 670 | + frame-number = <4>; |
542 | + interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; | 671 | + interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; |
543 | + reg = <0x0 0x17429000 0x0 0x1000>; | ||
544 | + status = "disabled"; | 672 | + status = "disabled"; |
545 | + }; | 673 | + }; |
546 | + | 674 | + |
547 | + frame@1742b000 { | 675 | + frame@1742b000 { |
676 | + reg = <0x1742b000 0x1000>; | ||
548 | + frame-number = <5>; | 677 | + frame-number = <5>; |
549 | + interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; | 678 | + interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; |
550 | + reg = <0x0 0x1742b000 0x0 0x1000>; | ||
551 | + status = "disabled"; | 679 | + status = "disabled"; |
552 | + }; | 680 | + }; |
553 | + | 681 | + |
554 | + frame@1742d000 { | 682 | + frame@1742d000 { |
683 | + reg = <0x1742d000 0x1000>; | ||
555 | + frame-number = <6>; | 684 | + frame-number = <6>; |
556 | + interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; | 685 | + interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; |
557 | + reg = <0x0 0x1742d000 0x0 0x1000>; | ||
558 | + status = "disabled"; | 686 | + status = "disabled"; |
559 | + }; | 687 | + }; |
560 | + }; | 688 | + }; |
561 | + | 689 | + |
562 | + apps_rsc: rsc@17a00000 { | 690 | + apps_rsc: rsc@17a00000 { |
... | ... | ||
576 | + qcom,tcs-config = <ACTIVE_TCS 3>, | 704 | + qcom,tcs-config = <ACTIVE_TCS 3>, |
577 | + <SLEEP_TCS 2>, | 705 | + <SLEEP_TCS 2>, |
578 | + <WAKE_TCS 2>, | 706 | + <WAKE_TCS 2>, |
579 | + <CONTROL_TCS 0>; | 707 | + <CONTROL_TCS 0>; |
580 | + | 708 | + |
581 | + apps_bcm_voter: bcm_voter { | 709 | + apps_bcm_voter: bcm-voter { |
582 | + compatible = "qcom,bcm-voter"; | 710 | + compatible = "qcom,bcm-voter"; |
583 | + }; | 711 | + }; |
712 | + | ||
713 | + rpmhcc: clock-controller { | ||
714 | + compatible = "qcom,sdx75-rpmh-clk"; | ||
715 | + clocks = <&xo_board>; | ||
716 | + clock-names = "xo"; | ||
717 | + #clock-cells = <1>; | ||
718 | + }; | ||
719 | + }; | ||
720 | + | ||
721 | + cpufreq_hw: cpufreq@17d91000 { | ||
722 | + compatible = "qcom,sdx75-cpufreq-epss", "qcom,cpufreq-epss"; | ||
723 | + reg = <0x0 0x17d91000 0x0 0x1000>; | ||
724 | + reg-names = "freq-domain0"; | ||
725 | + clocks = <&rpmhcc RPMH_CXO_CLK>, | ||
726 | + <&gcc GPLL0>; | ||
727 | + clock-names = "xo", | ||
728 | + "alternate"; | ||
729 | + interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; | ||
730 | + interrupt-names = "dcvsh-irq-0"; | ||
731 | + #freq-domain-cells = <1>; | ||
732 | + #clock-cells = <1>; | ||
584 | + }; | 733 | + }; |
585 | + }; | 734 | + }; |
586 | + | 735 | + |
587 | + timer { | 736 | + timer { |
588 | + compatible = "arm,armv8-timer"; | 737 | + compatible = "arm,armv8-timer"; |
589 | + interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, | 738 | + interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, |
590 | + <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, | 739 | + <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, |
591 | + <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, | 740 | + <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>, |
592 | + <GIC_PPI 12 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>; | 741 | + <GIC_PPI 12 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>; |
593 | + clock-frequency = <19200000>; | ||
594 | + }; | 742 | + }; |
595 | +}; | 743 | +}; |
596 | -- | 744 | -- |
597 | 2.7.4 | 745 | 2.7.4 | diff view generated by jsdifflib |
Deleted patch | |||
---|---|---|---|
1 | From: Imran Shaik <quic_imrashai@quicinc.com> | ||
2 | 1 | ||
3 | Add support for GCC and RPMHCC clock nodes for SDX75 platform. | ||
4 | |||
5 | Signed-off-by: Imran Shaik <quic_imrashai@quicinc.com> | ||
6 | Signed-off-by: Rohit Agarwal <quic_rohiagar@quicinc.com> | ||
7 | --- | ||
8 | arch/arm64/boot/dts/qcom/sdx75.dtsi | 37 ++++++++++++++++++++++++++++++++++++- | ||
9 | 1 file changed, 36 insertions(+), 1 deletion(-) | ||
10 | |||
11 | diff --git a/arch/arm64/boot/dts/qcom/sdx75.dtsi b/arch/arm64/boot/dts/qcom/sdx75.dtsi | ||
12 | index XXXXXXX..XXXXXXX 100644 | ||
13 | --- a/arch/arm64/boot/dts/qcom/sdx75.dtsi | ||
14 | +++ b/arch/arm64/boot/dts/qcom/sdx75.dtsi | ||
15 | @@ -XXX,XX +XXX,XX @@ | ||
16 | */ | ||
17 | |||
18 | #include <dt-bindings/clock/qcom,rpmh.h> | ||
19 | +#include <dt-bindings/clock/qcom,sdx75-gcc.h> | ||
20 | #include <dt-bindings/interrupt-controller/arm-gic.h> | ||
21 | #include <dt-bindings/soc/qcom,rpmh-rsc.h> | ||
22 | |||
23 | @@ -XXX,XX +XXX,XX @@ | ||
24 | reg = <0 0 0 0>; | ||
25 | }; | ||
26 | |||
27 | - clocks { }; | ||
28 | + clocks { | ||
29 | + xo_board: xo_board { | ||
30 | + compatible = "fixed-clock"; | ||
31 | + clock-frequency = <76800000>; | ||
32 | + clock-output-names = "xo_board"; | ||
33 | + #clock-cells = <0>; | ||
34 | + }; | ||
35 | + | ||
36 | + sleep_clk: sleep_clk { | ||
37 | + compatible = "fixed-clock"; | ||
38 | + clock-frequency = <32000>; | ||
39 | + clock-output-names = "sleep_clk"; | ||
40 | + #clock-cells = <0>; | ||
41 | + }; | ||
42 | + }; | ||
43 | |||
44 | cpus { | ||
45 | #address-cells = <2>; | ||
46 | @@ -XXX,XX +XXX,XX @@ | ||
47 | ranges; | ||
48 | compatible = "simple-bus"; | ||
49 | |||
50 | + gcc: clock-controller@80000 { | ||
51 | + compatible = "qcom,sdx75-gcc"; | ||
52 | + reg = <0x0 0x0080000 0x0 0x1f7400>; | ||
53 | + clocks = <&rpmhcc RPMH_CXO_CLK>, | ||
54 | + <&sleep_clk>; | ||
55 | + clock-names = "bi_tcxo", | ||
56 | + "sleep_clk"; | ||
57 | + #clock-cells = <1>; | ||
58 | + #reset-cells = <1>; | ||
59 | + #power-domain-cells = <1>; | ||
60 | + }; | ||
61 | + | ||
62 | tcsr_mutex: hwlock@1f40000 { | ||
63 | compatible = "qcom,tcsr-mutex"; | ||
64 | reg = <0x0 0x01f40000 0x0 0x40000>; | ||
65 | @@ -XXX,XX +XXX,XX @@ | ||
66 | apps_bcm_voter: bcm_voter { | ||
67 | compatible = "qcom,bcm-voter"; | ||
68 | }; | ||
69 | + | ||
70 | + rpmhcc: clock-controller { | ||
71 | + compatible = "qcom,sdx75-rpmh-clk"; | ||
72 | + clocks = <&xo_board>; | ||
73 | + clock-names = "xo"; | ||
74 | + #clock-cells = <1>; | ||
75 | + }; | ||
76 | + | ||
77 | }; | ||
78 | }; | ||
79 | |||
80 | -- | ||
81 | 2.7.4 | diff view generated by jsdifflib |
Deleted patch | |||
---|---|---|---|
1 | Add the debug uart console node in devicetree. | ||
2 | 1 | ||
3 | Signed-off-by: Rohit Agarwal <quic_rohiagar@quicinc.com> | ||
4 | --- | ||
5 | arch/arm64/boot/dts/qcom/sdx75.dtsi | 49 +++++++++++++++++++++++++++++++++++++ | ||
6 | 1 file changed, 49 insertions(+) | ||
7 | |||
8 | diff --git a/arch/arm64/boot/dts/qcom/sdx75.dtsi b/arch/arm64/boot/dts/qcom/sdx75.dtsi | ||
9 | index XXXXXXX..XXXXXXX 100644 | ||
10 | --- a/arch/arm64/boot/dts/qcom/sdx75.dtsi | ||
11 | +++ b/arch/arm64/boot/dts/qcom/sdx75.dtsi | ||
12 | @@ -XXX,XX +XXX,XX @@ | ||
13 | #power-domain-cells = <1>; | ||
14 | }; | ||
15 | |||
16 | + qupv3_id_0: geniqup@9c0000 { | ||
17 | + compatible = "qcom,geni-se-qup"; | ||
18 | + reg = <0x0 0x009c0000 0x0 0x2000>; | ||
19 | + clocks = <&gcc GCC_QUPV3_WRAP_0_M_AHB_CLK>, | ||
20 | + <&gcc GCC_QUPV3_WRAP_0_S_AHB_CLK>; | ||
21 | + clock-names = "m-ahb", | ||
22 | + "s-ahb"; | ||
23 | + iommus = <&apps_smmu 0xe3 0x0>; | ||
24 | + #address-cells = <2>; | ||
25 | + #size-cells = <2>; | ||
26 | + ranges; | ||
27 | + status = "disabled"; | ||
28 | + | ||
29 | + uart1: serial@984000 { | ||
30 | + compatible = "qcom,geni-debug-uart"; | ||
31 | + reg = <0x0 0x00984000 0x0 0x4000>; | ||
32 | + clock-names = "se"; | ||
33 | + clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>; | ||
34 | + interrupts = <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH>; | ||
35 | + pinctrl-0 = <&qupv3_se1_2uart_tx_active>, | ||
36 | + <&qupv3_se1_2uart_rx_active>; | ||
37 | + pinctrl-1 = <&qupv3_se1_2uart_sleep>; | ||
38 | + pinctrl-names = "default", | ||
39 | + "sleep"; | ||
40 | + status = "disabled"; | ||
41 | + }; | ||
42 | + }; | ||
43 | + | ||
44 | tcsr_mutex: hwlock@1f40000 { | ||
45 | compatible = "qcom,tcsr-mutex"; | ||
46 | reg = <0x0 0x01f40000 0x0 0x40000>; | ||
47 | @@ -XXX,XX +XXX,XX @@ | ||
48 | interrupt-controller; | ||
49 | #interrupt-cells = <2>; | ||
50 | wakeup-parent = <&pdc>; | ||
51 | + | ||
52 | + qupv3_se1_2uart_tx_active: qupv3-se1-2uart-tx-active-state { | ||
53 | + pins = "gpio12"; | ||
54 | + function = "qup_se1_l2_mira"; | ||
55 | + drive-strength= <2>; | ||
56 | + bias-disable; | ||
57 | + }; | ||
58 | + | ||
59 | + qupv3_se1_2uart_rx_active: qupv3-se1-2uart-rx-active-state { | ||
60 | + pins = "gpio13"; | ||
61 | + function = "qup_se1_l3_mira"; | ||
62 | + drive-strength= <2>; | ||
63 | + bias-disable; | ||
64 | + }; | ||
65 | + | ||
66 | + qupv3_se1_2uart_sleep: qupv3-se1-2uart-sleep-state { | ||
67 | + pins = "gpio12", "gpio13"; | ||
68 | + function = "gpio"; | ||
69 | + drive-strength = <2>; | ||
70 | + bias-pull-down; | ||
71 | + }; | ||
72 | }; | ||
73 | |||
74 | apps_smmu: iommu@15000000 { | ||
75 | -- | ||
76 | 2.7.4 | diff view generated by jsdifflib |
Deleted patch | |||
---|---|---|---|
1 | Enable the debug uart console for the SDX75 IDP board. | ||
2 | 1 | ||
3 | Signed-off-by: Rohit Agarwal <quic_rohiagar@quicinc.com> | ||
4 | --- | ||
5 | arch/arm64/boot/dts/qcom/sdx75-idp.dts | 15 +++++++++++++++ | ||
6 | 1 file changed, 15 insertions(+) | ||
7 | |||
8 | diff --git a/arch/arm64/boot/dts/qcom/sdx75-idp.dts b/arch/arm64/boot/dts/qcom/sdx75-idp.dts | ||
9 | index XXXXXXX..XXXXXXX 100644 | ||
10 | --- a/arch/arm64/boot/dts/qcom/sdx75-idp.dts | ||
11 | +++ b/arch/arm64/boot/dts/qcom/sdx75-idp.dts | ||
12 | @@ -XXX,XX +XXX,XX @@ | ||
13 | compatible = "qcom,sdx75-idp", "qcom,sdx75"; | ||
14 | qcom,board-id = <0x2010022 0x302>; | ||
15 | |||
16 | + aliases { | ||
17 | + serial0 = &uart1; | ||
18 | + }; | ||
19 | +}; | ||
20 | + | ||
21 | +&chosen { | ||
22 | + stdout-path = "serial0:115200n8"; | ||
23 | +}; | ||
24 | + | ||
25 | +&qupv3_id_0 { | ||
26 | + status = "okay"; | ||
27 | }; | ||
28 | |||
29 | &tlmm { | ||
30 | gpio-reserved-ranges = <110 6>; | ||
31 | }; | ||
32 | + | ||
33 | +&uart1 { | ||
34 | + status = "okay"; | ||
35 | +}; | ||
36 | -- | ||
37 | 2.7.4 | diff view generated by jsdifflib |