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