blob: 162e1eb5373d3475fa785639223dd80750d5ca42 [file] [log] [blame]
Arnd Bergmann5d0769f2012-03-02 23:07:21 +00001/*
2 * Copyright 2012 Linaro Ltd
3 *
4 * The code contained herein is licensed under the GNU General Public
5 * License. You may obtain a copy of the GNU General Public License
6 * Version 2 or later at the following locations:
7 *
8 * http://www.opensource.org/licenses/gpl-license.html
9 * http://www.gnu.org/copyleft/gpl.html
10 */
11
Linus Walleij90c40252013-05-29 19:15:39 +020012#include <dt-bindings/interrupt-controller/irq.h>
Linus Walleij0bfe5162016-03-24 15:48:47 +010013#include <dt-bindings/interrupt-controller/arm-gic.h>
Lee Jones841cd0c2013-09-18 09:53:10 +010014#include <dt-bindings/mfd/dbx500-prcmu.h>
Ulf Hansson067adde2014-10-14 11:12:59 +020015#include <dt-bindings/arm/ux500_pm_domains.h>
Linus Walleij1b1e8e02016-03-24 15:29:30 +010016#include <dt-bindings/gpio/gpio.h>
Linus Walleij9aea1512017-02-26 01:02:09 +010017#include <dt-bindings/clock/ste-ab8500.h>
Gabriel Fernandez807e8832013-05-27 15:30:53 +020018#include "skeleton.dtsi"
Arnd Bergmann5d0769f2012-03-02 23:07:21 +000019
20/ {
Linus Walleijbf64dd22015-08-03 09:26:41 +020021 cpus {
22 #address-cells = <1>;
23 #size-cells = <0>;
24 enable-method = "ste,dbx500-smp";
25
26 cpu-map {
27 cluster0 {
28 core0 {
29 cpu = <&CPU0>;
30 };
31 core1 {
32 cpu = <&CPU1>;
33 };
34 };
35 };
36 CPU0: cpu@300 {
37 device_type = "cpu";
38 compatible = "arm,cortex-a9";
39 reg = <0x300>;
40 };
41 CPU1: cpu@301 {
42 device_type = "cpu";
43 compatible = "arm,cortex-a9";
44 reg = <0x301>;
45 };
46 };
47
Gabriel Fernandezb1ba1432013-03-01 14:38:07 +010048 soc {
Arnd Bergmann5d0769f2012-03-02 23:07:21 +000049 #address-cells = <1>;
50 #size-cells = <1>;
Lee Jones7e0ce272012-03-15 16:46:17 +000051 compatible = "stericsson,db8500";
Lee Jonesdab64872012-03-07 17:22:30 +000052 interrupt-parent = <&intc>;
Arnd Bergmann5d0769f2012-03-02 23:07:21 +000053 ranges;
Lee Jones7e0ce272012-03-15 16:46:17 +000054
Linus Walleijb5574572015-04-16 09:08:15 +020055 ptm@801ae000 {
56 compatible = "arm,coresight-etm3x", "arm,primecell";
57 reg = <0x801ae000 0x1000>;
58
59 clocks = <&prcmu_clk PRCMU_APETRACECLK>, <&prcmu_clk PRCMU_APEATCLK>;
60 clock-names = "apb_pclk", "atclk";
61 cpu = <&CPU0>;
62 port {
63 ptm0_out_port: endpoint {
64 remote-endpoint = <&funnel_in_port0>;
65 };
66 };
67 };
68
69 ptm@801af000 {
70 compatible = "arm,coresight-etm3x", "arm,primecell";
71 reg = <0x801af000 0x1000>;
72
73 clocks = <&prcmu_clk PRCMU_APETRACECLK>, <&prcmu_clk PRCMU_APEATCLK>;
74 clock-names = "apb_pclk", "atclk";
75 cpu = <&CPU1>;
76 port {
77 ptm1_out_port: endpoint {
78 remote-endpoint = <&funnel_in_port1>;
79 };
80 };
81 };
82
83 funnel@801a6000 {
84 compatible = "arm,coresight-funnel", "arm,primecell";
85 reg = <0x801a6000 0x1000>;
86
87 clocks = <&prcmu_clk PRCMU_APETRACECLK>, <&prcmu_clk PRCMU_APEATCLK>;
88 clock-names = "apb_pclk", "atclk";
89 ports {
90 #address-cells = <1>;
91 #size-cells = <0>;
92
93 /* funnel output ports */
94 port@0 {
95 reg = <0>;
96 funnel_out_port: endpoint {
97 remote-endpoint =
98 <&replicator_in_port0>;
99 };
100 };
101
102 /* funnel input ports */
103 port@1 {
104 reg = <0>;
105 funnel_in_port0: endpoint {
106 slave-mode;
107 remote-endpoint = <&ptm0_out_port>;
108 };
109 };
110
111 port@2 {
112 reg = <1>;
113 funnel_in_port1: endpoint {
114 slave-mode;
115 remote-endpoint = <&ptm1_out_port>;
116 };
117 };
118 };
119 };
120
121 replicator {
122 compatible = "arm,coresight-replicator";
123 clocks = <&prcmu_clk PRCMU_APEATCLK>;
124 clock-names = "atclk";
125
126 ports {
127 #address-cells = <1>;
128 #size-cells = <0>;
129
130 /* replicator output ports */
131 port@0 {
132 reg = <0>;
133 replicator_out_port0: endpoint {
134 remote-endpoint = <&tpiu_in_port>;
135 };
136 };
137 port@1 {
138 reg = <1>;
139 replicator_out_port1: endpoint {
140 remote-endpoint = <&etb_in_port>;
141 };
142 };
143
144 /* replicator input port */
145 port@2 {
146 reg = <0>;
147 replicator_in_port0: endpoint {
148 slave-mode;
149 remote-endpoint = <&funnel_out_port>;
150 };
151 };
152 };
153 };
154
155 tpiu@80190000 {
156 compatible = "arm,coresight-tpiu", "arm,primecell";
157 reg = <0x80190000 0x1000>;
158
159 clocks = <&prcmu_clk PRCMU_APETRACECLK>, <&prcmu_clk PRCMU_APEATCLK>;
160 clock-names = "apb_pclk", "atclk";
161 port {
162 tpiu_in_port: endpoint {
163 slave-mode;
164 remote-endpoint = <&replicator_out_port0>;
165 };
166 };
167 };
168
169 etb@801a4000 {
170 compatible = "arm,coresight-etb10", "arm,primecell";
171 reg = <0x801a4000 0x1000>;
172
173 clocks = <&prcmu_clk PRCMU_APETRACECLK>, <&prcmu_clk PRCMU_APEATCLK>;
174 clock-names = "apb_pclk", "atclk";
175 port {
176 etb_in_port: endpoint {
177 slave-mode;
178 remote-endpoint = <&replicator_out_port1>;
179 };
180 };
181 };
182
Lee Jonesdab64872012-03-07 17:22:30 +0000183 intc: interrupt-controller@a0411000 {
184 compatible = "arm,cortex-a9-gic";
185 #interrupt-cells = <3>;
186 #address-cells = <1>;
187 interrupt-controller;
Lee Jonesdab64872012-03-07 17:22:30 +0000188 reg = <0xa0411000 0x1000>,
189 <0xa0410100 0x100>;
190 };
191
Linus Walleij48793412015-05-14 11:22:34 +0200192 scu@a04100000 {
193 compatible = "arm,cortex-a9-scu";
194 reg = <0xa0410000 0x100>;
195 };
196
Linus Walleij724814b2015-05-14 18:02:05 +0200197 /*
198 * The backup RAM is used for retention during sleep
199 * and various things like spin tables
200 */
201 backupram@80150000 {
202 compatible = "ste,dbx500-backupram";
203 reg = <0x80150000 0x2000>;
204 };
205
Lee Jonesf1949ea2012-03-08 09:02:02 +0000206 L2: l2-cache {
207 compatible = "arm,pl310-cache";
208 reg = <0xa0412000 0x1000>;
Linus Walleij0bfe5162016-03-24 15:48:47 +0100209 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
Lee Jonesf1949ea2012-03-08 09:02:02 +0000210 cache-unified;
211 cache-level = <2>;
212 };
213
Lee Jones7e0ce272012-03-15 16:46:17 +0000214 pmu {
215 compatible = "arm,cortex-a9-pmu";
Linus Walleij0bfe5162016-03-24 15:48:47 +0100216 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000217 };
218
Ulf Hansson6c669352014-10-14 11:12:58 +0200219 pm_domains: pm_domains0 {
220 compatible = "stericsson,ux500-pm-domains";
221 #power-domain-cells = <1>;
222 };
Lee Jones8132ed12013-09-18 09:54:07 +0100223
Lee Jones841cd0c2013-09-18 09:53:10 +0100224 clocks {
225 compatible = "stericsson,u8500-clks";
Linus Walleij5dc0fe192015-07-30 15:19:25 +0200226 /*
227 * Registers for the CLKRST block on peripheral
228 * groups 1, 2, 3, 5, 6,
229 */
230 reg = <0x8012f000 0x1000>, <0x8011f000 0x1000>,
231 <0x8000f000 0x1000>, <0xa03ff000 0x1000>,
232 <0xa03cf000 0x1000>;
Lee Jones841cd0c2013-09-18 09:53:10 +0100233
234 prcmu_clk: prcmu-clock {
235 #clock-cells = <1>;
236 };
Lee Jonesfcbe5e92013-06-06 10:51:04 +0100237
238 prcc_pclk: prcc-periph-clock {
239 #clock-cells = <2>;
240 };
Lee Jones2588fea2013-06-06 10:52:50 +0100241
242 prcc_kclk: prcc-kernel-clock {
243 #clock-cells = <2>;
244 };
Lee Jones589d9832013-06-06 10:54:27 +0100245
246 rtc_clk: rtc32k-clock {
247 #clock-cells = <0>;
248 };
Lee Jones309012d2013-06-06 10:54:48 +0100249
250 smp_twd_clk: smp-twd-clock {
251 #clock-cells = <0>;
252 };
Lee Jones841cd0c2013-09-18 09:53:10 +0100253 };
254
Lee Jones8132ed12013-09-18 09:54:07 +0100255 mtu@a03c6000 {
256 /* Nomadik System Timer */
257 compatible = "st,nomadik-mtu";
258 reg = <0xa03c6000 0x1000>;
Linus Walleij0bfe5162016-03-24 15:48:47 +0100259 interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones8132ed12013-09-18 09:54:07 +0100260
261 clocks = <&prcmu_clk PRCMU_TIMCLK>, <&prcc_pclk 6 6>;
262 clock-names = "timclk", "apb_pclk";
263 };
264
Lee Jones71de5c42012-03-16 09:53:24 +0000265 timer@a0410600 {
266 compatible = "arm,cortex-a9-twd-timer";
267 reg = <0xa0410600 0x20>;
Linus Walleij0bfe5162016-03-24 15:48:47 +0100268 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_RAW(3) | IRQ_TYPE_LEVEL_HIGH)>;
Lee Jonesa8acb1e2013-06-05 12:26:52 +0100269
270 clocks = <&smp_twd_clk>;
Lee Jones71de5c42012-03-16 09:53:24 +0000271 };
272
Linus Walleij48793412015-05-14 11:22:34 +0200273 watchdog@a0410620 {
274 compatible = "arm,cortex-a9-twd-wdt";
275 reg = <0xa0410620 0x20>;
Linus Walleij0bfe5162016-03-24 15:48:47 +0100276 interrupts = <GIC_PPI 14 (GIC_CPU_MASK_RAW(3) | IRQ_TYPE_LEVEL_HIGH)>;
Linus Walleij48793412015-05-14 11:22:34 +0200277 clocks = <&smp_twd_clk>;
278 };
279
Lee Jones7e0ce272012-03-15 16:46:17 +0000280 rtc@80154000 {
Lee Jonesddb3b992012-05-26 07:01:31 +0100281 compatible = "arm,rtc-pl031", "arm,primecell";
Lee Jones7e0ce272012-03-15 16:46:17 +0000282 reg = <0x80154000 0x1000>;
Linus Walleij0bfe5162016-03-24 15:48:47 +0100283 interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
Lee Jonesd299b5a2013-06-05 12:27:24 +0100284
285 clocks = <&rtc_clk>;
286 clock-names = "apb_pclk";
Lee Jones7e0ce272012-03-15 16:46:17 +0000287 };
288
289 gpio0: gpio@8012e000 {
290 compatible = "stericsson,db8500-gpio",
Lee Jonesfd9a80b2012-04-13 15:05:03 +0100291 "st,nomadik-gpio";
Lee Jones7e0ce272012-03-15 16:46:17 +0000292 reg = <0x8012e000 0x80>;
Linus Walleij0bfe5162016-03-24 15:48:47 +0100293 interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones93b56982012-05-29 14:17:36 +0800294 interrupt-controller;
295 #interrupt-cells = <2>;
Lee Jones61be4982012-06-14 11:16:03 +0100296 st,supports-sleepmode;
Lee Jones7e0ce272012-03-15 16:46:17 +0000297 gpio-controller;
Lee Jonesc0b133b2012-04-13 15:05:05 +0100298 #gpio-cells = <2>;
299 gpio-bank = <0>;
Linus Walleijee041392015-07-23 09:09:49 +0200300 gpio-ranges = <&pinctrl 0 0 32>;
Lee Jones9d891072013-06-03 13:07:51 +0100301 clocks = <&prcc_pclk 1 9>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000302 };
303
304 gpio1: gpio@8012e080 {
305 compatible = "stericsson,db8500-gpio",
Lee Jonesfd9a80b2012-04-13 15:05:03 +0100306 "st,nomadik-gpio";
Lee Jones7e0ce272012-03-15 16:46:17 +0000307 reg = <0x8012e080 0x80>;
Linus Walleij0bfe5162016-03-24 15:48:47 +0100308 interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones93b56982012-05-29 14:17:36 +0800309 interrupt-controller;
310 #interrupt-cells = <2>;
Lee Jones61be4982012-06-14 11:16:03 +0100311 st,supports-sleepmode;
Lee Jones7e0ce272012-03-15 16:46:17 +0000312 gpio-controller;
Lee Jonesc0b133b2012-04-13 15:05:05 +0100313 #gpio-cells = <2>;
314 gpio-bank = <1>;
Linus Walleijee041392015-07-23 09:09:49 +0200315 gpio-ranges = <&pinctrl 0 32 5>;
Lee Jones9d891072013-06-03 13:07:51 +0100316 clocks = <&prcc_pclk 1 9>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000317 };
318
319 gpio2: gpio@8000e000 {
320 compatible = "stericsson,db8500-gpio",
Lee Jonesfd9a80b2012-04-13 15:05:03 +0100321 "st,nomadik-gpio";
Lee Jones7e0ce272012-03-15 16:46:17 +0000322 reg = <0x8000e000 0x80>;
Linus Walleij0bfe5162016-03-24 15:48:47 +0100323 interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones93b56982012-05-29 14:17:36 +0800324 interrupt-controller;
325 #interrupt-cells = <2>;
Lee Jones61be4982012-06-14 11:16:03 +0100326 st,supports-sleepmode;
Lee Jones7e0ce272012-03-15 16:46:17 +0000327 gpio-controller;
Lee Jonesc0b133b2012-04-13 15:05:05 +0100328 #gpio-cells = <2>;
329 gpio-bank = <2>;
Linus Walleijee041392015-07-23 09:09:49 +0200330 gpio-ranges = <&pinctrl 0 64 32>;
Lee Jones9d891072013-06-03 13:07:51 +0100331 clocks = <&prcc_pclk 3 8>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000332 };
333
334 gpio3: gpio@8000e080 {
335 compatible = "stericsson,db8500-gpio",
Lee Jonesfd9a80b2012-04-13 15:05:03 +0100336 "st,nomadik-gpio";
Lee Jones7e0ce272012-03-15 16:46:17 +0000337 reg = <0x8000e080 0x80>;
Linus Walleij0bfe5162016-03-24 15:48:47 +0100338 interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones93b56982012-05-29 14:17:36 +0800339 interrupt-controller;
340 #interrupt-cells = <2>;
Lee Jones61be4982012-06-14 11:16:03 +0100341 st,supports-sleepmode;
Lee Jones7e0ce272012-03-15 16:46:17 +0000342 gpio-controller;
Lee Jonesc0b133b2012-04-13 15:05:05 +0100343 #gpio-cells = <2>;
344 gpio-bank = <3>;
Linus Walleijee041392015-07-23 09:09:49 +0200345 gpio-ranges = <&pinctrl 0 96 2>;
Lee Jones9d891072013-06-03 13:07:51 +0100346 clocks = <&prcc_pclk 3 8>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000347 };
348
349 gpio4: gpio@8000e100 {
350 compatible = "stericsson,db8500-gpio",
Lee Jonesfd9a80b2012-04-13 15:05:03 +0100351 "st,nomadik-gpio";
Lee Jones7e0ce272012-03-15 16:46:17 +0000352 reg = <0x8000e100 0x80>;
Linus Walleij0bfe5162016-03-24 15:48:47 +0100353 interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones93b56982012-05-29 14:17:36 +0800354 interrupt-controller;
355 #interrupt-cells = <2>;
Lee Jones61be4982012-06-14 11:16:03 +0100356 st,supports-sleepmode;
Lee Jones7e0ce272012-03-15 16:46:17 +0000357 gpio-controller;
Lee Jonesc0b133b2012-04-13 15:05:05 +0100358 #gpio-cells = <2>;
359 gpio-bank = <4>;
Linus Walleijee041392015-07-23 09:09:49 +0200360 gpio-ranges = <&pinctrl 0 128 32>;
Lee Jones9d891072013-06-03 13:07:51 +0100361 clocks = <&prcc_pclk 3 8>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000362 };
363
364 gpio5: gpio@8000e180 {
365 compatible = "stericsson,db8500-gpio",
Lee Jonesfd9a80b2012-04-13 15:05:03 +0100366 "st,nomadik-gpio";
Lee Jones7e0ce272012-03-15 16:46:17 +0000367 reg = <0x8000e180 0x80>;
Linus Walleij0bfe5162016-03-24 15:48:47 +0100368 interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones93b56982012-05-29 14:17:36 +0800369 interrupt-controller;
370 #interrupt-cells = <2>;
Lee Jones61be4982012-06-14 11:16:03 +0100371 st,supports-sleepmode;
Lee Jones7e0ce272012-03-15 16:46:17 +0000372 gpio-controller;
Lee Jonesc0b133b2012-04-13 15:05:05 +0100373 #gpio-cells = <2>;
374 gpio-bank = <5>;
Linus Walleijee041392015-07-23 09:09:49 +0200375 gpio-ranges = <&pinctrl 0 160 12>;
Lee Jones9d891072013-06-03 13:07:51 +0100376 clocks = <&prcc_pclk 3 8>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000377 };
378
379 gpio6: gpio@8011e000 {
380 compatible = "stericsson,db8500-gpio",
Lee Jonesfd9a80b2012-04-13 15:05:03 +0100381 "st,nomadik-gpio";
Lee Jones7e0ce272012-03-15 16:46:17 +0000382 reg = <0x8011e000 0x80>;
Linus Walleij0bfe5162016-03-24 15:48:47 +0100383 interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones93b56982012-05-29 14:17:36 +0800384 interrupt-controller;
385 #interrupt-cells = <2>;
Lee Jones61be4982012-06-14 11:16:03 +0100386 st,supports-sleepmode;
Lee Jones7e0ce272012-03-15 16:46:17 +0000387 gpio-controller;
Lee Jonesc0b133b2012-04-13 15:05:05 +0100388 #gpio-cells = <2>;
389 gpio-bank = <6>;
Linus Walleijee041392015-07-23 09:09:49 +0200390 gpio-ranges = <&pinctrl 0 192 32>;
Linus Walleijd5916402013-10-18 09:49:21 +0200391 clocks = <&prcc_pclk 2 11>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000392 };
393
394 gpio7: gpio@8011e080 {
395 compatible = "stericsson,db8500-gpio",
Lee Jonesfd9a80b2012-04-13 15:05:03 +0100396 "st,nomadik-gpio";
Lee Jones7e0ce272012-03-15 16:46:17 +0000397 reg = <0x8011e080 0x80>;
Linus Walleij0bfe5162016-03-24 15:48:47 +0100398 interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones93b56982012-05-29 14:17:36 +0800399 interrupt-controller;
400 #interrupt-cells = <2>;
Lee Jones61be4982012-06-14 11:16:03 +0100401 st,supports-sleepmode;
Lee Jones7e0ce272012-03-15 16:46:17 +0000402 gpio-controller;
Lee Jonesc0b133b2012-04-13 15:05:05 +0100403 #gpio-cells = <2>;
404 gpio-bank = <7>;
Linus Walleijee041392015-07-23 09:09:49 +0200405 gpio-ranges = <&pinctrl 0 224 7>;
Linus Walleijd5916402013-10-18 09:49:21 +0200406 clocks = <&prcc_pclk 2 11>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000407 };
408
409 gpio8: gpio@a03fe000 {
410 compatible = "stericsson,db8500-gpio",
Lee Jonesfd9a80b2012-04-13 15:05:03 +0100411 "st,nomadik-gpio";
Lee Jones7e0ce272012-03-15 16:46:17 +0000412 reg = <0xa03fe000 0x80>;
Linus Walleij0bfe5162016-03-24 15:48:47 +0100413 interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones93b56982012-05-29 14:17:36 +0800414 interrupt-controller;
415 #interrupt-cells = <2>;
Lee Jones61be4982012-06-14 11:16:03 +0100416 st,supports-sleepmode;
Lee Jones7e0ce272012-03-15 16:46:17 +0000417 gpio-controller;
Lee Jonesc0b133b2012-04-13 15:05:05 +0100418 #gpio-cells = <2>;
419 gpio-bank = <8>;
Linus Walleijee041392015-07-23 09:09:49 +0200420 gpio-ranges = <&pinctrl 0 256 12>;
Linus Walleij84873cb2013-10-18 09:45:07 +0200421 clocks = <&prcc_pclk 5 1>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000422 };
423
Linus Walleijee041392015-07-23 09:09:49 +0200424 pinctrl: pinctrl {
Lee Jones818d99a2013-05-22 15:22:55 +0100425 compatible = "stericsson,db8500-pinctrl";
Linus Walleijee041392015-07-23 09:09:49 +0200426 nomadik-gpio-chips = <&gpio0>, <&gpio1>, <&gpio2>, <&gpio3>,
427 <&gpio4>, <&gpio5>, <&gpio6>, <&gpio7>,
428 <&gpio8>;
Lee Jones8979cfe2013-01-11 15:45:28 +0000429 prcm = <&prcmu>;
Lee Jones5910de92012-05-26 06:25:36 +0100430 };
431
Lee Jonesb32dc862013-05-03 15:31:51 +0100432 usb_per5@a03e0000 {
Sebastian Andrzej Siewior4a6cd432013-08-20 18:40:27 +0200433 compatible = "stericsson,db8500-musb";
Lee Jones7e0ce272012-03-15 16:46:17 +0000434 reg = <0xa03e0000 0x10000>;
Linus Walleij0bfe5162016-03-24 15:48:47 +0100435 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
Lee Jonesb32dc862013-05-03 15:31:51 +0100436 interrupt-names = "mc";
437
438 dr_mode = "otg";
439
440 dmas = <&dma 38 0 0x2>, /* Logical - DevToMem */
441 <&dma 38 0 0x0>, /* Logical - MemToDev */
442 <&dma 37 0 0x2>, /* Logical - DevToMem */
443 <&dma 37 0 0x0>, /* Logical - MemToDev */
444 <&dma 36 0 0x2>, /* Logical - DevToMem */
445 <&dma 36 0 0x0>, /* Logical - MemToDev */
446 <&dma 19 0 0x2>, /* Logical - DevToMem */
447 <&dma 19 0 0x0>, /* Logical - MemToDev */
448 <&dma 18 0 0x2>, /* Logical - DevToMem */
449 <&dma 18 0 0x0>, /* Logical - MemToDev */
450 <&dma 17 0 0x2>, /* Logical - DevToMem */
451 <&dma 17 0 0x0>, /* Logical - MemToDev */
452 <&dma 16 0 0x2>, /* Logical - DevToMem */
453 <&dma 16 0 0x0>, /* Logical - MemToDev */
454 <&dma 39 0 0x2>, /* Logical - DevToMem */
455 <&dma 39 0 0x0>; /* Logical - MemToDev */
456
457 dma-names = "iep_1_9", "oep_1_9",
458 "iep_2_10", "oep_2_10",
459 "iep_3_11", "oep_3_11",
460 "iep_4_12", "oep_4_12",
461 "iep_5_13", "oep_5_13",
462 "iep_6_14", "oep_6_14",
463 "iep_7_15", "oep_7_15",
464 "iep_8", "oep_8";
Lee Jonese47339f2013-06-03 13:08:26 +0100465
466 clocks = <&prcc_pclk 5 0>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000467 };
468
Lee Jonesba074ae2013-05-03 15:31:48 +0100469 dma: dma-controller@801C0000 {
470 compatible = "stericsson,db8500-dma40", "stericsson,dma40";
Lee Jones7e0ce272012-03-15 16:46:17 +0000471 reg = <0x801C0000 0x1000 0x40010000 0x800>;
Lee Jones70d39a82013-05-03 15:31:47 +0100472 reg-names = "base", "lcpa";
Linus Walleij0bfe5162016-03-24 15:48:47 +0100473 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
Lee Jonesba074ae2013-05-03 15:31:48 +0100474
475 #dma-cells = <3>;
Lee Jonesd37fcdb2013-05-03 15:31:52 +0100476 memcpy-channels = <56 57 58 59 60>;
Lee Jonese064cb22013-06-03 13:13:54 +0100477
478 clocks = <&prcmu_clk PRCMU_DMACLK>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000479 };
480
Lee Jones8979cfe2013-01-11 15:45:28 +0000481 prcmu: prcmu@80157000 {
Lee Jones7e0ce272012-03-15 16:46:17 +0000482 compatible = "stericsson,db8500-prcmu";
Linus Torvalds4d26aa32013-05-02 08:56:55 -0700483 reg = <0x80157000 0x2000>, <0x801b0000 0x8000>, <0x801b8000 0x1000>;
Lee Jonese73081d2013-03-26 10:26:15 +0000484 reg-names = "prcmu", "prcmu-tcpm", "prcmu-tcdm";
Linus Walleij0bfe5162016-03-24 15:48:47 +0100485 interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000486 #address-cells = <1>;
Lee Jones3de3d742012-04-24 10:00:15 +0100487 #size-cells = <1>;
Lee Jonesc09090b2012-08-03 15:42:25 +0100488 interrupt-controller;
489 #interrupt-cells = <2>;
Lee Jones3de3d742012-04-24 10:00:15 +0100490 ranges;
491
Lee Jonesccf74f72012-05-28 16:50:49 +0800492 prcmu-timer-4@80157450 {
Lee Jones3de3d742012-04-24 10:00:15 +0100493 compatible = "stericsson,db8500-prcmu-timer-4";
494 reg = <0x80157450 0xC>;
495 };
Lee Jones7e0ce272012-03-15 16:46:17 +0000496
Lee Jones98585612013-09-18 16:07:44 +0100497 cpufreq {
498 compatible = "stericsson,cpufreq-ux500";
499 clocks = <&prcmu_clk PRCMU_ARMSS>;
500 clock-names = "armss";
501 status = "disabled";
502 };
503
hongbo.zhangdc1956b2012-11-15 18:56:43 +0800504 thermal@801573c0 {
505 compatible = "stericsson,db8500-thermal";
506 reg = <0x801573c0 0x40>;
Linus Walleij90c40252013-05-29 19:15:39 +0200507 interrupts = <21 IRQ_TYPE_LEVEL_HIGH>,
508 <22 IRQ_TYPE_LEVEL_HIGH>;
hongbo.zhangdc1956b2012-11-15 18:56:43 +0800509 interrupt-names = "IRQ_HOTMON_LOW", "IRQ_HOTMON_HIGH";
510 status = "disabled";
Lee Jones1d3f99f2013-06-06 12:21:15 +0100511 };
hongbo.zhangdc1956b2012-11-15 18:56:43 +0800512
Lee Jonese5999f22012-05-04 13:32:34 +0100513 db8500-prcmu-regulators {
514 compatible = "stericsson,db8500-prcmu-regulator";
515
516 // DB8500_REGULATOR_VAPE
517 db8500_vape_reg: db8500_vape {
Lee Jonese5999f22012-05-04 13:32:34 +0100518 regulator-always-on;
519 };
520
521 // DB8500_REGULATOR_VARM
522 db8500_varm_reg: db8500_varm {
Lee Jonese5999f22012-05-04 13:32:34 +0100523 };
524
525 // DB8500_REGULATOR_VMODEM
526 db8500_vmodem_reg: db8500_vmodem {
Lee Jonese5999f22012-05-04 13:32:34 +0100527 };
528
529 // DB8500_REGULATOR_VPLL
530 db8500_vpll_reg: db8500_vpll {
Lee Jonese5999f22012-05-04 13:32:34 +0100531 };
532
533 // DB8500_REGULATOR_VSMPS1
534 db8500_vsmps1_reg: db8500_vsmps1 {
Lee Jonese5999f22012-05-04 13:32:34 +0100535 };
536
537 // DB8500_REGULATOR_VSMPS2
538 db8500_vsmps2_reg: db8500_vsmps2 {
Lee Jonese5999f22012-05-04 13:32:34 +0100539 };
540
541 // DB8500_REGULATOR_VSMPS3
542 db8500_vsmps3_reg: db8500_vsmps3 {
Lee Jonese5999f22012-05-04 13:32:34 +0100543 };
544
545 // DB8500_REGULATOR_VRF1
546 db8500_vrf1_reg: db8500_vrf1 {
Lee Jonese5999f22012-05-04 13:32:34 +0100547 };
548
549 // DB8500_REGULATOR_SWITCH_SVAMMDSP
550 db8500_sva_mmdsp_reg: db8500_sva_mmdsp {
Lee Jonese5999f22012-05-04 13:32:34 +0100551 };
552
553 // DB8500_REGULATOR_SWITCH_SVAMMDSPRET
554 db8500_sva_mmdsp_ret_reg: db8500_sva_mmdsp_ret {
Lee Jonese5999f22012-05-04 13:32:34 +0100555 };
556
557 // DB8500_REGULATOR_SWITCH_SVAPIPE
558 db8500_sva_pipe_reg: db8500_sva_pipe {
Lee Jonese5999f22012-05-04 13:32:34 +0100559 };
560
561 // DB8500_REGULATOR_SWITCH_SIAMMDSP
562 db8500_sia_mmdsp_reg: db8500_sia_mmdsp {
Lee Jonese5999f22012-05-04 13:32:34 +0100563 };
564
565 // DB8500_REGULATOR_SWITCH_SIAMMDSPRET
566 db8500_sia_mmdsp_ret_reg: db8500_sia_mmdsp_ret {
Lee Jonese5999f22012-05-04 13:32:34 +0100567 };
568
569 // DB8500_REGULATOR_SWITCH_SIAPIPE
570 db8500_sia_pipe_reg: db8500_sia_pipe {
Lee Jonese5999f22012-05-04 13:32:34 +0100571 };
572
573 // DB8500_REGULATOR_SWITCH_SGA
574 db8500_sga_reg: db8500_sga {
Lee Jonese5999f22012-05-04 13:32:34 +0100575 vin-supply = <&db8500_vape_reg>;
576 };
577
578 // DB8500_REGULATOR_SWITCH_B2R2_MCDE
579 db8500_b2r2_mcde_reg: db8500_b2r2_mcde {
Lee Jonese5999f22012-05-04 13:32:34 +0100580 vin-supply = <&db8500_vape_reg>;
581 };
582
583 // DB8500_REGULATOR_SWITCH_ESRAM12
584 db8500_esram12_reg: db8500_esram12 {
Lee Jonese5999f22012-05-04 13:32:34 +0100585 };
586
587 // DB8500_REGULATOR_SWITCH_ESRAM12RET
588 db8500_esram12_ret_reg: db8500_esram12_ret {
Lee Jonese5999f22012-05-04 13:32:34 +0100589 };
590
591 // DB8500_REGULATOR_SWITCH_ESRAM34
592 db8500_esram34_reg: db8500_esram34 {
Lee Jonese5999f22012-05-04 13:32:34 +0100593 };
594
595 // DB8500_REGULATOR_SWITCH_ESRAM34RET
596 db8500_esram34_ret_reg: db8500_esram34_ret {
Lee Jonese5999f22012-05-04 13:32:34 +0100597 };
598 };
599
Arnd Bergmannd52701d32013-03-12 09:39:01 +0100600 ab8500 {
Lee Jones7e0ce272012-03-15 16:46:17 +0000601 compatible = "stericsson,ab8500";
Lee Jones8d4c6d42012-08-03 20:37:35 +0100602 interrupt-parent = <&intc>;
Linus Walleij0bfe5162016-03-24 15:48:47 +0100603 interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones732973c2012-05-29 10:49:33 +0800604 interrupt-controller;
605 #interrupt-cells = <2>;
Lee Jones4a85c7f2012-05-29 14:29:53 +0800606
Linus Walleij9aea1512017-02-26 01:02:09 +0100607 ab8500_clock: clock-controller {
608 compatible = "stericsson,ab8500-clk";
609 #clock-cells = <1>;
610 };
611
Lee Jones348f3bc2013-06-18 09:51:57 +0100612 ab8500_gpio: ab8500-gpio {
Linus Walleijba3fb042016-04-21 09:59:05 +0200613 compatible = "stericsson,ab8500-gpio";
Lee Jones348f3bc2013-06-18 09:51:57 +0100614 gpio-controller;
615 #gpio-cells = <2>;
616 };
617
Lee Jonesd4b29ac2012-05-26 07:03:48 +0100618 ab8500-rtc {
619 compatible = "stericsson,ab8500-rtc";
Linus Walleij90c40252013-05-29 19:15:39 +0200620 interrupts = <17 IRQ_TYPE_LEVEL_HIGH
621 18 IRQ_TYPE_LEVEL_HIGH>;
Lee Jonesd4b29ac2012-05-26 07:03:48 +0100622 interrupt-names = "60S", "ALARM";
623 };
624
Lee Jones4eda9122012-05-28 16:59:26 +0800625 ab8500-gpadc {
626 compatible = "stericsson,ab8500-gpadc";
Linus Walleij90c40252013-05-29 19:15:39 +0200627 interrupts = <32 IRQ_TYPE_LEVEL_HIGH
628 39 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones4eda9122012-05-28 16:59:26 +0800629 interrupt-names = "HW_CONV_END", "SW_CONV_END";
630 vddadc-supply = <&ab8500_ldo_tvout_reg>;
631 };
632
Rajanikanth H.Ve0f1abe2012-11-18 18:45:41 -0800633 ab8500_battery: ab8500_battery {
634 stericsson,battery-type = "LIPO";
635 thermistor-on-batctrl;
636 };
637
638 ab8500_fg {
639 compatible = "stericsson,ab8500-fg";
640 battery = <&ab8500_battery>;
641 };
642
Rajanikanth H.Vbd9e8ab2012-11-18 19:16:58 -0800643 ab8500_btemp {
644 compatible = "stericsson,ab8500-btemp";
645 battery = <&ab8500_battery>;
646 };
647
Rajanikanth H.V4aef72d2012-11-18 19:17:47 -0800648 ab8500_charger {
649 compatible = "stericsson,ab8500-charger";
650 battery = <&ab8500_battery>;
651 vddadc-supply = <&ab8500_ldo_tvout_reg>;
652 };
653
Rajanikanth H.Va12810a2012-10-31 15:40:33 +0000654 ab8500_chargalg {
655 compatible = "stericsson,ab8500-chargalg";
656 battery = <&ab8500_battery>;
657 };
658
Rajanikanth H.Ve0f1abe2012-11-18 18:45:41 -0800659 ab8500_usb {
Lee Jonesee189ce2012-05-03 14:40:24 +0100660 compatible = "stericsson,ab8500-usb";
Linus Walleij90c40252013-05-29 19:15:39 +0200661 interrupts = < 90 IRQ_TYPE_LEVEL_HIGH
662 96 IRQ_TYPE_LEVEL_HIGH
663 14 IRQ_TYPE_LEVEL_HIGH
664 15 IRQ_TYPE_LEVEL_HIGH
665 79 IRQ_TYPE_LEVEL_HIGH
666 74 IRQ_TYPE_LEVEL_HIGH
667 75 IRQ_TYPE_LEVEL_HIGH>;
Lee Jonesee189ce2012-05-03 14:40:24 +0100668 interrupt-names = "ID_WAKEUP_R",
669 "ID_WAKEUP_F",
670 "VBUS_DET_F",
671 "VBUS_DET_R",
672 "USB_LINK_STATUS",
673 "USB_ADP_PROBE_PLUG",
674 "USB_ADP_PROBE_UNPLUG";
Fabio Baltieri99b38ee2013-04-09 11:16:56 +0200675 vddulpivio18-supply = <&ab8500_ldo_intcore_reg>;
Lee Jonesee189ce2012-05-03 14:40:24 +0100676 v-ape-supply = <&db8500_vape_reg>;
677 musb_1v8-supply = <&db8500_vsmps2_reg>;
Linus Walleij3015d3b2017-01-12 15:07:35 +0100678 clocks = <&prcmu_clk PRCMU_SYSCLK>;
679 clock-names = "sysclk";
Lee Jonesee189ce2012-05-03 14:40:24 +0100680 };
681
Lee Jones12cb7bd2012-05-02 08:45:40 +0100682 ab8500-ponkey {
Lee Jones74630702012-08-09 13:00:12 +0100683 compatible = "stericsson,ab8500-poweron-key";
Linus Walleij90c40252013-05-29 19:15:39 +0200684 interrupts = <6 IRQ_TYPE_LEVEL_HIGH
685 7 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones12cb7bd2012-05-02 08:45:40 +0100686 interrupt-names = "ONKEY_DBF", "ONKEY_DBR";
687 };
688
Lee Jones401cd1b2012-05-03 12:53:55 +0100689 ab8500-sysctrl {
690 compatible = "stericsson,ab8500-sysctrl";
691 };
692
Lee Jones78451de2012-05-03 13:03:59 +0100693 ab8500-pwm {
694 compatible = "stericsson,ab8500-pwm";
Linus Walleij9aea1512017-02-26 01:02:09 +0100695 clocks = <&ab8500_clock AB8500_SYSCLK_INT>;
696 clock-names = "intclk";
Lee Jones78451de2012-05-03 13:03:59 +0100697 };
698
Lee Jones215891e2012-05-01 16:11:19 +0100699 ab8500-debugfs {
700 compatible = "stericsson,ab8500-debug";
701 };
Lee Jones4a85c7f2012-05-29 14:29:53 +0800702
Lee Jones9c06af32012-07-25 12:50:13 +0100703 codec: ab8500-codec {
704 compatible = "stericsson,ab8500-codec";
705
Fabio Baltierif99808a2013-05-30 15:27:43 +0200706 V-AUD-supply = <&ab8500_ldo_audio_reg>;
707 V-AMIC1-supply = <&ab8500_ldo_anamic1_reg>;
708 V-AMIC2-supply = <&ab8500_ldo_anamic2_reg>;
709 V-DMIC-supply = <&ab8500_ldo_dmic_reg>;
710
Linus Walleij9aea1512017-02-26 01:02:09 +0100711 clocks = <&ab8500_clock AB8500_SYSCLK_AUDIO>;
712 clock-names = "audioclk";
713
Lee Jones9c06af32012-07-25 12:50:13 +0100714 stericsson,earpeice-cmv = <950>; /* Units in mV. */
715 };
716
Lee Jones62ebfe62013-06-07 17:11:19 +0100717 ext_regulators: ab8500-ext-regulators {
718 compatible = "stericsson,ab8500-ext-regulator";
719
720 ab8500_ext1_reg: ab8500_ext1 {
Lee Jones62ebfe62013-06-07 17:11:19 +0100721 regulator-min-microvolt = <1800000>;
722 regulator-max-microvolt = <1800000>;
723 regulator-boot-on;
724 regulator-always-on;
725 };
726
727 ab8500_ext2_reg: ab8500_ext2 {
Lee Jones62ebfe62013-06-07 17:11:19 +0100728 regulator-min-microvolt = <1360000>;
729 regulator-max-microvolt = <1360000>;
730 regulator-boot-on;
731 regulator-always-on;
732 };
733
734 ab8500_ext3_reg: ab8500_ext3 {
Lee Jones62ebfe62013-06-07 17:11:19 +0100735 regulator-min-microvolt = <3400000>;
736 regulator-max-microvolt = <3400000>;
737 regulator-boot-on;
738 };
739 };
740
Lee Jones4a85c7f2012-05-29 14:29:53 +0800741 ab8500-regulators {
742 compatible = "stericsson,ab8500-regulator";
Lee Jones75f09992013-06-07 17:11:20 +0100743 vin-supply = <&ab8500_ext3_reg>;
Lee Jones4a85c7f2012-05-29 14:29:53 +0800744
745 // supplies to the display/camera
746 ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
Lee Jones4a85c7f2012-05-29 14:29:53 +0800747 regulator-min-microvolt = <2500000>;
748 regulator-max-microvolt = <2900000>;
749 regulator-boot-on;
750 /* BUG: If turned off MMC will be affected. */
751 regulator-always-on;
752 };
753
754 // supplies to the on-board eMMC
755 ab8500_ldo_aux2_reg: ab8500_ldo_aux2 {
Lee Jones4a85c7f2012-05-29 14:29:53 +0800756 regulator-min-microvolt = <1100000>;
757 regulator-max-microvolt = <3300000>;
758 };
759
760 // supply for VAUX3; SDcard slots
761 ab8500_ldo_aux3_reg: ab8500_ldo_aux3 {
Lee Jones4a85c7f2012-05-29 14:29:53 +0800762 regulator-min-microvolt = <1100000>;
763 regulator-max-microvolt = <3300000>;
764 };
765
766 // supply for v-intcore12; VINTCORE12 LDO
Fabio Baltieri99b38ee2013-04-09 11:16:56 +0200767 ab8500_ldo_intcore_reg: ab8500_ldo_intcore {
Lee Jones4a85c7f2012-05-29 14:29:53 +0800768 };
769
770 // supply for tvout; gpadc; TVOUT LDO
771 ab8500_ldo_tvout_reg: ab8500_ldo_tvout {
Lee Jones4a85c7f2012-05-29 14:29:53 +0800772 };
773
774 // supply for ab8500-usb; USB LDO
775 ab8500_ldo_usb_reg: ab8500_ldo_usb {
Lee Jones4a85c7f2012-05-29 14:29:53 +0800776 };
777
778 // supply for ab8500-vaudio; VAUDIO LDO
779 ab8500_ldo_audio_reg: ab8500_ldo_audio {
Lee Jones4a85c7f2012-05-29 14:29:53 +0800780 };
781
Fabio Baltieri4aa44872013-05-30 15:27:41 +0200782 // supply for v-anamic1 VAMIC1 LDO
Lee Jones4a85c7f2012-05-29 14:29:53 +0800783 ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 {
Lee Jones4a85c7f2012-05-29 14:29:53 +0800784 };
785
786 // supply for v-amic2; VAMIC2 LDO; reuse constants for AMIC1
Fabio Baltieri5510ed92013-05-30 15:27:42 +0200787 ab8500_ldo_anamic2_reg: ab8500_ldo_anamic2 {
Lee Jones4a85c7f2012-05-29 14:29:53 +0800788 };
789
790 // supply for v-dmic; VDMIC LDO
791 ab8500_ldo_dmic_reg: ab8500_ldo_dmic {
Lee Jones4a85c7f2012-05-29 14:29:53 +0800792 };
793
794 // supply for U8500 CSI/DSI; VANA LDO
795 ab8500_ldo_ana_reg: ab8500_ldo_ana {
Lee Jones4a85c7f2012-05-29 14:29:53 +0800796 };
797 };
Lee Jones7e0ce272012-03-15 16:46:17 +0000798 };
799 };
800
801 i2c@80004000 {
Lee Jonesd524fa72012-06-18 09:55:44 +0100802 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
Lee Jones7e0ce272012-03-15 16:46:17 +0000803 reg = <0x80004000 0x1000>;
Linus Walleij0bfe5162016-03-24 15:48:47 +0100804 interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones35b33d22012-10-24 11:07:02 +0100805
Lee Jones7e0ce272012-03-15 16:46:17 +0000806 #address-cells = <1>;
807 #size-cells = <0>;
Lee Jonesd524fa72012-06-18 09:55:44 +0100808 v-i2c-supply = <&db8500_vape_reg>;
809
810 clock-frequency = <400000>;
Lee Jonesafd653e2013-06-03 13:15:22 +0100811 clocks = <&prcc_kclk 3 3>, <&prcc_pclk 3 3>;
812 clock-names = "i2cclk", "apb_pclk";
Ulf Hansson29417fe2014-10-14 11:13:01 +0200813 power-domains = <&pm_domains DOMAIN_VAPE>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000814 };
815
816 i2c@80122000 {
Lee Jonesd524fa72012-06-18 09:55:44 +0100817 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
Lee Jones7e0ce272012-03-15 16:46:17 +0000818 reg = <0x80122000 0x1000>;
Linus Walleij0bfe5162016-03-24 15:48:47 +0100819 interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones35b33d22012-10-24 11:07:02 +0100820
Lee Jones7e0ce272012-03-15 16:46:17 +0000821 #address-cells = <1>;
822 #size-cells = <0>;
Lee Jonesd524fa72012-06-18 09:55:44 +0100823 v-i2c-supply = <&db8500_vape_reg>;
824
825 clock-frequency = <400000>;
Lee Jonesafd653e2013-06-03 13:15:22 +0100826
827 clocks = <&prcc_kclk 1 2>, <&prcc_pclk 1 2>;
828 clock-names = "i2cclk", "apb_pclk";
Ulf Hansson29417fe2014-10-14 11:13:01 +0200829 power-domains = <&pm_domains DOMAIN_VAPE>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000830 };
831
832 i2c@80128000 {
Lee Jonesd524fa72012-06-18 09:55:44 +0100833 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
Lee Jones7e0ce272012-03-15 16:46:17 +0000834 reg = <0x80128000 0x1000>;
Linus Walleij0bfe5162016-03-24 15:48:47 +0100835 interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones35b33d22012-10-24 11:07:02 +0100836
Lee Jones7e0ce272012-03-15 16:46:17 +0000837 #address-cells = <1>;
838 #size-cells = <0>;
Lee Jonesd524fa72012-06-18 09:55:44 +0100839 v-i2c-supply = <&db8500_vape_reg>;
840
841 clock-frequency = <400000>;
Lee Jonesafd653e2013-06-03 13:15:22 +0100842
843 clocks = <&prcc_kclk 1 6>, <&prcc_pclk 1 6>;
844 clock-names = "i2cclk", "apb_pclk";
Ulf Hansson29417fe2014-10-14 11:13:01 +0200845 power-domains = <&pm_domains DOMAIN_VAPE>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000846 };
847
848 i2c@80110000 {
Lee Jonesd524fa72012-06-18 09:55:44 +0100849 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
Lee Jones7e0ce272012-03-15 16:46:17 +0000850 reg = <0x80110000 0x1000>;
Linus Walleij0bfe5162016-03-24 15:48:47 +0100851 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones35b33d22012-10-24 11:07:02 +0100852
Lee Jones7e0ce272012-03-15 16:46:17 +0000853 #address-cells = <1>;
854 #size-cells = <0>;
Lee Jonesd524fa72012-06-18 09:55:44 +0100855 v-i2c-supply = <&db8500_vape_reg>;
856
857 clock-frequency = <400000>;
Lee Jonesafd653e2013-06-03 13:15:22 +0100858
859 clocks = <&prcc_kclk 2 0>, <&prcc_pclk 2 0>;
860 clock-names = "i2cclk", "apb_pclk";
Ulf Hansson29417fe2014-10-14 11:13:01 +0200861 power-domains = <&pm_domains DOMAIN_VAPE>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000862 };
863
864 i2c@8012a000 {
Lee Jonesd524fa72012-06-18 09:55:44 +0100865 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
Lee Jones7e0ce272012-03-15 16:46:17 +0000866 reg = <0x8012a000 0x1000>;
Linus Walleij0bfe5162016-03-24 15:48:47 +0100867 interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones35b33d22012-10-24 11:07:02 +0100868
Lee Jones7e0ce272012-03-15 16:46:17 +0000869 #address-cells = <1>;
870 #size-cells = <0>;
Lee Jonesd524fa72012-06-18 09:55:44 +0100871 v-i2c-supply = <&db8500_vape_reg>;
872
873 clock-frequency = <400000>;
Lee Jonesafd653e2013-06-03 13:15:22 +0100874
Linus Walleij72b3e242013-10-18 10:39:58 +0200875 clocks = <&prcc_kclk 1 9>, <&prcc_pclk 1 10>;
Lee Jonesafd653e2013-06-03 13:15:22 +0100876 clock-names = "i2cclk", "apb_pclk";
Ulf Hansson29417fe2014-10-14 11:13:01 +0200877 power-domains = <&pm_domains DOMAIN_VAPE>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000878 };
879
880 ssp@80002000 {
881 compatible = "arm,pl022", "arm,primecell";
Lee Jonesc164fa62012-09-07 12:09:34 +0100882 reg = <0x80002000 0x1000>;
Linus Walleij0bfe5162016-03-24 15:48:47 +0100883 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000884 #address-cells = <1>;
885 #size-cells = <0>;
Linus Walleij6e1484c2013-10-18 10:25:52 +0200886 clocks = <&prcc_kclk 3 1>, <&prcc_pclk 3 1>;
Linus Walleij80fbe302014-02-24 13:30:15 +0100887 clock-names = "SSPCLK", "apb_pclk";
Linus Walleij6e1484c2013-10-18 10:25:52 +0200888 dmas = <&dma 8 0 0x2>, /* Logical - DevToMem */
889 <&dma 8 0 0x0>; /* Logical - MemToDev */
890 dma-names = "rx", "tx";
Ulf Hansson770e2f62014-10-14 11:13:00 +0200891 power-domains = <&pm_domains DOMAIN_VAPE>;
Linus Walleij6e1484c2013-10-18 10:25:52 +0200892 };
893
894 ssp@80003000 {
895 compatible = "arm,pl022", "arm,primecell";
896 reg = <0x80003000 0x1000>;
Linus Walleij0bfe5162016-03-24 15:48:47 +0100897 interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
Linus Walleij6e1484c2013-10-18 10:25:52 +0200898 #address-cells = <1>;
899 #size-cells = <0>;
900 clocks = <&prcc_kclk 3 2>, <&prcc_pclk 3 2>;
Linus Walleij80fbe302014-02-24 13:30:15 +0100901 clock-names = "SSPCLK", "apb_pclk";
Linus Walleij6e1484c2013-10-18 10:25:52 +0200902 dmas = <&dma 9 0 0x2>, /* Logical - DevToMem */
903 <&dma 9 0 0x0>; /* Logical - MemToDev */
904 dma-names = "rx", "tx";
Ulf Hansson770e2f62014-10-14 11:13:00 +0200905 power-domains = <&pm_domains DOMAIN_VAPE>;
Linus Walleij6e1484c2013-10-18 10:25:52 +0200906 };
907
908 spi@8011a000 {
909 compatible = "arm,pl022", "arm,primecell";
910 reg = <0x8011a000 0x1000>;
Linus Walleij0bfe5162016-03-24 15:48:47 +0100911 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
Linus Walleij6e1484c2013-10-18 10:25:52 +0200912 #address-cells = <1>;
913 #size-cells = <0>;
914 /* Same clock wired to kernel and pclk */
915 clocks = <&prcc_pclk 2 8>, <&prcc_pclk 2 8>;
Linus Walleij80fbe302014-02-24 13:30:15 +0100916 clock-names = "SSPCLK", "apb_pclk";
Linus Walleij6e1484c2013-10-18 10:25:52 +0200917 dmas = <&dma 0 0 0x2>, /* Logical - DevToMem */
918 <&dma 0 0 0x0>; /* Logical - MemToDev */
919 dma-names = "rx", "tx";
Ulf Hansson770e2f62014-10-14 11:13:00 +0200920 power-domains = <&pm_domains DOMAIN_VAPE>;
Linus Walleij6e1484c2013-10-18 10:25:52 +0200921 };
922
923 spi@80112000 {
924 compatible = "arm,pl022", "arm,primecell";
925 reg = <0x80112000 0x1000>;
Linus Walleij0bfe5162016-03-24 15:48:47 +0100926 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
Linus Walleij6e1484c2013-10-18 10:25:52 +0200927 #address-cells = <1>;
928 #size-cells = <0>;
929 /* Same clock wired to kernel and pclk */
930 clocks = <&prcc_pclk 2 2>, <&prcc_pclk 2 2>;
Linus Walleij80fbe302014-02-24 13:30:15 +0100931 clock-names = "SSPCLK", "apb_pclk";
Linus Walleij6e1484c2013-10-18 10:25:52 +0200932 dmas = <&dma 35 0 0x2>, /* Logical - DevToMem */
933 <&dma 35 0 0x0>; /* Logical - MemToDev */
934 dma-names = "rx", "tx";
Ulf Hansson770e2f62014-10-14 11:13:00 +0200935 power-domains = <&pm_domains DOMAIN_VAPE>;
Linus Walleij6e1484c2013-10-18 10:25:52 +0200936 };
937
938 spi@80111000 {
939 compatible = "arm,pl022", "arm,primecell";
940 reg = <0x80111000 0x1000>;
Linus Walleij0bfe5162016-03-24 15:48:47 +0100941 interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
Linus Walleij6e1484c2013-10-18 10:25:52 +0200942 #address-cells = <1>;
943 #size-cells = <0>;
944 /* Same clock wired to kernel and pclk */
945 clocks = <&prcc_pclk 2 1>, <&prcc_pclk 2 1>;
Linus Walleij80fbe302014-02-24 13:30:15 +0100946 clock-names = "SSPCLK", "apb_pclk";
Linus Walleij6e1484c2013-10-18 10:25:52 +0200947 dmas = <&dma 33 0 0x2>, /* Logical - DevToMem */
948 <&dma 33 0 0x0>; /* Logical - MemToDev */
949 dma-names = "rx", "tx";
Ulf Hansson770e2f62014-10-14 11:13:00 +0200950 power-domains = <&pm_domains DOMAIN_VAPE>;
Linus Walleij6e1484c2013-10-18 10:25:52 +0200951 };
952
953 spi@80129000 {
954 compatible = "arm,pl022", "arm,primecell";
955 reg = <0x80129000 0x1000>;
Linus Walleij0bfe5162016-03-24 15:48:47 +0100956 interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
Linus Walleij6e1484c2013-10-18 10:25:52 +0200957 #address-cells = <1>;
958 #size-cells = <0>;
959 /* Same clock wired to kernel and pclk */
960 clocks = <&prcc_pclk 1 7>, <&prcc_pclk 1 7>;
Linus Walleij80fbe302014-02-24 13:30:15 +0100961 clock-names = "SSPCLK", "apb_pclk";
Linus Walleij6e1484c2013-10-18 10:25:52 +0200962 dmas = <&dma 40 0 0x2>, /* Logical - DevToMem */
963 <&dma 40 0 0x0>; /* Logical - MemToDev */
964 dma-names = "rx", "tx";
Ulf Hansson770e2f62014-10-14 11:13:00 +0200965 power-domains = <&pm_domains DOMAIN_VAPE>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000966 };
967
Linus Walleij109978d2015-07-10 11:32:15 +0200968 ux500_serial0: uart@80120000 {
Lee Jones7e0ce272012-03-15 16:46:17 +0000969 compatible = "arm,pl011", "arm,primecell";
970 reg = <0x80120000 0x1000>;
Linus Walleij0bfe5162016-03-24 15:48:47 +0100971 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
Lee Jonesfbff01c2013-05-03 15:31:49 +0100972
973 dmas = <&dma 13 0 0x2>, /* Logical - DevToMem */
974 <&dma 13 0 0x0>; /* Logical - MemToDev */
975 dma-names = "rx", "tx";
976
Lee Jones5a323fb2013-06-03 13:17:17 +0100977 clocks = <&prcc_kclk 1 0>, <&prcc_pclk 1 0>;
978 clock-names = "uart", "apb_pclk";
979
Lee Jones7e0ce272012-03-15 16:46:17 +0000980 status = "disabled";
981 };
Lee Jonesfbff01c2013-05-03 15:31:49 +0100982
Linus Walleij109978d2015-07-10 11:32:15 +0200983 ux500_serial1: uart@80121000 {
Lee Jones7e0ce272012-03-15 16:46:17 +0000984 compatible = "arm,pl011", "arm,primecell";
985 reg = <0x80121000 0x1000>;
Linus Walleij0bfe5162016-03-24 15:48:47 +0100986 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
Lee Jonesfbff01c2013-05-03 15:31:49 +0100987
988 dmas = <&dma 12 0 0x2>, /* Logical - DevToMem */
989 <&dma 12 0 0x0>; /* Logical - MemToDev */
990 dma-names = "rx", "tx";
991
Lee Jones5a323fb2013-06-03 13:17:17 +0100992 clocks = <&prcc_kclk 1 1>, <&prcc_pclk 1 1>;
993 clock-names = "uart", "apb_pclk";
994
Lee Jones7e0ce272012-03-15 16:46:17 +0000995 status = "disabled";
996 };
Lee Jonesfbff01c2013-05-03 15:31:49 +0100997
Linus Walleij109978d2015-07-10 11:32:15 +0200998 ux500_serial2: uart@80007000 {
Lee Jones7e0ce272012-03-15 16:46:17 +0000999 compatible = "arm,pl011", "arm,primecell";
1000 reg = <0x80007000 0x1000>;
Linus Walleij0bfe5162016-03-24 15:48:47 +01001001 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
Lee Jonesfbff01c2013-05-03 15:31:49 +01001002
1003 dmas = <&dma 11 0 0x2>, /* Logical - DevToMem */
1004 <&dma 11 0 0x0>; /* Logical - MemToDev */
1005 dma-names = "rx", "tx";
1006
Lee Jones5a323fb2013-06-03 13:17:17 +01001007 clocks = <&prcc_kclk 3 6>, <&prcc_pclk 3 6>;
1008 clock-names = "uart", "apb_pclk";
1009
Lee Jones7e0ce272012-03-15 16:46:17 +00001010 status = "disabled";
1011 };
1012
Lee Jones81bf8c22012-09-26 12:55:56 +01001013 sdi0_per1@80126000 {
Lee Jones7e0ce272012-03-15 16:46:17 +00001014 compatible = "arm,pl18x", "arm,primecell";
1015 reg = <0x80126000 0x1000>;
Linus Walleij0bfe5162016-03-24 15:48:47 +01001016 interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones498315b92013-05-03 15:31:50 +01001017
1018 dmas = <&dma 29 0 0x2>, /* Logical - DevToMem */
1019 <&dma 29 0 0x0>; /* Logical - MemToDev */
1020 dma-names = "rx", "tx";
1021
Lee Jones604be892013-06-06 12:28:50 +01001022 clocks = <&prcc_kclk 1 5>, <&prcc_pclk 1 5>;
1023 clock-names = "sdi", "apb_pclk";
Ulf Hansson067adde2014-10-14 11:12:59 +02001024 power-domains = <&pm_domains DOMAIN_VAPE>;
Lee Jones604be892013-06-06 12:28:50 +01001025
Lee Jones7e0ce272012-03-15 16:46:17 +00001026 status = "disabled";
1027 };
Lee Jones76ff4e42012-10-24 11:10:05 +01001028
Lee Jones81bf8c22012-09-26 12:55:56 +01001029 sdi1_per2@80118000 {
Lee Jones7e0ce272012-03-15 16:46:17 +00001030 compatible = "arm,pl18x", "arm,primecell";
1031 reg = <0x80118000 0x1000>;
Linus Walleij0bfe5162016-03-24 15:48:47 +01001032 interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones498315b92013-05-03 15:31:50 +01001033
1034 dmas = <&dma 32 0 0x2>, /* Logical - DevToMem */
1035 <&dma 32 0 0x0>; /* Logical - MemToDev */
1036 dma-names = "rx", "tx";
1037
Lee Jones604be892013-06-06 12:28:50 +01001038 clocks = <&prcc_kclk 2 4>, <&prcc_pclk 2 6>;
1039 clock-names = "sdi", "apb_pclk";
Ulf Hansson067adde2014-10-14 11:12:59 +02001040 power-domains = <&pm_domains DOMAIN_VAPE>;
Lee Jones604be892013-06-06 12:28:50 +01001041
Lee Jones7e0ce272012-03-15 16:46:17 +00001042 status = "disabled";
1043 };
Lee Jones76ff4e42012-10-24 11:10:05 +01001044
Lee Jones81bf8c22012-09-26 12:55:56 +01001045 sdi2_per3@80005000 {
Lee Jones7e0ce272012-03-15 16:46:17 +00001046 compatible = "arm,pl18x", "arm,primecell";
1047 reg = <0x80005000 0x1000>;
Linus Walleij0bfe5162016-03-24 15:48:47 +01001048 interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones498315b92013-05-03 15:31:50 +01001049
1050 dmas = <&dma 28 0 0x2>, /* Logical - DevToMem */
1051 <&dma 28 0 0x0>; /* Logical - MemToDev */
1052 dma-names = "rx", "tx";
1053
Lee Jones604be892013-06-06 12:28:50 +01001054 clocks = <&prcc_kclk 3 4>, <&prcc_pclk 3 4>;
1055 clock-names = "sdi", "apb_pclk";
Ulf Hansson067adde2014-10-14 11:12:59 +02001056 power-domains = <&pm_domains DOMAIN_VAPE>;
Lee Jones604be892013-06-06 12:28:50 +01001057
Lee Jones7e0ce272012-03-15 16:46:17 +00001058 status = "disabled";
1059 };
Lee Jones76ff4e42012-10-24 11:10:05 +01001060
Lee Jones81bf8c22012-09-26 12:55:56 +01001061 sdi3_per2@80119000 {
Lee Jones7e0ce272012-03-15 16:46:17 +00001062 compatible = "arm,pl18x", "arm,primecell";
1063 reg = <0x80119000 0x1000>;
Linus Walleij0bfe5162016-03-24 15:48:47 +01001064 interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones604be892013-06-06 12:28:50 +01001065
Linus Walleij14cdf8c2014-06-11 10:45:50 +02001066 dmas = <&dma 41 0 0x2>, /* Logical - DevToMem */
1067 <&dma 41 0 0x0>; /* Logical - MemToDev */
1068 dma-names = "rx", "tx";
1069
Lee Jones604be892013-06-06 12:28:50 +01001070 clocks = <&prcc_kclk 2 5>, <&prcc_pclk 2 7>;
1071 clock-names = "sdi", "apb_pclk";
Ulf Hansson067adde2014-10-14 11:12:59 +02001072 power-domains = <&pm_domains DOMAIN_VAPE>;
Lee Jones604be892013-06-06 12:28:50 +01001073
Lee Jones7e0ce272012-03-15 16:46:17 +00001074 status = "disabled";
1075 };
Lee Jones76ff4e42012-10-24 11:10:05 +01001076
Lee Jones81bf8c22012-09-26 12:55:56 +01001077 sdi4_per2@80114000 {
Lee Jones7e0ce272012-03-15 16:46:17 +00001078 compatible = "arm,pl18x", "arm,primecell";
1079 reg = <0x80114000 0x1000>;
Linus Walleij0bfe5162016-03-24 15:48:47 +01001080 interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones498315b92013-05-03 15:31:50 +01001081
1082 dmas = <&dma 42 0 0x2>, /* Logical - DevToMem */
1083 <&dma 42 0 0x0>; /* Logical - MemToDev */
1084 dma-names = "rx", "tx";
1085
Lee Jones604be892013-06-06 12:28:50 +01001086 clocks = <&prcc_kclk 2 2>, <&prcc_pclk 2 4>;
1087 clock-names = "sdi", "apb_pclk";
Ulf Hansson067adde2014-10-14 11:12:59 +02001088 power-domains = <&pm_domains DOMAIN_VAPE>;
Lee Jones604be892013-06-06 12:28:50 +01001089
Lee Jones7e0ce272012-03-15 16:46:17 +00001090 status = "disabled";
1091 };
Lee Jones76ff4e42012-10-24 11:10:05 +01001092
Lee Jones81bf8c22012-09-26 12:55:56 +01001093 sdi5_per3@80008000 {
Lee Jones7e0ce272012-03-15 16:46:17 +00001094 compatible = "arm,pl18x", "arm,primecell";
Lee Jones76ff4e42012-10-24 11:10:05 +01001095 reg = <0x80008000 0x1000>;
Linus Walleij0bfe5162016-03-24 15:48:47 +01001096 interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
Lee Jones604be892013-06-06 12:28:50 +01001097
Linus Walleij14cdf8c2014-06-11 10:45:50 +02001098 dmas = <&dma 43 0 0x2>, /* Logical - DevToMem */
1099 <&dma 43 0 0x0>; /* Logical - MemToDev */
1100 dma-names = "rx", "tx";
1101
Lee Jones604be892013-06-06 12:28:50 +01001102 clocks = <&prcc_kclk 3 7>, <&prcc_pclk 3 7>;
1103 clock-names = "sdi", "apb_pclk";
Ulf Hansson067adde2014-10-14 11:12:59 +02001104 power-domains = <&pm_domains DOMAIN_VAPE>;
Lee Jones604be892013-06-06 12:28:50 +01001105
Lee Jones7e0ce272012-03-15 16:46:17 +00001106 status = "disabled";
1107 };
Lee Jonesbf76e062012-04-24 10:53:18 +01001108
Linus Walleij9aea1512017-02-26 01:02:09 +01001109 sound {
1110 compatible = "stericsson,snd-soc-mop500";
1111 stericsson,cpu-dai = <&msp1 &msp3>;
1112 stericsson,audio-codec = <&codec>;
1113 clocks = <&prcmu_clk PRCMU_SYSCLK>, <&ab8500_clock AB8500_SYSCLK_ULP>, <&ab8500_clock AB8500_SYSCLK_INT>;
1114 clock-names = "sysclk", "ulpclk", "intclk";
1115 };
1116
Lee Jonesfe164522012-07-31 12:37:16 +01001117 msp0: msp@80123000 {
1118 compatible = "stericsson,ux500-msp-i2s";
1119 reg = <0x80123000 0x1000>;
Linus Walleij0bfe5162016-03-24 15:48:47 +01001120 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
Lee Jonesfe164522012-07-31 12:37:16 +01001121 v-ape-supply = <&db8500_vape_reg>;
Lee Jones133e6022013-06-03 13:18:00 +01001122
Lee Jones618111c2013-11-06 10:16:16 +00001123 dmas = <&dma 31 0 0x12>, /* Logical - DevToMem - HighPrio */
1124 <&dma 31 0 0x10>; /* Logical - MemToDev - HighPrio */
1125 dma-names = "rx", "tx";
1126
Lee Jones133e6022013-06-03 13:18:00 +01001127 clocks = <&prcc_kclk 1 3>, <&prcc_pclk 1 3>;
1128 clock-names = "msp", "apb_pclk";
1129
Lee Jonesfe164522012-07-31 12:37:16 +01001130 status = "disabled";
1131 };
1132
1133 msp1: msp@80124000 {
1134 compatible = "stericsson,ux500-msp-i2s";
1135 reg = <0x80124000 0x1000>;
Linus Walleij0bfe5162016-03-24 15:48:47 +01001136 interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
Lee Jonesfe164522012-07-31 12:37:16 +01001137 v-ape-supply = <&db8500_vape_reg>;
Lee Jones133e6022013-06-03 13:18:00 +01001138
Linus Walleij14cdf8c2014-06-11 10:45:50 +02001139 /* This DMA channel only exist on DB8500 v1 */
Lee Jones618111c2013-11-06 10:16:16 +00001140 dmas = <&dma 30 0 0x10>; /* Logical - MemToDev - HighPrio */
1141 dma-names = "tx";
1142
Lee Jones133e6022013-06-03 13:18:00 +01001143 clocks = <&prcc_kclk 1 4>, <&prcc_pclk 1 4>;
1144 clock-names = "msp", "apb_pclk";
1145
Lee Jonesfe164522012-07-31 12:37:16 +01001146 status = "disabled";
1147 };
1148
1149 // HDMI sound
1150 msp2: msp@80117000 {
1151 compatible = "stericsson,ux500-msp-i2s";
1152 reg = <0x80117000 0x1000>;
Linus Walleij0bfe5162016-03-24 15:48:47 +01001153 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
Lee Jonesfe164522012-07-31 12:37:16 +01001154 v-ape-supply = <&db8500_vape_reg>;
Lee Jones133e6022013-06-03 13:18:00 +01001155
Lee Jones618111c2013-11-06 10:16:16 +00001156 dmas = <&dma 14 0 0x12>, /* Logical - DevToMem - HighPrio */
1157 <&dma 14 1 0x19>; /* Physical Chan 1 - MemToDev
1158 HighPrio - Fixed */
1159 dma-names = "rx", "tx";
1160
Lee Jones133e6022013-06-03 13:18:00 +01001161 clocks = <&prcc_kclk 2 3>, <&prcc_pclk 2 5>;
1162 clock-names = "msp", "apb_pclk";
1163
Lee Jonesfe164522012-07-31 12:37:16 +01001164 status = "disabled";
1165 };
1166
1167 msp3: msp@80125000 {
1168 compatible = "stericsson,ux500-msp-i2s";
1169 reg = <0x80125000 0x1000>;
Linus Walleij0bfe5162016-03-24 15:48:47 +01001170 interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
Lee Jonesfe164522012-07-31 12:37:16 +01001171 v-ape-supply = <&db8500_vape_reg>;
Lee Jones133e6022013-06-03 13:18:00 +01001172
Linus Walleij14cdf8c2014-06-11 10:45:50 +02001173 /* This DMA channel only exist on DB8500 v2 */
Lee Jones618111c2013-11-06 10:16:16 +00001174 dmas = <&dma 30 0 0x12>; /* Logical - DevToMem - HighPrio */
1175 dma-names = "rx";
1176
Lee Jones133e6022013-06-03 13:18:00 +01001177 clocks = <&prcc_kclk 1 10>, <&prcc_pclk 1 11>;
1178 clock-names = "msp", "apb_pclk";
1179
Lee Jonesfe164522012-07-31 12:37:16 +01001180 status = "disabled";
1181 };
1182
Lee Jonesbf76e062012-04-24 10:53:18 +01001183 external-bus@50000000 {
1184 compatible = "simple-bus";
1185 reg = <0x50000000 0x4000000>;
1186 #address-cells = <1>;
1187 #size-cells = <1>;
1188 ranges = <0 0x50000000 0x4000000>;
1189 status = "disabled";
1190 };
hongbo.zhangdc1956b2012-11-15 18:56:43 +08001191
1192 cpufreq-cooling {
1193 compatible = "stericsson,db8500-cpufreq-cooling";
1194 status = "disabled";
Lee Jonesd460d282013-09-18 16:05:04 +01001195 };
hongbo.zhangdc1956b2012-11-15 18:56:43 +08001196
Linus Walleij6e9a88a2013-11-14 15:21:00 +01001197 mcde@a0350000 {
1198 compatible = "stericsson,mcde";
1199 reg = <0xa0350000 0x1000>, /* MCDE */
1200 <0xa0351000 0x1000>, /* DSI link 1 */
1201 <0xa0352000 0x1000>, /* DSI link 2 */
1202 <0xa0353000 0x1000>; /* DSI link 3 */
Linus Walleij0bfe5162016-03-24 15:48:47 +01001203 interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
Linus Walleij6e9a88a2013-11-14 15:21:00 +01001204 clocks = <&prcmu_clk PRCMU_MCDECLK>, /* Main MCDE clock */
1205 <&prcmu_clk PRCMU_LCDCLK>, /* LCD clock */
1206 <&prcmu_clk PRCMU_PLLDSI>, /* HDMI clock */
1207 <&prcmu_clk PRCMU_DSI0CLK>, /* DSI 0 */
1208 <&prcmu_clk PRCMU_DSI1CLK>, /* DSI 1 */
1209 <&prcmu_clk PRCMU_DSI0ESCCLK>, /* TVout clock 0 */
1210 <&prcmu_clk PRCMU_DSI1ESCCLK>, /* TVout clock 1 */
1211 <&prcmu_clk PRCMU_DSI2ESCCLK>; /* TVout clock 2 */
1212 };
1213
Lee Jonesfe2e9f92013-05-16 12:27:21 +01001214 cryp@a03cb000 {
1215 compatible = "stericsson,ux500-cryp";
1216 reg = <0xa03cb000 0x1000>;
Linus Walleij0bfe5162016-03-24 15:48:47 +01001217 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
Lee Jonesfe2e9f92013-05-16 12:27:21 +01001218
1219 v-ape-supply = <&db8500_vape_reg>;
Lee Jonesd2f898c2013-09-18 16:05:52 +01001220 clocks = <&prcc_pclk 6 1>;
Lee Jonesfe2e9f92013-05-16 12:27:21 +01001221 };
Lee Jones61122cf2013-05-16 12:27:22 +01001222
1223 hash@a03c2000 {
1224 compatible = "stericsson,ux500-hash";
1225 reg = <0xa03c2000 0x1000>;
1226
1227 v-ape-supply = <&db8500_vape_reg>;
Lee Jones024cfe82013-09-18 16:07:27 +01001228 clocks = <&prcc_pclk 6 2>;
Lee Jones61122cf2013-05-16 12:27:22 +01001229 };
Arnd Bergmann5d0769f2012-03-02 23:07:21 +00001230 };
1231};