xref: /rk3399_rockchip-uboot/arch/arm/dts/imx6q.dtsi (revision 4f892924d238cc415891dbea336a0fdaff2f853b)
1*4f79d0d3SJagan Teki
2*4f79d0d3SJagan Teki/*
3*4f79d0d3SJagan Teki * Copyright 2013 Freescale Semiconductor, Inc.
4*4f79d0d3SJagan Teki *
5*4f79d0d3SJagan Teki * This program is free software; you can redistribute it and/or modify
6*4f79d0d3SJagan Teki * it under the terms of the GNU General Public License version 2 as
7*4f79d0d3SJagan Teki * published by the Free Software Foundation.
8*4f79d0d3SJagan Teki *
9*4f79d0d3SJagan Teki */
10*4f79d0d3SJagan Teki
11*4f79d0d3SJagan Teki#include <dt-bindings/interrupt-controller/irq.h>
12*4f79d0d3SJagan Teki#include "imx6q-pinfunc.h"
13*4f79d0d3SJagan Teki#include "imx6qdl.dtsi"
14*4f79d0d3SJagan Teki
15*4f79d0d3SJagan Teki/ {
16*4f79d0d3SJagan Teki	aliases {
17*4f79d0d3SJagan Teki		ipu1 = &ipu2;
18*4f79d0d3SJagan Teki		spi4 = &ecspi5;
19*4f79d0d3SJagan Teki	};
20*4f79d0d3SJagan Teki
21*4f79d0d3SJagan Teki	cpus {
22*4f79d0d3SJagan Teki		#address-cells = <1>;
23*4f79d0d3SJagan Teki		#size-cells = <0>;
24*4f79d0d3SJagan Teki
25*4f79d0d3SJagan Teki		cpu0: cpu@0 {
26*4f79d0d3SJagan Teki			compatible = "arm,cortex-a9";
27*4f79d0d3SJagan Teki			device_type = "cpu";
28*4f79d0d3SJagan Teki			reg = <0>;
29*4f79d0d3SJagan Teki			next-level-cache = <&L2>;
30*4f79d0d3SJagan Teki			operating-points = <
31*4f79d0d3SJagan Teki				/* kHz    uV */
32*4f79d0d3SJagan Teki				1200000 1275000
33*4f79d0d3SJagan Teki				996000  1250000
34*4f79d0d3SJagan Teki				852000  1250000
35*4f79d0d3SJagan Teki				792000  1175000
36*4f79d0d3SJagan Teki				396000  975000
37*4f79d0d3SJagan Teki			>;
38*4f79d0d3SJagan Teki			fsl,soc-operating-points = <
39*4f79d0d3SJagan Teki				/* ARM kHz  SOC-PU uV */
40*4f79d0d3SJagan Teki				1200000 1275000
41*4f79d0d3SJagan Teki				996000	1250000
42*4f79d0d3SJagan Teki				852000	1250000
43*4f79d0d3SJagan Teki				792000	1175000
44*4f79d0d3SJagan Teki				396000	1175000
45*4f79d0d3SJagan Teki			>;
46*4f79d0d3SJagan Teki			clock-latency = <61036>; /* two CLK32 periods */
47*4f79d0d3SJagan Teki			clocks = <&clks IMX6QDL_CLK_ARM>,
48*4f79d0d3SJagan Teki				 <&clks IMX6QDL_CLK_PLL2_PFD2_396M>,
49*4f79d0d3SJagan Teki				 <&clks IMX6QDL_CLK_STEP>,
50*4f79d0d3SJagan Teki				 <&clks IMX6QDL_CLK_PLL1_SW>,
51*4f79d0d3SJagan Teki				 <&clks IMX6QDL_CLK_PLL1_SYS>;
52*4f79d0d3SJagan Teki			clock-names = "arm", "pll2_pfd2_396m", "step",
53*4f79d0d3SJagan Teki				      "pll1_sw", "pll1_sys";
54*4f79d0d3SJagan Teki			arm-supply = <&reg_arm>;
55*4f79d0d3SJagan Teki			pu-supply = <&reg_pu>;
56*4f79d0d3SJagan Teki			soc-supply = <&reg_soc>;
57*4f79d0d3SJagan Teki		};
58*4f79d0d3SJagan Teki
59*4f79d0d3SJagan Teki		cpu@1 {
60*4f79d0d3SJagan Teki			compatible = "arm,cortex-a9";
61*4f79d0d3SJagan Teki			device_type = "cpu";
62*4f79d0d3SJagan Teki			reg = <1>;
63*4f79d0d3SJagan Teki			next-level-cache = <&L2>;
64*4f79d0d3SJagan Teki		};
65*4f79d0d3SJagan Teki
66*4f79d0d3SJagan Teki		cpu@2 {
67*4f79d0d3SJagan Teki			compatible = "arm,cortex-a9";
68*4f79d0d3SJagan Teki			device_type = "cpu";
69*4f79d0d3SJagan Teki			reg = <2>;
70*4f79d0d3SJagan Teki			next-level-cache = <&L2>;
71*4f79d0d3SJagan Teki		};
72*4f79d0d3SJagan Teki
73*4f79d0d3SJagan Teki		cpu@3 {
74*4f79d0d3SJagan Teki			compatible = "arm,cortex-a9";
75*4f79d0d3SJagan Teki			device_type = "cpu";
76*4f79d0d3SJagan Teki			reg = <3>;
77*4f79d0d3SJagan Teki			next-level-cache = <&L2>;
78*4f79d0d3SJagan Teki		};
79*4f79d0d3SJagan Teki	};
80*4f79d0d3SJagan Teki
81*4f79d0d3SJagan Teki	soc {
82*4f79d0d3SJagan Teki		ocram: sram@00900000 {
83*4f79d0d3SJagan Teki			compatible = "mmio-sram";
84*4f79d0d3SJagan Teki			reg = <0x00900000 0x40000>;
85*4f79d0d3SJagan Teki			clocks = <&clks IMX6QDL_CLK_OCRAM>;
86*4f79d0d3SJagan Teki		};
87*4f79d0d3SJagan Teki
88*4f79d0d3SJagan Teki		aips-bus@02000000 { /* AIPS1 */
89*4f79d0d3SJagan Teki			spba-bus@02000000 {
90*4f79d0d3SJagan Teki				ecspi5: ecspi@02018000 {
91*4f79d0d3SJagan Teki					#address-cells = <1>;
92*4f79d0d3SJagan Teki					#size-cells = <0>;
93*4f79d0d3SJagan Teki					compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi";
94*4f79d0d3SJagan Teki					reg = <0x02018000 0x4000>;
95*4f79d0d3SJagan Teki					interrupts = <0 35 IRQ_TYPE_LEVEL_HIGH>;
96*4f79d0d3SJagan Teki					clocks = <&clks IMX6Q_CLK_ECSPI5>,
97*4f79d0d3SJagan Teki						 <&clks IMX6Q_CLK_ECSPI5>;
98*4f79d0d3SJagan Teki					clock-names = "ipg", "per";
99*4f79d0d3SJagan Teki					dmas = <&sdma 11 7 1>, <&sdma 12 7 2>;
100*4f79d0d3SJagan Teki					dma-names = "rx", "tx";
101*4f79d0d3SJagan Teki					status = "disabled";
102*4f79d0d3SJagan Teki				};
103*4f79d0d3SJagan Teki			};
104*4f79d0d3SJagan Teki
105*4f79d0d3SJagan Teki			iomuxc: iomuxc@020e0000 {
106*4f79d0d3SJagan Teki				compatible = "fsl,imx6q-iomuxc";
107*4f79d0d3SJagan Teki			};
108*4f79d0d3SJagan Teki		};
109*4f79d0d3SJagan Teki
110*4f79d0d3SJagan Teki		sata: sata@02200000 {
111*4f79d0d3SJagan Teki			compatible = "fsl,imx6q-ahci";
112*4f79d0d3SJagan Teki			reg = <0x02200000 0x4000>;
113*4f79d0d3SJagan Teki			interrupts = <0 39 IRQ_TYPE_LEVEL_HIGH>;
114*4f79d0d3SJagan Teki			clocks = <&clks IMX6QDL_CLK_SATA>,
115*4f79d0d3SJagan Teki				 <&clks IMX6QDL_CLK_SATA_REF_100M>,
116*4f79d0d3SJagan Teki				 <&clks IMX6QDL_CLK_AHB>;
117*4f79d0d3SJagan Teki			clock-names = "sata", "sata_ref", "ahb";
118*4f79d0d3SJagan Teki			status = "disabled";
119*4f79d0d3SJagan Teki		};
120*4f79d0d3SJagan Teki
121*4f79d0d3SJagan Teki		gpu_vg: gpu@02204000 {
122*4f79d0d3SJagan Teki			compatible = "vivante,gc";
123*4f79d0d3SJagan Teki			reg = <0x02204000 0x4000>;
124*4f79d0d3SJagan Teki			interrupts = <0 11 IRQ_TYPE_LEVEL_HIGH>;
125*4f79d0d3SJagan Teki			clocks = <&clks IMX6QDL_CLK_OPENVG_AXI>,
126*4f79d0d3SJagan Teki				 <&clks IMX6QDL_CLK_GPU2D_CORE>;
127*4f79d0d3SJagan Teki			clock-names = "bus", "core";
128*4f79d0d3SJagan Teki			power-domains = <&gpc 1>;
129*4f79d0d3SJagan Teki		};
130*4f79d0d3SJagan Teki
131*4f79d0d3SJagan Teki		ipu2: ipu@02800000 {
132*4f79d0d3SJagan Teki			#address-cells = <1>;
133*4f79d0d3SJagan Teki			#size-cells = <0>;
134*4f79d0d3SJagan Teki			compatible = "fsl,imx6q-ipu";
135*4f79d0d3SJagan Teki			reg = <0x02800000 0x400000>;
136*4f79d0d3SJagan Teki			interrupts = <0 8 IRQ_TYPE_LEVEL_HIGH>,
137*4f79d0d3SJagan Teki				     <0 7 IRQ_TYPE_LEVEL_HIGH>;
138*4f79d0d3SJagan Teki			clocks = <&clks IMX6QDL_CLK_IPU2>,
139*4f79d0d3SJagan Teki				 <&clks IMX6QDL_CLK_IPU2_DI0>,
140*4f79d0d3SJagan Teki				 <&clks IMX6QDL_CLK_IPU2_DI1>;
141*4f79d0d3SJagan Teki			clock-names = "bus", "di0", "di1";
142*4f79d0d3SJagan Teki			resets = <&src 4>;
143*4f79d0d3SJagan Teki
144*4f79d0d3SJagan Teki			ipu2_csi0: port@0 {
145*4f79d0d3SJagan Teki				reg = <0>;
146*4f79d0d3SJagan Teki			};
147*4f79d0d3SJagan Teki
148*4f79d0d3SJagan Teki			ipu2_csi1: port@1 {
149*4f79d0d3SJagan Teki				reg = <1>;
150*4f79d0d3SJagan Teki			};
151*4f79d0d3SJagan Teki
152*4f79d0d3SJagan Teki			ipu2_di0: port@2 {
153*4f79d0d3SJagan Teki				#address-cells = <1>;
154*4f79d0d3SJagan Teki				#size-cells = <0>;
155*4f79d0d3SJagan Teki				reg = <2>;
156*4f79d0d3SJagan Teki
157*4f79d0d3SJagan Teki				ipu2_di0_disp0: disp0-endpoint {
158*4f79d0d3SJagan Teki				};
159*4f79d0d3SJagan Teki
160*4f79d0d3SJagan Teki				ipu2_di0_hdmi: hdmi-endpoint {
161*4f79d0d3SJagan Teki					remote-endpoint = <&hdmi_mux_2>;
162*4f79d0d3SJagan Teki				};
163*4f79d0d3SJagan Teki
164*4f79d0d3SJagan Teki				ipu2_di0_mipi: mipi-endpoint {
165*4f79d0d3SJagan Teki					remote-endpoint = <&mipi_mux_2>;
166*4f79d0d3SJagan Teki				};
167*4f79d0d3SJagan Teki
168*4f79d0d3SJagan Teki				ipu2_di0_lvds0: lvds0-endpoint {
169*4f79d0d3SJagan Teki					remote-endpoint = <&lvds0_mux_2>;
170*4f79d0d3SJagan Teki				};
171*4f79d0d3SJagan Teki
172*4f79d0d3SJagan Teki				ipu2_di0_lvds1: lvds1-endpoint {
173*4f79d0d3SJagan Teki					remote-endpoint = <&lvds1_mux_2>;
174*4f79d0d3SJagan Teki				};
175*4f79d0d3SJagan Teki			};
176*4f79d0d3SJagan Teki
177*4f79d0d3SJagan Teki			ipu2_di1: port@3 {
178*4f79d0d3SJagan Teki				#address-cells = <1>;
179*4f79d0d3SJagan Teki				#size-cells = <0>;
180*4f79d0d3SJagan Teki				reg = <3>;
181*4f79d0d3SJagan Teki
182*4f79d0d3SJagan Teki				ipu2_di1_hdmi: hdmi-endpoint {
183*4f79d0d3SJagan Teki					remote-endpoint = <&hdmi_mux_3>;
184*4f79d0d3SJagan Teki				};
185*4f79d0d3SJagan Teki
186*4f79d0d3SJagan Teki				ipu2_di1_mipi: mipi-endpoint {
187*4f79d0d3SJagan Teki					remote-endpoint = <&mipi_mux_3>;
188*4f79d0d3SJagan Teki				};
189*4f79d0d3SJagan Teki
190*4f79d0d3SJagan Teki				ipu2_di1_lvds0: lvds0-endpoint {
191*4f79d0d3SJagan Teki					remote-endpoint = <&lvds0_mux_3>;
192*4f79d0d3SJagan Teki				};
193*4f79d0d3SJagan Teki
194*4f79d0d3SJagan Teki				ipu2_di1_lvds1: lvds1-endpoint {
195*4f79d0d3SJagan Teki					remote-endpoint = <&lvds1_mux_3>;
196*4f79d0d3SJagan Teki				};
197*4f79d0d3SJagan Teki			};
198*4f79d0d3SJagan Teki		};
199*4f79d0d3SJagan Teki	};
200*4f79d0d3SJagan Teki
201*4f79d0d3SJagan Teki	display-subsystem {
202*4f79d0d3SJagan Teki		compatible = "fsl,imx-display-subsystem";
203*4f79d0d3SJagan Teki		ports = <&ipu1_di0>, <&ipu1_di1>, <&ipu2_di0>, <&ipu2_di1>;
204*4f79d0d3SJagan Teki	};
205*4f79d0d3SJagan Teki
206*4f79d0d3SJagan Teki	gpu-subsystem {
207*4f79d0d3SJagan Teki		compatible = "fsl,imx-gpu-subsystem";
208*4f79d0d3SJagan Teki		cores = <&gpu_2d>, <&gpu_3d>, <&gpu_vg>;
209*4f79d0d3SJagan Teki	};
210*4f79d0d3SJagan Teki};
211*4f79d0d3SJagan Teki
212*4f79d0d3SJagan Teki&hdmi {
213*4f79d0d3SJagan Teki	compatible = "fsl,imx6q-hdmi";
214*4f79d0d3SJagan Teki
215*4f79d0d3SJagan Teki	port@2 {
216*4f79d0d3SJagan Teki		reg = <2>;
217*4f79d0d3SJagan Teki
218*4f79d0d3SJagan Teki		hdmi_mux_2: endpoint {
219*4f79d0d3SJagan Teki			remote-endpoint = <&ipu2_di0_hdmi>;
220*4f79d0d3SJagan Teki		};
221*4f79d0d3SJagan Teki	};
222*4f79d0d3SJagan Teki
223*4f79d0d3SJagan Teki	port@3 {
224*4f79d0d3SJagan Teki		reg = <3>;
225*4f79d0d3SJagan Teki
226*4f79d0d3SJagan Teki		hdmi_mux_3: endpoint {
227*4f79d0d3SJagan Teki			remote-endpoint = <&ipu2_di1_hdmi>;
228*4f79d0d3SJagan Teki		};
229*4f79d0d3SJagan Teki	};
230*4f79d0d3SJagan Teki};
231*4f79d0d3SJagan Teki
232*4f79d0d3SJagan Teki&ldb {
233*4f79d0d3SJagan Teki	clocks = <&clks IMX6QDL_CLK_LDB_DI0_SEL>, <&clks IMX6QDL_CLK_LDB_DI1_SEL>,
234*4f79d0d3SJagan Teki		 <&clks IMX6QDL_CLK_IPU1_DI0_SEL>, <&clks IMX6QDL_CLK_IPU1_DI1_SEL>,
235*4f79d0d3SJagan Teki		 <&clks IMX6QDL_CLK_IPU2_DI0_SEL>, <&clks IMX6QDL_CLK_IPU2_DI1_SEL>,
236*4f79d0d3SJagan Teki		 <&clks IMX6QDL_CLK_LDB_DI0>, <&clks IMX6QDL_CLK_LDB_DI1>;
237*4f79d0d3SJagan Teki	clock-names = "di0_pll", "di1_pll",
238*4f79d0d3SJagan Teki		      "di0_sel", "di1_sel", "di2_sel", "di3_sel",
239*4f79d0d3SJagan Teki		      "di0", "di1";
240*4f79d0d3SJagan Teki
241*4f79d0d3SJagan Teki	lvds-channel@0 {
242*4f79d0d3SJagan Teki		port@2 {
243*4f79d0d3SJagan Teki			reg = <2>;
244*4f79d0d3SJagan Teki
245*4f79d0d3SJagan Teki			lvds0_mux_2: endpoint {
246*4f79d0d3SJagan Teki				remote-endpoint = <&ipu2_di0_lvds0>;
247*4f79d0d3SJagan Teki			};
248*4f79d0d3SJagan Teki		};
249*4f79d0d3SJagan Teki
250*4f79d0d3SJagan Teki		port@3 {
251*4f79d0d3SJagan Teki			reg = <3>;
252*4f79d0d3SJagan Teki
253*4f79d0d3SJagan Teki			lvds0_mux_3: endpoint {
254*4f79d0d3SJagan Teki				remote-endpoint = <&ipu2_di1_lvds0>;
255*4f79d0d3SJagan Teki			};
256*4f79d0d3SJagan Teki		};
257*4f79d0d3SJagan Teki	};
258*4f79d0d3SJagan Teki
259*4f79d0d3SJagan Teki	lvds-channel@1 {
260*4f79d0d3SJagan Teki		port@2 {
261*4f79d0d3SJagan Teki			reg = <2>;
262*4f79d0d3SJagan Teki
263*4f79d0d3SJagan Teki			lvds1_mux_2: endpoint {
264*4f79d0d3SJagan Teki				remote-endpoint = <&ipu2_di0_lvds1>;
265*4f79d0d3SJagan Teki			};
266*4f79d0d3SJagan Teki		};
267*4f79d0d3SJagan Teki
268*4f79d0d3SJagan Teki		port@3 {
269*4f79d0d3SJagan Teki			reg = <3>;
270*4f79d0d3SJagan Teki
271*4f79d0d3SJagan Teki			lvds1_mux_3: endpoint {
272*4f79d0d3SJagan Teki				remote-endpoint = <&ipu2_di1_lvds1>;
273*4f79d0d3SJagan Teki			};
274*4f79d0d3SJagan Teki		};
275*4f79d0d3SJagan Teki	};
276*4f79d0d3SJagan Teki};
277*4f79d0d3SJagan Teki
278*4f79d0d3SJagan Teki&mipi_dsi {
279*4f79d0d3SJagan Teki	ports {
280*4f79d0d3SJagan Teki		port@2 {
281*4f79d0d3SJagan Teki			reg = <2>;
282*4f79d0d3SJagan Teki
283*4f79d0d3SJagan Teki			mipi_mux_2: endpoint {
284*4f79d0d3SJagan Teki				remote-endpoint = <&ipu2_di0_mipi>;
285*4f79d0d3SJagan Teki			};
286*4f79d0d3SJagan Teki		};
287*4f79d0d3SJagan Teki
288*4f79d0d3SJagan Teki		port@3 {
289*4f79d0d3SJagan Teki			reg = <3>;
290*4f79d0d3SJagan Teki
291*4f79d0d3SJagan Teki			mipi_mux_3: endpoint {
292*4f79d0d3SJagan Teki				remote-endpoint = <&ipu2_di1_mipi>;
293*4f79d0d3SJagan Teki			};
294*4f79d0d3SJagan Teki		};
295*4f79d0d3SJagan Teki	};
296*4f79d0d3SJagan Teki};
297*4f79d0d3SJagan Teki
298*4f79d0d3SJagan Teki&vpu {
299*4f79d0d3SJagan Teki	compatible = "fsl,imx6q-vpu", "cnm,coda960";
300*4f79d0d3SJagan Teki};
301