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