Merge tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
[sfrench/cifs-2.6.git] / arch / arm / boot / dts / keystone-k2hk.dtsi
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * Keystone 2 Kepler/Hawking soc specific device tree
4  *
5  * Copyright (C) 2013-2017 Texas Instruments Incorporated - http://www.ti.com/
6  */
7
8 #include <dt-bindings/reset/ti-syscon.h>
9
10 / {
11         compatible = "ti,k2hk", "ti,keystone";
12         model = "Texas Instruments Keystone 2 Kepler/Hawking SoC";
13
14         cpus {
15                 #address-cells = <1>;
16                 #size-cells = <0>;
17
18                 interrupt-parent = <&gic>;
19
20                 cpu@0 {
21                         compatible = "arm,cortex-a15";
22                         device_type = "cpu";
23                         reg = <0>;
24                 };
25
26                 cpu@1 {
27                         compatible = "arm,cortex-a15";
28                         device_type = "cpu";
29                         reg = <1>;
30                 };
31
32                 cpu@2 {
33                         compatible = "arm,cortex-a15";
34                         device_type = "cpu";
35                         reg = <2>;
36                 };
37
38                 cpu@3 {
39                         compatible = "arm,cortex-a15";
40                         device_type = "cpu";
41                         reg = <3>;
42                 };
43         };
44
45         aliases {
46                 rproc0 = &dsp0;
47                 rproc1 = &dsp1;
48                 rproc2 = &dsp2;
49                 rproc3 = &dsp3;
50                 rproc4 = &dsp4;
51                 rproc5 = &dsp5;
52                 rproc6 = &dsp6;
53                 rproc7 = &dsp7;
54         };
55 };
56
57 &soc0 {
58                 /include/ "keystone-k2hk-clocks.dtsi"
59
60                 msm_ram: msmram@c000000 {
61                         compatible = "mmio-sram";
62                         reg = <0x0c000000 0x600000>;
63                         ranges = <0x0 0x0c000000 0x600000>;
64                         #address-cells = <1>;
65                         #size-cells = <1>;
66
67                         sram-bm@5f0000 {
68                                 reg = <0x5f0000 0x8000>;
69                         };
70                 };
71
72                 psc: power-sleep-controller@2350000 {
73                         pscrst: reset-controller {
74                                 compatible = "ti,k2hk-pscrst", "ti,syscon-reset";
75                                 #reset-cells = <1>;
76
77                                 ti,reset-bits = <
78                                         0xa3c 8 0xa3c 8 0x83c 8 (ASSERT_CLEAR | DEASSERT_SET | STATUS_CLEAR) /* 0: dsp0 */
79                                         0xa40 8 0xa40 8 0x840 8 (ASSERT_CLEAR | DEASSERT_SET | STATUS_CLEAR) /* 1: dsp1 */
80                                         0xa44 8 0xa44 8 0x844 8 (ASSERT_CLEAR | DEASSERT_SET | STATUS_CLEAR) /* 2: dsp2 */
81                                         0xa48 8 0xa48 8 0x848 8 (ASSERT_CLEAR | DEASSERT_SET | STATUS_CLEAR) /* 3: dsp3 */
82                                         0xa4c 8 0xa4c 8 0x84c 8 (ASSERT_CLEAR | DEASSERT_SET | STATUS_CLEAR) /* 4: dsp4 */
83                                         0xa50 8 0xa50 8 0x850 8 (ASSERT_CLEAR | DEASSERT_SET | STATUS_CLEAR) /* 5: dsp5 */
84                                         0xa54 8 0xa54 8 0x854 8 (ASSERT_CLEAR | DEASSERT_SET | STATUS_CLEAR) /* 6: dsp6 */
85                                         0xa58 8 0xa58 8 0x858 8 (ASSERT_CLEAR | DEASSERT_SET | STATUS_CLEAR) /* 7: dsp7 */
86                                 >;
87                         };
88                 };
89
90                 devctrl: device-state-control@2620000 {
91                         dspgpio0: keystone_dsp_gpio@240 {
92                                 compatible = "ti,keystone-dsp-gpio";
93                                 reg = <0x240 0x4>;
94                                 gpio-controller;
95                                 #gpio-cells = <2>;
96                                 gpio,syscon-dev = <&devctrl 0x240>;
97                         };
98
99                         dspgpio1: keystone_dsp_gpio@244 {
100                                 compatible = "ti,keystone-dsp-gpio";
101                                 reg = <0x244 0x4>;
102                                 gpio-controller;
103                                 #gpio-cells = <2>;
104                                 gpio,syscon-dev = <&devctrl 0x244>;
105                         };
106
107                         dspgpio2: keystone_dsp_gpio@248 {
108                                 compatible = "ti,keystone-dsp-gpio";
109                                 reg = <0x248 0x4>;
110                                 gpio-controller;
111                                 #gpio-cells = <2>;
112                                 gpio,syscon-dev = <&devctrl 0x248>;
113                         };
114
115                         dspgpio3: keystone_dsp_gpio@24c {
116                                 compatible = "ti,keystone-dsp-gpio";
117                                 reg = <0x24c 0x4>;
118                                 gpio-controller;
119                                 #gpio-cells = <2>;
120                                 gpio,syscon-dev = <&devctrl 0x24c>;
121                         };
122
123                         dspgpio4: keystone_dsp_gpio@250 {
124                                 compatible = "ti,keystone-dsp-gpio";
125                                 reg = <0x250 0x4>;
126                                 gpio-controller;
127                                 #gpio-cells = <2>;
128                                 gpio,syscon-dev = <&devctrl 0x250>;
129                         };
130
131                         dspgpio5: keystone_dsp_gpio@254 {
132                                 compatible = "ti,keystone-dsp-gpio";
133                                 reg = <0x254 0x4>;
134                                 gpio-controller;
135                                 #gpio-cells = <2>;
136                                 gpio,syscon-dev = <&devctrl 0x254>;
137                         };
138
139                         dspgpio6: keystone_dsp_gpio@258 {
140                                 compatible = "ti,keystone-dsp-gpio";
141                                 reg = <0x258 0x4>;
142                                 gpio-controller;
143                                 #gpio-cells = <2>;
144                                 gpio,syscon-dev = <&devctrl 0x258>;
145                         };
146
147                         dspgpio7: keystone_dsp_gpio@25c {
148                                 compatible = "ti,keystone-dsp-gpio";
149                                 reg = <0x25c 0x4>;
150                                 gpio-controller;
151                                 #gpio-cells = <2>;
152                                 gpio,syscon-dev = <&devctrl 0x25c>;
153                         };
154                 };
155
156                 dsp0: dsp@10800000 {
157                         compatible = "ti,k2hk-dsp";
158                         reg = <0x10800000 0x00100000>,
159                               <0x10e00000 0x00008000>,
160                               <0x10f00000 0x00008000>;
161                         reg-names = "l2sram", "l1pram", "l1dram";
162                         clocks = <&clkgem0>;
163                         ti,syscon-dev = <&devctrl 0x40>;
164                         resets = <&pscrst 0>;
165                         interrupt-parent = <&kirq0>;
166                         interrupts = <0 8>;
167                         interrupt-names = "vring", "exception";
168                         kick-gpios = <&dspgpio0 27 0>;
169                         status = "disabled";
170                 };
171
172                 dsp1: dsp@11800000 {
173                         compatible = "ti,k2hk-dsp";
174                         reg = <0x11800000 0x00100000>,
175                               <0x11e00000 0x00008000>,
176                               <0x11f00000 0x00008000>;
177                         reg-names = "l2sram", "l1pram", "l1dram";
178                         clocks = <&clkgem1>;
179                         ti,syscon-dev = <&devctrl 0x44>;
180                         resets = <&pscrst 1>;
181                         interrupt-parent = <&kirq0>;
182                         interrupts = <1 9>;
183                         interrupt-names = "vring", "exception";
184                         kick-gpios = <&dspgpio1 27 0>;
185                         status = "disabled";
186                 };
187
188                 dsp2: dsp@12800000 {
189                         compatible = "ti,k2hk-dsp";
190                         reg = <0x12800000 0x00100000>,
191                               <0x12e00000 0x00008000>,
192                               <0x12f00000 0x00008000>;
193                         reg-names = "l2sram", "l1pram", "l1dram";
194                         clocks = <&clkgem2>;
195                         ti,syscon-dev = <&devctrl 0x48>;
196                         resets = <&pscrst 2>;
197                         interrupt-parent = <&kirq0>;
198                         interrupts = <2 10>;
199                         interrupt-names = "vring", "exception";
200                         kick-gpios = <&dspgpio2 27 0>;
201                         status = "disabled";
202                 };
203
204                 dsp3: dsp@13800000 {
205                         compatible = "ti,k2hk-dsp";
206                         reg = <0x13800000 0x00100000>,
207                               <0x13e00000 0x00008000>,
208                               <0x13f00000 0x00008000>;
209                         reg-names = "l2sram", "l1pram", "l1dram";
210                         clocks = <&clkgem3>;
211                         ti,syscon-dev = <&devctrl 0x4c>;
212                         resets = <&pscrst 3>;
213                         interrupt-parent = <&kirq0>;
214                         interrupts = <3 11>;
215                         interrupt-names = "vring", "exception";
216                         kick-gpios = <&dspgpio3 27 0>;
217                         status = "disabled";
218                 };
219
220                 dsp4: dsp@14800000 {
221                         compatible = "ti,k2hk-dsp";
222                         reg = <0x14800000 0x00100000>,
223                               <0x14e00000 0x00008000>,
224                               <0x14f00000 0x00008000>;
225                         reg-names = "l2sram", "l1pram", "l1dram";
226                         clocks = <&clkgem4>;
227                         ti,syscon-dev = <&devctrl 0x50>;
228                         resets = <&pscrst 4>;
229                         interrupt-parent = <&kirq0>;
230                         interrupts = <4 12>;
231                         interrupt-names = "vring", "exception";
232                         kick-gpios = <&dspgpio4 27 0>;
233                         status = "disabled";
234                 };
235
236                 dsp5: dsp@15800000 {
237                         compatible = "ti,k2hk-dsp";
238                         reg = <0x15800000 0x00100000>,
239                               <0x15e00000 0x00008000>,
240                               <0x15f00000 0x00008000>;
241                         reg-names = "l2sram", "l1pram", "l1dram";
242                         clocks = <&clkgem5>;
243                         ti,syscon-dev = <&devctrl 0x54>;
244                         resets = <&pscrst 5>;
245                         interrupt-parent = <&kirq0>;
246                         interrupts = <5 13>;
247                         interrupt-names = "vring", "exception";
248                         kick-gpios = <&dspgpio5 27 0>;
249                         status = "disabled";
250                 };
251
252                 dsp6: dsp@16800000 {
253                         compatible = "ti,k2hk-dsp";
254                         reg = <0x16800000 0x00100000>,
255                               <0x16e00000 0x00008000>,
256                               <0x16f00000 0x00008000>;
257                         reg-names = "l2sram", "l1pram", "l1dram";
258                         clocks = <&clkgem6>;
259                         ti,syscon-dev = <&devctrl 0x58>;
260                         resets = <&pscrst 6>;
261                         interrupt-parent = <&kirq0>;
262                         interrupts = <6 14>;
263                         interrupt-names = "vring", "exception";
264                         kick-gpios = <&dspgpio6 27 0>;
265                         status = "disabled";
266                 };
267
268                 dsp7: dsp@17800000 {
269                         compatible = "ti,k2hk-dsp";
270                         reg = <0x17800000 0x00100000>,
271                               <0x17e00000 0x00008000>,
272                               <0x17f00000 0x00008000>;
273                         reg-names = "l2sram", "l1pram", "l1dram";
274                         clocks = <&clkgem7>;
275                         ti,syscon-dev = <&devctrl 0x5c>;
276                         resets = <&pscrst 7>;
277                         interrupt-parent = <&kirq0>;
278                         interrupts = <7 15>;
279                         interrupt-names = "vring", "exception";
280                         kick-gpios = <&dspgpio7 27 0>;
281                         status = "disabled";
282                 };
283
284                 mdio: mdio@2090300 {
285                         compatible      = "ti,keystone_mdio", "ti,davinci_mdio";
286                         #address-cells = <1>;
287                         #size-cells = <0>;
288                         reg = <0x02090300 0x100>;
289                         status = "disabled";
290                         clocks = <&clkcpgmac>;
291                         clock-names = "fck";
292                         bus_freq        = <2500000>;
293                 };
294                 /include/ "keystone-k2hk-netcp.dtsi"
295 };