ARM: dts: keystone-k2g: Move ti,non-removable property to board dts
[sfrench/cifs-2.6.git] / arch / arm / boot / dts / keystone-k2g.dtsi
1 /*
2  * Device Tree Source for K2G SOC
3  *
4  * Copyright (C) 2016 Texas Instruments Incorporated - http://www.ti.com/
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License version 2 as
8  * published by the Free Software Foundation.
9  *
10  * This program is distributed "as is" WITHOUT ANY WARRANTY of any
11  * kind, whether express or implied; without even the implied warranty
12  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  */
15
16 #include <dt-bindings/interrupt-controller/arm-gic.h>
17 #include <dt-bindings/pinctrl/keystone.h>
18 #include <dt-bindings/gpio/gpio.h>
19
20 / {
21         compatible = "ti,k2g","ti,keystone";
22         model = "Texas Instruments K2G SoC";
23         #address-cells = <2>;
24         #size-cells = <2>;
25         interrupt-parent = <&gic>;
26
27         chosen { };
28
29         aliases {
30                 serial0 = &uart0;
31                 i2c0 = &i2c0;
32                 i2c1 = &i2c1;
33                 i2c2 = &i2c2;
34                 rproc0 = &dsp0;
35         };
36
37         cpus {
38                 #address-cells = <1>;
39                 #size-cells = <0>;
40
41                 cpu@0 {
42                         compatible = "arm,cortex-a15";
43                         device_type = "cpu";
44                         reg = <0>;
45                 };
46         };
47
48         gic: interrupt-controller@2561000 {
49                 compatible = "arm,gic-400", "arm,cortex-a15-gic";
50                 #interrupt-cells = <3>;
51                 interrupt-controller;
52                 reg = <0x0 0x02561000 0x0 0x1000>,
53                       <0x0 0x02562000 0x0 0x2000>,
54                       <0x0 0x02564000 0x0 0x2000>,
55                       <0x0 0x02566000 0x0 0x2000>;
56                 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) |
57                                 IRQ_TYPE_LEVEL_HIGH)>;
58         };
59
60         timer {
61                 compatible = "arm,armv7-timer";
62                 interrupts =
63                         <GIC_PPI 13
64                                 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
65                         <GIC_PPI 14
66                                 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
67                         <GIC_PPI 11
68                                 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
69                         <GIC_PPI 10
70                                 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
71         };
72
73         pmu {
74                 compatible = "arm,cortex-a15-pmu";
75                 interrupts = <GIC_SPI 4 IRQ_TYPE_EDGE_RISING>;
76         };
77
78         soc {
79                 #address-cells = <1>;
80                 #size-cells = <1>;
81                 #pinctrl-cells = <1>;
82                 compatible = "ti,keystone","simple-bus";
83                 ranges = <0x0 0x0 0x0 0xc0000000>;
84                 dma-ranges = <0x80000000 0x8 0x00000000 0x80000000>;
85
86                 msm_ram: msmram@c000000 {
87                         compatible = "mmio-sram";
88                         reg = <0x0c000000 0x100000>;
89                         ranges = <0x0 0x0c000000 0x100000>;
90                         #address-cells = <1>;
91                         #size-cells = <1>;
92
93                         sram-bm@f7000 {
94                                 reg = <0x000f7000 0x8000>;
95                         };
96                 };
97
98                 k2g_pinctrl: pinmux@2621000 {
99                         compatible = "pinctrl-single";
100                         reg = <0x02621000 0x410>;
101                         pinctrl-single,register-width = <32>;
102                         pinctrl-single,function-mask = <0x001b0007>;
103                 };
104
105                 devctrl: device-state-control@2620000 {
106                         compatible = "ti,keystone-devctrl", "syscon";
107                         reg = <0x02620000 0x1000>;
108                 };
109
110                 uart0: serial@2530c00 {
111                         compatible = "ti,da830-uart", "ns16550a";
112                         current-speed = <115200>;
113                         reg-shift = <2>;
114                         reg-io-width = <4>;
115                         reg = <0x02530c00 0x100>;
116                         interrupts = <GIC_SPI 164 IRQ_TYPE_EDGE_RISING>;
117                         clock-frequency = <200000000>;
118                         status = "disabled";
119                 };
120
121                 dcan0: can@260b200 {
122                         compatible = "ti,am4372-d_can", "ti,am3352-d_can";
123                         reg = <0x0260B200 0x200>;
124                         interrupts = <GIC_SPI 190 IRQ_TYPE_EDGE_RISING>;
125                         status = "disabled";
126                         power-domains = <&k2g_pds 0x0008>;
127                         clocks = <&k2g_clks 0x0008 1>;
128                 };
129
130                 dcan1: can@260b400 {
131                         compatible = "ti,am4372-d_can", "ti,am3352-d_can";
132                         reg = <0x0260B400 0x200>;
133                         interrupts = <GIC_SPI 193 IRQ_TYPE_EDGE_RISING>;
134                         status = "disabled";
135                         power-domains = <&k2g_pds 0x0009>;
136                         clocks = <&k2g_clks 0x0009 1>;
137                 };
138
139                 i2c0: i2c@2530000 {
140                         compatible = "ti,keystone-i2c";
141                         reg = <0x02530000 0x400>;
142                         clocks = <&k2g_clks 0x003a 0>;
143                         power-domains = <&k2g_pds 0x003a>;
144                         interrupts = <GIC_SPI 88 IRQ_TYPE_EDGE_RISING>;
145                         #address-cells = <1>;
146                         #size-cells = <0>;
147                         status = "disabled";
148                 };
149
150                 i2c1: i2c@2530400 {
151                         compatible = "ti,keystone-i2c";
152                         reg = <0x02530400 0x400>;
153                         clocks = <&k2g_clks 0x003b 0>;
154                         power-domains = <&k2g_pds 0x003b>;
155                         interrupts = <GIC_SPI 89 IRQ_TYPE_EDGE_RISING>;
156                         #address-cells = <1>;
157                         #size-cells = <0>;
158                         status = "disabled";
159                 };
160
161                 i2c2: i2c@2530800 {
162                         compatible = "ti,keystone-i2c";
163                         reg = <0x02530800 0x400>;
164                         clocks = <&k2g_clks 0x003c 0>;
165                         power-domains = <&k2g_pds 0x003c>;
166                         interrupts = <GIC_SPI 90 IRQ_TYPE_EDGE_RISING>;
167                         #address-cells = <1>;
168                         #size-cells = <0>;
169                         status = "disabled";
170                 };
171
172                 kirq0: keystone_irq@26202a0 {
173                         compatible = "ti,keystone-irq";
174                         interrupts = <GIC_SPI 1 IRQ_TYPE_EDGE_RISING>;
175                         interrupt-controller;
176                         #interrupt-cells = <1>;
177                         ti,syscon-dev = <&devctrl 0x2a0>;
178                 };
179
180                 dspgpio0: keystone_dsp_gpio@2620240 {
181                         compatible = "ti,keystone-dsp-gpio";
182                         gpio-controller;
183                         #gpio-cells = <2>;
184                         gpio,syscon-dev = <&devctrl 0x240>;
185                 };
186
187                 dsp0: dsp@10800000 {
188                         compatible = "ti,k2g-dsp";
189                         reg = <0x10800000 0x00100000>,
190                               <0x10e00000 0x00008000>,
191                               <0x10f00000 0x00008000>;
192                         reg-names = "l2sram", "l1pram", "l1dram";
193                         power-domains = <&k2g_pds 0x0046>;
194                         ti,syscon-dev = <&devctrl 0x844>;
195                         resets = <&k2g_reset 0x0046 0x1>;
196                         interrupt-parent = <&kirq0>;
197                         interrupts = <0 8>;
198                         interrupt-names = "vring", "exception";
199                         kick-gpios = <&dspgpio0 27 0>;
200                         status = "disabled";
201                 };
202
203                 msgmgr: msgmgr@2a00000 {
204                         compatible = "ti,k2g-message-manager";
205                         #mbox-cells = <2>;
206                         reg-names = "queue_proxy_region",
207                                     "queue_state_debug_region";
208                         reg = <0x02a00000 0x400000>, <0x028c3400 0x400>;
209                         interrupt-names = "rx_005",
210                                           "rx_057";
211                         interrupts = <GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH>,
212                                      <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>;
213                 };
214
215                 pmmc: pmmc@2921c00 {
216                         compatible = "ti,k2g-sci";
217                         /*
218                          * In case of rare platforms that does not use k2g as
219                          * system master, use /delete-property/
220                          */
221                         ti,system-reboot-controller;
222                         mbox-names = "rx", "tx";
223                         mboxes= <&msgmgr 5 2>,
224                                 <&msgmgr 0 0>;
225                         reg-names = "debug_messages";
226                         reg = <0x02921c00 0x400>;
227
228                         k2g_pds: power-controller {
229                                 compatible = "ti,sci-pm-domain";
230                                 #power-domain-cells = <1>;
231                         };
232
233                         k2g_clks: clocks {
234                                 compatible = "ti,k2g-sci-clk";
235                                 #clock-cells = <2>;
236                         };
237
238                         k2g_reset: reset-controller {
239                                 compatible = "ti,sci-reset";
240                                 #reset-cells = <2>;
241                         };
242                 };
243
244                 gpio0: gpio@2603000 {
245                         compatible = "ti,k2g-gpio", "ti,keystone-gpio";
246                         reg = <0x02603000 0x100>;
247                         gpio-controller;
248                         #gpio-cells = <2>;
249
250                         interrupts = <GIC_SPI 432 IRQ_TYPE_EDGE_RISING>,
251                                         <GIC_SPI 433 IRQ_TYPE_EDGE_RISING>,
252                                         <GIC_SPI 434 IRQ_TYPE_EDGE_RISING>,
253                                         <GIC_SPI 435 IRQ_TYPE_EDGE_RISING>,
254                                         <GIC_SPI 436 IRQ_TYPE_EDGE_RISING>,
255                                         <GIC_SPI 437 IRQ_TYPE_EDGE_RISING>,
256                                         <GIC_SPI 438 IRQ_TYPE_EDGE_RISING>,
257                                         <GIC_SPI 439 IRQ_TYPE_EDGE_RISING>,
258                                         <GIC_SPI 440 IRQ_TYPE_EDGE_RISING>;
259                         interrupt-controller;
260                         #interrupt-cells = <2>;
261                         ti,ngpio = <144>;
262                         ti,davinci-gpio-unbanked = <0>;
263                         clocks = <&k2g_clks 0x001b 0x0>;
264                         clock-names = "gpio";
265                 };
266
267                 gpio1: gpio@260a000 {
268                         compatible = "ti,k2g-gpio", "ti,keystone-gpio";
269                         reg = <0x0260a000 0x100>;
270                         gpio-controller;
271                         #gpio-cells = <2>;
272                         interrupts = <GIC_SPI 442 IRQ_TYPE_EDGE_RISING>,
273                                         <GIC_SPI 443 IRQ_TYPE_EDGE_RISING>,
274                                         <GIC_SPI 444 IRQ_TYPE_EDGE_RISING>,
275                                         <GIC_SPI 445 IRQ_TYPE_EDGE_RISING>,
276                                         <GIC_SPI 446 IRQ_TYPE_EDGE_RISING>;
277                         interrupt-controller;
278                         #interrupt-cells = <2>;
279                         ti,ngpio = <68>;
280                         ti,davinci-gpio-unbanked = <0>;
281                         clocks = <&k2g_clks 0x001c 0x0>;
282                         clock-names = "gpio";
283                 };
284
285                 edma0: edma@2700000 {
286                         compatible = "ti,k2g-edma3-tpcc", "ti,edma3-tpcc";
287                         reg =   <0x02700000 0x8000>;
288                         reg-names = "edma3_cc";
289                         interrupts = <GIC_SPI 200 IRQ_TYPE_EDGE_RISING>,
290                                         <GIC_SPI 216 IRQ_TYPE_EDGE_RISING>,
291                                         <GIC_SPI 217 IRQ_TYPE_EDGE_RISING>;
292                         interrupt-names = "edma3_ccint", "emda3_mperr",
293                                           "edma3_ccerrint";
294                         dma-requests = <64>;
295                         #dma-cells = <2>;
296
297                         ti,tptcs = <&edma0_tptc0 7>, <&edma0_tptc1 0>;
298
299                         ti,edma-memcpy-channels = <32 33 34 35>;
300
301                         power-domains = <&k2g_pds 0x3f>;
302                 };
303
304                 edma0_tptc0: tptc@2760000 {
305                         compatible = "ti,k2g-edma3-tptc", "ti,edma3-tptc";
306                         reg =   <0x02760000 0x400>;
307                         power-domains = <&k2g_pds 0x3f>;
308                 };
309
310                 edma0_tptc1: tptc@2768000 {
311                         compatible = "ti,k2g-edma3-tptc", "ti,edma3-tptc";
312                         reg =   <0x02768000 0x400>;
313                         power-domains = <&k2g_pds 0x3f>;
314                 };
315
316                 edma1: edma@2728000 {
317                         compatible = "ti,k2g-edma3-tpcc", "ti,edma3-tpcc";
318                         reg =   <0x02728000 0x8000>;
319                         reg-names = "edma3_cc";
320                         interrupts = <GIC_SPI 208 IRQ_TYPE_EDGE_RISING>,
321                                         <GIC_SPI 219 IRQ_TYPE_EDGE_RISING>,
322                                         <GIC_SPI 220 IRQ_TYPE_EDGE_RISING>;
323                         interrupt-names = "edma3_ccint", "emda3_mperr",
324                                           "edma3_ccerrint";
325                         dma-requests = <64>;
326                         #dma-cells = <2>;
327
328                         ti,tptcs = <&edma1_tptc0 7>, <&edma1_tptc1 0>;
329
330                         /*
331                          * memcpy is disabled, can be enabled with:
332                          * ti,edma-memcpy-channels = <12 13 14 15>;
333                          * for example.
334                          */
335
336                         power-domains = <&k2g_pds 0x4f>;
337                 };
338
339                 edma1_tptc0: tptc@27b0000 {
340                         compatible = "ti,k2g-edma3-tptc", "ti,edma3-tptc";
341                         reg =   <0x027b0000 0x400>;
342                         power-domains = <&k2g_pds 0x4f>;
343                 };
344
345                 edma1_tptc1: tptc@27b8000 {
346                         compatible = "ti,k2g-edma3-tptc", "ti,edma3-tptc";
347                         reg =   <0x027b8000 0x400>;
348                         power-domains = <&k2g_pds 0x4f>;
349                 };
350
351                 mmc0: mmc@23000000 {
352                         compatible = "ti,k2g-hsmmc", "ti,omap4-hsmmc";
353                         reg = <0x23000000 0x400>;
354                         interrupts = <GIC_SPI 96 IRQ_TYPE_EDGE_RISING>;
355                         dmas = <&edma1 24 0>, <&edma1 25 0>;
356                         dma-names = "tx", "rx";
357                         bus-width = <4>;
358                         ti,needs-special-reset;
359                         no-1-8-v;
360                         max-frequency = <96000000>;
361                         power-domains = <&k2g_pds 0xb>;
362                         clocks = <&k2g_clks 0xb 1>, <&k2g_clks 0xb 2>;
363                         clock-names = "fck", "mmchsdb_fck";
364                         status = "disabled";
365                 };
366
367                 mmc1: mmc@23100000 {
368                         compatible = "ti,k2g-hsmmc", "ti,omap4-hsmmc";
369                         reg = <0x23100000 0x400>;
370                         interrupts = <GIC_SPI 97 IRQ_TYPE_EDGE_RISING>;
371                         dmas = <&edma1 26 0>, <&edma1 27 0>;
372                         dma-names = "tx", "rx";
373                         bus-width = <8>;
374                         ti,needs-special-reset;
375                         max-frequency = <96000000>;
376                         power-domains = <&k2g_pds 0xc>;
377                         clocks = <&k2g_clks 0xc 1>, <&k2g_clks 0xc 2>;
378                         clock-names = "fck", "mmchsdb_fck";
379                 };
380
381                 qspi: qspi@2940000 {
382                         compatible = "ti,k2g-qspi", "cdns,qspi-nor";
383                         #address-cells = <1>;
384                         #size-cells = <0>;
385                         reg = <0x02940000 0x1000>,
386                               <0x24000000 0x4000000>;
387                         interrupts = <GIC_SPI 198 IRQ_TYPE_EDGE_RISING>;
388                         cdns,fifo-depth = <256>;
389                         cdns,fifo-width = <4>;
390                         cdns,trigger-address = <0x24000000>;
391                         clocks = <&k2g_clks 0x43 0x0>;
392                         power-domains = <&k2g_pds 0x43>;
393                         status = "disabled";
394                 };
395
396                 mcasp0: mcasp@2340000 {
397                         compatible = "ti,am33xx-mcasp-audio";
398                         reg = <0x02340000 0x2000>,
399                               <0x21804000 0x1000>;
400                         reg-names = "mpu","dat";
401                         interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>,
402                                      <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
403                         interrupt-names = "tx", "rx";
404                         dmas = <&edma0 24 1>, <&edma0 25 1>;
405                         dma-names = "tx", "rx";
406                         power-domains = <&k2g_pds 0x4>;
407                         clocks = <&k2g_clks 0x4 0>;
408                         clock-names = "fck";
409                         status = "disabled";
410                 };
411
412                 mcasp1: mcasp@2342000 {
413                         compatible = "ti,am33xx-mcasp-audio";
414                         reg = <0x02342000 0x2000>,
415                               <0x21804400 0x1000>;
416                         reg-names = "mpu","dat";
417                         interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>,
418                                      <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
419                         interrupt-names = "tx", "rx";
420                         dmas = <&edma1 48 1>, <&edma1 49 1>;
421                         dma-names = "tx", "rx";
422                         power-domains = <&k2g_pds 0x5>;
423                         clocks = <&k2g_clks 0x5 0>;
424                         clock-names = "fck";
425                         status = "disabled";
426                 };
427
428                 mcasp2: mcasp@2344000 {
429                         compatible = "ti,am33xx-mcasp-audio";
430                         reg = <0x02344000 0x2000>,
431                               <0x21804800 0x1000>;
432                         reg-names = "mpu","dat";
433                         interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>,
434                                      <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
435                         interrupt-names = "tx", "rx";
436                         dmas = <&edma1 50 1>, <&edma1 51 1>;
437                         dma-names = "tx", "rx";
438                         power-domains = <&k2g_pds 0x6>;
439                         clocks = <&k2g_clks 0x6 0>;
440                         clock-names = "fck";
441                         status = "disabled";
442                 };
443
444                 usb0_phy: usb-phy@0 {
445                         compatible = "usb-nop-xceiv";
446                         status = "disabled";
447                 };
448
449                 keystone_usb0: keystone-dwc3@2680000 {
450                         compatible = "ti,keystone-dwc3";
451                         #address-cells = <1>;
452                         #size-cells = <1>;
453                         reg = <0x2680000 0x10000>;
454                         interrupts = <GIC_SPI 128 IRQ_TYPE_EDGE_RISING>;
455                         ranges;
456                         dma-coherent;
457                         dma-ranges;
458                         status = "disabled";
459                         power-domains = <&k2g_pds 0x0016>;
460
461                         usb0: usb@2690000 {
462                                 compatible = "snps,dwc3";
463                                 reg = <0x2690000 0x10000>;
464                                 interrupts = <GIC_SPI 128 IRQ_TYPE_EDGE_RISING>;
465                                 maximum-speed = "high-speed";
466                                 dr_mode = "otg";
467                                 usb-phy = <&usb0_phy>;
468                                 status = "disabled";
469                         };
470                 };
471
472                 usb1_phy: usb-phy@1 {
473                         compatible = "usb-nop-xceiv";
474                         status = "disabled";
475                 };
476
477                 keystone_usb1: keystone-dwc3@2580000 {
478                         compatible = "ti,keystone-dwc3";
479                         #address-cells = <1>;
480                         #size-cells = <1>;
481                         reg = <0x2580000 0x10000>;
482                         interrupts = <GIC_SPI 144 IRQ_TYPE_EDGE_RISING>;
483                         ranges;
484                         dma-coherent;
485                         dma-ranges;
486                         status = "disabled";
487                         power-domains = <&k2g_pds 0x0017>;
488
489                         usb1: usb@2590000 {
490                                 compatible = "snps,dwc3";
491                                 reg = <0x2590000 0x10000>;
492                                 interrupts = <GIC_SPI 144 IRQ_TYPE_EDGE_RISING>;
493                                 maximum-speed = "high-speed";
494                                 dr_mode = "otg";
495                                 usb-phy = <&usb1_phy>;
496                                 status = "disabled";
497                         };
498                 };
499
500                 ecap0: pwm@21d1800 {
501                         compatible = "ti,k2g-ecap", "ti,am3352-ecap";
502                         #pwm-cells = <3>;
503                         reg = <0x021d1800 0x60>;
504                         power-domains = <&k2g_pds 0x38>;
505                         clocks = <&k2g_clks 0x38 0>;
506                         clock-names = "fck";
507                         status = "disabled";
508                 };
509
510                 ecap1: pwm@21d1c00 {
511                         compatible = "ti,k2g-ecap", "ti,am3352-ecap";
512                         #pwm-cells = <3>;
513                         reg = <0x021d1c00 0x60>;
514                         power-domains = <&k2g_pds 0x39>;
515                         clocks = <&k2g_clks 0x39 0x0>;
516                         clock-names = "fck";
517                         status = "disabled";
518                 };
519
520                 spi0: spi@21805400 {
521                         compatible = "ti,keystone-spi";
522                         reg = <0x21805400 0x200>;
523                         num-cs = <4>;
524                         ti,davinci-spi-intr-line = <0>;
525                         interrupts = <GIC_SPI 64 IRQ_TYPE_EDGE_RISING>;
526                         #address-cells = <1>;
527                         #size-cells = <0>;
528                         power-domains = <&k2g_pds 0x0010>;
529                         clocks = <&k2g_clks 0x0010 0>;
530                 };
531
532                 spi1: spi@21805800 {
533                         compatible = "ti,keystone-spi";
534                         reg = <0x21805800 0x200>;
535                         num-cs = <4>;
536                         ti,davinci-spi-intr-line = <0>;
537                         interrupts = <GIC_SPI 66 IRQ_TYPE_EDGE_RISING>;
538                         #address-cells = <1>;
539                         #size-cells = <0>;
540                         power-domains = <&k2g_pds 0x0011>;
541                         clocks = <&k2g_clks 0x0011 0>;
542                 };
543
544                 spi2: spi@21805c00 {
545                         compatible = "ti,keystone-spi";
546                         reg = <0x21805C00 0x200>;
547                         num-cs = <4>;
548                         ti,davinci-spi-intr-line = <0>;
549                         interrupts = <GIC_SPI 68 IRQ_TYPE_EDGE_RISING>;
550                         #address-cells = <1>;
551                         #size-cells = <0>;
552                         power-domains = <&k2g_pds 0x0012>;
553                         clocks = <&k2g_clks 0x0012 0>;
554                 };
555
556                 spi3: spi@21806000 {
557                         compatible = "ti,keystone-spi";
558                         reg = <0x21806000 0x200>;
559                         num-cs = <4>;
560                         ti,davinci-spi-intr-line = <0>;
561                         interrupts = <GIC_SPI 70 IRQ_TYPE_EDGE_RISING>;
562                         #address-cells = <1>;
563                         #size-cells = <0>;
564                         power-domains = <&k2g_pds 0x0013>;
565                         clocks = <&k2g_clks 0x0013 0>;
566                 };
567         };
568 };