1 // SPDX-License-Identifier: GPL-2.0
4 #include "skeleton.dtsi"
5 #include <dt-bindings/clock/qcom,gcc-ipq806x.h>
6 #include <dt-bindings/clock/qcom,lcc-ipq806x.h>
7 #include <dt-bindings/soc/qcom,gsbi.h>
8 #include <dt-bindings/interrupt-controller/arm-gic.h>
11 model = "Qualcomm IPQ8064";
12 compatible = "qcom,ipq8064";
13 interrupt-parent = <&intc>;
20 compatible = "qcom,krait";
21 enable-method = "qcom,kpss-acc-v1";
24 next-level-cache = <&L2>;
30 compatible = "qcom,krait";
31 enable-method = "qcom,kpss-acc-v1";
34 next-level-cache = <&L2>;
46 compatible = "qcom,krait-pmu";
47 interrupts = <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) |
48 IRQ_TYPE_LEVEL_HIGH)>;
57 reg = <0x40000000 0x1000000>;
62 reg = <0x41000000 0x200000>;
69 compatible = "fixed-clock";
71 clock-frequency = <25000000>;
75 compatible = "fixed-clock";
77 clock-frequency = <25000000>;
80 sleep_clk: sleep_clk {
81 compatible = "fixed-clock";
82 clock-frequency = <32768>;
91 compatible = "simple-bus";
94 compatible = "qcom,lpass-cpu";
96 clocks = <&lcc AHBIX_CLK>,
99 clock-names = "ahbix-clk",
102 interrupts = <GIC_SPI 85 IRQ_TYPE_EDGE_RISING>;
103 interrupt-names = "lpass-irq-lpaif";
104 reg = <0x28100000 0x10000>;
105 reg-names = "lpass-lpaif";
108 qcom_pinmux: pinmux@800000 {
109 compatible = "qcom,ipq8064-pinctrl";
110 reg = <0x800000 0x4000>;
114 interrupt-controller;
115 #interrupt-cells = <2>;
116 interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
119 intc: interrupt-controller@2000000 {
120 compatible = "qcom,msm-qgic2";
121 interrupt-controller;
122 #interrupt-cells = <3>;
123 reg = <0x02000000 0x1000>,
128 compatible = "qcom,kpss-timer",
129 "qcom,kpss-wdt-ipq8064", "qcom,msm-timer";
130 interrupts = <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(2) |
131 IRQ_TYPE_EDGE_RISING)>,
132 <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(2) |
133 IRQ_TYPE_EDGE_RISING)>,
134 <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(2) |
135 IRQ_TYPE_EDGE_RISING)>,
136 <GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(2) |
137 IRQ_TYPE_EDGE_RISING)>,
138 <GIC_PPI 5 (GIC_CPU_MASK_SIMPLE(2) |
139 IRQ_TYPE_EDGE_RISING)>;
140 reg = <0x0200a000 0x100>;
141 clock-frequency = <25000000>,
143 clocks = <&sleep_clk>;
144 clock-names = "sleep";
145 cpu-offset = <0x80000>;
148 acc0: clock-controller@2088000 {
149 compatible = "qcom,kpss-acc-v1";
150 reg = <0x02088000 0x1000>, <0x02008000 0x1000>;
153 acc1: clock-controller@2098000 {
154 compatible = "qcom,kpss-acc-v1";
155 reg = <0x02098000 0x1000>, <0x02008000 0x1000>;
158 saw0: regulator@2089000 {
159 compatible = "qcom,saw2";
160 reg = <0x02089000 0x1000>, <0x02009000 0x1000>;
164 saw1: regulator@2099000 {
165 compatible = "qcom,saw2";
166 reg = <0x02099000 0x1000>, <0x02009000 0x1000>;
170 gsbi2: gsbi@12480000 {
171 compatible = "qcom,gsbi-v1.0.0";
173 reg = <0x12480000 0x100>;
174 clocks = <&gcc GSBI2_H_CLK>;
175 clock-names = "iface";
176 #address-cells = <1>;
181 syscon-tcsr = <&tcsr>;
184 compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
185 reg = <0x12490000 0x1000>,
187 interrupts = <GIC_SPI 195 IRQ_TYPE_LEVEL_HIGH>;
188 clocks = <&gcc GSBI2_UART_CLK>, <&gcc GSBI2_H_CLK>;
189 clock-names = "core", "iface";
194 compatible = "qcom,i2c-qup-v1.1.1";
195 reg = <0x124a0000 0x1000>;
196 interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>;
198 clocks = <&gcc GSBI2_QUP_CLK>, <&gcc GSBI2_H_CLK>;
199 clock-names = "core", "iface";
202 #address-cells = <1>;
208 gsbi4: gsbi@16300000 {
209 compatible = "qcom,gsbi-v1.0.0";
211 reg = <0x16300000 0x100>;
212 clocks = <&gcc GSBI4_H_CLK>;
213 clock-names = "iface";
214 #address-cells = <1>;
219 syscon-tcsr = <&tcsr>;
221 gsbi4_serial: serial@16340000 {
222 compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
223 reg = <0x16340000 0x1000>,
225 interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>;
226 clocks = <&gcc GSBI4_UART_CLK>, <&gcc GSBI4_H_CLK>;
227 clock-names = "core", "iface";
232 compatible = "qcom,i2c-qup-v1.1.1";
233 reg = <0x16380000 0x1000>;
234 interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>;
236 clocks = <&gcc GSBI4_QUP_CLK>, <&gcc GSBI4_H_CLK>;
237 clock-names = "core", "iface";
240 #address-cells = <1>;
245 gsbi5: gsbi@1a200000 {
246 compatible = "qcom,gsbi-v1.0.0";
248 reg = <0x1a200000 0x100>;
249 clocks = <&gcc GSBI5_H_CLK>;
250 clock-names = "iface";
251 #address-cells = <1>;
256 syscon-tcsr = <&tcsr>;
259 compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
260 reg = <0x1a240000 0x1000>,
262 interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
263 clocks = <&gcc GSBI5_UART_CLK>, <&gcc GSBI5_H_CLK>;
264 clock-names = "core", "iface";
269 compatible = "qcom,i2c-qup-v1.1.1";
270 reg = <0x1a280000 0x1000>;
271 interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
273 clocks = <&gcc GSBI5_QUP_CLK>, <&gcc GSBI5_H_CLK>;
274 clock-names = "core", "iface";
277 #address-cells = <1>;
282 compatible = "qcom,spi-qup-v1.1.1";
283 reg = <0x1a280000 0x1000>;
284 interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
286 clocks = <&gcc GSBI5_QUP_CLK>, <&gcc GSBI5_H_CLK>;
287 clock-names = "core", "iface";
290 #address-cells = <1>;
295 gsbi7: gsbi@16600000 {
297 compatible = "qcom,gsbi-v1.0.0";
299 reg = <0x16600000 0x100>;
300 clocks = <&gcc GSBI7_H_CLK>;
301 clock-names = "iface";
302 #address-cells = <1>;
305 syscon-tcsr = <&tcsr>;
307 gsbi7_serial: serial@16640000 {
308 compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
309 reg = <0x16640000 0x1000>,
311 interrupts = <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>;
312 clocks = <&gcc GSBI7_UART_CLK>, <&gcc GSBI7_H_CLK>;
313 clock-names = "core", "iface";
318 sata_phy: sata-phy@1b400000 {
319 compatible = "qcom,ipq806x-sata-phy";
320 reg = <0x1b400000 0x200>;
322 clocks = <&gcc SATA_PHY_CFG_CLK>;
330 compatible = "qcom,ipq806x-ahci", "generic-ahci";
331 reg = <0x29000000 0x180>;
333 interrupts = <GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH>;
335 clocks = <&gcc SFAB_SATA_S_H_CLK>,
338 <&gcc SATA_RXOOB_CLK>,
339 <&gcc SATA_PMALIVE_CLK>;
340 clock-names = "slave_face", "iface", "core",
343 assigned-clocks = <&gcc SATA_RXOOB_CLK>, <&gcc SATA_PMALIVE_CLK>;
344 assigned-clock-rates = <100000000>, <100000000>;
347 phy-names = "sata-phy";
352 compatible = "qcom,ssbi";
353 reg = <0x00500000 0x1000>;
354 qcom,controller-type = "pmic-arbiter";
357 gcc: clock-controller@900000 {
358 compatible = "qcom,gcc-ipq8064";
359 reg = <0x00900000 0x4000>;
364 tcsr: syscon@1a400000 {
365 compatible = "qcom,tcsr-ipq8064", "syscon";
366 reg = <0x1a400000 0x100>;
369 lcc: clock-controller@28000000 {
370 compatible = "qcom,lcc-ipq8064";
371 reg = <0x28000000 0x1000>;