MLK-17119: Add ARM2 DDR4 DTB
authorTeo Hall <teo.hall@nxp.com>
Tue, 5 Dec 2017 17:22:03 +0000 (11:22 -0600)
committerNitin Garg <nitin.garg@nxp.com>
Tue, 20 Mar 2018 19:51:21 +0000 (14:51 -0500)
Add DTB to support DDR4 version of the ARM2
board

Signed-off-by: Teo Hall <teo.hall@nxp.com>
arch/arm64/boot/dts/freescale/Makefile
arch/arm64/boot/dts/freescale/fsl-imx8qm-ddr4-arm2.dts [new file with mode: 0644]

index 37cdd96..03691d9 100644 (file)
@@ -4,6 +4,7 @@ dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls2080a-qds.dtb
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls2080a-rdb.dtb
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls2080a-simu.dtb
 dtb-$(CONFIG_ARCH_FSL_IMX8QM) += fsl-imx8qm-lpddr4-arm2.dtb \
+                                fsl-imx8qm-ddr4-arm2.dtb \
                                 fsl-imx8qm-lpddr4-arm2_ca53.dtb \
                                 fsl-imx8qm-lpddr4-arm2_ca72.dtb \
                                 fsl-imx8qm-mek.dtb \
diff --git a/arch/arm64/boot/dts/freescale/fsl-imx8qm-ddr4-arm2.dts b/arch/arm64/boot/dts/freescale/fsl-imx8qm-ddr4-arm2.dts
new file mode 100644 (file)
index 0000000..1c62844
--- /dev/null
@@ -0,0 +1,991 @@
+/*
+ * Copyright 2017 NXP
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+/dts-v1/;
+
+#include "fsl-imx8qm.dtsi"
+
+/ {
+       model = "Freescale i.MX8QM ARM2";
+       compatible = "fsl,imx8qm-arm2", "fsl,imx8qm";
+
+       bcmdhd_wlan_0: bcmdhd_wlan@0 {
+               compatible = "android,bcmdhd_wlan";
+               bcmdhd_fw = "/lib/firmware/bcm/1FD_BCM89359/fw_bcmdhd.bin";
+               bcmdhd_nv = "/lib/firmware/bcm/1FD_BCM89359/bcmdhd.cal";
+       };
+
+       chosen {
+               bootargs = "console=ttyLP0,115200 earlycon=lpuart32,0x5a060000,115200";
+               stdout-path = &lpuart0;
+       };
+
+       leds {
+               compatible = "gpio-leds";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_gpio_leds>;
+               user {
+                       label = "heartbeat";
+                       gpios = <&gpio2 15 0>;
+                       default-state = "on";
+                       linux,default-trigger = "heartbeat";
+               };
+       };
+
+       modem_reset: modem-reset {
+               compatible = "gpio-reset";
+               reset-gpios = <&pca9557_b 7 GPIO_ACTIVE_LOW>;
+               reset-delay-us = <2000>;
+               reset-post-delay-ms = <40>;
+               #reset-cells = <0>;
+       };
+
+       regulators {
+               compatible = "simple-bus";
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               reg_audio: regulator@0 {
+                       compatible = "regulator-fixed";
+                       reg = <2>;
+                       regulator-name = "cs42888_supply";
+                       regulator-min-microvolt = <3300000>;
+                       regulator-max-microvolt = <3300000>;
+                       regulator-always-on;
+               };
+
+               reg_can_en: regulator-can-gen {
+                       compatible = "regulator-fixed";
+                       regulator-name = "can-en";
+                       regulator-min-microvolt = <3300000>;
+                       regulator-max-microvolt = <3300000>;
+                       gpio = <&pca9557_b 5 GPIO_ACTIVE_HIGH>;
+                       enable-active-high;
+               };
+
+               reg_can_stby: regulator-can-stby {
+                       compatible = "regulator-fixed";
+                       regulator-name = "can-stby";
+                       regulator-min-microvolt = <3300000>;
+                       regulator-max-microvolt = <3300000>;
+                       gpio = <&pca9557_b 4 GPIO_ACTIVE_HIGH>;
+                       enable-active-high;
+                       vin-supply = <&reg_can_en>;
+               };
+
+               reg_usdhc2_vmmc: usdhc2_vmmc {
+                       compatible = "regulator-fixed";
+                       regulator-name = "sw-3p3-sd1";
+                       regulator-min-microvolt = <3300000>;
+                       regulator-max-microvolt = <3300000>;
+                       gpio = <&gpio4 7 GPIO_ACTIVE_HIGH>;
+                       enable-active-high;
+               };
+
+               epdev_on: fixedregulator@100 {
+                       compatible = "regulator-fixed";
+                       regulator-min-microvolt = <3300000>;
+                       regulator-max-microvolt = <3300000>;
+                       regulator-name = "epdev_on";
+                       gpio = <&pca9557_b 3 0>;
+                       enable-active-high;
+               };
+       };
+
+       sound-cs42888 {
+               compatible = "fsl,imx8qm-sabreauto-cs42888",
+                               "fsl,imx-audio-cs42888";
+               model = "imx-cs42888";
+               esai-controller = <&esai0>;
+               audio-codec = <&codec>;
+               asrc-controller = <&asrc0>;
+       };
+
+       sound-amix-sai {
+               compatible = "fsl,imx-audio-amix";
+               model = "amix-audio-sai";
+               dais = <&sai6>, <&sai7>;
+               amix-controller = <&amix>;
+       };
+
+       lvds_backlight0: lvds_backlight@0 {
+               compatible = "pwm-backlight";
+               pwms = <&lvds0_pwm 0 100000 0>;
+
+               brightness-levels = < 0  1  2  3  4  5  6  7  8  9
+                                    10 11 12 13 14 15 16 17 18 19
+                                    20 21 22 23 24 25 26 27 28 29
+                                    30 31 32 33 34 35 36 37 38 39
+                                    40 41 42 43 44 45 46 47 48 49
+                                    50 51 52 53 54 55 56 57 58 59
+                                    60 61 62 63 64 65 66 67 68 69
+                                    70 71 72 73 74 75 76 77 78 79
+                                    80 81 82 83 84 85 86 87 88 89
+                                    90 91 92 93 94 95 96 97 98 99
+                                   100>;
+               default-brightness-level = <80>;
+       };
+
+       lvds_backlight1: lvds_backlight@1 {
+               compatible = "pwm-backlight";
+               pwms = <&lvds1_pwm 0 100000 0>;
+
+               brightness-levels = < 0  1  2  3  4  5  6  7  8  9
+                                    10 11 12 13 14 15 16 17 18 19
+                                    20 21 22 23 24 25 26 27 28 29
+                                    30 31 32 33 34 35 36 37 38 39
+                                    40 41 42 43 44 45 46 47 48 49
+                                    50 51 52 53 54 55 56 57 58 59
+                                    60 61 62 63 64 65 66 67 68 69
+                                    70 71 72 73 74 75 76 77 78 79
+                                    80 81 82 83 84 85 86 87 88 89
+                                    90 91 92 93 94 95 96 97 98 99
+                                   100>;
+               default-brightness-level = <80>;
+       };
+};
+
+&acm {
+       status = "okay";
+};
+
+&amix {
+       status = "okay";
+};
+
+&asrc0 {
+       assigned-clocks = <&clk IMX8QM_AUD_PLL0_DIV>,
+                       <&clk IMX8QM_AUD_ACM_AUD_PLL_CLK0_DIV>,
+                       <&clk IMX8QM_AUD_ACM_AUD_REC_CLK0_DIV>;
+       assigned-clock-rates = <786432000>, <49152000>, <24576000>;
+       fsl,asrc-rate  = <48000>;
+       status = "okay";
+};
+
+&asrc1 {
+       fsl,asrc-rate = <48000>;
+       assigned-clocks = <&clk IMX8QM_AUD_PLL0_DIV>,
+                       <&clk IMX8QM_AUD_ACM_AUD_PLL_CLK0_DIV>,
+                       <&clk IMX8QM_AUD_ACM_AUD_REC_CLK0_DIV>;
+       assigned-clock-rates = <786432000>, <49152000>, <24576000>;
+       status = "okay";
+};
+
+&esai0 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_esai0>;
+       assigned-clocks = <&clk IMX8QM_ACM_ESAI0_MCLK_SEL>,
+                       <&clk IMX8QM_AUD_PLL0_DIV>,
+                       <&clk IMX8QM_AUD_ACM_AUD_PLL_CLK0_DIV>,
+                       <&clk IMX8QM_AUD_ACM_AUD_REC_CLK0_DIV>,
+                       <&clk IMX8QM_AUD_ESAI_0_EXTAL_IPG>;
+       assigned-clock-parents = <&clk IMX8QM_AUD_ACM_AUD_PLL_CLK0_CLK>;
+       assigned-clock-rates = <0>, <786432000>, <49152000>, <24576000>, <49152000>;
+       status = "okay";
+};
+
+&sai_hdmi_tx {
+       assigned-clocks =<&clk IMX8QM_ACM_HDMI_TX_SAI0_MCLK_SEL>,
+                       <&clk IMX8QM_AUD_PLL0_DIV>,
+                       <&clk IMX8QM_AUD_ACM_AUD_PLL_CLK0_DIV>,
+                       <&clk IMX8QM_AUD_ACM_AUD_REC_CLK0_DIV>,
+                       <&clk IMX8QM_AUD_SAI_HDMITX0_MCLK>;
+       assigned-clock-parents = <&clk IMX8QM_AUD_ACM_AUD_PLL_CLK0_CLK>;
+       assigned-clock-rates = <0>, <786432000>, <49152000>, <24576000>, <49152000>;
+       fsl,sai-asynchronous;
+       status = "okay";
+};
+
+&sai6 {
+       assigned-clocks = <&clk IMX8QM_ACM_SAI6_MCLK_SEL>,
+                       <&clk IMX8QM_AUD_PLL1_DIV>,
+                       <&clk IMX8QM_AUD_ACM_AUD_PLL_CLK1_DIV>,
+                       <&clk IMX8QM_AUD_ACM_AUD_REC_CLK1_DIV>,
+                       <&clk IMX8QM_AUD_SAI_6_MCLK>;
+       assigned-clock-parents = <&clk IMX8QM_AUD_ACM_AUD_PLL_CLK1_CLK>;
+       assigned-clock-rates = <0>, <786432000>, <98304000>, <24576000>, <98304000>;
+       fsl,sai-asynchronous;
+       fsl,txm-rxs;
+       status = "okay";
+};
+
+&sai7 {
+       assigned-clocks = <&clk IMX8QM_ACM_SAI7_MCLK_SEL>,
+                       <&clk IMX8QM_AUD_PLL1_DIV>,
+                       <&clk IMX8QM_AUD_ACM_AUD_PLL_CLK1_DIV>,
+                       <&clk IMX8QM_AUD_ACM_AUD_REC_CLK1_DIV>,
+                       <&clk IMX8QM_AUD_SAI_7_MCLK>;
+       assigned-clock-parents = <&clk IMX8QM_AUD_ACM_AUD_PLL_CLK1_CLK>;
+       assigned-clock-rates = <0>, <786432000>, <98304000>, <24576000>, <98304000>;
+       fsl,sai-asynchronous;
+       fsl,txm-rxs;
+       status = "okay";
+};
+
+&iomuxc {
+       imx8qm-arm2 {
+
+               pinctrl_esai0: esai0grp {
+                       fsl,pins = <
+                               SC_P_ESAI0_FSR_AUD_ESAI0_FSR            0xc600004c
+                               SC_P_ESAI0_FST_AUD_ESAI0_FST            0xc600004c
+                               SC_P_ESAI0_SCKR_AUD_ESAI0_SCKR          0xc600004c
+                               SC_P_ESAI0_SCKT_AUD_ESAI0_SCKT          0xc600004c
+                               SC_P_ESAI0_TX0_AUD_ESAI0_TX0            0xc600004c
+                               SC_P_ESAI0_TX1_AUD_ESAI0_TX1            0xc600004c
+                               SC_P_ESAI0_TX2_RX3_AUD_ESAI0_TX2_RX3    0xc600004c
+                               SC_P_ESAI0_TX3_RX2_AUD_ESAI0_TX3_RX2    0xc600004c
+                               SC_P_ESAI0_TX4_RX1_AUD_ESAI0_TX4_RX1    0xc600004c
+                               SC_P_ESAI0_TX5_RX0_AUD_ESAI0_TX5_RX0    0xc600004c
+                               SC_P_MCLK_OUT0_AUD_ACM_MCLK_OUT0        0xc600004c
+                       >;
+               };
+
+               pinctrl_fec1: fec1grp {
+                       fsl,pins = <
+                               SC_P_ENET0_MDC_CONN_ENET0_MDC                   0x06000020
+                               SC_P_ENET0_MDIO_CONN_ENET0_MDIO                 0x06000020
+                               SC_P_ENET0_RGMII_TX_CTL_CONN_ENET0_RGMII_TX_CTL 0x06000020
+                               SC_P_ENET0_RGMII_TXC_CONN_ENET0_RGMII_TXC       0x06000020
+                               SC_P_ENET0_RGMII_TXD0_CONN_ENET0_RGMII_TXD0     0x06000020
+                               SC_P_ENET0_RGMII_TXD1_CONN_ENET0_RGMII_TXD1     0x06000020
+                               SC_P_ENET0_RGMII_TXD2_CONN_ENET0_RGMII_TXD2     0x06000020
+                               SC_P_ENET0_RGMII_TXD3_CONN_ENET0_RGMII_TXD3     0x06000020
+                               SC_P_ENET0_RGMII_RXC_CONN_ENET0_RGMII_RXC       0x06000020
+                               SC_P_ENET0_RGMII_RX_CTL_CONN_ENET0_RGMII_RX_CTL 0x06000020
+                               SC_P_ENET0_RGMII_RXD0_CONN_ENET0_RGMII_RXD0     0x06000020
+                               SC_P_ENET0_RGMII_RXD1_CONN_ENET0_RGMII_RXD1     0x06000020
+                               SC_P_ENET0_RGMII_RXD2_CONN_ENET0_RGMII_RXD2     0x06000020
+                               SC_P_ENET0_RGMII_RXD3_CONN_ENET0_RGMII_RXD3     0x06000020
+                       >;
+               };
+
+               pinctrl_fec2: fec2grp {
+                       fsl,pins = <
+                               SC_P_ENET1_MDC_CONN_ENET1_MDC                   0x06000020
+                               SC_P_ENET1_MDIO_CONN_ENET1_MDIO                 0x06000020
+                               SC_P_ENET1_RGMII_TX_CTL_CONN_ENET1_RGMII_TX_CTL 0x06000020
+                               SC_P_ENET1_RGMII_TXC_CONN_ENET1_RGMII_TXC       0x06000020
+                               SC_P_ENET1_RGMII_TXD0_CONN_ENET1_RGMII_TXD0     0x06000020
+                               SC_P_ENET1_RGMII_TXD1_CONN_ENET1_RGMII_TXD1     0x06000020
+                               SC_P_ENET1_RGMII_TXD2_CONN_ENET1_RGMII_TXD2     0x06000020
+                               SC_P_ENET1_RGMII_TXD3_CONN_ENET1_RGMII_TXD3     0x06000020
+                               SC_P_ENET1_RGMII_RXC_CONN_ENET1_RGMII_RXC       0x06000020
+                               SC_P_ENET1_RGMII_RX_CTL_CONN_ENET1_RGMII_RX_CTL 0x06000020
+                               SC_P_ENET1_RGMII_RXD0_CONN_ENET1_RGMII_RXD0     0x06000020
+                               SC_P_ENET1_RGMII_RXD1_CONN_ENET1_RGMII_RXD1     0x06000020
+                               SC_P_ENET1_RGMII_RXD2_CONN_ENET1_RGMII_RXD2     0x06000020
+                               SC_P_ENET1_RGMII_RXD3_CONN_ENET1_RGMII_RXD3     0x06000020
+                       >;
+               };
+
+               pinctrl_lvds0_lpi2c1: lvds0lpi2c1grp {
+                       fsl,pins = <
+                               SC_P_LVDS0_I2C1_SCL_LVDS0_I2C1_SCL      0xc600004c
+                               SC_P_LVDS0_I2C1_SDA_LVDS0_I2C1_SDA      0xc600004c
+                       >;
+               };
+
+               pinctrl_lvds1_lpi2c1: lvds1lpi2c1grp {
+                       fsl,pins = <
+                               SC_P_LVDS1_I2C1_SCL_LVDS1_I2C1_SCL      0xc600004c
+                               SC_P_LVDS1_I2C1_SDA_LVDS1_I2C1_SDA      0xc600004c
+                       >;
+               };
+
+               pinctrl_hdmi_lpi2c0: hdmilpi2c0grp {
+                       fsl,pins = <
+                               SC_P_HDMI_TX0_TS_SCL_HDMI_TX0_I2C0_SCL  0xc600004c
+                               SC_P_HDMI_TX0_TS_SDA_HDMI_TX0_I2C0_SDA  0xc600004c
+                       >;
+               };
+
+               pinctrl_mipi0_lpi2c0: mipi0_lpi2c0grp {
+                       fsl,pins = <
+                               SC_P_MIPI_DSI0_I2C0_SCL_MIPI_DSI0_I2C0_SCL      0xc600004c
+                               SC_P_MIPI_DSI0_I2C0_SDA_MIPI_DSI0_I2C0_SDA      0xc600004c
+                       >;
+               };
+
+               pinctrl_mipi1_lpi2c0: mipi1_lpi2c0grp {
+                       fsl,pins = <
+                               SC_P_MIPI_DSI1_I2C0_SCL_MIPI_DSI1_I2C0_SCL      0xc600004c
+                               SC_P_MIPI_DSI1_I2C0_SDA_MIPI_DSI1_I2C0_SDA      0xc600004c
+                       >;
+               };
+
+               pinctrl_mipi_dsi_0_1_en: mipi_dsi_0_1_en {
+                       fsl,pins = <
+                               SC_P_LVDS0_I2C0_SDA_LSIO_GPIO1_IO07             0x00000021
+                       >;
+               };
+
+               pinctrl_lpi2c0: lpi2c0grp {
+                       fsl,pins = <
+                               SC_P_HDMI_TX0_TS_SCL_DMA_I2C0_SCL   0xc600004c
+                               SC_P_HDMI_TX0_TS_SDA_DMA_I2C0_SDA   0xc600004c
+                       >;
+               };
+
+               pinctrl_lpi2c1: lpi2c1grp {
+                       fsl,pins = <
+                               SC_P_GPT0_CLK_DMA_I2C1_SCL              0xc600004c
+                               SC_P_GPT0_CAPTURE_DMA_I2C1_SDA          0xc600004c
+                       >;
+               };
+
+               pinctrl_lpuart0: lpuart0grp {
+                       fsl,pins = <
+                               SC_P_UART0_RX_DMA_UART0_RX              0x06000020
+                               SC_P_UART0_TX_DMA_UART0_TX              0x06000020
+                       >;
+               };
+
+               pinctrl_lpuart1: lpuart1grp {
+                       fsl,pins = <
+                               SC_P_UART1_RX_DMA_UART1_RX              0x06000020
+                               SC_P_UART1_TX_DMA_UART1_TX              0x06000020
+                               SC_P_UART1_CTS_B_DMA_UART1_CTS_B        0x06000020
+                               SC_P_UART1_RTS_B_DMA_UART1_RTS_B        0x06000020
+                       >;
+               };
+
+               pinctrl_lpuart3: lpuart3grp {
+                       fsl,pins = <
+                               SC_P_M41_GPIO0_00_DMA_UART3_RX          0x06000020
+                               SC_P_M41_GPIO0_01_DMA_UART3_TX          0x06000020
+                       >;
+               };
+
+               pinctrl_mlb: mlbgrp {
+                       fsl,pins = <
+                               SC_P_MLB_SIG_CONN_MLB_SIG               0x21
+                               SC_P_MLB_CLK_CONN_MLB_CLK               0x21
+                               SC_P_MLB_DATA_CONN_MLB_DATA             0x21
+                       >;
+               };
+
+               pinctrl_isl29023: isl29023grp {
+                       fsl,pins = <
+                               SC_P_ADC_IN2_LSIO_GPIO3_IO20            0x00000021
+                       >;
+               };
+
+                pinctrl_usdhc3_gpio: usdhc3grpgpio {
+                        fsl,pins = <
+                                SC_P_USDHC2_RESET_B_CONN_USDHC2_RESET_B 0x00000021
+                        >;
+                };
+
+                pinctrl_usdhc3: usdhc3grp {
+                        fsl,pins = <
+                                SC_P_USDHC2_CLK_CONN_USDHC2_CLK         0x06000041
+                                SC_P_USDHC2_CMD_CONN_USDHC2_CMD         0x00000021
+                                SC_P_USDHC2_DATA0_CONN_USDHC2_DATA0     0x00000021
+                                SC_P_USDHC2_DATA1_CONN_USDHC2_DATA1     0x00000021
+                                SC_P_USDHC2_DATA2_CONN_USDHC2_DATA2     0x00000021
+                                SC_P_USDHC2_DATA3_CONN_USDHC2_DATA3     0x00000021
+                                SC_P_USDHC2_VSELECT_CONN_USDHC2_VSELECT 0x00000021
+                                /* WP */
+                                SC_P_USDHC2_WP_LSIO_GPIO4_IO11          0x00000021
+                                /* CD */
+                                SC_P_USDHC2_CD_B_LSIO_GPIO4_IO12        0x00000021
+                        >;
+                };
+
+                pinctrl_usdhc3_100mhz: usdhc3grp100mhz {
+                        fsl,pins = <
+                                SC_P_USDHC2_CLK_CONN_USDHC2_CLK         0x06000040
+                                SC_P_USDHC2_CMD_CONN_USDHC2_CMD         0x00000020
+                                SC_P_USDHC2_DATA0_CONN_USDHC2_DATA0     0x00000020
+                                SC_P_USDHC2_DATA1_CONN_USDHC2_DATA1     0x00000020
+                                SC_P_USDHC2_DATA2_CONN_USDHC2_DATA2     0x00000020
+                                SC_P_USDHC2_DATA3_CONN_USDHC2_DATA3     0x00000020
+                                SC_P_USDHC2_VSELECT_CONN_USDHC2_VSELECT 0x00000020
+                                /* WP */
+                                SC_P_USDHC2_WP_LSIO_GPIO4_IO11          0x00000020
+                                /* CD */
+                                SC_P_USDHC2_CD_B_LSIO_GPIO4_IO12        0x00000020
+                        >;
+                };
+
+                pinctrl_usdhc3_200mhz: usdhc3grp200mhz {
+                        fsl,pins = <
+                                SC_P_USDHC2_CLK_CONN_USDHC2_CLK         0x06000040
+                                SC_P_USDHC2_CMD_CONN_USDHC2_CMD         0x00000020
+                                SC_P_USDHC2_DATA0_CONN_USDHC2_DATA0     0x00000020
+                                SC_P_USDHC2_DATA1_CONN_USDHC2_DATA1     0x00000020
+                                SC_P_USDHC2_DATA2_CONN_USDHC2_DATA2     0x00000020
+                                SC_P_USDHC2_DATA3_CONN_USDHC2_DATA3     0x00000020
+                                SC_P_USDHC2_VSELECT_CONN_USDHC2_VSELECT 0x00000020
+                                /* WP */
+                                SC_P_USDHC2_WP_LSIO_GPIO4_IO11          0x00000020
+                                /* CD */
+                                SC_P_USDHC2_CD_B_LSIO_GPIO4_IO12        0x00000020
+                        >;
+                };
+
+               pinctrl_flexcan1: flexcan0grp {
+                       fsl,pins = <
+                               SC_P_FLEXCAN0_TX_DMA_FLEXCAN0_TX        0x21
+                               SC_P_FLEXCAN0_RX_DMA_FLEXCAN0_RX        0x21
+                       >;
+               };
+
+               pinctrl_flexcan2: flexcan1grp {
+                       fsl,pins = <
+                               SC_P_FLEXCAN1_TX_DMA_FLEXCAN1_TX        0x21
+                               SC_P_FLEXCAN1_RX_DMA_FLEXCAN1_RX        0x21
+                       >;
+               };
+
+               pinctrl_flexcan3: flexcan2grp {
+                       fsl,pins = <
+                               SC_P_FLEXCAN2_TX_DMA_FLEXCAN2_TX        0x21
+                               SC_P_FLEXCAN2_RX_DMA_FLEXCAN2_RX        0x21
+                       >;
+               };
+
+               pinctrl_flexspi0: flexspi0grp {
+                       fsl,pins = <
+                               SC_P_QSPI0A_DATA0_LSIO_QSPI0A_DATA0     0x0600004c
+                               SC_P_QSPI0A_DATA1_LSIO_QSPI0A_DATA1     0x0600004c
+                               SC_P_QSPI0A_DATA2_LSIO_QSPI0A_DATA2     0x0600004c
+                               SC_P_QSPI0A_DATA3_LSIO_QSPI0A_DATA3     0x0600004c
+                               SC_P_QSPI0A_DQS_LSIO_QSPI0A_DQS         0x0600004c
+                               SC_P_QSPI0A_SS0_B_LSIO_QSPI0A_SS0_B     0x0600004c
+                               SC_P_QSPI0A_SS1_B_LSIO_QSPI0A_SS1_B     0x0600004c
+                               SC_P_QSPI0A_SCLK_LSIO_QSPI0A_SCLK       0x0600004c
+                               SC_P_QSPI0B_SCLK_LSIO_QSPI0B_SCLK       0x0600004c
+                               SC_P_QSPI0B_DATA0_LSIO_QSPI0B_DATA0     0x0600004c
+                               SC_P_QSPI0B_DATA1_LSIO_QSPI0B_DATA1     0x0600004c
+                               SC_P_QSPI0B_DATA2_LSIO_QSPI0B_DATA2     0x0600004c
+                               SC_P_QSPI0B_DATA3_LSIO_QSPI0B_DATA3     0x0600004c
+                               SC_P_QSPI0B_DQS_LSIO_QSPI0B_DQS         0x0600004c
+                               SC_P_QSPI0B_SS0_B_LSIO_QSPI0B_SS0_B     0x0600004c
+                               SC_P_QSPI0B_SS1_B_LSIO_QSPI0B_SS1_B     0x0600004c
+                       >;
+               };
+
+               pinctrl_gpio_leds: gpioledsgrp {
+                       fsl,pins = <
+                               SC_P_SPDIF0_TX_LSIO_GPIO2_IO15          0x00000021
+                       >;
+               };
+
+               pinctrl_pciea: pcieagrp{
+                       fsl,pins = <
+                               SC_P_PCIE_CTRL0_CLKREQ_B_LSIO_GPIO4_IO27        0x00000021
+                               SC_P_PCIE_CTRL0_WAKE_B_LSIO_GPIO4_IO28          0x00000021
+                               SC_P_PCIE_CTRL0_PERST_B_LSIO_GPIO4_IO29         0x00000021
+                       >;
+               };
+
+               pinctrl_pcieb: pciebgrp{
+                       fsl,pins = <
+                               SC_P_PCIE_CTRL1_CLKREQ_B_LSIO_GPIO4_IO30        0x00000021
+                               SC_P_PCIE_CTRL1_WAKE_B_LSIO_GPIO4_IO31          0x00000021
+                               SC_P_PCIE_CTRL1_PERST_B_LSIO_GPIO5_IO00         0x00000021
+                       >;
+               };
+
+               pinctrl_usbotg1: usbotg1 {
+                       fsl,pins = <
+                               SC_P_USB_SS3_TC0_CONN_USB_OTG1_PWR              0x00000021
+                       >;
+               };
+
+               pinctrl_lvds0_pwm0: lvds0pwm0grp {
+                       fsl,pins = <
+                               SC_P_LVDS0_GPIO00_LVDS0_PWM0_OUT        0x00000020
+                       >;
+               };
+
+               pinctrl_lvds1_pwm0: lvds1pwm0grp {
+                       fsl,pins = <
+                               SC_P_LVDS1_GPIO00_LVDS1_PWM0_OUT        0x00000020
+                       >;
+               };
+       };
+};
+
+&gpio2 {
+       status = "okay";
+};
+
+&gpio5 {
+       status = "okay";
+};
+
+&usdhc3 {
+        pinctrl-names = "default", "state_100mhz", "state_200mhz";
+        pinctrl-0 = <&pinctrl_usdhc3>,<&pinctrl_usdhc3_gpio>;
+        pinctrl-1 = <&pinctrl_usdhc3_100mhz>,<&pinctrl_usdhc3_gpio>;
+        pinctrl-2 = <&pinctrl_usdhc3_200mhz>,<&pinctrl_usdhc3_gpio>;
+        bus-width = <4>;
+        cd-gpios = <&gpio4 12 GPIO_ACTIVE_LOW>;
+        wp-gpios = <&gpio4 11 GPIO_ACTIVE_HIGH>;
+        no-1-8-v;
+        status = "okay";
+
+};
+
+&usbotg1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_usbotg1>;
+       srp-disable;
+       hnp-disable;
+       adp-disable;
+       power-polarity-active-high;
+       disable-over-current;
+       status = "okay";
+};
+
+&usbotg3 {
+       dr_mode = "host";
+       status = "okay";
+};
+
+&fec1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_fec1>;
+       phy-mode = "rgmii";
+       phy-handle = <&ethphy0>;
+       fsl,magic-packet;
+       fsl,rgmii_txc_dly;
+       fsl,rgmii_rxc_dly;
+       status = "okay";
+
+       mdio {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               ethphy0: ethernet-phy@0 {
+                       compatible = "ethernet-phy-ieee802.3-c22";
+                       reg = <0>;
+                       at803x,eee-disabled;
+                       at803x,vddio-1p8v;
+               };
+
+               ethphy1: ethernet-phy@1 {
+                       compatible = "ethernet-phy-ieee802.3-c22";
+                       reg = <1>;
+                       at803x,eee-disabled;
+                       at803x,vddio-1p8v;
+               };
+       };
+};
+
+&fec2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_fec2>;
+       phy-mode = "rgmii-id";
+       phy-handle = <&ethphy1>;
+       fsl,magic-packet;
+       status = "okay";
+};
+
+&flexcan1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_flexcan1>;
+       xceiver-supply = <&reg_can_stby>;
+       status = "okay";
+};
+
+&flexcan2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_flexcan2>;
+       xceiver-supply = <&reg_can_stby>;
+       status = "okay";
+};
+
+&flexcan3 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_flexcan3>;
+       xceiver-supply = <&reg_can_stby>;
+       status = "okay";
+};
+
+&flexspi0 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_flexspi0>;
+       status = "okay";
+
+       flash0: mt35xu512aba@0 {
+               reg = <0>;
+               #address-cells = <1>;
+               #size-cells = <1>;
+               compatible = "micron,mt35xu512aba";
+               spi-max-frequency = <29000000>;
+               spi-nor,ddr-quad-read-dummy = <8>;
+       };
+};
+
+&i2c0_mipi_csi0 {
+       #address-cells = <1>;
+       #size-cells = <0>;
+       pinctrl-names = "default";
+       clock-frequency = <100000>;
+       status = "okay";
+
+       max9286_mipi@6A  {
+               compatible = "maxim,max9286_mipi";
+               reg = <0x6A>;
+               clocks = <&clk IMX8QM_CLK_DUMMY>;
+               clock-names = "capture_mclk";
+               mclk = <27000000>;
+               mclk_source = <0>;
+               virtual-channel;
+               port {
+                       max9286_0_ep: endpoint {
+                       remote-endpoint = <&mipi_csi0_ep>;
+                       data-lanes = <1 2 3 4>;
+                       };
+               };
+       };
+};
+
+&i2c0_mipi_csi1 {
+       #address-cells = <1>;
+       #size-cells = <0>;
+       pinctrl-names = "default";
+       clock-frequency = <100000>;
+       status = "disabled";
+
+       max9286_mipi@6A  {
+               compatible = "maxim,max9286_mipi";
+               reg = <0x6A>;
+               clocks = <&clk IMX8QM_CLK_DUMMY>;
+               clock-names = "capture_mclk";
+               mclk = <27000000>;
+               mclk_source = <0>;
+               virtual-channel;
+               port {
+                       max9286_1_ep: endpoint {
+                       remote-endpoint = <&mipi_csi1_ep>;
+                       data-lanes = <1 2 3 4>;
+                       };
+               };
+       };
+};
+
+&i2c0_hdmi {
+       #address-cells = <1>;
+       #size-cells = <0>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_hdmi_lpi2c0>;
+       clock-frequency = <100000>;
+       status = "disabled";
+};
+
+&i2c0 {
+       #address-cells = <1>;
+       #size-cells = <0>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_lpi2c0>;
+       clock-frequency = <100000>;
+       status = "okay";
+
+       codec: cs42888@48 {
+               compatible = "cirrus,cs42888";
+               reg = <0x48>;
+               clocks = <&clk IMX8QM_AUD_MCLKOUT0>;
+               clock-names = "mclk";
+               VA-supply = <&reg_audio>;
+               VD-supply = <&reg_audio>;
+               VLS-supply = <&reg_audio>;
+               VLC-supply = <&reg_audio>;
+               reset-gpio = <&pca9557_a 2 1>;
+               power-domains = <&pd_mclk_out0>;
+       };
+};
+
+&i2c1 {
+       #address-cells = <1>;
+       #size-cells = <0>;
+       clock-frequency = <100000>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_lpi2c1>;
+       status = "okay";
+
+       pca9557_a: gpio@18 {
+               compatible = "nxp,pca9557";
+               reg = <0x18>;
+               gpio-controller;
+               #gpio-cells = <2>;
+       };
+
+       pca9557_b: gpio@19 {
+               compatible = "nxp,pca9557";
+               reg = <0x19>;
+               gpio-controller;
+               #gpio-cells = <2>;
+       };
+
+       pca9557_c: gpio@1b {
+               compatible = "nxp,pca9557";
+               reg = <0x1b>;
+               gpio-controller;
+               #gpio-cells = <2>;
+       };
+
+       pca9557_d: gpio@1f {
+               compatible = "nxp,pca9557";
+               reg = <0x1f>;
+               gpio-controller;
+               #gpio-cells = <2>;
+       };
+
+       fxas2100x@20 {
+               compatible = "fsl,fxas2100x";
+               reg = <0x20>;
+       };
+
+       fxos8700@1d {
+               compatible = "fsl,fxos8700";
+               reg = <0x1d>;
+       };
+
+       isl29023@44 {
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_isl29023>;
+               compatible = "fsl,isl29023";
+               reg = <0x44>;
+               rext = <499>;
+               interrupt-parent = <&gpio3>;
+               interrupts = <20 2>;
+       };
+
+       mpl3115@60 {
+               compatible = "fsl,mpl3115";
+               reg = <0x60>;
+       };
+};
+
+&pd_dma_lpuart0 {
+       debug_console;
+};
+
+&lpuart0 { /* console */
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_lpuart0>;
+       status = "okay";
+};
+
+&lpuart1 { /* BT */
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_lpuart1>;
+       resets = <&modem_reset>;
+       status = "disabled";
+};
+
+&lpuart3 { /* GPS */
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_lpuart3>;
+       status = "disabled";
+};
+
+&mipi_csi_0 {
+       #address-cells = <1>;
+       #size-cells = <0>;
+       virtual-channel;
+       status = "okay";
+
+       /* Camera 0  MIPI CSI-2 (CSIS0) */
+       port@0 {
+               reg = <0>;
+               mipi_csi0_ep: endpoint {
+                       remote-endpoint = <&max9286_0_ep>;
+                       data-lanes = <1 2 3 4>;
+               };
+       };
+};
+
+&mipi_csi_1 {
+       #address-cells = <1>;
+       #size-cells = <0>;
+       virtual-channel;
+       status = "disabled";
+
+       /* Camera 0 MIPI CSI-2 (CSIS1) */
+       port@1 {
+               reg = <1>;
+               mipi_csi1_ep: endpoint {
+                       remote-endpoint = <&max9286_1_ep>;
+                       data-lanes = <1 2 3 4>;
+               };
+       };
+};
+
+&mlb {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_mlb>;
+       pinctrl-assert-gpios = <&pca9557_d 2 GPIO_ACTIVE_LOW>;
+       status = "okay";
+};
+
+&isi_0 {
+       status = "okay";
+};
+
+&isi_1 {
+       status = "okay";
+};
+
+&isi_2 {
+       status = "okay";
+};
+
+&isi_3 {
+       status = "okay";
+};
+
+&isi_4 {
+       status = "okay";
+};
+
+&isi_5 {
+       status = "okay";
+};
+
+&isi_6 {
+       status = "okay";
+};
+
+&isi_7 {
+       status = "okay";
+};
+
+&gpu_3d0 {
+       status = "okay";
+};
+
+&gpu_3d1 {
+       status = "okay";
+};
+
+&imx8_gpu_ss {
+       status = "okay";
+};
+
+&dpu1 {
+       status = "okay";
+};
+
+&dpu2 {
+       status = "okay";
+};
+
+&pciea{
+       ext_osc = <1>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_pciea>;
+       reset-gpio = <&gpio4 29 GPIO_ACTIVE_LOW>;
+       clkreq-gpio = <&gpio4 27 GPIO_ACTIVE_LOW>;
+       status = "okay";
+};
+
+&pcieb{
+       ext_osc = <1>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_pcieb>;
+       reset-gpio = <&gpio5 0 GPIO_ACTIVE_LOW>;
+       clkreq-gpio = <&gpio4 1 GPIO_ACTIVE_LOW>;
+       epdev_on-supply = <&epdev_on>;
+       status = "okay";
+};
+
+&intmux_cm40 {
+       status = "okay";
+};
+
+&rpmsg{
+       /*
+        * 64K for one rpmsg instance:
+        * --0xb8000000~0xb800ffff: pingpong
+        */
+       vdev-nums = <1>;
+       reg = <0x0 0xb8000000 0x0 0x10000>;
+       status = "okay";
+};
+
+&intmux_cm41 {
+       status = "okay";
+};
+
+&rpmsg1{
+       /*
+        * 64K for one rpmsg instance:
+        * --0xb8100000~0xb810ffff: pingpong
+        */
+       vdev-nums = <1>;
+       reg = <0x0 0xb8100000 0x0 0x10000>;
+       status = "okay";
+};
+
+&lvds0_pwm {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_lvds0_pwm0>;
+       status = "okay";
+};
+
+&lvds1_pwm {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_lvds1_pwm0>;
+       status = "okay";
+};
+
+&ldb1_phy {
+       status = "okay";
+};
+
+&ldb1 {
+       status = "okay";
+
+       lvds-channel@0 {
+               fsl,data-mapping = "jeida";
+               fsl,data-width = <24>;
+               status = "okay";
+
+               port@1 {
+                       reg = <1>;
+
+                       lvds0_out: endpoint {
+                               remote-endpoint = <&it6263_0_in>;
+                       };
+               };
+       };
+};
+
+&i2c1_lvds0 {
+       #address-cells = <1>;
+       #size-cells = <0>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_lvds0_lpi2c1>;
+       clock-frequency = <100000>;
+       status = "okay";
+
+       lvds-to-hdmi-bridge@4c {
+               compatible = "ite,it6263";
+               reg = <0x4c>;
+
+               port {
+                       it6263_0_in: endpoint {
+                               clock-lanes = <3>;
+                               data-lanes = <0 1 2 4>;
+                               remote-endpoint = <&lvds0_out>;
+                       };
+               };
+       };
+};