3 * Copyright 2013 Freescale Semiconductor, Inc.
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 2 as
7 * published by the Free Software Foundation.
11 #include <dt-bindings/interrupt-controller/irq.h>
12 #include "imx6q-pinfunc.h"
13 #include "imx6qdl.dtsi"
26 compatible = "arm,cortex-a9";
29 next-level-cache = <&L2>;
38 fsl,soc-operating-points = <
39 /* ARM kHz SOC-PU uV */
46 clock-latency = <61036>; /* two CLK32 periods */
47 clocks = <&clks 104>, <&clks 6>, <&clks 16>,
48 <&clks 17>, <&clks 170>;
49 clock-names = "arm", "pll2_pfd2_396m", "step",
50 "pll1_sw", "pll1_sys";
51 arm-supply = <®_arm>;
52 pu-supply = <®_pu>;
53 soc-supply = <®_soc>;
57 compatible = "arm,cortex-a9";
60 next-level-cache = <&L2>;
64 compatible = "arm,cortex-a9";
67 next-level-cache = <&L2>;
71 compatible = "arm,cortex-a9";
74 next-level-cache = <&L2>;
80 busfreq { /* BUSFREQ */
81 compatible = "fsl,imx6_busfreq";
82 clocks = <&clks 171>, <&clks 6>, <&clks 11>, <&clks 104>, <&clks 172>, <&clks 58>,
83 <&clks 18>, <&clks 60>, <&clks 20>, <&clks 3>;
84 clock-names = "pll2_bus", "pll2_pfd2_396m", "pll2_198m", "arm", "pll3_usb_otg", "periph",
85 "periph_pre", "periph_clk2", "periph_clk2_sel", "osc";
86 interrupts = <0 107 0x04>, <0 112 0x4>, <0 113 0x4>, <0 114 0x4>;
87 interrupt-names = "irq_busfreq_0", "irq_busfreq_1", "irq_busfreq_2", "irq_busfreq_3";
88 fsl,max_ddr_freq = <528000000>;
92 compatible = "fsl,imx6q-gpu";
93 reg = <0x00130000 0x4000>, <0x00134000 0x4000>,
94 <0x02204000 0x4000>, <0x0 0x0>;
95 reg-names = "iobase_3d", "iobase_2d",
96 "iobase_vg", "phys_baseaddr";
97 interrupts = <0 9 0x04>, <0 10 0x04>,<0 11 0x04>;
98 interrupt-names = "irq_3d", "irq_2d", "irq_vg";
99 clocks = <&clks 26>, <&clks 143>,
100 <&clks 27>, <&clks 121>,
101 <&clks 122>, <&clks 74>;
102 clock-names = "gpu2d_axi_clk", "openvg_axi_clk",
103 "gpu3d_axi_clk", "gpu2d_clk",
104 "gpu3d_clk", "gpu3d_shader_clk";
105 resets = <&src 0>, <&src 3>, <&src 3>;
106 reset-names = "gpu3d", "gpu2d", "gpuvg";
107 pu-supply = <®_pu>;
110 ocram: sram@00900000 {
111 compatible = "mmio-sram";
112 reg = <0x00904000 0x3C000>;
113 clocks = <&clks 142>;
116 hdmi_core: hdmi_core@00120000 {
117 compatible = "fsl,imx6q-hdmi-core";
118 reg = <0x00120000 0x9000>;
119 clocks = <&clks 124>, <&clks 123>;
120 clock-names = "hdmi_isfr", "hdmi_iahb";
124 hdmi_video: hdmi_video@020e0000 {
125 compatible = "fsl,imx6q-hdmi-video";
126 reg = <0x020e0000 0x1000>;
127 reg-names = "hdmi_gpr";
128 interrupts = <0 115 0x04>;
129 clocks = <&clks 124>, <&clks 123>;
130 clock-names = "hdmi_isfr", "hdmi_iahb";
134 hdmi_audio: hdmi_audio@00120000 {
135 compatible = "fsl,imx6q-hdmi-audio";
136 clocks = <&clks 124>, <&clks 123>;
137 clock-names = "hdmi_isfr", "hdmi_iahb";
138 dmas = <&sdma 2 22 0>;
143 hdmi_cec: hdmi_cec@00120000 {
144 compatible = "fsl,imx6q-hdmi-cec";
145 interrupts = <0 115 0x04>;
150 aips-bus@02000000 { /* AIPS1 */
152 ecspi5: ecspi@02018000 {
153 #address-cells = <1>;
155 compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi";
156 reg = <0x02018000 0x4000>;
157 interrupts = <0 35 IRQ_TYPE_LEVEL_HIGH>;
158 clocks = <&clks 116>, <&clks 116>;
159 clock-names = "ipg", "per";
165 compatible = "fsl,imx6q-vpu";
169 iomuxc: iomuxc@020e0000 {
170 compatible = "fsl,imx6q-iomuxc";
174 aips-bus@02100000 { /* AIPS2 */
175 mipi_dsi: mipi@021e0000 {
176 compatible = "fsl,imx6q-mipi-dsi";
177 reg = <0x021e0000 0x4000>;
178 interrupts = <0 102 0x04>;
180 clocks = <&clks 138>, <&clks 204>;
181 clock-names = "mipi_pllref_clk", "mipi_cfg_clk";
186 sata: sata@02200000 {
187 compatible = "fsl,imx6q-ahci";
188 reg = <0x02200000 0x4000>;
189 interrupts = <0 39 IRQ_TYPE_LEVEL_HIGH>;
190 clocks = <&clks 154>, <&clks 187>, <&clks 105>;
191 clock-names = "sata", "sata_ref", "ahb";
196 #address-cells = <1>;
198 compatible = "fsl,imx6q-ipu";
199 reg = <0x02800000 0x400000>;
200 interrupts = <0 8 IRQ_TYPE_LEVEL_HIGH>,
201 <0 7 IRQ_TYPE_LEVEL_HIGH>;
202 clocks = <&clks 133>, <&clks 134>, <&clks 137>,
203 <&clks 41>, <&clks 42>,
204 <&clks 135>, <&clks 136>;
205 clock-names = "bus", "di0", "di1",
206 "di0_sel", "di1_sel",
207 "ldb_di0", "ldb_di1";
212 #address-cells = <1>;
216 ipu2_di0_disp0: endpoint@0 {
219 ipu2_di0_hdmi: endpoint@1 {
220 remote-endpoint = <&hdmi_mux_2>;
223 ipu2_di0_mipi: endpoint@2 {
226 ipu2_di0_lvds0: endpoint@3 {
227 remote-endpoint = <&lvds0_mux_2>;
230 ipu2_di0_lvds1: endpoint@4 {
231 remote-endpoint = <&lvds1_mux_2>;
236 #address-cells = <1>;
240 ipu2_di1_hdmi: endpoint@1 {
241 remote-endpoint = <&hdmi_mux_3>;
244 ipu2_di1_mipi: endpoint@2 {
247 ipu2_di1_lvds0: endpoint@3 {
248 remote-endpoint = <&lvds0_mux_3>;
251 ipu2_di1_lvds1: endpoint@4 {
252 remote-endpoint = <&lvds1_mux_3>;
259 compatible = "fsl,imx-display-subsystem";
260 ports = <&ipu1_di0>, <&ipu1_di1>, <&ipu2_di0>, <&ipu2_di1>;
265 compatible = "fsl,imx6q-hdmi";
270 hdmi_mux_2: endpoint {
271 remote-endpoint = <&ipu2_di0_hdmi>;
278 hdmi_mux_3: endpoint {
279 remote-endpoint = <&ipu2_di1_hdmi>;
289 lvds0_mux_2: endpoint {
290 remote-endpoint = <&ipu2_di0_lvds0>;
297 lvds0_mux_3: endpoint {
298 remote-endpoint = <&ipu2_di1_lvds0>;
307 lvds1_mux_2: endpoint {
308 remote-endpoint = <&ipu2_di0_lvds1>;
315 lvds1_mux_3: endpoint {
316 remote-endpoint = <&ipu2_di1_lvds1>;
326 mipi_mux_2: endpoint {
327 remote-endpoint = <&ipu2_di0_mipi>;
334 mipi_mux_3: endpoint {
335 remote-endpoint = <&ipu2_di1_mipi>;