xref: /linux/arch/arm/boot/dts/ti/omap/dra74x.dtsi (revision cdd5b5a9761fd66d17586e4f4ba6588c70e640ea)
1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0-only
2*724ba675SRob Herring/*
3*724ba675SRob Herring * Copyright (C) 2014 Texas Instruments Incorporated - https://www.ti.com/
4*724ba675SRob Herring *
5*724ba675SRob Herring * Based on "omap4.dtsi"
6*724ba675SRob Herring */
7*724ba675SRob Herring
8*724ba675SRob Herring#include "dra7.dtsi"
9*724ba675SRob Herring
10*724ba675SRob Herring/ {
11*724ba675SRob Herring	compatible = "ti,dra742", "ti,dra74", "ti,dra7";
12*724ba675SRob Herring
13*724ba675SRob Herring	cpus {
14*724ba675SRob Herring		cpu@1 {
15*724ba675SRob Herring			device_type = "cpu";
16*724ba675SRob Herring			compatible = "arm,cortex-a15";
17*724ba675SRob Herring			reg = <1>;
18*724ba675SRob Herring			operating-points-v2 = <&cpu0_opp_table>;
19*724ba675SRob Herring
20*724ba675SRob Herring			clocks = <&dpll_mpu_ck>;
21*724ba675SRob Herring			clock-names = "cpu";
22*724ba675SRob Herring
23*724ba675SRob Herring			clock-latency = <300000>; /* From omap-cpufreq driver */
24*724ba675SRob Herring
25*724ba675SRob Herring			/* cooling options */
26*724ba675SRob Herring			#cooling-cells = <2>; /* min followed by max */
27*724ba675SRob Herring
28*724ba675SRob Herring			vbb-supply = <&abb_mpu>;
29*724ba675SRob Herring		};
30*724ba675SRob Herring	};
31*724ba675SRob Herring
32*724ba675SRob Herring	aliases {
33*724ba675SRob Herring		rproc0 = &ipu1;
34*724ba675SRob Herring		rproc1 = &ipu2;
35*724ba675SRob Herring		rproc2 = &dsp1;
36*724ba675SRob Herring		rproc3 = &dsp2;
37*724ba675SRob Herring	};
38*724ba675SRob Herring
39*724ba675SRob Herring	pmu {
40*724ba675SRob Herring		compatible = "arm,cortex-a15-pmu";
41*724ba675SRob Herring		interrupt-parent = <&wakeupgen>;
42*724ba675SRob Herring		interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
43*724ba675SRob Herring			     <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>;
44*724ba675SRob Herring	};
45*724ba675SRob Herring
46*724ba675SRob Herring	ocp {
47*724ba675SRob Herring		dsp2_system: dsp_system@41500000 {
48*724ba675SRob Herring			compatible = "syscon";
49*724ba675SRob Herring			reg = <0x41500000 0x100>;
50*724ba675SRob Herring		};
51*724ba675SRob Herring
52*724ba675SRob Herring
53*724ba675SRob Herring		target-module@41501000 {
54*724ba675SRob Herring			compatible = "ti,sysc-omap2", "ti,sysc";
55*724ba675SRob Herring			reg = <0x41501000 0x4>,
56*724ba675SRob Herring			      <0x41501010 0x4>,
57*724ba675SRob Herring			      <0x41501014 0x4>;
58*724ba675SRob Herring			reg-names = "rev", "sysc", "syss";
59*724ba675SRob Herring			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
60*724ba675SRob Herring					<SYSC_IDLE_NO>,
61*724ba675SRob Herring					<SYSC_IDLE_SMART>;
62*724ba675SRob Herring			ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
63*724ba675SRob Herring					 SYSC_OMAP2_SOFTRESET |
64*724ba675SRob Herring					 SYSC_OMAP2_AUTOIDLE)>;
65*724ba675SRob Herring			clocks = <&dsp2_clkctrl DRA7_DSP2_MMU0_DSP2_CLKCTRL 0>;
66*724ba675SRob Herring			clock-names = "fck";
67*724ba675SRob Herring			resets = <&prm_dsp2 1>;
68*724ba675SRob Herring			reset-names = "rstctrl";
69*724ba675SRob Herring			ranges = <0x0 0x41501000 0x1000>;
70*724ba675SRob Herring			#size-cells = <1>;
71*724ba675SRob Herring			#address-cells = <1>;
72*724ba675SRob Herring
73*724ba675SRob Herring			mmu0_dsp2: mmu@0 {
74*724ba675SRob Herring				compatible = "ti,dra7-dsp-iommu";
75*724ba675SRob Herring				reg = <0x0 0x100>;
76*724ba675SRob Herring				interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
77*724ba675SRob Herring				#iommu-cells = <0>;
78*724ba675SRob Herring				ti,syscon-mmuconfig = <&dsp2_system 0x0>;
79*724ba675SRob Herring			};
80*724ba675SRob Herring		};
81*724ba675SRob Herring
82*724ba675SRob Herring		target-module@41502000 {
83*724ba675SRob Herring			compatible = "ti,sysc-omap2", "ti,sysc";
84*724ba675SRob Herring			reg = <0x41502000 0x4>,
85*724ba675SRob Herring			      <0x41502010 0x4>,
86*724ba675SRob Herring			      <0x41502014 0x4>;
87*724ba675SRob Herring			reg-names = "rev", "sysc", "syss";
88*724ba675SRob Herring			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
89*724ba675SRob Herring					<SYSC_IDLE_NO>,
90*724ba675SRob Herring					<SYSC_IDLE_SMART>;
91*724ba675SRob Herring			ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
92*724ba675SRob Herring					 SYSC_OMAP2_SOFTRESET |
93*724ba675SRob Herring					 SYSC_OMAP2_AUTOIDLE)>;
94*724ba675SRob Herring
95*724ba675SRob Herring			clocks = <&dsp2_clkctrl DRA7_DSP2_MMU0_DSP2_CLKCTRL 0>;
96*724ba675SRob Herring			clock-names = "fck";
97*724ba675SRob Herring			resets = <&prm_dsp2 1>;
98*724ba675SRob Herring			reset-names = "rstctrl";
99*724ba675SRob Herring			ranges = <0x0 0x41502000 0x1000>;
100*724ba675SRob Herring			#size-cells = <1>;
101*724ba675SRob Herring			#address-cells = <1>;
102*724ba675SRob Herring
103*724ba675SRob Herring			mmu1_dsp2: mmu@0 {
104*724ba675SRob Herring				compatible = "ti,dra7-dsp-iommu";
105*724ba675SRob Herring				reg = <0x0 0x100>;
106*724ba675SRob Herring				interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
107*724ba675SRob Herring				#iommu-cells = <0>;
108*724ba675SRob Herring				ti,syscon-mmuconfig = <&dsp2_system 0x1>;
109*724ba675SRob Herring			};
110*724ba675SRob Herring		};
111*724ba675SRob Herring
112*724ba675SRob Herring		dsp2: dsp@41000000 {
113*724ba675SRob Herring			compatible = "ti,dra7-dsp";
114*724ba675SRob Herring			reg = <0x41000000 0x48000>,
115*724ba675SRob Herring			      <0x41600000 0x8000>,
116*724ba675SRob Herring			      <0x41700000 0x8000>;
117*724ba675SRob Herring			reg-names = "l2ram", "l1pram", "l1dram";
118*724ba675SRob Herring			ti,bootreg = <&scm_conf 0x560 10>;
119*724ba675SRob Herring			iommus = <&mmu0_dsp2>, <&mmu1_dsp2>;
120*724ba675SRob Herring			status = "disabled";
121*724ba675SRob Herring			resets = <&prm_dsp2 0>;
122*724ba675SRob Herring			clocks = <&dsp2_clkctrl DRA7_DSP2_MMU0_DSP2_CLKCTRL 0>;
123*724ba675SRob Herring			firmware-name = "dra7-dsp2-fw.xe66";
124*724ba675SRob Herring		};
125*724ba675SRob Herring	};
126*724ba675SRob Herring};
127*724ba675SRob Herring
128*724ba675SRob Herring&cpu0_opp_table {
129*724ba675SRob Herring	opp-shared;
130*724ba675SRob Herring};
131*724ba675SRob Herring
132*724ba675SRob Herring&dss {
133*724ba675SRob Herring	reg = <0 0x80>,
134*724ba675SRob Herring	      <0x4054 0x4>,
135*724ba675SRob Herring	      <0x4300 0x20>,
136*724ba675SRob Herring	      <0x9054 0x4>,
137*724ba675SRob Herring	      <0x9300 0x20>;
138*724ba675SRob Herring	reg-names = "dss", "pll1_clkctrl", "pll1",
139*724ba675SRob Herring		    "pll2_clkctrl", "pll2";
140*724ba675SRob Herring
141*724ba675SRob Herring	clocks = <&dss_clkctrl DRA7_DSS_DSS_CORE_CLKCTRL 8>,
142*724ba675SRob Herring		 <&dss_clkctrl DRA7_DSS_DSS_CORE_CLKCTRL 12>,
143*724ba675SRob Herring		 <&dss_clkctrl DRA7_DSS_DSS_CORE_CLKCTRL 13>;
144*724ba675SRob Herring	clock-names = "fck", "video1_clk", "video2_clk";
145*724ba675SRob Herring};
146*724ba675SRob Herring
147*724ba675SRob Herring&mailbox5 {
148*724ba675SRob Herring	mbox_ipu1_ipc3x: mbox-ipu1-ipc3x {
149*724ba675SRob Herring		ti,mbox-tx = <6 2 2>;
150*724ba675SRob Herring		ti,mbox-rx = <4 2 2>;
151*724ba675SRob Herring		status = "disabled";
152*724ba675SRob Herring	};
153*724ba675SRob Herring	mbox_dsp1_ipc3x: mbox-dsp1-ipc3x {
154*724ba675SRob Herring		ti,mbox-tx = <5 2 2>;
155*724ba675SRob Herring		ti,mbox-rx = <1 2 2>;
156*724ba675SRob Herring		status = "disabled";
157*724ba675SRob Herring	};
158*724ba675SRob Herring};
159*724ba675SRob Herring
160*724ba675SRob Herring&mailbox6 {
161*724ba675SRob Herring	mbox_ipu2_ipc3x: mbox-ipu2-ipc3x {
162*724ba675SRob Herring		ti,mbox-tx = <6 2 2>;
163*724ba675SRob Herring		ti,mbox-rx = <4 2 2>;
164*724ba675SRob Herring		status = "disabled";
165*724ba675SRob Herring	};
166*724ba675SRob Herring	mbox_dsp2_ipc3x: mbox-dsp2-ipc3x {
167*724ba675SRob Herring		ti,mbox-tx = <5 2 2>;
168*724ba675SRob Herring		ti,mbox-rx = <1 2 2>;
169*724ba675SRob Herring		status = "disabled";
170*724ba675SRob Herring	};
171*724ba675SRob Herring};
172*724ba675SRob Herring
173*724ba675SRob Herring&pcie1_rc {
174*724ba675SRob Herring	compatible = "ti,dra746-pcie-rc", "ti,dra7-pcie";
175*724ba675SRob Herring};
176*724ba675SRob Herring
177*724ba675SRob Herring&pcie1_ep {
178*724ba675SRob Herring	compatible = "ti,dra746-pcie-ep", "ti,dra7-pcie-ep";
179*724ba675SRob Herring};
180*724ba675SRob Herring
181*724ba675SRob Herring&pcie2_rc {
182*724ba675SRob Herring	compatible = "ti,dra746-pcie-rc", "ti,dra7-pcie";
183*724ba675SRob Herring};
184*724ba675SRob Herring
185*724ba675SRob Herring&l4_per3 {
186*724ba675SRob Herring	segment@0 {
187*724ba675SRob Herring		usb4_tm: target-module@140000 {         /* 0x48940000, ap 75 3c.0 */
188*724ba675SRob Herring			compatible = "ti,sysc-omap4", "ti,sysc";
189*724ba675SRob Herring			reg = <0x140000 0x4>,
190*724ba675SRob Herring			      <0x140010 0x4>;
191*724ba675SRob Herring			reg-names = "rev", "sysc";
192*724ba675SRob Herring			ti,sysc-mask = <SYSC_OMAP4_DMADISABLE>;
193*724ba675SRob Herring			ti,sysc-midle = <SYSC_IDLE_FORCE>,
194*724ba675SRob Herring					<SYSC_IDLE_NO>,
195*724ba675SRob Herring					<SYSC_IDLE_SMART>,
196*724ba675SRob Herring					<SYSC_IDLE_SMART_WKUP>;
197*724ba675SRob Herring			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
198*724ba675SRob Herring					<SYSC_IDLE_NO>,
199*724ba675SRob Herring					<SYSC_IDLE_SMART>,
200*724ba675SRob Herring					<SYSC_IDLE_SMART_WKUP>;
201*724ba675SRob Herring			/* Domains (P, C): l3init_pwrdm, l3init_clkdm */
202*724ba675SRob Herring			clocks = <&l3init_clkctrl DRA7_L3INIT_USB_OTG_SS4_CLKCTRL 0>;
203*724ba675SRob Herring			clock-names = "fck";
204*724ba675SRob Herring			#address-cells = <1>;
205*724ba675SRob Herring			#size-cells = <1>;
206*724ba675SRob Herring			ranges = <0x0 0x140000 0x20000>;
207*724ba675SRob Herring
208*724ba675SRob Herring			omap_dwc3_4: omap_dwc3_4@0 {
209*724ba675SRob Herring				compatible = "ti,dwc3";
210*724ba675SRob Herring				reg = <0 0x10000>;
211*724ba675SRob Herring				interrupts = <GIC_SPI 346 IRQ_TYPE_LEVEL_HIGH>;
212*724ba675SRob Herring				#address-cells = <1>;
213*724ba675SRob Herring				#size-cells = <1>;
214*724ba675SRob Herring				utmi-mode = <2>;
215*724ba675SRob Herring				ranges;
216*724ba675SRob Herring				status = "disabled";
217*724ba675SRob Herring				usb4: usb@10000 {
218*724ba675SRob Herring					compatible = "snps,dwc3";
219*724ba675SRob Herring					reg = <0x10000 0x17000>;
220*724ba675SRob Herring					interrupts = <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>,
221*724ba675SRob Herring						     <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>,
222*724ba675SRob Herring						     <GIC_SPI 346 IRQ_TYPE_LEVEL_HIGH>;
223*724ba675SRob Herring					interrupt-names = "peripheral",
224*724ba675SRob Herring							  "host",
225*724ba675SRob Herring							  "otg";
226*724ba675SRob Herring					maximum-speed = "high-speed";
227*724ba675SRob Herring					dr_mode = "otg";
228*724ba675SRob Herring				};
229*724ba675SRob Herring			};
230*724ba675SRob Herring		};
231*724ba675SRob Herring	};
232*724ba675SRob Herring};
233