]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/gnu/dts/arm/am33xx.dtsi
arm: dts: ti: Fix mmc3 instance by setting it to disabled
[FreeBSD/FreeBSD.git] / sys / gnu / dts / arm / am33xx.dtsi
1 /*
2  * Device Tree Source for AM33XX SoC
3  *
4  * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
5  *
6  * This file is licensed under the terms of the GNU General Public License
7  * version 2.  This program is licensed "as is" without any warranty of any
8  * kind, whether express or implied.
9  */
10
11 #include <dt-bindings/bus/ti-sysc.h>
12 #include <dt-bindings/gpio/gpio.h>
13 #include <dt-bindings/pinctrl/am33xx.h>
14 #include <dt-bindings/clock/am3.h>
15
16 / {
17         compatible = "ti,am33xx";
18         interrupt-parent = <&intc>;
19         #address-cells = <1>;
20         #size-cells = <1>;
21         chosen { };
22
23         aliases {
24                 i2c0 = &i2c0;
25                 i2c1 = &i2c1;
26                 i2c2 = &i2c2;
27                 serial0 = &uart0;
28                 serial1 = &uart1;
29                 serial2 = &uart2;
30                 serial3 = &uart3;
31                 serial4 = &uart4;
32                 serial5 = &uart5;
33                 d-can0 = &dcan0;
34                 d-can1 = &dcan1;
35                 usb0 = &usb0;
36                 usb1 = &usb1;
37                 phy0 = &usb0_phy;
38                 phy1 = &usb1_phy;
39                 ethernet0 = &cpsw_emac0;
40                 ethernet1 = &cpsw_emac1;
41                 spi0 = &spi0;
42                 spi1 = &spi1;
43         };
44
45         cpus {
46                 #address-cells = <1>;
47                 #size-cells = <0>;
48                 cpu@0 {
49                         compatible = "arm,cortex-a8";
50                         device_type = "cpu";
51                         reg = <0>;
52
53                         operating-points-v2 = <&cpu0_opp_table>;
54
55                         clocks = <&dpll_mpu_ck>;
56                         clock-names = "cpu";
57
58                         clock-latency = <300000>; /* From omap-cpufreq driver */
59                 };
60         };
61
62         cpu0_opp_table: opp-table {
63                 compatible = "operating-points-v2-ti-cpu";
64                 syscon = <&scm_conf>;
65
66                 /*
67                  * The three following nodes are marked with opp-suspend
68                  * because the can not be enabled simultaneously on a
69                  * single SoC.
70                  */
71                 opp50-300000000 {
72                         opp-hz = /bits/ 64 <300000000>;
73                         opp-microvolt = <950000 931000 969000>;
74                         opp-supported-hw = <0x06 0x0010>;
75                         opp-suspend;
76                 };
77
78                 opp100-275000000 {
79                         opp-hz = /bits/ 64 <275000000>;
80                         opp-microvolt = <1100000 1078000 1122000>;
81                         opp-supported-hw = <0x01 0x00FF>;
82                         opp-suspend;
83                 };
84
85                 opp100-300000000 {
86                         opp-hz = /bits/ 64 <300000000>;
87                         opp-microvolt = <1100000 1078000 1122000>;
88                         opp-supported-hw = <0x06 0x0020>;
89                         opp-suspend;
90                 };
91
92                 opp100-500000000 {
93                         opp-hz = /bits/ 64 <500000000>;
94                         opp-microvolt = <1100000 1078000 1122000>;
95                         opp-supported-hw = <0x01 0xFFFF>;
96                 };
97
98                 opp100-600000000 {
99                         opp-hz = /bits/ 64 <600000000>;
100                         opp-microvolt = <1100000 1078000 1122000>;
101                         opp-supported-hw = <0x06 0x0040>;
102                 };
103
104                 opp120-600000000 {
105                         opp-hz = /bits/ 64 <600000000>;
106                         opp-microvolt = <1200000 1176000 1224000>;
107                         opp-supported-hw = <0x01 0xFFFF>;
108                 };
109
110                 opp120-720000000 {
111                         opp-hz = /bits/ 64 <720000000>;
112                         opp-microvolt = <1200000 1176000 1224000>;
113                         opp-supported-hw = <0x06 0x0080>;
114                 };
115
116                 oppturbo-720000000 {
117                         opp-hz = /bits/ 64 <720000000>;
118                         opp-microvolt = <1260000 1234800 1285200>;
119                         opp-supported-hw = <0x01 0xFFFF>;
120                 };
121
122                 oppturbo-800000000 {
123                         opp-hz = /bits/ 64 <800000000>;
124                         opp-microvolt = <1260000 1234800 1285200>;
125                         opp-supported-hw = <0x06 0x0100>;
126                 };
127
128                 oppnitro-1000000000 {
129                         opp-hz = /bits/ 64 <1000000000>;
130                         opp-microvolt = <1325000 1298500 1351500>;
131                         opp-supported-hw = <0x04 0x0200>;
132                 };
133         };
134
135         pmu@4b000000 {
136                 compatible = "arm,cortex-a8-pmu";
137                 interrupts = <3>;
138                 reg = <0x4b000000 0x1000000>;
139                 ti,hwmods = "debugss";
140         };
141
142         /*
143          * The soc node represents the soc top level view. It is used for IPs
144          * that are not memory mapped in the MPU view or for the MPU itself.
145          */
146         soc {
147                 compatible = "ti,omap-infra";
148                 mpu {
149                         compatible = "ti,omap3-mpu";
150                         ti,hwmods = "mpu";
151                         pm-sram = <&pm_sram_code
152                                    &pm_sram_data>;
153                 };
154         };
155
156         /*
157          * XXX: Use a flat representation of the AM33XX interconnect.
158          * The real AM33XX interconnect network is quite complex. Since
159          * it will not bring real advantage to represent that in DT
160          * for the moment, just use a fake OCP bus entry to represent
161          * the whole bus hierarchy.
162          */
163         ocp {
164                 compatible = "simple-bus";
165                 #address-cells = <1>;
166                 #size-cells = <1>;
167                 ranges;
168                 ti,hwmods = "l3_main";
169
170                 l4_wkup: interconnect@44c00000 {
171                         wkup_m3: wkup_m3@100000 {
172                                 compatible = "ti,am3352-wkup-m3";
173                                 reg = <0x100000 0x4000>,
174                                       <0x180000 0x2000>;
175                                 reg-names = "umem", "dmem";
176                                 ti,hwmods = "wkup_m3";
177                                 ti,pm-firmware = "am335x-pm-firmware.elf";
178                         };
179                 };
180                 l4_per: interconnect@48000000 {
181                 };
182                 l4_fw: interconnect@47c00000 {
183                 };
184                 l4_fast: interconnect@4a000000 {
185                 };
186                 l4_mpuss: interconnect@4b140000 {
187                 };
188
189                 intc: interrupt-controller@48200000 {
190                         compatible = "ti,am33xx-intc";
191                         interrupt-controller;
192                         #interrupt-cells = <1>;
193                         reg = <0x48200000 0x1000>;
194                 };
195
196                 edma: edma@49000000 {
197                         compatible = "ti,edma3-tpcc";
198                         ti,hwmods = "tpcc";
199                         reg =   <0x49000000 0x10000>;
200                         reg-names = "edma3_cc";
201                         interrupts = <12 13 14>;
202                         interrupt-names = "edma3_ccint", "edma3_mperr",
203                                           "edma3_ccerrint";
204                         dma-requests = <64>;
205                         #dma-cells = <2>;
206
207                         ti,tptcs = <&edma_tptc0 7>, <&edma_tptc1 5>,
208                                    <&edma_tptc2 0>;
209
210                         ti,edma-memcpy-channels = <20 21>;
211                 };
212
213                 edma_tptc0: tptc@49800000 {
214                         compatible = "ti,edma3-tptc";
215                         ti,hwmods = "tptc0";
216                         reg =   <0x49800000 0x100000>;
217                         interrupts = <112>;
218                         interrupt-names = "edma3_tcerrint";
219                 };
220
221                 edma_tptc1: tptc@49900000 {
222                         compatible = "ti,edma3-tptc";
223                         ti,hwmods = "tptc1";
224                         reg =   <0x49900000 0x100000>;
225                         interrupts = <113>;
226                         interrupt-names = "edma3_tcerrint";
227                 };
228
229                 edma_tptc2: tptc@49a00000 {
230                         compatible = "ti,edma3-tptc";
231                         ti,hwmods = "tptc2";
232                         reg =   <0x49a00000 0x100000>;
233                         interrupts = <114>;
234                         interrupt-names = "edma3_tcerrint";
235                 };
236
237                 target-module@47810000 {
238                         compatible = "ti,sysc-omap2", "ti,sysc";
239                         ti,hwmods = "mmc3";
240                         reg = <0x478102fc 0x4>,
241                               <0x47810110 0x4>,
242                               <0x47810114 0x4>;
243                         reg-names = "rev", "sysc", "syss";
244                         ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
245                                          SYSC_OMAP2_ENAWAKEUP |
246                                          SYSC_OMAP2_SOFTRESET |
247                                          SYSC_OMAP2_AUTOIDLE)>;
248                         ti,sysc-sidle = <SYSC_IDLE_FORCE>,
249                                         <SYSC_IDLE_NO>,
250                                         <SYSC_IDLE_SMART>;
251                         ti,syss-mask = <1>;
252                         clocks = <&l3s_clkctrl AM3_L3S_MMC3_CLKCTRL 0>;
253                         clock-names = "fck";
254                         #address-cells = <1>;
255                         #size-cells = <1>;
256                         ranges = <0x0 0x47810000 0x1000>;
257
258                         mmc3: mmc@0 {
259                                 compatible = "ti,omap4-hsmmc";
260                                 ti,needs-special-reset;
261                                 interrupts = <29>;
262                                 reg = <0x0 0x1000>;
263                                 status = "disabled";
264                         };
265                 };
266
267                 usb: usb@47400000 {
268                         compatible = "ti,am33xx-usb";
269                         reg = <0x47400000 0x1000>;
270                         ranges;
271                         #address-cells = <1>;
272                         #size-cells = <1>;
273                         ti,hwmods = "usb_otg_hs";
274                         status = "disabled";
275
276                         usb_ctrl_mod: control@44e10620 {
277                                 compatible = "ti,am335x-usb-ctrl-module";
278                                 reg = <0x44e10620 0x10
279                                         0x44e10648 0x4>;
280                                 reg-names = "phy_ctrl", "wakeup";
281                                 status = "disabled";
282                         };
283
284                         usb0_phy: usb-phy@47401300 {
285                                 compatible = "ti,am335x-usb-phy";
286                                 reg = <0x47401300 0x100>;
287                                 reg-names = "phy";
288                                 status = "disabled";
289                                 ti,ctrl_mod = <&usb_ctrl_mod>;
290                                 #phy-cells = <0>;
291                         };
292
293                         usb0: usb@47401000 {
294                                 compatible = "ti,musb-am33xx";
295                                 status = "disabled";
296                                 reg = <0x47401400 0x400
297                                         0x47401000 0x200>;
298                                 reg-names = "mc", "control";
299
300                                 interrupts = <18>;
301                                 interrupt-names = "mc";
302                                 dr_mode = "otg";
303                                 mentor,multipoint = <1>;
304                                 mentor,num-eps = <16>;
305                                 mentor,ram-bits = <12>;
306                                 mentor,power = <500>;
307                                 phys = <&usb0_phy>;
308
309                                 dmas = <&cppi41dma  0 0 &cppi41dma  1 0
310                                         &cppi41dma  2 0 &cppi41dma  3 0
311                                         &cppi41dma  4 0 &cppi41dma  5 0
312                                         &cppi41dma  6 0 &cppi41dma  7 0
313                                         &cppi41dma  8 0 &cppi41dma  9 0
314                                         &cppi41dma 10 0 &cppi41dma 11 0
315                                         &cppi41dma 12 0 &cppi41dma 13 0
316                                         &cppi41dma 14 0 &cppi41dma  0 1
317                                         &cppi41dma  1 1 &cppi41dma  2 1
318                                         &cppi41dma  3 1 &cppi41dma  4 1
319                                         &cppi41dma  5 1 &cppi41dma  6 1
320                                         &cppi41dma  7 1 &cppi41dma  8 1
321                                         &cppi41dma  9 1 &cppi41dma 10 1
322                                         &cppi41dma 11 1 &cppi41dma 12 1
323                                         &cppi41dma 13 1 &cppi41dma 14 1>;
324                                 dma-names =
325                                         "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
326                                         "rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
327                                         "rx14", "rx15",
328                                         "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
329                                         "tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
330                                         "tx14", "tx15";
331                         };
332
333                         usb1_phy: usb-phy@47401b00 {
334                                 compatible = "ti,am335x-usb-phy";
335                                 reg = <0x47401b00 0x100>;
336                                 reg-names = "phy";
337                                 status = "disabled";
338                                 ti,ctrl_mod = <&usb_ctrl_mod>;
339                                 #phy-cells = <0>;
340                         };
341
342                         usb1: usb@47401800 {
343                                 compatible = "ti,musb-am33xx";
344                                 status = "disabled";
345                                 reg = <0x47401c00 0x400
346                                         0x47401800 0x200>;
347                                 reg-names = "mc", "control";
348                                 interrupts = <19>;
349                                 interrupt-names = "mc";
350                                 dr_mode = "otg";
351                                 mentor,multipoint = <1>;
352                                 mentor,num-eps = <16>;
353                                 mentor,ram-bits = <12>;
354                                 mentor,power = <500>;
355                                 phys = <&usb1_phy>;
356
357                                 dmas = <&cppi41dma 15 0 &cppi41dma 16 0
358                                         &cppi41dma 17 0 &cppi41dma 18 0
359                                         &cppi41dma 19 0 &cppi41dma 20 0
360                                         &cppi41dma 21 0 &cppi41dma 22 0
361                                         &cppi41dma 23 0 &cppi41dma 24 0
362                                         &cppi41dma 25 0 &cppi41dma 26 0
363                                         &cppi41dma 27 0 &cppi41dma 28 0
364                                         &cppi41dma 29 0 &cppi41dma 15 1
365                                         &cppi41dma 16 1 &cppi41dma 17 1
366                                         &cppi41dma 18 1 &cppi41dma 19 1
367                                         &cppi41dma 20 1 &cppi41dma 21 1
368                                         &cppi41dma 22 1 &cppi41dma 23 1
369                                         &cppi41dma 24 1 &cppi41dma 25 1
370                                         &cppi41dma 26 1 &cppi41dma 27 1
371                                         &cppi41dma 28 1 &cppi41dma 29 1>;
372                                 dma-names =
373                                         "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
374                                         "rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
375                                         "rx14", "rx15",
376                                         "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
377                                         "tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
378                                         "tx14", "tx15";
379                         };
380
381                         cppi41dma: dma-controller@47402000 {
382                                 compatible = "ti,am3359-cppi41";
383                                 reg =  <0x47400000 0x1000
384                                         0x47402000 0x1000
385                                         0x47403000 0x1000
386                                         0x47404000 0x4000>;
387                                 reg-names = "glue", "controller", "scheduler", "queuemgr";
388                                 interrupts = <17>;
389                                 interrupt-names = "glue";
390                                 #dma-cells = <2>;
391                                 #dma-channels = <30>;
392                                 #dma-requests = <256>;
393                                 status = "disabled";
394                         };
395                 };
396
397                 ocmcram: ocmcram@40300000 {
398                         compatible = "mmio-sram";
399                         reg = <0x40300000 0x10000>; /* 64k */
400                         ranges = <0x0 0x40300000 0x10000>;
401                         #address-cells = <1>;
402                         #size-cells = <1>;
403
404                         pm_sram_code: pm-sram-code@0 {
405                                 compatible = "ti,sram";
406                                 reg = <0x0 0x1000>;
407                                 protect-exec;
408                         };
409
410                         pm_sram_data: pm-sram-data@1000 {
411                                 compatible = "ti,sram";
412                                 reg = <0x1000 0x1000>;
413                                 pool;
414                         };
415                 };
416
417                 emif: emif@4c000000 {
418                         compatible = "ti,emif-am3352";
419                         reg = <0x4c000000 0x1000000>;
420                         ti,hwmods = "emif";
421                         interrupts = <101>;
422                         sram = <&pm_sram_code
423                                 &pm_sram_data>;
424                         ti,no-idle;
425                 };
426
427                 gpmc: gpmc@50000000 {
428                         compatible = "ti,am3352-gpmc";
429                         ti,hwmods = "gpmc";
430                         ti,no-idle-on-init;
431                         reg = <0x50000000 0x2000>;
432                         interrupts = <100>;
433                         dmas = <&edma 52 0>;
434                         dma-names = "rxtx";
435                         gpmc,num-cs = <7>;
436                         gpmc,num-waitpins = <2>;
437                         #address-cells = <2>;
438                         #size-cells = <1>;
439                         interrupt-controller;
440                         #interrupt-cells = <2>;
441                         gpio-controller;
442                         #gpio-cells = <2>;
443                         status = "disabled";
444                 };
445
446                 sham: sham@53100000 {
447                         compatible = "ti,omap4-sham";
448                         ti,hwmods = "sham";
449                         reg = <0x53100000 0x200>;
450                         interrupts = <109>;
451                         dmas = <&edma 36 0>;
452                         dma-names = "rx";
453                 };
454
455                 aes: aes@53500000 {
456                         compatible = "ti,omap4-aes";
457                         ti,hwmods = "aes";
458                         reg = <0x53500000 0xa0>;
459                         interrupts = <103>;
460                         dmas = <&edma 6 0>,
461                                <&edma 5 0>;
462                         dma-names = "tx", "rx";
463                 };
464         };
465 };
466
467 #include "am33xx-l4.dtsi"
468 #include "am33xx-clocks.dtsi"