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