1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0 2*f126890aSEmmanuel Vadot// 3*f126890aSEmmanuel Vadot// Copyright 2013 Freescale Semiconductor, Inc. 4*f126890aSEmmanuel Vadot 5*f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h> 6*f126890aSEmmanuel Vadot#include "imx6q-pinfunc.h" 7*f126890aSEmmanuel Vadot#include "imx6qdl.dtsi" 8*f126890aSEmmanuel Vadot 9*f126890aSEmmanuel Vadot/ { 10*f126890aSEmmanuel Vadot aliases { 11*f126890aSEmmanuel Vadot ipu1 = &ipu2; 12*f126890aSEmmanuel Vadot spi4 = &ecspi5; 13*f126890aSEmmanuel Vadot }; 14*f126890aSEmmanuel Vadot 15*f126890aSEmmanuel Vadot cpus { 16*f126890aSEmmanuel Vadot #address-cells = <1>; 17*f126890aSEmmanuel Vadot #size-cells = <0>; 18*f126890aSEmmanuel Vadot 19*f126890aSEmmanuel Vadot cpu0: cpu@0 { 20*f126890aSEmmanuel Vadot compatible = "arm,cortex-a9"; 21*f126890aSEmmanuel Vadot device_type = "cpu"; 22*f126890aSEmmanuel Vadot reg = <0>; 23*f126890aSEmmanuel Vadot next-level-cache = <&L2>; 24*f126890aSEmmanuel Vadot operating-points = < 25*f126890aSEmmanuel Vadot /* kHz uV */ 26*f126890aSEmmanuel Vadot 1200000 1275000 27*f126890aSEmmanuel Vadot 996000 1250000 28*f126890aSEmmanuel Vadot 852000 1250000 29*f126890aSEmmanuel Vadot 792000 1175000 30*f126890aSEmmanuel Vadot 396000 975000 31*f126890aSEmmanuel Vadot >; 32*f126890aSEmmanuel Vadot fsl,soc-operating-points = < 33*f126890aSEmmanuel Vadot /* ARM kHz SOC-PU uV */ 34*f126890aSEmmanuel Vadot 1200000 1275000 35*f126890aSEmmanuel Vadot 996000 1250000 36*f126890aSEmmanuel Vadot 852000 1250000 37*f126890aSEmmanuel Vadot 792000 1175000 38*f126890aSEmmanuel Vadot 396000 1175000 39*f126890aSEmmanuel Vadot >; 40*f126890aSEmmanuel Vadot clock-latency = <61036>; /* two CLK32 periods */ 41*f126890aSEmmanuel Vadot #cooling-cells = <2>; 42*f126890aSEmmanuel Vadot clocks = <&clks IMX6QDL_CLK_ARM>, 43*f126890aSEmmanuel Vadot <&clks IMX6QDL_CLK_PLL2_PFD2_396M>, 44*f126890aSEmmanuel Vadot <&clks IMX6QDL_CLK_STEP>, 45*f126890aSEmmanuel Vadot <&clks IMX6QDL_CLK_PLL1_SW>, 46*f126890aSEmmanuel Vadot <&clks IMX6QDL_CLK_PLL1_SYS>; 47*f126890aSEmmanuel Vadot clock-names = "arm", "pll2_pfd2_396m", "step", 48*f126890aSEmmanuel Vadot "pll1_sw", "pll1_sys"; 49*f126890aSEmmanuel Vadot arm-supply = <®_arm>; 50*f126890aSEmmanuel Vadot pu-supply = <®_pu>; 51*f126890aSEmmanuel Vadot soc-supply = <®_soc>; 52*f126890aSEmmanuel Vadot nvmem-cells = <&cpu_speed_grade>; 53*f126890aSEmmanuel Vadot nvmem-cell-names = "speed_grade"; 54*f126890aSEmmanuel Vadot }; 55*f126890aSEmmanuel Vadot 56*f126890aSEmmanuel Vadot cpu1: cpu@1 { 57*f126890aSEmmanuel Vadot compatible = "arm,cortex-a9"; 58*f126890aSEmmanuel Vadot device_type = "cpu"; 59*f126890aSEmmanuel Vadot reg = <1>; 60*f126890aSEmmanuel Vadot next-level-cache = <&L2>; 61*f126890aSEmmanuel Vadot operating-points = < 62*f126890aSEmmanuel Vadot /* kHz uV */ 63*f126890aSEmmanuel Vadot 1200000 1275000 64*f126890aSEmmanuel Vadot 996000 1250000 65*f126890aSEmmanuel Vadot 852000 1250000 66*f126890aSEmmanuel Vadot 792000 1175000 67*f126890aSEmmanuel Vadot 396000 975000 68*f126890aSEmmanuel Vadot >; 69*f126890aSEmmanuel Vadot fsl,soc-operating-points = < 70*f126890aSEmmanuel Vadot /* ARM kHz SOC-PU uV */ 71*f126890aSEmmanuel Vadot 1200000 1275000 72*f126890aSEmmanuel Vadot 996000 1250000 73*f126890aSEmmanuel Vadot 852000 1250000 74*f126890aSEmmanuel Vadot 792000 1175000 75*f126890aSEmmanuel Vadot 396000 1175000 76*f126890aSEmmanuel Vadot >; 77*f126890aSEmmanuel Vadot clock-latency = <61036>; /* two CLK32 periods */ 78*f126890aSEmmanuel Vadot #cooling-cells = <2>; 79*f126890aSEmmanuel Vadot clocks = <&clks IMX6QDL_CLK_ARM>, 80*f126890aSEmmanuel Vadot <&clks IMX6QDL_CLK_PLL2_PFD2_396M>, 81*f126890aSEmmanuel Vadot <&clks IMX6QDL_CLK_STEP>, 82*f126890aSEmmanuel Vadot <&clks IMX6QDL_CLK_PLL1_SW>, 83*f126890aSEmmanuel Vadot <&clks IMX6QDL_CLK_PLL1_SYS>; 84*f126890aSEmmanuel Vadot clock-names = "arm", "pll2_pfd2_396m", "step", 85*f126890aSEmmanuel Vadot "pll1_sw", "pll1_sys"; 86*f126890aSEmmanuel Vadot arm-supply = <®_arm>; 87*f126890aSEmmanuel Vadot pu-supply = <®_pu>; 88*f126890aSEmmanuel Vadot soc-supply = <®_soc>; 89*f126890aSEmmanuel Vadot }; 90*f126890aSEmmanuel Vadot 91*f126890aSEmmanuel Vadot cpu2: cpu@2 { 92*f126890aSEmmanuel Vadot compatible = "arm,cortex-a9"; 93*f126890aSEmmanuel Vadot device_type = "cpu"; 94*f126890aSEmmanuel Vadot reg = <2>; 95*f126890aSEmmanuel Vadot next-level-cache = <&L2>; 96*f126890aSEmmanuel Vadot operating-points = < 97*f126890aSEmmanuel Vadot /* kHz uV */ 98*f126890aSEmmanuel Vadot 1200000 1275000 99*f126890aSEmmanuel Vadot 996000 1250000 100*f126890aSEmmanuel Vadot 852000 1250000 101*f126890aSEmmanuel Vadot 792000 1175000 102*f126890aSEmmanuel Vadot 396000 975000 103*f126890aSEmmanuel Vadot >; 104*f126890aSEmmanuel Vadot fsl,soc-operating-points = < 105*f126890aSEmmanuel Vadot /* ARM kHz SOC-PU uV */ 106*f126890aSEmmanuel Vadot 1200000 1275000 107*f126890aSEmmanuel Vadot 996000 1250000 108*f126890aSEmmanuel Vadot 852000 1250000 109*f126890aSEmmanuel Vadot 792000 1175000 110*f126890aSEmmanuel Vadot 396000 1175000 111*f126890aSEmmanuel Vadot >; 112*f126890aSEmmanuel Vadot clock-latency = <61036>; /* two CLK32 periods */ 113*f126890aSEmmanuel Vadot #cooling-cells = <2>; 114*f126890aSEmmanuel Vadot clocks = <&clks IMX6QDL_CLK_ARM>, 115*f126890aSEmmanuel Vadot <&clks IMX6QDL_CLK_PLL2_PFD2_396M>, 116*f126890aSEmmanuel Vadot <&clks IMX6QDL_CLK_STEP>, 117*f126890aSEmmanuel Vadot <&clks IMX6QDL_CLK_PLL1_SW>, 118*f126890aSEmmanuel Vadot <&clks IMX6QDL_CLK_PLL1_SYS>; 119*f126890aSEmmanuel Vadot clock-names = "arm", "pll2_pfd2_396m", "step", 120*f126890aSEmmanuel Vadot "pll1_sw", "pll1_sys"; 121*f126890aSEmmanuel Vadot arm-supply = <®_arm>; 122*f126890aSEmmanuel Vadot pu-supply = <®_pu>; 123*f126890aSEmmanuel Vadot soc-supply = <®_soc>; 124*f126890aSEmmanuel Vadot }; 125*f126890aSEmmanuel Vadot 126*f126890aSEmmanuel Vadot cpu3: cpu@3 { 127*f126890aSEmmanuel Vadot compatible = "arm,cortex-a9"; 128*f126890aSEmmanuel Vadot device_type = "cpu"; 129*f126890aSEmmanuel Vadot reg = <3>; 130*f126890aSEmmanuel Vadot next-level-cache = <&L2>; 131*f126890aSEmmanuel Vadot operating-points = < 132*f126890aSEmmanuel Vadot /* kHz uV */ 133*f126890aSEmmanuel Vadot 1200000 1275000 134*f126890aSEmmanuel Vadot 996000 1250000 135*f126890aSEmmanuel Vadot 852000 1250000 136*f126890aSEmmanuel Vadot 792000 1175000 137*f126890aSEmmanuel Vadot 396000 975000 138*f126890aSEmmanuel Vadot >; 139*f126890aSEmmanuel Vadot fsl,soc-operating-points = < 140*f126890aSEmmanuel Vadot /* ARM kHz SOC-PU uV */ 141*f126890aSEmmanuel Vadot 1200000 1275000 142*f126890aSEmmanuel Vadot 996000 1250000 143*f126890aSEmmanuel Vadot 852000 1250000 144*f126890aSEmmanuel Vadot 792000 1175000 145*f126890aSEmmanuel Vadot 396000 1175000 146*f126890aSEmmanuel Vadot >; 147*f126890aSEmmanuel Vadot clock-latency = <61036>; /* two CLK32 periods */ 148*f126890aSEmmanuel Vadot #cooling-cells = <2>; 149*f126890aSEmmanuel Vadot clocks = <&clks IMX6QDL_CLK_ARM>, 150*f126890aSEmmanuel Vadot <&clks IMX6QDL_CLK_PLL2_PFD2_396M>, 151*f126890aSEmmanuel Vadot <&clks IMX6QDL_CLK_STEP>, 152*f126890aSEmmanuel Vadot <&clks IMX6QDL_CLK_PLL1_SW>, 153*f126890aSEmmanuel Vadot <&clks IMX6QDL_CLK_PLL1_SYS>; 154*f126890aSEmmanuel Vadot clock-names = "arm", "pll2_pfd2_396m", "step", 155*f126890aSEmmanuel Vadot "pll1_sw", "pll1_sys"; 156*f126890aSEmmanuel Vadot arm-supply = <®_arm>; 157*f126890aSEmmanuel Vadot pu-supply = <®_pu>; 158*f126890aSEmmanuel Vadot soc-supply = <®_soc>; 159*f126890aSEmmanuel Vadot }; 160*f126890aSEmmanuel Vadot }; 161*f126890aSEmmanuel Vadot 162*f126890aSEmmanuel Vadot soc: soc { 163*f126890aSEmmanuel Vadot ocram: sram@900000 { 164*f126890aSEmmanuel Vadot compatible = "mmio-sram"; 165*f126890aSEmmanuel Vadot reg = <0x00900000 0x40000>; 166*f126890aSEmmanuel Vadot ranges = <0 0x00900000 0x40000>; 167*f126890aSEmmanuel Vadot #address-cells = <1>; 168*f126890aSEmmanuel Vadot #size-cells = <1>; 169*f126890aSEmmanuel Vadot clocks = <&clks IMX6QDL_CLK_OCRAM>; 170*f126890aSEmmanuel Vadot }; 171*f126890aSEmmanuel Vadot 172*f126890aSEmmanuel Vadot aips1: bus@2000000 { /* AIPS1 */ 173*f126890aSEmmanuel Vadot spba-bus@2000000 { 174*f126890aSEmmanuel Vadot ecspi5: spi@2018000 { 175*f126890aSEmmanuel Vadot #address-cells = <1>; 176*f126890aSEmmanuel Vadot #size-cells = <0>; 177*f126890aSEmmanuel Vadot compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi"; 178*f126890aSEmmanuel Vadot reg = <0x02018000 0x4000>; 179*f126890aSEmmanuel Vadot interrupts = <0 35 IRQ_TYPE_LEVEL_HIGH>; 180*f126890aSEmmanuel Vadot clocks = <&clks IMX6Q_CLK_ECSPI5>, 181*f126890aSEmmanuel Vadot <&clks IMX6Q_CLK_ECSPI5>; 182*f126890aSEmmanuel Vadot clock-names = "ipg", "per"; 183*f126890aSEmmanuel Vadot dmas = <&sdma 11 7 1>, <&sdma 12 7 2>; 184*f126890aSEmmanuel Vadot dma-names = "rx", "tx"; 185*f126890aSEmmanuel Vadot status = "disabled"; 186*f126890aSEmmanuel Vadot }; 187*f126890aSEmmanuel Vadot }; 188*f126890aSEmmanuel Vadot }; 189*f126890aSEmmanuel Vadot 190*f126890aSEmmanuel Vadot sata: sata@2200000 { 191*f126890aSEmmanuel Vadot compatible = "fsl,imx6q-ahci"; 192*f126890aSEmmanuel Vadot reg = <0x02200000 0x4000>; 193*f126890aSEmmanuel Vadot interrupts = <0 39 IRQ_TYPE_LEVEL_HIGH>; 194*f126890aSEmmanuel Vadot clocks = <&clks IMX6QDL_CLK_SATA>, 195*f126890aSEmmanuel Vadot <&clks IMX6QDL_CLK_SATA_REF_100M>, 196*f126890aSEmmanuel Vadot <&clks IMX6QDL_CLK_AHB>; 197*f126890aSEmmanuel Vadot clock-names = "sata", "sata_ref", "ahb"; 198*f126890aSEmmanuel Vadot status = "disabled"; 199*f126890aSEmmanuel Vadot }; 200*f126890aSEmmanuel Vadot 201*f126890aSEmmanuel Vadot gpu_vg: gpu@2204000 { 202*f126890aSEmmanuel Vadot compatible = "vivante,gc"; 203*f126890aSEmmanuel Vadot reg = <0x02204000 0x4000>; 204*f126890aSEmmanuel Vadot interrupts = <0 11 IRQ_TYPE_LEVEL_HIGH>; 205*f126890aSEmmanuel Vadot clocks = <&clks IMX6QDL_CLK_OPENVG_AXI>, 206*f126890aSEmmanuel Vadot <&clks IMX6QDL_CLK_GPU2D_CORE>; 207*f126890aSEmmanuel Vadot clock-names = "bus", "core"; 208*f126890aSEmmanuel Vadot power-domains = <&pd_pu>; 209*f126890aSEmmanuel Vadot #cooling-cells = <2>; 210*f126890aSEmmanuel Vadot }; 211*f126890aSEmmanuel Vadot 212*f126890aSEmmanuel Vadot ipu2: ipu@2800000 { 213*f126890aSEmmanuel Vadot #address-cells = <1>; 214*f126890aSEmmanuel Vadot #size-cells = <0>; 215*f126890aSEmmanuel Vadot compatible = "fsl,imx6q-ipu"; 216*f126890aSEmmanuel Vadot reg = <0x02800000 0x400000>; 217*f126890aSEmmanuel Vadot interrupts = <0 8 IRQ_TYPE_LEVEL_HIGH>, 218*f126890aSEmmanuel Vadot <0 7 IRQ_TYPE_LEVEL_HIGH>; 219*f126890aSEmmanuel Vadot clocks = <&clks IMX6QDL_CLK_IPU2>, 220*f126890aSEmmanuel Vadot <&clks IMX6QDL_CLK_IPU2_DI0>, 221*f126890aSEmmanuel Vadot <&clks IMX6QDL_CLK_IPU2_DI1>; 222*f126890aSEmmanuel Vadot clock-names = "bus", "di0", "di1"; 223*f126890aSEmmanuel Vadot resets = <&src 4>; 224*f126890aSEmmanuel Vadot 225*f126890aSEmmanuel Vadot ipu2_csi0: port@0 { 226*f126890aSEmmanuel Vadot reg = <0>; 227*f126890aSEmmanuel Vadot 228*f126890aSEmmanuel Vadot ipu2_csi0_from_mipi_vc2: endpoint { 229*f126890aSEmmanuel Vadot remote-endpoint = <&mipi_vc2_to_ipu2_csi0>; 230*f126890aSEmmanuel Vadot }; 231*f126890aSEmmanuel Vadot }; 232*f126890aSEmmanuel Vadot 233*f126890aSEmmanuel Vadot ipu2_csi1: port@1 { 234*f126890aSEmmanuel Vadot reg = <1>; 235*f126890aSEmmanuel Vadot 236*f126890aSEmmanuel Vadot ipu2_csi1_from_ipu2_csi1_mux: endpoint { 237*f126890aSEmmanuel Vadot remote-endpoint = <&ipu2_csi1_mux_to_ipu2_csi1>; 238*f126890aSEmmanuel Vadot }; 239*f126890aSEmmanuel Vadot }; 240*f126890aSEmmanuel Vadot 241*f126890aSEmmanuel Vadot ipu2_di0: port@2 { 242*f126890aSEmmanuel Vadot #address-cells = <1>; 243*f126890aSEmmanuel Vadot #size-cells = <0>; 244*f126890aSEmmanuel Vadot reg = <2>; 245*f126890aSEmmanuel Vadot 246*f126890aSEmmanuel Vadot ipu2_di0_disp0: endpoint@0 { 247*f126890aSEmmanuel Vadot reg = <0>; 248*f126890aSEmmanuel Vadot }; 249*f126890aSEmmanuel Vadot 250*f126890aSEmmanuel Vadot ipu2_di0_hdmi: endpoint@1 { 251*f126890aSEmmanuel Vadot reg = <1>; 252*f126890aSEmmanuel Vadot remote-endpoint = <&hdmi_mux_2>; 253*f126890aSEmmanuel Vadot }; 254*f126890aSEmmanuel Vadot 255*f126890aSEmmanuel Vadot ipu2_di0_mipi: endpoint@2 { 256*f126890aSEmmanuel Vadot reg = <2>; 257*f126890aSEmmanuel Vadot remote-endpoint = <&mipi_mux_2>; 258*f126890aSEmmanuel Vadot }; 259*f126890aSEmmanuel Vadot 260*f126890aSEmmanuel Vadot ipu2_di0_lvds0: endpoint@3 { 261*f126890aSEmmanuel Vadot reg = <3>; 262*f126890aSEmmanuel Vadot remote-endpoint = <&lvds0_mux_2>; 263*f126890aSEmmanuel Vadot }; 264*f126890aSEmmanuel Vadot 265*f126890aSEmmanuel Vadot ipu2_di0_lvds1: endpoint@4 { 266*f126890aSEmmanuel Vadot reg = <4>; 267*f126890aSEmmanuel Vadot remote-endpoint = <&lvds1_mux_2>; 268*f126890aSEmmanuel Vadot }; 269*f126890aSEmmanuel Vadot }; 270*f126890aSEmmanuel Vadot 271*f126890aSEmmanuel Vadot ipu2_di1: port@3 { 272*f126890aSEmmanuel Vadot #address-cells = <1>; 273*f126890aSEmmanuel Vadot #size-cells = <0>; 274*f126890aSEmmanuel Vadot reg = <3>; 275*f126890aSEmmanuel Vadot 276*f126890aSEmmanuel Vadot ipu2_di1_hdmi: endpoint@1 { 277*f126890aSEmmanuel Vadot reg = <1>; 278*f126890aSEmmanuel Vadot remote-endpoint = <&hdmi_mux_3>; 279*f126890aSEmmanuel Vadot }; 280*f126890aSEmmanuel Vadot 281*f126890aSEmmanuel Vadot ipu2_di1_mipi: endpoint@2 { 282*f126890aSEmmanuel Vadot reg = <2>; 283*f126890aSEmmanuel Vadot remote-endpoint = <&mipi_mux_3>; 284*f126890aSEmmanuel Vadot }; 285*f126890aSEmmanuel Vadot 286*f126890aSEmmanuel Vadot ipu2_di1_lvds0: endpoint@3 { 287*f126890aSEmmanuel Vadot reg = <3>; 288*f126890aSEmmanuel Vadot remote-endpoint = <&lvds0_mux_3>; 289*f126890aSEmmanuel Vadot }; 290*f126890aSEmmanuel Vadot 291*f126890aSEmmanuel Vadot ipu2_di1_lvds1: endpoint@4 { 292*f126890aSEmmanuel Vadot reg = <4>; 293*f126890aSEmmanuel Vadot remote-endpoint = <&lvds1_mux_3>; 294*f126890aSEmmanuel Vadot }; 295*f126890aSEmmanuel Vadot }; 296*f126890aSEmmanuel Vadot }; 297*f126890aSEmmanuel Vadot }; 298*f126890aSEmmanuel Vadot 299*f126890aSEmmanuel Vadot capture-subsystem { 300*f126890aSEmmanuel Vadot compatible = "fsl,imx-capture-subsystem"; 301*f126890aSEmmanuel Vadot ports = <&ipu1_csi0>, <&ipu1_csi1>, <&ipu2_csi0>, <&ipu2_csi1>; 302*f126890aSEmmanuel Vadot }; 303*f126890aSEmmanuel Vadot 304*f126890aSEmmanuel Vadot display-subsystem { 305*f126890aSEmmanuel Vadot compatible = "fsl,imx-display-subsystem"; 306*f126890aSEmmanuel Vadot ports = <&ipu1_di0>, <&ipu1_di1>, <&ipu2_di0>, <&ipu2_di1>; 307*f126890aSEmmanuel Vadot }; 308*f126890aSEmmanuel Vadot}; 309*f126890aSEmmanuel Vadot 310*f126890aSEmmanuel Vadot&gpio1 { 311*f126890aSEmmanuel Vadot gpio-ranges = <&iomuxc 0 136 2>, <&iomuxc 2 141 1>, <&iomuxc 3 139 1>, 312*f126890aSEmmanuel Vadot <&iomuxc 4 142 2>, <&iomuxc 6 140 1>, <&iomuxc 7 144 2>, 313*f126890aSEmmanuel Vadot <&iomuxc 9 138 1>, <&iomuxc 10 213 3>, <&iomuxc 13 20 1>, 314*f126890aSEmmanuel Vadot <&iomuxc 14 19 1>, <&iomuxc 15 21 1>, <&iomuxc 16 208 1>, 315*f126890aSEmmanuel Vadot <&iomuxc 17 207 1>, <&iomuxc 18 210 3>, <&iomuxc 21 209 1>, 316*f126890aSEmmanuel Vadot <&iomuxc 22 116 10>; 317*f126890aSEmmanuel Vadot}; 318*f126890aSEmmanuel Vadot 319*f126890aSEmmanuel Vadot&gpio2 { 320*f126890aSEmmanuel Vadot gpio-ranges = <&iomuxc 0 191 16>, <&iomuxc 16 55 14>, <&iomuxc 30 35 1>, 321*f126890aSEmmanuel Vadot <&iomuxc 31 44 1>; 322*f126890aSEmmanuel Vadot}; 323*f126890aSEmmanuel Vadot 324*f126890aSEmmanuel Vadot&gpio3 { 325*f126890aSEmmanuel Vadot gpio-ranges = <&iomuxc 0 69 16>, <&iomuxc 16 36 8>, <&iomuxc 24 45 8>; 326*f126890aSEmmanuel Vadot}; 327*f126890aSEmmanuel Vadot 328*f126890aSEmmanuel Vadot&gpio4 { 329*f126890aSEmmanuel Vadot gpio-ranges = <&iomuxc 5 149 1>, <&iomuxc 6 126 10>, <&iomuxc 16 87 16>; 330*f126890aSEmmanuel Vadot}; 331*f126890aSEmmanuel Vadot 332*f126890aSEmmanuel Vadot&gpio5 { 333*f126890aSEmmanuel Vadot gpio-ranges = <&iomuxc 0 85 1>, <&iomuxc 2 34 1>, <&iomuxc 4 53 1>, 334*f126890aSEmmanuel Vadot <&iomuxc 5 103 13>, <&iomuxc 18 150 14>; 335*f126890aSEmmanuel Vadot}; 336*f126890aSEmmanuel Vadot 337*f126890aSEmmanuel Vadot&gpio6 { 338*f126890aSEmmanuel Vadot gpio-ranges = <&iomuxc 0 164 6>, <&iomuxc 6 54 1>, <&iomuxc 7 181 5>, 339*f126890aSEmmanuel Vadot <&iomuxc 14 186 3>, <&iomuxc 17 170 2>, <&iomuxc 19 22 12>, 340*f126890aSEmmanuel Vadot <&iomuxc 31 86 1>; 341*f126890aSEmmanuel Vadot}; 342*f126890aSEmmanuel Vadot 343*f126890aSEmmanuel Vadot&gpio7 { 344*f126890aSEmmanuel Vadot gpio-ranges = <&iomuxc 0 172 9>, <&iomuxc 9 189 2>, <&iomuxc 11 146 3>; 345*f126890aSEmmanuel Vadot}; 346*f126890aSEmmanuel Vadot 347*f126890aSEmmanuel Vadot&gpr { 348*f126890aSEmmanuel Vadot ipu1_csi0_mux { 349*f126890aSEmmanuel Vadot compatible = "video-mux"; 350*f126890aSEmmanuel Vadot mux-controls = <&mux 0>; 351*f126890aSEmmanuel Vadot #address-cells = <1>; 352*f126890aSEmmanuel Vadot #size-cells = <0>; 353*f126890aSEmmanuel Vadot 354*f126890aSEmmanuel Vadot port@0 { 355*f126890aSEmmanuel Vadot reg = <0>; 356*f126890aSEmmanuel Vadot 357*f126890aSEmmanuel Vadot ipu1_csi0_mux_from_mipi_vc0: endpoint { 358*f126890aSEmmanuel Vadot remote-endpoint = <&mipi_vc0_to_ipu1_csi0_mux>; 359*f126890aSEmmanuel Vadot }; 360*f126890aSEmmanuel Vadot }; 361*f126890aSEmmanuel Vadot 362*f126890aSEmmanuel Vadot port@1 { 363*f126890aSEmmanuel Vadot reg = <1>; 364*f126890aSEmmanuel Vadot 365*f126890aSEmmanuel Vadot ipu1_csi0_mux_from_parallel_sensor: endpoint { 366*f126890aSEmmanuel Vadot }; 367*f126890aSEmmanuel Vadot }; 368*f126890aSEmmanuel Vadot 369*f126890aSEmmanuel Vadot port@2 { 370*f126890aSEmmanuel Vadot reg = <2>; 371*f126890aSEmmanuel Vadot 372*f126890aSEmmanuel Vadot ipu1_csi0_mux_to_ipu1_csi0: endpoint { 373*f126890aSEmmanuel Vadot remote-endpoint = <&ipu1_csi0_from_ipu1_csi0_mux>; 374*f126890aSEmmanuel Vadot }; 375*f126890aSEmmanuel Vadot }; 376*f126890aSEmmanuel Vadot }; 377*f126890aSEmmanuel Vadot 378*f126890aSEmmanuel Vadot ipu2_csi1_mux { 379*f126890aSEmmanuel Vadot compatible = "video-mux"; 380*f126890aSEmmanuel Vadot mux-controls = <&mux 1>; 381*f126890aSEmmanuel Vadot #address-cells = <1>; 382*f126890aSEmmanuel Vadot #size-cells = <0>; 383*f126890aSEmmanuel Vadot 384*f126890aSEmmanuel Vadot port@0 { 385*f126890aSEmmanuel Vadot reg = <0>; 386*f126890aSEmmanuel Vadot 387*f126890aSEmmanuel Vadot ipu2_csi1_mux_from_mipi_vc3: endpoint { 388*f126890aSEmmanuel Vadot remote-endpoint = <&mipi_vc3_to_ipu2_csi1_mux>; 389*f126890aSEmmanuel Vadot }; 390*f126890aSEmmanuel Vadot }; 391*f126890aSEmmanuel Vadot 392*f126890aSEmmanuel Vadot port@1 { 393*f126890aSEmmanuel Vadot reg = <1>; 394*f126890aSEmmanuel Vadot 395*f126890aSEmmanuel Vadot ipu2_csi1_mux_from_parallel_sensor: endpoint { 396*f126890aSEmmanuel Vadot }; 397*f126890aSEmmanuel Vadot }; 398*f126890aSEmmanuel Vadot 399*f126890aSEmmanuel Vadot port@2 { 400*f126890aSEmmanuel Vadot reg = <2>; 401*f126890aSEmmanuel Vadot 402*f126890aSEmmanuel Vadot ipu2_csi1_mux_to_ipu2_csi1: endpoint { 403*f126890aSEmmanuel Vadot remote-endpoint = <&ipu2_csi1_from_ipu2_csi1_mux>; 404*f126890aSEmmanuel Vadot }; 405*f126890aSEmmanuel Vadot }; 406*f126890aSEmmanuel Vadot }; 407*f126890aSEmmanuel Vadot}; 408*f126890aSEmmanuel Vadot 409*f126890aSEmmanuel Vadot&hdmi { 410*f126890aSEmmanuel Vadot compatible = "fsl,imx6q-hdmi"; 411*f126890aSEmmanuel Vadot 412*f126890aSEmmanuel Vadot ports { 413*f126890aSEmmanuel Vadot port@2 { 414*f126890aSEmmanuel Vadot reg = <2>; 415*f126890aSEmmanuel Vadot 416*f126890aSEmmanuel Vadot hdmi_mux_2: endpoint { 417*f126890aSEmmanuel Vadot remote-endpoint = <&ipu2_di0_hdmi>; 418*f126890aSEmmanuel Vadot }; 419*f126890aSEmmanuel Vadot }; 420*f126890aSEmmanuel Vadot 421*f126890aSEmmanuel Vadot port@3 { 422*f126890aSEmmanuel Vadot reg = <3>; 423*f126890aSEmmanuel Vadot 424*f126890aSEmmanuel Vadot hdmi_mux_3: endpoint { 425*f126890aSEmmanuel Vadot remote-endpoint = <&ipu2_di1_hdmi>; 426*f126890aSEmmanuel Vadot }; 427*f126890aSEmmanuel Vadot }; 428*f126890aSEmmanuel Vadot }; 429*f126890aSEmmanuel Vadot}; 430*f126890aSEmmanuel Vadot 431*f126890aSEmmanuel Vadot&iomuxc { 432*f126890aSEmmanuel Vadot compatible = "fsl,imx6q-iomuxc"; 433*f126890aSEmmanuel Vadot}; 434*f126890aSEmmanuel Vadot 435*f126890aSEmmanuel Vadot&ipu1_csi1 { 436*f126890aSEmmanuel Vadot ipu1_csi1_from_mipi_vc1: endpoint { 437*f126890aSEmmanuel Vadot remote-endpoint = <&mipi_vc1_to_ipu1_csi1>; 438*f126890aSEmmanuel Vadot }; 439*f126890aSEmmanuel Vadot}; 440*f126890aSEmmanuel Vadot 441*f126890aSEmmanuel Vadot&ldb { 442*f126890aSEmmanuel Vadot clocks = <&clks IMX6QDL_CLK_LDB_DI0_SEL>, <&clks IMX6QDL_CLK_LDB_DI1_SEL>, 443*f126890aSEmmanuel Vadot <&clks IMX6QDL_CLK_IPU1_DI0_SEL>, <&clks IMX6QDL_CLK_IPU1_DI1_SEL>, 444*f126890aSEmmanuel Vadot <&clks IMX6QDL_CLK_IPU2_DI0_SEL>, <&clks IMX6QDL_CLK_IPU2_DI1_SEL>, 445*f126890aSEmmanuel Vadot <&clks IMX6QDL_CLK_LDB_DI0>, <&clks IMX6QDL_CLK_LDB_DI1>; 446*f126890aSEmmanuel Vadot clock-names = "di0_pll", "di1_pll", 447*f126890aSEmmanuel Vadot "di0_sel", "di1_sel", "di2_sel", "di3_sel", 448*f126890aSEmmanuel Vadot "di0", "di1"; 449*f126890aSEmmanuel Vadot 450*f126890aSEmmanuel Vadot lvds-channel@0 { 451*f126890aSEmmanuel Vadot port@2 { 452*f126890aSEmmanuel Vadot reg = <2>; 453*f126890aSEmmanuel Vadot 454*f126890aSEmmanuel Vadot lvds0_mux_2: endpoint { 455*f126890aSEmmanuel Vadot remote-endpoint = <&ipu2_di0_lvds0>; 456*f126890aSEmmanuel Vadot }; 457*f126890aSEmmanuel Vadot }; 458*f126890aSEmmanuel Vadot 459*f126890aSEmmanuel Vadot port@3 { 460*f126890aSEmmanuel Vadot reg = <3>; 461*f126890aSEmmanuel Vadot 462*f126890aSEmmanuel Vadot lvds0_mux_3: endpoint { 463*f126890aSEmmanuel Vadot remote-endpoint = <&ipu2_di1_lvds0>; 464*f126890aSEmmanuel Vadot }; 465*f126890aSEmmanuel Vadot }; 466*f126890aSEmmanuel Vadot }; 467*f126890aSEmmanuel Vadot 468*f126890aSEmmanuel Vadot lvds-channel@1 { 469*f126890aSEmmanuel Vadot port@2 { 470*f126890aSEmmanuel Vadot reg = <2>; 471*f126890aSEmmanuel Vadot 472*f126890aSEmmanuel Vadot lvds1_mux_2: endpoint { 473*f126890aSEmmanuel Vadot remote-endpoint = <&ipu2_di0_lvds1>; 474*f126890aSEmmanuel Vadot }; 475*f126890aSEmmanuel Vadot }; 476*f126890aSEmmanuel Vadot 477*f126890aSEmmanuel Vadot port@3 { 478*f126890aSEmmanuel Vadot reg = <3>; 479*f126890aSEmmanuel Vadot 480*f126890aSEmmanuel Vadot lvds1_mux_3: endpoint { 481*f126890aSEmmanuel Vadot remote-endpoint = <&ipu2_di1_lvds1>; 482*f126890aSEmmanuel Vadot }; 483*f126890aSEmmanuel Vadot }; 484*f126890aSEmmanuel Vadot }; 485*f126890aSEmmanuel Vadot}; 486*f126890aSEmmanuel Vadot 487*f126890aSEmmanuel Vadot&mipi_csi { 488*f126890aSEmmanuel Vadot port@1 { 489*f126890aSEmmanuel Vadot reg = <1>; 490*f126890aSEmmanuel Vadot 491*f126890aSEmmanuel Vadot mipi_vc0_to_ipu1_csi0_mux: endpoint { 492*f126890aSEmmanuel Vadot remote-endpoint = <&ipu1_csi0_mux_from_mipi_vc0>; 493*f126890aSEmmanuel Vadot }; 494*f126890aSEmmanuel Vadot }; 495*f126890aSEmmanuel Vadot 496*f126890aSEmmanuel Vadot port@2 { 497*f126890aSEmmanuel Vadot reg = <2>; 498*f126890aSEmmanuel Vadot 499*f126890aSEmmanuel Vadot mipi_vc1_to_ipu1_csi1: endpoint { 500*f126890aSEmmanuel Vadot remote-endpoint = <&ipu1_csi1_from_mipi_vc1>; 501*f126890aSEmmanuel Vadot }; 502*f126890aSEmmanuel Vadot }; 503*f126890aSEmmanuel Vadot 504*f126890aSEmmanuel Vadot port@3 { 505*f126890aSEmmanuel Vadot reg = <3>; 506*f126890aSEmmanuel Vadot 507*f126890aSEmmanuel Vadot mipi_vc2_to_ipu2_csi0: endpoint { 508*f126890aSEmmanuel Vadot remote-endpoint = <&ipu2_csi0_from_mipi_vc2>; 509*f126890aSEmmanuel Vadot }; 510*f126890aSEmmanuel Vadot }; 511*f126890aSEmmanuel Vadot 512*f126890aSEmmanuel Vadot port@4 { 513*f126890aSEmmanuel Vadot reg = <4>; 514*f126890aSEmmanuel Vadot 515*f126890aSEmmanuel Vadot mipi_vc3_to_ipu2_csi1_mux: endpoint { 516*f126890aSEmmanuel Vadot remote-endpoint = <&ipu2_csi1_mux_from_mipi_vc3>; 517*f126890aSEmmanuel Vadot }; 518*f126890aSEmmanuel Vadot }; 519*f126890aSEmmanuel Vadot}; 520*f126890aSEmmanuel Vadot 521*f126890aSEmmanuel Vadot&mipi_dsi { 522*f126890aSEmmanuel Vadot ports { 523*f126890aSEmmanuel Vadot port@2 { 524*f126890aSEmmanuel Vadot reg = <2>; 525*f126890aSEmmanuel Vadot 526*f126890aSEmmanuel Vadot mipi_mux_2: endpoint { 527*f126890aSEmmanuel Vadot remote-endpoint = <&ipu2_di0_mipi>; 528*f126890aSEmmanuel Vadot }; 529*f126890aSEmmanuel Vadot }; 530*f126890aSEmmanuel Vadot 531*f126890aSEmmanuel Vadot port@3 { 532*f126890aSEmmanuel Vadot reg = <3>; 533*f126890aSEmmanuel Vadot 534*f126890aSEmmanuel Vadot mipi_mux_3: endpoint { 535*f126890aSEmmanuel Vadot remote-endpoint = <&ipu2_di1_mipi>; 536*f126890aSEmmanuel Vadot }; 537*f126890aSEmmanuel Vadot }; 538*f126890aSEmmanuel Vadot }; 539*f126890aSEmmanuel Vadot}; 540*f126890aSEmmanuel Vadot 541*f126890aSEmmanuel Vadot&mux { 542*f126890aSEmmanuel Vadot mux-reg-masks = <0x04 0x00080000>, /* MIPI_IPU1_MUX */ 543*f126890aSEmmanuel Vadot <0x04 0x00100000>, /* MIPI_IPU2_MUX */ 544*f126890aSEmmanuel Vadot <0x0c 0x0000000c>, /* HDMI_MUX_CTL */ 545*f126890aSEmmanuel Vadot <0x0c 0x000000c0>, /* LVDS0_MUX_CTL */ 546*f126890aSEmmanuel Vadot <0x0c 0x00000300>, /* LVDS1_MUX_CTL */ 547*f126890aSEmmanuel Vadot <0x28 0x00000003>, /* DCIC1_MUX_CTL */ 548*f126890aSEmmanuel Vadot <0x28 0x0000000c>; /* DCIC2_MUX_CTL */ 549*f126890aSEmmanuel Vadot}; 550*f126890aSEmmanuel Vadot 551*f126890aSEmmanuel Vadot&vpu { 552*f126890aSEmmanuel Vadot compatible = "fsl,imx6q-vpu", "cnm,coda960"; 553*f126890aSEmmanuel Vadot}; 554