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