162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci// 362306a36Sopenharmony_ci// Copyright 2013 Freescale Semiconductor, Inc. 462306a36Sopenharmony_ci 562306a36Sopenharmony_ci#include <dt-bindings/interrupt-controller/irq.h> 662306a36Sopenharmony_ci#include "imx6q-pinfunc.h" 762306a36Sopenharmony_ci#include "imx6qdl.dtsi" 862306a36Sopenharmony_ci 962306a36Sopenharmony_ci/ { 1062306a36Sopenharmony_ci aliases { 1162306a36Sopenharmony_ci ipu1 = &ipu2; 1262306a36Sopenharmony_ci spi4 = &ecspi5; 1362306a36Sopenharmony_ci }; 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ci cpus { 1662306a36Sopenharmony_ci #address-cells = <1>; 1762306a36Sopenharmony_ci #size-cells = <0>; 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ci cpu0: cpu@0 { 2062306a36Sopenharmony_ci compatible = "arm,cortex-a9"; 2162306a36Sopenharmony_ci device_type = "cpu"; 2262306a36Sopenharmony_ci reg = <0>; 2362306a36Sopenharmony_ci next-level-cache = <&L2>; 2462306a36Sopenharmony_ci operating-points = < 2562306a36Sopenharmony_ci /* kHz uV */ 2662306a36Sopenharmony_ci 1200000 1275000 2762306a36Sopenharmony_ci 996000 1250000 2862306a36Sopenharmony_ci 852000 1250000 2962306a36Sopenharmony_ci 792000 1175000 3062306a36Sopenharmony_ci 396000 975000 3162306a36Sopenharmony_ci >; 3262306a36Sopenharmony_ci fsl,soc-operating-points = < 3362306a36Sopenharmony_ci /* ARM kHz SOC-PU uV */ 3462306a36Sopenharmony_ci 1200000 1275000 3562306a36Sopenharmony_ci 996000 1250000 3662306a36Sopenharmony_ci 852000 1250000 3762306a36Sopenharmony_ci 792000 1175000 3862306a36Sopenharmony_ci 396000 1175000 3962306a36Sopenharmony_ci >; 4062306a36Sopenharmony_ci clock-latency = <61036>; /* two CLK32 periods */ 4162306a36Sopenharmony_ci #cooling-cells = <2>; 4262306a36Sopenharmony_ci clocks = <&clks IMX6QDL_CLK_ARM>, 4362306a36Sopenharmony_ci <&clks IMX6QDL_CLK_PLL2_PFD2_396M>, 4462306a36Sopenharmony_ci <&clks IMX6QDL_CLK_STEP>, 4562306a36Sopenharmony_ci <&clks IMX6QDL_CLK_PLL1_SW>, 4662306a36Sopenharmony_ci <&clks IMX6QDL_CLK_PLL1_SYS>; 4762306a36Sopenharmony_ci clock-names = "arm", "pll2_pfd2_396m", "step", 4862306a36Sopenharmony_ci "pll1_sw", "pll1_sys"; 4962306a36Sopenharmony_ci arm-supply = <®_arm>; 5062306a36Sopenharmony_ci pu-supply = <®_pu>; 5162306a36Sopenharmony_ci soc-supply = <®_soc>; 5262306a36Sopenharmony_ci nvmem-cells = <&cpu_speed_grade>; 5362306a36Sopenharmony_ci nvmem-cell-names = "speed_grade"; 5462306a36Sopenharmony_ci }; 5562306a36Sopenharmony_ci 5662306a36Sopenharmony_ci cpu1: cpu@1 { 5762306a36Sopenharmony_ci compatible = "arm,cortex-a9"; 5862306a36Sopenharmony_ci device_type = "cpu"; 5962306a36Sopenharmony_ci reg = <1>; 6062306a36Sopenharmony_ci next-level-cache = <&L2>; 6162306a36Sopenharmony_ci operating-points = < 6262306a36Sopenharmony_ci /* kHz uV */ 6362306a36Sopenharmony_ci 1200000 1275000 6462306a36Sopenharmony_ci 996000 1250000 6562306a36Sopenharmony_ci 852000 1250000 6662306a36Sopenharmony_ci 792000 1175000 6762306a36Sopenharmony_ci 396000 975000 6862306a36Sopenharmony_ci >; 6962306a36Sopenharmony_ci fsl,soc-operating-points = < 7062306a36Sopenharmony_ci /* ARM kHz SOC-PU uV */ 7162306a36Sopenharmony_ci 1200000 1275000 7262306a36Sopenharmony_ci 996000 1250000 7362306a36Sopenharmony_ci 852000 1250000 7462306a36Sopenharmony_ci 792000 1175000 7562306a36Sopenharmony_ci 396000 1175000 7662306a36Sopenharmony_ci >; 7762306a36Sopenharmony_ci clock-latency = <61036>; /* two CLK32 periods */ 7862306a36Sopenharmony_ci #cooling-cells = <2>; 7962306a36Sopenharmony_ci clocks = <&clks IMX6QDL_CLK_ARM>, 8062306a36Sopenharmony_ci <&clks IMX6QDL_CLK_PLL2_PFD2_396M>, 8162306a36Sopenharmony_ci <&clks IMX6QDL_CLK_STEP>, 8262306a36Sopenharmony_ci <&clks IMX6QDL_CLK_PLL1_SW>, 8362306a36Sopenharmony_ci <&clks IMX6QDL_CLK_PLL1_SYS>; 8462306a36Sopenharmony_ci clock-names = "arm", "pll2_pfd2_396m", "step", 8562306a36Sopenharmony_ci "pll1_sw", "pll1_sys"; 8662306a36Sopenharmony_ci arm-supply = <®_arm>; 8762306a36Sopenharmony_ci pu-supply = <®_pu>; 8862306a36Sopenharmony_ci soc-supply = <®_soc>; 8962306a36Sopenharmony_ci }; 9062306a36Sopenharmony_ci 9162306a36Sopenharmony_ci cpu2: cpu@2 { 9262306a36Sopenharmony_ci compatible = "arm,cortex-a9"; 9362306a36Sopenharmony_ci device_type = "cpu"; 9462306a36Sopenharmony_ci reg = <2>; 9562306a36Sopenharmony_ci next-level-cache = <&L2>; 9662306a36Sopenharmony_ci operating-points = < 9762306a36Sopenharmony_ci /* kHz uV */ 9862306a36Sopenharmony_ci 1200000 1275000 9962306a36Sopenharmony_ci 996000 1250000 10062306a36Sopenharmony_ci 852000 1250000 10162306a36Sopenharmony_ci 792000 1175000 10262306a36Sopenharmony_ci 396000 975000 10362306a36Sopenharmony_ci >; 10462306a36Sopenharmony_ci fsl,soc-operating-points = < 10562306a36Sopenharmony_ci /* ARM kHz SOC-PU uV */ 10662306a36Sopenharmony_ci 1200000 1275000 10762306a36Sopenharmony_ci 996000 1250000 10862306a36Sopenharmony_ci 852000 1250000 10962306a36Sopenharmony_ci 792000 1175000 11062306a36Sopenharmony_ci 396000 1175000 11162306a36Sopenharmony_ci >; 11262306a36Sopenharmony_ci clock-latency = <61036>; /* two CLK32 periods */ 11362306a36Sopenharmony_ci #cooling-cells = <2>; 11462306a36Sopenharmony_ci clocks = <&clks IMX6QDL_CLK_ARM>, 11562306a36Sopenharmony_ci <&clks IMX6QDL_CLK_PLL2_PFD2_396M>, 11662306a36Sopenharmony_ci <&clks IMX6QDL_CLK_STEP>, 11762306a36Sopenharmony_ci <&clks IMX6QDL_CLK_PLL1_SW>, 11862306a36Sopenharmony_ci <&clks IMX6QDL_CLK_PLL1_SYS>; 11962306a36Sopenharmony_ci clock-names = "arm", "pll2_pfd2_396m", "step", 12062306a36Sopenharmony_ci "pll1_sw", "pll1_sys"; 12162306a36Sopenharmony_ci arm-supply = <®_arm>; 12262306a36Sopenharmony_ci pu-supply = <®_pu>; 12362306a36Sopenharmony_ci soc-supply = <®_soc>; 12462306a36Sopenharmony_ci }; 12562306a36Sopenharmony_ci 12662306a36Sopenharmony_ci cpu3: cpu@3 { 12762306a36Sopenharmony_ci compatible = "arm,cortex-a9"; 12862306a36Sopenharmony_ci device_type = "cpu"; 12962306a36Sopenharmony_ci reg = <3>; 13062306a36Sopenharmony_ci next-level-cache = <&L2>; 13162306a36Sopenharmony_ci operating-points = < 13262306a36Sopenharmony_ci /* kHz uV */ 13362306a36Sopenharmony_ci 1200000 1275000 13462306a36Sopenharmony_ci 996000 1250000 13562306a36Sopenharmony_ci 852000 1250000 13662306a36Sopenharmony_ci 792000 1175000 13762306a36Sopenharmony_ci 396000 975000 13862306a36Sopenharmony_ci >; 13962306a36Sopenharmony_ci fsl,soc-operating-points = < 14062306a36Sopenharmony_ci /* ARM kHz SOC-PU uV */ 14162306a36Sopenharmony_ci 1200000 1275000 14262306a36Sopenharmony_ci 996000 1250000 14362306a36Sopenharmony_ci 852000 1250000 14462306a36Sopenharmony_ci 792000 1175000 14562306a36Sopenharmony_ci 396000 1175000 14662306a36Sopenharmony_ci >; 14762306a36Sopenharmony_ci clock-latency = <61036>; /* two CLK32 periods */ 14862306a36Sopenharmony_ci #cooling-cells = <2>; 14962306a36Sopenharmony_ci clocks = <&clks IMX6QDL_CLK_ARM>, 15062306a36Sopenharmony_ci <&clks IMX6QDL_CLK_PLL2_PFD2_396M>, 15162306a36Sopenharmony_ci <&clks IMX6QDL_CLK_STEP>, 15262306a36Sopenharmony_ci <&clks IMX6QDL_CLK_PLL1_SW>, 15362306a36Sopenharmony_ci <&clks IMX6QDL_CLK_PLL1_SYS>; 15462306a36Sopenharmony_ci clock-names = "arm", "pll2_pfd2_396m", "step", 15562306a36Sopenharmony_ci "pll1_sw", "pll1_sys"; 15662306a36Sopenharmony_ci arm-supply = <®_arm>; 15762306a36Sopenharmony_ci pu-supply = <®_pu>; 15862306a36Sopenharmony_ci soc-supply = <®_soc>; 15962306a36Sopenharmony_ci }; 16062306a36Sopenharmony_ci }; 16162306a36Sopenharmony_ci 16262306a36Sopenharmony_ci soc: soc { 16362306a36Sopenharmony_ci ocram: sram@900000 { 16462306a36Sopenharmony_ci compatible = "mmio-sram"; 16562306a36Sopenharmony_ci reg = <0x00900000 0x40000>; 16662306a36Sopenharmony_ci ranges = <0 0x00900000 0x40000>; 16762306a36Sopenharmony_ci #address-cells = <1>; 16862306a36Sopenharmony_ci #size-cells = <1>; 16962306a36Sopenharmony_ci clocks = <&clks IMX6QDL_CLK_OCRAM>; 17062306a36Sopenharmony_ci }; 17162306a36Sopenharmony_ci 17262306a36Sopenharmony_ci aips1: bus@2000000 { /* AIPS1 */ 17362306a36Sopenharmony_ci spba-bus@2000000 { 17462306a36Sopenharmony_ci ecspi5: spi@2018000 { 17562306a36Sopenharmony_ci #address-cells = <1>; 17662306a36Sopenharmony_ci #size-cells = <0>; 17762306a36Sopenharmony_ci compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi"; 17862306a36Sopenharmony_ci reg = <0x02018000 0x4000>; 17962306a36Sopenharmony_ci interrupts = <0 35 IRQ_TYPE_LEVEL_HIGH>; 18062306a36Sopenharmony_ci clocks = <&clks IMX6Q_CLK_ECSPI5>, 18162306a36Sopenharmony_ci <&clks IMX6Q_CLK_ECSPI5>; 18262306a36Sopenharmony_ci clock-names = "ipg", "per"; 18362306a36Sopenharmony_ci dmas = <&sdma 11 7 1>, <&sdma 12 7 2>; 18462306a36Sopenharmony_ci dma-names = "rx", "tx"; 18562306a36Sopenharmony_ci status = "disabled"; 18662306a36Sopenharmony_ci }; 18762306a36Sopenharmony_ci }; 18862306a36Sopenharmony_ci }; 18962306a36Sopenharmony_ci 19062306a36Sopenharmony_ci sata: sata@2200000 { 19162306a36Sopenharmony_ci compatible = "fsl,imx6q-ahci"; 19262306a36Sopenharmony_ci reg = <0x02200000 0x4000>; 19362306a36Sopenharmony_ci interrupts = <0 39 IRQ_TYPE_LEVEL_HIGH>; 19462306a36Sopenharmony_ci clocks = <&clks IMX6QDL_CLK_SATA>, 19562306a36Sopenharmony_ci <&clks IMX6QDL_CLK_SATA_REF_100M>, 19662306a36Sopenharmony_ci <&clks IMX6QDL_CLK_AHB>; 19762306a36Sopenharmony_ci clock-names = "sata", "sata_ref", "ahb"; 19862306a36Sopenharmony_ci status = "disabled"; 19962306a36Sopenharmony_ci }; 20062306a36Sopenharmony_ci 20162306a36Sopenharmony_ci gpu_vg: gpu@2204000 { 20262306a36Sopenharmony_ci compatible = "vivante,gc"; 20362306a36Sopenharmony_ci reg = <0x02204000 0x4000>; 20462306a36Sopenharmony_ci interrupts = <0 11 IRQ_TYPE_LEVEL_HIGH>; 20562306a36Sopenharmony_ci clocks = <&clks IMX6QDL_CLK_OPENVG_AXI>, 20662306a36Sopenharmony_ci <&clks IMX6QDL_CLK_GPU2D_CORE>; 20762306a36Sopenharmony_ci clock-names = "bus", "core"; 20862306a36Sopenharmony_ci power-domains = <&pd_pu>; 20962306a36Sopenharmony_ci #cooling-cells = <2>; 21062306a36Sopenharmony_ci }; 21162306a36Sopenharmony_ci 21262306a36Sopenharmony_ci ipu2: ipu@2800000 { 21362306a36Sopenharmony_ci #address-cells = <1>; 21462306a36Sopenharmony_ci #size-cells = <0>; 21562306a36Sopenharmony_ci compatible = "fsl,imx6q-ipu"; 21662306a36Sopenharmony_ci reg = <0x02800000 0x400000>; 21762306a36Sopenharmony_ci interrupts = <0 8 IRQ_TYPE_LEVEL_HIGH>, 21862306a36Sopenharmony_ci <0 7 IRQ_TYPE_LEVEL_HIGH>; 21962306a36Sopenharmony_ci clocks = <&clks IMX6QDL_CLK_IPU2>, 22062306a36Sopenharmony_ci <&clks IMX6QDL_CLK_IPU2_DI0>, 22162306a36Sopenharmony_ci <&clks IMX6QDL_CLK_IPU2_DI1>; 22262306a36Sopenharmony_ci clock-names = "bus", "di0", "di1"; 22362306a36Sopenharmony_ci resets = <&src 4>; 22462306a36Sopenharmony_ci 22562306a36Sopenharmony_ci ipu2_csi0: port@0 { 22662306a36Sopenharmony_ci reg = <0>; 22762306a36Sopenharmony_ci 22862306a36Sopenharmony_ci ipu2_csi0_from_mipi_vc2: endpoint { 22962306a36Sopenharmony_ci remote-endpoint = <&mipi_vc2_to_ipu2_csi0>; 23062306a36Sopenharmony_ci }; 23162306a36Sopenharmony_ci }; 23262306a36Sopenharmony_ci 23362306a36Sopenharmony_ci ipu2_csi1: port@1 { 23462306a36Sopenharmony_ci reg = <1>; 23562306a36Sopenharmony_ci 23662306a36Sopenharmony_ci ipu2_csi1_from_ipu2_csi1_mux: endpoint { 23762306a36Sopenharmony_ci remote-endpoint = <&ipu2_csi1_mux_to_ipu2_csi1>; 23862306a36Sopenharmony_ci }; 23962306a36Sopenharmony_ci }; 24062306a36Sopenharmony_ci 24162306a36Sopenharmony_ci ipu2_di0: port@2 { 24262306a36Sopenharmony_ci #address-cells = <1>; 24362306a36Sopenharmony_ci #size-cells = <0>; 24462306a36Sopenharmony_ci reg = <2>; 24562306a36Sopenharmony_ci 24662306a36Sopenharmony_ci ipu2_di0_disp0: endpoint@0 { 24762306a36Sopenharmony_ci reg = <0>; 24862306a36Sopenharmony_ci }; 24962306a36Sopenharmony_ci 25062306a36Sopenharmony_ci ipu2_di0_hdmi: endpoint@1 { 25162306a36Sopenharmony_ci reg = <1>; 25262306a36Sopenharmony_ci remote-endpoint = <&hdmi_mux_2>; 25362306a36Sopenharmony_ci }; 25462306a36Sopenharmony_ci 25562306a36Sopenharmony_ci ipu2_di0_mipi: endpoint@2 { 25662306a36Sopenharmony_ci reg = <2>; 25762306a36Sopenharmony_ci remote-endpoint = <&mipi_mux_2>; 25862306a36Sopenharmony_ci }; 25962306a36Sopenharmony_ci 26062306a36Sopenharmony_ci ipu2_di0_lvds0: endpoint@3 { 26162306a36Sopenharmony_ci reg = <3>; 26262306a36Sopenharmony_ci remote-endpoint = <&lvds0_mux_2>; 26362306a36Sopenharmony_ci }; 26462306a36Sopenharmony_ci 26562306a36Sopenharmony_ci ipu2_di0_lvds1: endpoint@4 { 26662306a36Sopenharmony_ci reg = <4>; 26762306a36Sopenharmony_ci remote-endpoint = <&lvds1_mux_2>; 26862306a36Sopenharmony_ci }; 26962306a36Sopenharmony_ci }; 27062306a36Sopenharmony_ci 27162306a36Sopenharmony_ci ipu2_di1: port@3 { 27262306a36Sopenharmony_ci #address-cells = <1>; 27362306a36Sopenharmony_ci #size-cells = <0>; 27462306a36Sopenharmony_ci reg = <3>; 27562306a36Sopenharmony_ci 27662306a36Sopenharmony_ci ipu2_di1_hdmi: endpoint@1 { 27762306a36Sopenharmony_ci reg = <1>; 27862306a36Sopenharmony_ci remote-endpoint = <&hdmi_mux_3>; 27962306a36Sopenharmony_ci }; 28062306a36Sopenharmony_ci 28162306a36Sopenharmony_ci ipu2_di1_mipi: endpoint@2 { 28262306a36Sopenharmony_ci reg = <2>; 28362306a36Sopenharmony_ci remote-endpoint = <&mipi_mux_3>; 28462306a36Sopenharmony_ci }; 28562306a36Sopenharmony_ci 28662306a36Sopenharmony_ci ipu2_di1_lvds0: endpoint@3 { 28762306a36Sopenharmony_ci reg = <3>; 28862306a36Sopenharmony_ci remote-endpoint = <&lvds0_mux_3>; 28962306a36Sopenharmony_ci }; 29062306a36Sopenharmony_ci 29162306a36Sopenharmony_ci ipu2_di1_lvds1: endpoint@4 { 29262306a36Sopenharmony_ci reg = <4>; 29362306a36Sopenharmony_ci remote-endpoint = <&lvds1_mux_3>; 29462306a36Sopenharmony_ci }; 29562306a36Sopenharmony_ci }; 29662306a36Sopenharmony_ci }; 29762306a36Sopenharmony_ci }; 29862306a36Sopenharmony_ci 29962306a36Sopenharmony_ci capture-subsystem { 30062306a36Sopenharmony_ci compatible = "fsl,imx-capture-subsystem"; 30162306a36Sopenharmony_ci ports = <&ipu1_csi0>, <&ipu1_csi1>, <&ipu2_csi0>, <&ipu2_csi1>; 30262306a36Sopenharmony_ci }; 30362306a36Sopenharmony_ci 30462306a36Sopenharmony_ci display-subsystem { 30562306a36Sopenharmony_ci compatible = "fsl,imx-display-subsystem"; 30662306a36Sopenharmony_ci ports = <&ipu1_di0>, <&ipu1_di1>, <&ipu2_di0>, <&ipu2_di1>; 30762306a36Sopenharmony_ci }; 30862306a36Sopenharmony_ci}; 30962306a36Sopenharmony_ci 31062306a36Sopenharmony_ci&gpio1 { 31162306a36Sopenharmony_ci gpio-ranges = <&iomuxc 0 136 2>, <&iomuxc 2 141 1>, <&iomuxc 3 139 1>, 31262306a36Sopenharmony_ci <&iomuxc 4 142 2>, <&iomuxc 6 140 1>, <&iomuxc 7 144 2>, 31362306a36Sopenharmony_ci <&iomuxc 9 138 1>, <&iomuxc 10 213 3>, <&iomuxc 13 20 1>, 31462306a36Sopenharmony_ci <&iomuxc 14 19 1>, <&iomuxc 15 21 1>, <&iomuxc 16 208 1>, 31562306a36Sopenharmony_ci <&iomuxc 17 207 1>, <&iomuxc 18 210 3>, <&iomuxc 21 209 1>, 31662306a36Sopenharmony_ci <&iomuxc 22 116 10>; 31762306a36Sopenharmony_ci}; 31862306a36Sopenharmony_ci 31962306a36Sopenharmony_ci&gpio2 { 32062306a36Sopenharmony_ci gpio-ranges = <&iomuxc 0 191 16>, <&iomuxc 16 55 14>, <&iomuxc 30 35 1>, 32162306a36Sopenharmony_ci <&iomuxc 31 44 1>; 32262306a36Sopenharmony_ci}; 32362306a36Sopenharmony_ci 32462306a36Sopenharmony_ci&gpio3 { 32562306a36Sopenharmony_ci gpio-ranges = <&iomuxc 0 69 16>, <&iomuxc 16 36 8>, <&iomuxc 24 45 8>; 32662306a36Sopenharmony_ci}; 32762306a36Sopenharmony_ci 32862306a36Sopenharmony_ci&gpio4 { 32962306a36Sopenharmony_ci gpio-ranges = <&iomuxc 5 149 1>, <&iomuxc 6 126 10>, <&iomuxc 16 87 16>; 33062306a36Sopenharmony_ci}; 33162306a36Sopenharmony_ci 33262306a36Sopenharmony_ci&gpio5 { 33362306a36Sopenharmony_ci gpio-ranges = <&iomuxc 0 85 1>, <&iomuxc 2 34 1>, <&iomuxc 4 53 1>, 33462306a36Sopenharmony_ci <&iomuxc 5 103 13>, <&iomuxc 18 150 14>; 33562306a36Sopenharmony_ci}; 33662306a36Sopenharmony_ci 33762306a36Sopenharmony_ci&gpio6 { 33862306a36Sopenharmony_ci gpio-ranges = <&iomuxc 0 164 6>, <&iomuxc 6 54 1>, <&iomuxc 7 181 5>, 33962306a36Sopenharmony_ci <&iomuxc 14 186 3>, <&iomuxc 17 170 2>, <&iomuxc 19 22 12>, 34062306a36Sopenharmony_ci <&iomuxc 31 86 1>; 34162306a36Sopenharmony_ci}; 34262306a36Sopenharmony_ci 34362306a36Sopenharmony_ci&gpio7 { 34462306a36Sopenharmony_ci gpio-ranges = <&iomuxc 0 172 9>, <&iomuxc 9 189 2>, <&iomuxc 11 146 3>; 34562306a36Sopenharmony_ci}; 34662306a36Sopenharmony_ci 34762306a36Sopenharmony_ci&gpr { 34862306a36Sopenharmony_ci ipu1_csi0_mux { 34962306a36Sopenharmony_ci compatible = "video-mux"; 35062306a36Sopenharmony_ci mux-controls = <&mux 0>; 35162306a36Sopenharmony_ci #address-cells = <1>; 35262306a36Sopenharmony_ci #size-cells = <0>; 35362306a36Sopenharmony_ci 35462306a36Sopenharmony_ci port@0 { 35562306a36Sopenharmony_ci reg = <0>; 35662306a36Sopenharmony_ci 35762306a36Sopenharmony_ci ipu1_csi0_mux_from_mipi_vc0: endpoint { 35862306a36Sopenharmony_ci remote-endpoint = <&mipi_vc0_to_ipu1_csi0_mux>; 35962306a36Sopenharmony_ci }; 36062306a36Sopenharmony_ci }; 36162306a36Sopenharmony_ci 36262306a36Sopenharmony_ci port@1 { 36362306a36Sopenharmony_ci reg = <1>; 36462306a36Sopenharmony_ci 36562306a36Sopenharmony_ci ipu1_csi0_mux_from_parallel_sensor: endpoint { 36662306a36Sopenharmony_ci }; 36762306a36Sopenharmony_ci }; 36862306a36Sopenharmony_ci 36962306a36Sopenharmony_ci port@2 { 37062306a36Sopenharmony_ci reg = <2>; 37162306a36Sopenharmony_ci 37262306a36Sopenharmony_ci ipu1_csi0_mux_to_ipu1_csi0: endpoint { 37362306a36Sopenharmony_ci remote-endpoint = <&ipu1_csi0_from_ipu1_csi0_mux>; 37462306a36Sopenharmony_ci }; 37562306a36Sopenharmony_ci }; 37662306a36Sopenharmony_ci }; 37762306a36Sopenharmony_ci 37862306a36Sopenharmony_ci ipu2_csi1_mux { 37962306a36Sopenharmony_ci compatible = "video-mux"; 38062306a36Sopenharmony_ci mux-controls = <&mux 1>; 38162306a36Sopenharmony_ci #address-cells = <1>; 38262306a36Sopenharmony_ci #size-cells = <0>; 38362306a36Sopenharmony_ci 38462306a36Sopenharmony_ci port@0 { 38562306a36Sopenharmony_ci reg = <0>; 38662306a36Sopenharmony_ci 38762306a36Sopenharmony_ci ipu2_csi1_mux_from_mipi_vc3: endpoint { 38862306a36Sopenharmony_ci remote-endpoint = <&mipi_vc3_to_ipu2_csi1_mux>; 38962306a36Sopenharmony_ci }; 39062306a36Sopenharmony_ci }; 39162306a36Sopenharmony_ci 39262306a36Sopenharmony_ci port@1 { 39362306a36Sopenharmony_ci reg = <1>; 39462306a36Sopenharmony_ci 39562306a36Sopenharmony_ci ipu2_csi1_mux_from_parallel_sensor: endpoint { 39662306a36Sopenharmony_ci }; 39762306a36Sopenharmony_ci }; 39862306a36Sopenharmony_ci 39962306a36Sopenharmony_ci port@2 { 40062306a36Sopenharmony_ci reg = <2>; 40162306a36Sopenharmony_ci 40262306a36Sopenharmony_ci ipu2_csi1_mux_to_ipu2_csi1: endpoint { 40362306a36Sopenharmony_ci remote-endpoint = <&ipu2_csi1_from_ipu2_csi1_mux>; 40462306a36Sopenharmony_ci }; 40562306a36Sopenharmony_ci }; 40662306a36Sopenharmony_ci }; 40762306a36Sopenharmony_ci}; 40862306a36Sopenharmony_ci 40962306a36Sopenharmony_ci&hdmi { 41062306a36Sopenharmony_ci compatible = "fsl,imx6q-hdmi"; 41162306a36Sopenharmony_ci 41262306a36Sopenharmony_ci ports { 41362306a36Sopenharmony_ci port@2 { 41462306a36Sopenharmony_ci reg = <2>; 41562306a36Sopenharmony_ci 41662306a36Sopenharmony_ci hdmi_mux_2: endpoint { 41762306a36Sopenharmony_ci remote-endpoint = <&ipu2_di0_hdmi>; 41862306a36Sopenharmony_ci }; 41962306a36Sopenharmony_ci }; 42062306a36Sopenharmony_ci 42162306a36Sopenharmony_ci port@3 { 42262306a36Sopenharmony_ci reg = <3>; 42362306a36Sopenharmony_ci 42462306a36Sopenharmony_ci hdmi_mux_3: endpoint { 42562306a36Sopenharmony_ci remote-endpoint = <&ipu2_di1_hdmi>; 42662306a36Sopenharmony_ci }; 42762306a36Sopenharmony_ci }; 42862306a36Sopenharmony_ci }; 42962306a36Sopenharmony_ci}; 43062306a36Sopenharmony_ci 43162306a36Sopenharmony_ci&iomuxc { 43262306a36Sopenharmony_ci compatible = "fsl,imx6q-iomuxc"; 43362306a36Sopenharmony_ci}; 43462306a36Sopenharmony_ci 43562306a36Sopenharmony_ci&ipu1_csi1 { 43662306a36Sopenharmony_ci ipu1_csi1_from_mipi_vc1: endpoint { 43762306a36Sopenharmony_ci remote-endpoint = <&mipi_vc1_to_ipu1_csi1>; 43862306a36Sopenharmony_ci }; 43962306a36Sopenharmony_ci}; 44062306a36Sopenharmony_ci 44162306a36Sopenharmony_ci&ldb { 44262306a36Sopenharmony_ci clocks = <&clks IMX6QDL_CLK_LDB_DI0_SEL>, <&clks IMX6QDL_CLK_LDB_DI1_SEL>, 44362306a36Sopenharmony_ci <&clks IMX6QDL_CLK_IPU1_DI0_SEL>, <&clks IMX6QDL_CLK_IPU1_DI1_SEL>, 44462306a36Sopenharmony_ci <&clks IMX6QDL_CLK_IPU2_DI0_SEL>, <&clks IMX6QDL_CLK_IPU2_DI1_SEL>, 44562306a36Sopenharmony_ci <&clks IMX6QDL_CLK_LDB_DI0>, <&clks IMX6QDL_CLK_LDB_DI1>; 44662306a36Sopenharmony_ci clock-names = "di0_pll", "di1_pll", 44762306a36Sopenharmony_ci "di0_sel", "di1_sel", "di2_sel", "di3_sel", 44862306a36Sopenharmony_ci "di0", "di1"; 44962306a36Sopenharmony_ci 45062306a36Sopenharmony_ci lvds-channel@0 { 45162306a36Sopenharmony_ci port@2 { 45262306a36Sopenharmony_ci reg = <2>; 45362306a36Sopenharmony_ci 45462306a36Sopenharmony_ci lvds0_mux_2: endpoint { 45562306a36Sopenharmony_ci remote-endpoint = <&ipu2_di0_lvds0>; 45662306a36Sopenharmony_ci }; 45762306a36Sopenharmony_ci }; 45862306a36Sopenharmony_ci 45962306a36Sopenharmony_ci port@3 { 46062306a36Sopenharmony_ci reg = <3>; 46162306a36Sopenharmony_ci 46262306a36Sopenharmony_ci lvds0_mux_3: endpoint { 46362306a36Sopenharmony_ci remote-endpoint = <&ipu2_di1_lvds0>; 46462306a36Sopenharmony_ci }; 46562306a36Sopenharmony_ci }; 46662306a36Sopenharmony_ci }; 46762306a36Sopenharmony_ci 46862306a36Sopenharmony_ci lvds-channel@1 { 46962306a36Sopenharmony_ci port@2 { 47062306a36Sopenharmony_ci reg = <2>; 47162306a36Sopenharmony_ci 47262306a36Sopenharmony_ci lvds1_mux_2: endpoint { 47362306a36Sopenharmony_ci remote-endpoint = <&ipu2_di0_lvds1>; 47462306a36Sopenharmony_ci }; 47562306a36Sopenharmony_ci }; 47662306a36Sopenharmony_ci 47762306a36Sopenharmony_ci port@3 { 47862306a36Sopenharmony_ci reg = <3>; 47962306a36Sopenharmony_ci 48062306a36Sopenharmony_ci lvds1_mux_3: endpoint { 48162306a36Sopenharmony_ci remote-endpoint = <&ipu2_di1_lvds1>; 48262306a36Sopenharmony_ci }; 48362306a36Sopenharmony_ci }; 48462306a36Sopenharmony_ci }; 48562306a36Sopenharmony_ci}; 48662306a36Sopenharmony_ci 48762306a36Sopenharmony_ci&mipi_csi { 48862306a36Sopenharmony_ci port@1 { 48962306a36Sopenharmony_ci reg = <1>; 49062306a36Sopenharmony_ci 49162306a36Sopenharmony_ci mipi_vc0_to_ipu1_csi0_mux: endpoint { 49262306a36Sopenharmony_ci remote-endpoint = <&ipu1_csi0_mux_from_mipi_vc0>; 49362306a36Sopenharmony_ci }; 49462306a36Sopenharmony_ci }; 49562306a36Sopenharmony_ci 49662306a36Sopenharmony_ci port@2 { 49762306a36Sopenharmony_ci reg = <2>; 49862306a36Sopenharmony_ci 49962306a36Sopenharmony_ci mipi_vc1_to_ipu1_csi1: endpoint { 50062306a36Sopenharmony_ci remote-endpoint = <&ipu1_csi1_from_mipi_vc1>; 50162306a36Sopenharmony_ci }; 50262306a36Sopenharmony_ci }; 50362306a36Sopenharmony_ci 50462306a36Sopenharmony_ci port@3 { 50562306a36Sopenharmony_ci reg = <3>; 50662306a36Sopenharmony_ci 50762306a36Sopenharmony_ci mipi_vc2_to_ipu2_csi0: endpoint { 50862306a36Sopenharmony_ci remote-endpoint = <&ipu2_csi0_from_mipi_vc2>; 50962306a36Sopenharmony_ci }; 51062306a36Sopenharmony_ci }; 51162306a36Sopenharmony_ci 51262306a36Sopenharmony_ci port@4 { 51362306a36Sopenharmony_ci reg = <4>; 51462306a36Sopenharmony_ci 51562306a36Sopenharmony_ci mipi_vc3_to_ipu2_csi1_mux: endpoint { 51662306a36Sopenharmony_ci remote-endpoint = <&ipu2_csi1_mux_from_mipi_vc3>; 51762306a36Sopenharmony_ci }; 51862306a36Sopenharmony_ci }; 51962306a36Sopenharmony_ci}; 52062306a36Sopenharmony_ci 52162306a36Sopenharmony_ci&mipi_dsi { 52262306a36Sopenharmony_ci ports { 52362306a36Sopenharmony_ci port@2 { 52462306a36Sopenharmony_ci reg = <2>; 52562306a36Sopenharmony_ci 52662306a36Sopenharmony_ci mipi_mux_2: endpoint { 52762306a36Sopenharmony_ci remote-endpoint = <&ipu2_di0_mipi>; 52862306a36Sopenharmony_ci }; 52962306a36Sopenharmony_ci }; 53062306a36Sopenharmony_ci 53162306a36Sopenharmony_ci port@3 { 53262306a36Sopenharmony_ci reg = <3>; 53362306a36Sopenharmony_ci 53462306a36Sopenharmony_ci mipi_mux_3: endpoint { 53562306a36Sopenharmony_ci remote-endpoint = <&ipu2_di1_mipi>; 53662306a36Sopenharmony_ci }; 53762306a36Sopenharmony_ci }; 53862306a36Sopenharmony_ci }; 53962306a36Sopenharmony_ci}; 54062306a36Sopenharmony_ci 54162306a36Sopenharmony_ci&mux { 54262306a36Sopenharmony_ci mux-reg-masks = <0x04 0x00080000>, /* MIPI_IPU1_MUX */ 54362306a36Sopenharmony_ci <0x04 0x00100000>, /* MIPI_IPU2_MUX */ 54462306a36Sopenharmony_ci <0x0c 0x0000000c>, /* HDMI_MUX_CTL */ 54562306a36Sopenharmony_ci <0x0c 0x000000c0>, /* LVDS0_MUX_CTL */ 54662306a36Sopenharmony_ci <0x0c 0x00000300>, /* LVDS1_MUX_CTL */ 54762306a36Sopenharmony_ci <0x28 0x00000003>, /* DCIC1_MUX_CTL */ 54862306a36Sopenharmony_ci <0x28 0x0000000c>; /* DCIC2_MUX_CTL */ 54962306a36Sopenharmony_ci}; 55062306a36Sopenharmony_ci 55162306a36Sopenharmony_ci&vpu { 55262306a36Sopenharmony_ci compatible = "fsl,imx6q-vpu", "cnm,coda960"; 55362306a36Sopenharmony_ci}; 554