blob: 99e64f4881bc3c5b4e558aee91e7ec33fd78c2a0 [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;
28 };
29
Matthew McClintockbec6ba42015-11-19 17:19:31 -060030 cpus {
31 #address-cells = <1>;
32 #size-cells = <0>;
33 cpu@0 {
34 device_type = "cpu";
35 compatible = "arm,cortex-a7";
Matthew McClintock595b30c2015-11-19 18:29:48 -060036 enable-method = "qcom,kpss-acc-v1";
37 qcom,acc = <&acc0>;
38 qcom,saw = <&saw0>;
Matthew McClintockbec6ba42015-11-19 17:19:31 -060039 reg = <0x0>;
40 clocks = <&gcc GCC_APPS_CLK_SRC>;
Matthew McClintock595b30c2015-11-19 18:29:48 -060041 clock-frequency = <0>;
Matthew McClintockbec6ba42015-11-19 17:19:31 -060042 };
43
44 cpu@1 {
45 device_type = "cpu";
46 compatible = "arm,cortex-a7";
Matthew McClintock595b30c2015-11-19 18:29:48 -060047 enable-method = "qcom,kpss-acc-v1";
48 qcom,acc = <&acc1>;
49 qcom,saw = <&saw1>;
Matthew McClintockbec6ba42015-11-19 17:19:31 -060050 reg = <0x1>;
51 clocks = <&gcc GCC_APPS_CLK_SRC>;
Matthew McClintock595b30c2015-11-19 18:29:48 -060052 clock-frequency = <0>;
Matthew McClintockbec6ba42015-11-19 17:19:31 -060053 };
54
55 cpu@2 {
56 device_type = "cpu";
57 compatible = "arm,cortex-a7";
Matthew McClintock595b30c2015-11-19 18:29:48 -060058 enable-method = "qcom,kpss-acc-v1";
59 qcom,acc = <&acc2>;
60 qcom,saw = <&saw2>;
Matthew McClintockbec6ba42015-11-19 17:19:31 -060061 reg = <0x2>;
62 clocks = <&gcc GCC_APPS_CLK_SRC>;
Matthew McClintock595b30c2015-11-19 18:29:48 -060063 clock-frequency = <0>;
Matthew McClintockbec6ba42015-11-19 17:19:31 -060064 };
65
66 cpu@3 {
67 device_type = "cpu";
68 compatible = "arm,cortex-a7";
Matthew McClintock595b30c2015-11-19 18:29:48 -060069 enable-method = "qcom,kpss-acc-v1";
70 qcom,acc = <&acc3>;
71 qcom,saw = <&saw3>;
Matthew McClintockbec6ba42015-11-19 17:19:31 -060072 reg = <0x3>;
73 clocks = <&gcc GCC_APPS_CLK_SRC>;
Matthew McClintock595b30c2015-11-19 18:29:48 -060074 clock-frequency = <0>;
Matthew McClintockbec6ba42015-11-19 17:19:31 -060075 };
76 };
77
78 clocks {
79 sleep_clk: sleep_clk {
80 compatible = "fixed-clock";
81 clock-frequency = <32768>;
82 #clock-cells = <0>;
83 };
84 };
85
86 soc {
87 #address-cells = <1>;
88 #size-cells = <1>;
89 ranges;
90 compatible = "simple-bus";
91
92 intc: interrupt-controller@b000000 {
93 compatible = "qcom,msm-qgic2";
94 interrupt-controller;
95 #interrupt-cells = <3>;
96 reg = <0x0b000000 0x1000>,
97 <0x0b002000 0x1000>;
98 };
99
100 gcc: clock-controller@1800000 {
101 compatible = "qcom,gcc-ipq4019";
102 #clock-cells = <1>;
103 #reset-cells = <1>;
104 reg = <0x1800000 0x60000>;
105 };
106
107 tlmm: pinctrl@0x01000000 {
108 compatible = "qcom,ipq4019-pinctrl";
109 reg = <0x01000000 0x300000>;
110 gpio-controller;
111 #gpio-cells = <2>;
112 interrupt-controller;
113 #interrupt-cells = <2>;
114 interrupts = <0 208 0>;
115 };
116
Matthew McClintock13ad4fd2016-03-23 17:05:07 -0500117 spi_0: spi@78b5000 {
118 compatible = "qcom,spi-qup-v2.2.1";
119 reg = <0x78b5000 0x600>;
120 interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
121 clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>,
122 <&gcc GCC_BLSP1_AHB_CLK>;
123 clock-names = "core", "iface";
124 #address-cells = <1>;
125 #size-cells = <0>;
126 status = "disabled";
127 };
128
Matthew McClintock595b30c2015-11-19 18:29:48 -0600129 acc0: clock-controller@b088000 {
130 compatible = "qcom,kpss-acc-v1";
131 reg = <0x0b088000 0x1000>, <0xb008000 0x1000>;
132 };
133
134 acc1: clock-controller@b098000 {
135 compatible = "qcom,kpss-acc-v1";
136 reg = <0x0b098000 0x1000>, <0xb008000 0x1000>;
137 };
138
139 acc2: clock-controller@b0a8000 {
140 compatible = "qcom,kpss-acc-v1";
141 reg = <0x0b0a8000 0x1000>, <0xb008000 0x1000>;
142 };
143
144 acc3: clock-controller@b0b8000 {
145 compatible = "qcom,kpss-acc-v1";
146 reg = <0x0b0b8000 0x1000>, <0xb008000 0x1000>;
147 };
148
149 saw0: regulator@b089000 {
150 compatible = "qcom,saw2";
151 reg = <0x02089000 0x1000>, <0x0b009000 0x1000>;
152 regulator;
153 };
154
155 saw1: regulator@b099000 {
156 compatible = "qcom,saw2";
157 reg = <0x0b099000 0x1000>, <0x0b009000 0x1000>;
158 regulator;
159 };
160
161 saw2: regulator@b0a9000 {
162 compatible = "qcom,saw2";
163 reg = <0x0b0a9000 0x1000>, <0x0b009000 0x1000>;
164 regulator;
165 };
166
167 saw3: regulator@b0b9000 {
168 compatible = "qcom,saw2";
169 reg = <0x0b0b9000 0x1000>, <0x0b009000 0x1000>;
170 regulator;
171 };
172
Matthew McClintockbec6ba42015-11-19 17:19:31 -0600173 serial@78af000 {
174 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
175 reg = <0x78af000 0x200>;
176 interrupts = <0 107 0>;
177 status = "disabled";
178 clocks = <&gcc GCC_BLSP1_UART1_APPS_CLK>,
179 <&gcc GCC_BLSP1_AHB_CLK>;
180 clock-names = "core", "iface";
181 };
182
183 serial@78b0000 {
184 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
185 reg = <0x78b0000 0x200>;
186 interrupts = <0 108 0>;
187 status = "disabled";
188 clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>,
189 <&gcc GCC_BLSP1_AHB_CLK>;
190 clock-names = "core", "iface";
191 };
Matthew McClintock40057af2016-03-23 17:05:05 -0500192
193 watchdog@b017000 {
194 compatible = "qcom,kpss-standalone";
195 reg = <0xb017000 0x40>;
196 clocks = <&sleep_clk>;
197 timeout-sec = <10>;
198 status = "disabled";
199 };
Matthew McClintock8196dd52016-03-23 17:05:06 -0500200
201 restart@4ab000 {
202 compatible = "qcom,pshold";
203 reg = <0x4ab000 0x4>;
204 };
Matthew McClintockbec6ba42015-11-19 17:19:31 -0600205 };
206};