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