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