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