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