xref: /OK3568_Linux_fs/kernel/arch/arm/boot/dts/keystone-k2e.dtsi (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0
2*4882a593Smuzhiyun/*
3*4882a593Smuzhiyun * Keystone 2 Edison soc 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,k2e", "ti,keystone";
12*4882a593Smuzhiyun	model = "Texas Instruments Keystone 2 Edison 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	};
48*4882a593Smuzhiyun};
49*4882a593Smuzhiyun
50*4882a593Smuzhiyun&soc0 {
51*4882a593Smuzhiyun		/include/ "keystone-k2e-clocks.dtsi"
52*4882a593Smuzhiyun
53*4882a593Smuzhiyun		usb: usb@2680000 {
54*4882a593Smuzhiyun			interrupts = <GIC_SPI 152 IRQ_TYPE_EDGE_RISING>;
55*4882a593Smuzhiyun			dwc3@2690000 {
56*4882a593Smuzhiyun				interrupts = <GIC_SPI 152 IRQ_TYPE_EDGE_RISING>;
57*4882a593Smuzhiyun			};
58*4882a593Smuzhiyun		};
59*4882a593Smuzhiyun
60*4882a593Smuzhiyun		usb1_phy: usb_phy@2620750 {
61*4882a593Smuzhiyun			compatible = "ti,keystone-usbphy";
62*4882a593Smuzhiyun			#address-cells = <1>;
63*4882a593Smuzhiyun			#size-cells = <1>;
64*4882a593Smuzhiyun			reg = <0x2620750 24>;
65*4882a593Smuzhiyun			status = "disabled";
66*4882a593Smuzhiyun		};
67*4882a593Smuzhiyun
68*4882a593Smuzhiyun		keystone_usb1: usb@25000000 {
69*4882a593Smuzhiyun			compatible = "ti,keystone-dwc3";
70*4882a593Smuzhiyun			#address-cells = <1>;
71*4882a593Smuzhiyun			#size-cells = <1>;
72*4882a593Smuzhiyun			reg = <0x25000000 0x10000>;
73*4882a593Smuzhiyun			clocks = <&clkusb1>;
74*4882a593Smuzhiyun			clock-names = "usb";
75*4882a593Smuzhiyun			interrupts = <GIC_SPI 414 IRQ_TYPE_EDGE_RISING>;
76*4882a593Smuzhiyun			ranges;
77*4882a593Smuzhiyun			dma-coherent;
78*4882a593Smuzhiyun			dma-ranges;
79*4882a593Smuzhiyun			status = "disabled";
80*4882a593Smuzhiyun
81*4882a593Smuzhiyun			usb1: dwc3@25010000 {
82*4882a593Smuzhiyun				compatible = "synopsys,dwc3";
83*4882a593Smuzhiyun				reg = <0x25010000 0x70000>;
84*4882a593Smuzhiyun				interrupts = <GIC_SPI 414 IRQ_TYPE_EDGE_RISING>;
85*4882a593Smuzhiyun				usb-phy = <&usb1_phy>, <&usb1_phy>;
86*4882a593Smuzhiyun			};
87*4882a593Smuzhiyun		};
88*4882a593Smuzhiyun
89*4882a593Smuzhiyun		msm_ram: sram@c000000 {
90*4882a593Smuzhiyun			compatible = "mmio-sram";
91*4882a593Smuzhiyun			reg = <0x0c000000 0x200000>;
92*4882a593Smuzhiyun			ranges = <0x0 0x0c000000 0x200000>;
93*4882a593Smuzhiyun			#address-cells = <1>;
94*4882a593Smuzhiyun			#size-cells = <1>;
95*4882a593Smuzhiyun
96*4882a593Smuzhiyun			bm-sram@1f0000 {
97*4882a593Smuzhiyun				reg = <0x001f0000 0x8000>;
98*4882a593Smuzhiyun			};
99*4882a593Smuzhiyun		};
100*4882a593Smuzhiyun
101*4882a593Smuzhiyun		psc: power-sleep-controller@2350000 {
102*4882a593Smuzhiyun			pscrst: reset-controller {
103*4882a593Smuzhiyun				compatible = "ti,k2e-pscrst", "ti,syscon-reset";
104*4882a593Smuzhiyun				#reset-cells = <1>;
105*4882a593Smuzhiyun
106*4882a593Smuzhiyun				ti,reset-bits = <
107*4882a593Smuzhiyun					0xa3c 8 0xa3c 8 0x83c 8 (ASSERT_CLEAR | DEASSERT_SET | STATUS_CLEAR) /* 0: dsp0 */
108*4882a593Smuzhiyun				>;
109*4882a593Smuzhiyun			};
110*4882a593Smuzhiyun		};
111*4882a593Smuzhiyun
112*4882a593Smuzhiyun		devctrl: device-state-control@2620000 {
113*4882a593Smuzhiyun			dspgpio0: keystone_dsp_gpio@240 {
114*4882a593Smuzhiyun				compatible = "ti,keystone-dsp-gpio";
115*4882a593Smuzhiyun				reg = <0x240 0x4>;
116*4882a593Smuzhiyun				gpio-controller;
117*4882a593Smuzhiyun				#gpio-cells = <2>;
118*4882a593Smuzhiyun				gpio,syscon-dev = <&devctrl 0x240>;
119*4882a593Smuzhiyun			};
120*4882a593Smuzhiyun		};
121*4882a593Smuzhiyun
122*4882a593Smuzhiyun		dsp0: dsp@10800000 {
123*4882a593Smuzhiyun			compatible = "ti,k2e-dsp";
124*4882a593Smuzhiyun			reg = <0x10800000 0x00080000>,
125*4882a593Smuzhiyun			      <0x10e00000 0x00008000>,
126*4882a593Smuzhiyun			      <0x10f00000 0x00008000>;
127*4882a593Smuzhiyun			reg-names = "l2sram", "l1pram", "l1dram";
128*4882a593Smuzhiyun			clocks = <&clkgem0>;
129*4882a593Smuzhiyun			ti,syscon-dev = <&devctrl 0x844>;
130*4882a593Smuzhiyun			resets = <&pscrst 0>;
131*4882a593Smuzhiyun			interrupt-parent = <&kirq0>;
132*4882a593Smuzhiyun			interrupts = <0 8>;
133*4882a593Smuzhiyun			interrupt-names = "vring", "exception";
134*4882a593Smuzhiyun			kick-gpios = <&dspgpio0 27 0>;
135*4882a593Smuzhiyun			status = "disabled";
136*4882a593Smuzhiyun		};
137*4882a593Smuzhiyun
138*4882a593Smuzhiyun		pcie1: pcie@21020000 {
139*4882a593Smuzhiyun			compatible = "ti,keystone-pcie","snps,dw-pcie";
140*4882a593Smuzhiyun			clocks = <&clkpcie1>;
141*4882a593Smuzhiyun			clock-names = "pcie";
142*4882a593Smuzhiyun			#address-cells = <3>;
143*4882a593Smuzhiyun			#size-cells = <2>;
144*4882a593Smuzhiyun			reg =  <0x21021000 0x2000>, <0x21020000 0x1000>, <0x02620128 4>;
145*4882a593Smuzhiyun			ranges = <0x82000000 0 0x60000000 0x60000000
146*4882a593Smuzhiyun				  0 0x10000000>;
147*4882a593Smuzhiyun
148*4882a593Smuzhiyun			status = "disabled";
149*4882a593Smuzhiyun			device_type = "pci";
150*4882a593Smuzhiyun			num-lanes = <2>;
151*4882a593Smuzhiyun			bus-range = <0x00 0xff>;
152*4882a593Smuzhiyun
153*4882a593Smuzhiyun			/* error interrupt */
154*4882a593Smuzhiyun			interrupts = <GIC_SPI 385 IRQ_TYPE_EDGE_RISING>;
155*4882a593Smuzhiyun			#interrupt-cells = <1>;
156*4882a593Smuzhiyun			interrupt-map-mask = <0 0 0 7>;
157*4882a593Smuzhiyun			interrupt-map = <0 0 0 1 &pcie_intc1 0>, /* INT A */
158*4882a593Smuzhiyun					<0 0 0 2 &pcie_intc1 1>, /* INT B */
159*4882a593Smuzhiyun					<0 0 0 3 &pcie_intc1 2>, /* INT C */
160*4882a593Smuzhiyun					<0 0 0 4 &pcie_intc1 3>; /* INT D */
161*4882a593Smuzhiyun
162*4882a593Smuzhiyun			pcie_msi_intc1: msi-interrupt-controller {
163*4882a593Smuzhiyun				interrupt-controller;
164*4882a593Smuzhiyun				#interrupt-cells = <1>;
165*4882a593Smuzhiyun				interrupt-parent = <&gic>;
166*4882a593Smuzhiyun				interrupts = <GIC_SPI 377 IRQ_TYPE_EDGE_RISING>,
167*4882a593Smuzhiyun					<GIC_SPI 378 IRQ_TYPE_EDGE_RISING>,
168*4882a593Smuzhiyun					<GIC_SPI 379 IRQ_TYPE_EDGE_RISING>,
169*4882a593Smuzhiyun					<GIC_SPI 380 IRQ_TYPE_EDGE_RISING>,
170*4882a593Smuzhiyun					<GIC_SPI 381 IRQ_TYPE_EDGE_RISING>,
171*4882a593Smuzhiyun					<GIC_SPI 382 IRQ_TYPE_EDGE_RISING>,
172*4882a593Smuzhiyun					<GIC_SPI 383 IRQ_TYPE_EDGE_RISING>,
173*4882a593Smuzhiyun					<GIC_SPI 384 IRQ_TYPE_EDGE_RISING>;
174*4882a593Smuzhiyun			};
175*4882a593Smuzhiyun
176*4882a593Smuzhiyun			pcie_intc1: legacy-interrupt-controller {
177*4882a593Smuzhiyun				interrupt-controller;
178*4882a593Smuzhiyun				#interrupt-cells = <1>;
179*4882a593Smuzhiyun				interrupt-parent = <&gic>;
180*4882a593Smuzhiyun				interrupts = <GIC_SPI 373 IRQ_TYPE_EDGE_RISING>,
181*4882a593Smuzhiyun					<GIC_SPI 374 IRQ_TYPE_EDGE_RISING>,
182*4882a593Smuzhiyun					<GIC_SPI 375 IRQ_TYPE_EDGE_RISING>,
183*4882a593Smuzhiyun					<GIC_SPI 376 IRQ_TYPE_EDGE_RISING>;
184*4882a593Smuzhiyun			};
185*4882a593Smuzhiyun		};
186*4882a593Smuzhiyun
187*4882a593Smuzhiyun		mdio: mdio@24200f00 {
188*4882a593Smuzhiyun			compatible	= "ti,keystone_mdio", "ti,davinci_mdio";
189*4882a593Smuzhiyun			#address-cells = <1>;
190*4882a593Smuzhiyun			#size-cells = <0>;
191*4882a593Smuzhiyun			reg = <0x24200f00 0x100>;
192*4882a593Smuzhiyun			status = "disabled";
193*4882a593Smuzhiyun			clocks = <&clkcpgmac>;
194*4882a593Smuzhiyun			clock-names = "fck";
195*4882a593Smuzhiyun			bus_freq	= <2500000>;
196*4882a593Smuzhiyun		};
197*4882a593Smuzhiyun		/include/ "keystone-k2e-netcp.dtsi"
198*4882a593Smuzhiyun};
199