Merge tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
[linux-2.6-microblaze.git] / arch / arm / boot / dts / am3517.dtsi
1 /*
2  * Device Tree Source for am3517 SoC
3  *
4  * Copyright (C) 2013 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 "omap3.dtsi"
12
13 / {
14         aliases {
15                 serial3 = &uart4;
16                 can = &hecc;
17         };
18
19         cpus {
20                 cpu: cpu@0 {
21                         /* Based on OMAP3630 variants OPP50 and OPP100 */
22                         operating-points-v2 = <&cpu0_opp_table>;
23
24                         clock-latency = <300000>; /* From legacy driver */
25                 };
26         };
27
28         cpu0_opp_table: opp-table {
29                 compatible = "operating-points-v2-ti-cpu";
30                 syscon = <&scm_conf>;
31                 /*
32                  * AM3517 TRM only lists 600MHz @ 1.2V, but omap36xx
33                  * appear to operate at 300MHz as well. Since AM3517 only
34                  * lists one operating voltage, it will remain fixed at 1.2V
35                  */
36                 opp50-300000000 {
37                         opp-hz = /bits/ 64 <300000000>;
38                         opp-microvolt = <1200000>;
39                         opp-supported-hw = <0xffffffff 0xffffffff>;
40                         opp-suspend;
41                 };
42
43                 opp100-600000000 {
44                         opp-hz = /bits/ 64 <600000000>;
45                         opp-microvolt = <1200000>;
46                         opp-supported-hw = <0xffffffff 0xffffffff>;
47                 };
48         };
49
50         ocp@68000000 {
51                 am35x_otg_hs: am35x_otg_hs@5c040000 {
52                         compatible = "ti,omap3-musb";
53                         ti,hwmods = "am35x_otg_hs";
54                         status = "disabled";
55                         reg = <0x5c040000 0x1000>;
56                         interrupts = <71>;
57                         interrupt-names = "mc";
58                 };
59
60                 davinci_emac: ethernet@5c000000 {
61                         compatible = "ti,am3517-emac";
62                         ti,hwmods = "davinci_emac";
63                         status = "disabled";
64                         reg = <0x5c000000 0x30000>;
65                         interrupts = <67 68 69 70>;
66                         syscon = <&scm_conf>;
67                         ti,davinci-ctrl-reg-offset = <0x10000>;
68                         ti,davinci-ctrl-mod-reg-offset = <0>;
69                         ti,davinci-ctrl-ram-offset = <0x20000>;
70                         ti,davinci-ctrl-ram-size = <0x2000>;
71                         ti,davinci-rmii-en = /bits/ 8 <1>;
72                         local-mac-address = [ 00 00 00 00 00 00 ];
73                         clocks = <&emac_ick>;
74                         clock-names = "ick";
75                 };
76
77                 davinci_mdio: ethernet@5c030000 {
78                         compatible = "ti,davinci_mdio";
79                         ti,hwmods = "davinci_mdio";
80                         status = "disabled";
81                         reg = <0x5c030000 0x1000>;
82                         bus_freq = <1000000>;
83                         #address-cells = <1>;
84                         #size-cells = <0>;
85                         clocks = <&emac_fck>;
86                         clock-names = "fck";
87                 };
88
89                 uart4: serial@4809e000 {
90                         compatible = "ti,omap3-uart";
91                         ti,hwmods = "uart4";
92                         status = "disabled";
93                         reg = <0x4809e000 0x400>;
94                         interrupts = <84>;
95                         dmas = <&sdma 55 &sdma 54>;
96                         dma-names = "tx", "rx";
97                         clock-frequency = <48000000>;
98                 };
99
100                 omap3_pmx_core2: pinmux@480025d8 {
101                         compatible = "ti,omap3-padconf", "pinctrl-single";
102                         reg = <0x480025d8 0x24>;
103                         #address-cells = <1>;
104                         #size-cells = <0>;
105                         #pinctrl-cells = <1>;
106                         #interrupt-cells = <1>;
107                         interrupt-controller;
108                         pinctrl-single,register-width = <16>;
109                         pinctrl-single,function-mask = <0xff1f>;
110                 };
111
112                 hecc: can@5c050000 {
113                         compatible = "ti,am3517-hecc";
114                         status = "disabled";
115                         reg = <0x5c050000 0x80>,
116                               <0x5c053000 0x180>,
117                               <0x5c052000 0x200>;
118                         reg-names = "hecc", "hecc-ram", "mbx";
119                         interrupts = <24>;
120                         clocks = <&hecc_ck>;
121                 };
122
123                 /*
124                  * On am3517 the OCP registers do not seem to be accessible
125                  * similar to the omap34xx. Maybe SGX is permanently set to
126                  * "OCP bypass mode", or maybe there is OCP_SYSCONFIG that is
127                  * write-only at 0x50000e10. We detect SGX based on the SGX
128                  * revision register instead of the unreadable OCP revision
129                  * register.
130                  */
131                 sgx_module: target-module@50000000 {
132                         compatible = "ti,sysc-omap2", "ti,sysc";
133                         reg = <0x50000014 0x4>;
134                         reg-names = "rev";
135                         clocks = <&sgx_fck>, <&sgx_ick>;
136                         clock-names = "fck", "ick";
137                         #address-cells = <1>;
138                         #size-cells = <1>;
139                         ranges = <0 0x50000000 0x4000>;
140
141                         /*
142                          * Closed source PowerVR driver, no child device
143                          * binding or driver in mainline
144                          */
145                 };
146         };
147 };
148
149 /* Not currently working, probably needs at least different clocks */
150 &rng_target {
151         status = "disabled";
152         /delete-property/ clocks;
153 };
154
155 /* Table Table 5-79 of the TRM shows 480ab000 is reserved */
156 &usb_otg_hs {
157         status = "disabled";
158 };
159
160 &iva {
161         status = "disabled";
162 };
163
164 &mailbox {
165         status = "disabled";
166 };
167
168 &mmu_isp {
169         status = "disabled";
170 };
171
172 /include/ "am35xx-clocks.dtsi"
173 /include/ "omap36xx-am35xx-omap3430es2plus-clocks.dtsi"