blob: 3cd42c04421b8aa9d297b0afca2c470cf8d43a56 [file] [log] [blame]
Matthew McClintockbec6ba42015-11-19 17:19:31 -06001/*
2 * Copyright (c) 2015, The Linux Foundation. All rights reserved.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 and
6 * only version 2 as published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 */
13
14/dts-v1/;
15
16#include "skeleton.dtsi"
17#include <dt-bindings/clock/qcom,gcc-ipq4019.h>
Matthew McClintock13ad4fd2016-03-23 17:05:07 -050018#include <dt-bindings/interrupt-controller/arm-gic.h>
19#include <dt-bindings/interrupt-controller/irq.h>
Matthew McClintockbec6ba42015-11-19 17:19:31 -060020
21/ {
22 model = "Qualcomm Technologies, Inc. IPQ4019";
23 compatible = "qcom,ipq4019";
24 interrupt-parent = <&intc>;
25
Matthew McClintock13ad4fd2016-03-23 17:05:07 -050026 aliases {
27 spi0 = &spi_0;
Matthew McClintocke76b4282016-03-23 17:05:08 -050028 i2c0 = &i2c_0;
Matthew McClintock13ad4fd2016-03-23 17:05:07 -050029 };
30
Matthew McClintockbec6ba42015-11-19 17:19:31 -060031 cpus {
32 #address-cells = <1>;
33 #size-cells = <0>;
34 cpu@0 {
35 device_type = "cpu";
36 compatible = "arm,cortex-a7";
Matthew McClintock595b30c2015-11-19 18:29:48 -060037 enable-method = "qcom,kpss-acc-v1";
38 qcom,acc = <&acc0>;
39 qcom,saw = <&saw0>;
Matthew McClintockbec6ba42015-11-19 17:19:31 -060040 reg = <0x0>;
41 clocks = <&gcc GCC_APPS_CLK_SRC>;
Matthew McClintock595b30c2015-11-19 18:29:48 -060042 clock-frequency = <0>;
Matthew McClintock15689ec2016-03-23 17:05:10 -050043 operating-points = <
44 /* kHz uV (fixed) */
45 48000 1100000
46 200000 1100000
47 500000 1100000
48 666000 1100000
49 >;
50 clock-latency = <256000>;
Matthew McClintockbec6ba42015-11-19 17:19:31 -060051 };
52
53 cpu@1 {
54 device_type = "cpu";
55 compatible = "arm,cortex-a7";
Matthew McClintock595b30c2015-11-19 18:29:48 -060056 enable-method = "qcom,kpss-acc-v1";
57 qcom,acc = <&acc1>;
58 qcom,saw = <&saw1>;
Matthew McClintockbec6ba42015-11-19 17:19:31 -060059 reg = <0x1>;
60 clocks = <&gcc GCC_APPS_CLK_SRC>;
Matthew McClintock595b30c2015-11-19 18:29:48 -060061 clock-frequency = <0>;
Matthew McClintockbec6ba42015-11-19 17:19:31 -060062 };
63
64 cpu@2 {
65 device_type = "cpu";
66 compatible = "arm,cortex-a7";
Matthew McClintock595b30c2015-11-19 18:29:48 -060067 enable-method = "qcom,kpss-acc-v1";
68 qcom,acc = <&acc2>;
69 qcom,saw = <&saw2>;
Matthew McClintockbec6ba42015-11-19 17:19:31 -060070 reg = <0x2>;
71 clocks = <&gcc GCC_APPS_CLK_SRC>;
Matthew McClintock595b30c2015-11-19 18:29:48 -060072 clock-frequency = <0>;
Matthew McClintockbec6ba42015-11-19 17:19:31 -060073 };
74
75 cpu@3 {
76 device_type = "cpu";
77 compatible = "arm,cortex-a7";
Matthew McClintock595b30c2015-11-19 18:29:48 -060078 enable-method = "qcom,kpss-acc-v1";
79 qcom,acc = <&acc3>;
80 qcom,saw = <&saw3>;
Matthew McClintockbec6ba42015-11-19 17:19:31 -060081 reg = <0x3>;
82 clocks = <&gcc GCC_APPS_CLK_SRC>;
Matthew McClintock595b30c2015-11-19 18:29:48 -060083 clock-frequency = <0>;
Matthew McClintockbec6ba42015-11-19 17:19:31 -060084 };
85 };
86
87 clocks {
88 sleep_clk: sleep_clk {
89 compatible = "fixed-clock";
90 clock-frequency = <32768>;
91 #clock-cells = <0>;
92 };
93 };
94
95 soc {
96 #address-cells = <1>;
97 #size-cells = <1>;
98 ranges;
99 compatible = "simple-bus";
100
101 intc: interrupt-controller@b000000 {
102 compatible = "qcom,msm-qgic2";
103 interrupt-controller;
104 #interrupt-cells = <3>;
105 reg = <0x0b000000 0x1000>,
106 <0x0b002000 0x1000>;
107 };
108
109 gcc: clock-controller@1800000 {
110 compatible = "qcom,gcc-ipq4019";
111 #clock-cells = <1>;
112 #reset-cells = <1>;
113 reg = <0x1800000 0x60000>;
114 };
115
116 tlmm: pinctrl@0x01000000 {
117 compatible = "qcom,ipq4019-pinctrl";
118 reg = <0x01000000 0x300000>;
119 gpio-controller;
120 #gpio-cells = <2>;
121 interrupt-controller;
122 #interrupt-cells = <2>;
123 interrupts = <0 208 0>;
124 };
125
Matthew McClintock13ad4fd2016-03-23 17:05:07 -0500126 spi_0: spi@78b5000 {
127 compatible = "qcom,spi-qup-v2.2.1";
128 reg = <0x78b5000 0x600>;
129 interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
130 clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>,
131 <&gcc GCC_BLSP1_AHB_CLK>;
132 clock-names = "core", "iface";
133 #address-cells = <1>;
134 #size-cells = <0>;
135 status = "disabled";
136 };
137
Matthew McClintocke76b4282016-03-23 17:05:08 -0500138 i2c_0: i2c@78b7000 {
139 compatible = "qcom,i2c-qup-v2.2.1";
140 reg = <0x78b7000 0x6000>;
141 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
142 clocks = <&gcc GCC_BLSP1_AHB_CLK>,
143 <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>;
144 clock-names = "iface", "core";
145 #address-cells = <1>;
146 #size-cells = <0>;
147 status = "disabled";
148 };
149
Matthew McClintockfd6fd382016-03-23 17:05:11 -0500150
151 cryptobam: dma@8e04000 {
152 compatible = "qcom,bam-v1.7.0";
153 reg = <0x08e04000 0x20000>;
154 interrupts = <GIC_SPI 207 0>;
155 clocks = <&gcc GCC_CRYPTO_AHB_CLK>;
156 clock-names = "bam_clk";
157 #dma-cells = <1>;
158 qcom,ee = <1>;
159 qcom,controlled-remotely;
160 status = "disabled";
161 };
162
163 crypto@8e3a000 {
164 compatible = "qcom,crypto-v5.1";
165 reg = <0x08e3a000 0x6000>;
166 clocks = <&gcc GCC_CRYPTO_AHB_CLK>,
167 <&gcc GCC_CRYPTO_AXI_CLK>,
168 <&gcc GCC_CRYPTO_CLK>;
169 clock-names = "iface", "bus", "core";
170 dmas = <&cryptobam 2>, <&cryptobam 3>;
171 dma-names = "rx", "tx";
172 status = "disabled";
173 };
174
Matthew McClintock595b30c2015-11-19 18:29:48 -0600175 acc0: clock-controller@b088000 {
176 compatible = "qcom,kpss-acc-v1";
177 reg = <0x0b088000 0x1000>, <0xb008000 0x1000>;
178 };
179
180 acc1: clock-controller@b098000 {
181 compatible = "qcom,kpss-acc-v1";
182 reg = <0x0b098000 0x1000>, <0xb008000 0x1000>;
183 };
184
185 acc2: clock-controller@b0a8000 {
186 compatible = "qcom,kpss-acc-v1";
187 reg = <0x0b0a8000 0x1000>, <0xb008000 0x1000>;
188 };
189
190 acc3: clock-controller@b0b8000 {
191 compatible = "qcom,kpss-acc-v1";
192 reg = <0x0b0b8000 0x1000>, <0xb008000 0x1000>;
193 };
194
195 saw0: regulator@b089000 {
196 compatible = "qcom,saw2";
197 reg = <0x02089000 0x1000>, <0x0b009000 0x1000>;
198 regulator;
199 };
200
201 saw1: regulator@b099000 {
202 compatible = "qcom,saw2";
203 reg = <0x0b099000 0x1000>, <0x0b009000 0x1000>;
204 regulator;
205 };
206
207 saw2: regulator@b0a9000 {
208 compatible = "qcom,saw2";
209 reg = <0x0b0a9000 0x1000>, <0x0b009000 0x1000>;
210 regulator;
211 };
212
213 saw3: regulator@b0b9000 {
214 compatible = "qcom,saw2";
215 reg = <0x0b0b9000 0x1000>, <0x0b009000 0x1000>;
216 regulator;
217 };
218
Matthew McClintockbec6ba42015-11-19 17:19:31 -0600219 serial@78af000 {
220 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
221 reg = <0x78af000 0x200>;
222 interrupts = <0 107 0>;
223 status = "disabled";
224 clocks = <&gcc GCC_BLSP1_UART1_APPS_CLK>,
225 <&gcc GCC_BLSP1_AHB_CLK>;
226 clock-names = "core", "iface";
227 };
228
229 serial@78b0000 {
230 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
231 reg = <0x78b0000 0x200>;
232 interrupts = <0 108 0>;
233 status = "disabled";
234 clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>,
235 <&gcc GCC_BLSP1_AHB_CLK>;
236 clock-names = "core", "iface";
237 };
Matthew McClintock40057af2016-03-23 17:05:05 -0500238
239 watchdog@b017000 {
240 compatible = "qcom,kpss-standalone";
241 reg = <0xb017000 0x40>;
242 clocks = <&sleep_clk>;
243 timeout-sec = <10>;
244 status = "disabled";
245 };
Matthew McClintock8196dd52016-03-23 17:05:06 -0500246
247 restart@4ab000 {
248 compatible = "qcom,pshold";
249 reg = <0x4ab000 0x4>;
250 };
Matthew McClintockbec6ba42015-11-19 17:19:31 -0600251 };
252};