MLK-11603-3: dts: Enable sii902x hdmi driver on 4.1.y branch
authorSandor Yu <R01008@freescale.com>
Wed, 23 Sep 2015 09:18:18 +0000 (17:18 +0800)
committerNitin Garg <nitin.garg@nxp.com>
Mon, 19 Mar 2018 19:48:42 +0000 (14:48 -0500)
Add sii902x hdmi driver to imx6sl, imx6sx and imx7d boards.

Signed-off-by: Sandor Yu <R01008@freescale.com>
arch/arm/boot/dts/Makefile
arch/arm/boot/dts/imx6sl-evk.dts
arch/arm/boot/dts/imx6sx-sdb-lcdif1.dts [new file with mode: 0644]
arch/arm/boot/dts/imx6sx-sdb.dts
arch/arm/boot/dts/imx6sx-sdb.dtsi
arch/arm/boot/dts/imx6sx.dtsi
arch/arm/boot/dts/imx7d-sdb.dts

index 14ab4cf..46e6423 100644 (file)
@@ -428,6 +428,7 @@ dtb-$(CONFIG_SOC_IMX6SX) += \
        imx6sx-sdb-sai.dtb \
        imx6sx-sdb-reva-ldo.dtb \
        imx6sx-sdb.dtb  \
+       imx6sx-sdb-lcdif1.dtb \
        imx6sx-sdb-ldo.dtb      \
        imx6sx-sdb-sai.dtb \
        imx6sx-19x19-arm2.dtb \
index 008d8bd..d1d84b2 100644 (file)
                spdif-controller = <&spdif>;
                spdif-out;
        };
+
+       sii902x_reset: sii902x-reset {
+               compatible = "gpio-reset";
+               reset-gpios = <&gpio2 19 1>;
+               reset-delay-us = <100000>;
+               #reset-cells = <0>;
+       };
 };
 
 &audmux {
                SPKVDD2-supply = <&reg_aud4v>;
                amic-mono;
        };
+
+       sii902x@39 {
+               compatible = "SiI,sii902x";
+               interrupt-parent = <&gpio2>;
+               interrupts = <10 2>;
+               mode_str ="1280x720M@60";
+               bits-per-pixel = <16>;
+               resets = <&sii902x_reset>;
+               reg = <0x39>;
+       };
 };
 
 &i2c3 {
                                MX6SL_PAD_KEY_COL4__GPIO4_IO00  0x80000000
                                MX6SL_PAD_KEY_COL5__GPIO4_IO02  0x80000000
                                MX6SL_PAD_AUD_MCLK__AUDIO_CLK_OUT 0x4130b0
+                               MX6SL_PAD_ECSPI2_MISO__GPIO4_IO14 0x17000
+                               MX6SL_PAD_ECSPI2_MOSI__GPIO4_IO13 0x17000
+                               MX6SL_PAD_ECSPI2_SS0__GPIO4_IO15  0x17000
                                MX6SL_PAD_FEC_RX_ER__GPIO4_IO19   0x1b0b0
+                               MX6SL_PAD_EPDC_PWRCTRL3__GPIO2_IO10 0x17000
+                               MX6SL_PAD_EPDC_PWRCTRL2__GPIO2_IO09 0x80000000
+                               MX6SL_PAD_KEY_COL6__GPIO4_IO04    0x110b0
+                               MX6SL_PAD_LCD_RESET__GPIO2_IO19   0x1b0b0
                        >;
                };
 
diff --git a/arch/arm/boot/dts/imx6sx-sdb-lcdif1.dts b/arch/arm/boot/dts/imx6sx-sdb-lcdif1.dts
new file mode 100644 (file)
index 0000000..dd8c1da
--- /dev/null
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2014-2015 Freescale Semiconductor, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#include "imx6sx-sdb.dts"
+
+/ {
+       regulators {
+               reg_lcd_3v3: regulator@4 {
+                       status = "okay";
+               };
+       };
+
+       sii902x_reset: sii902x-reset {
+               status = "okay";
+       };
+};
+
+&csi1 {
+       status = "disabled";
+};
+
+&lcdif1 {
+       status = "okay";
+};
+
+&i2c1 {
+       sii902x@39 {
+               status = "okay";
+       };
+};
index 2125364..f722cae 100644 (file)
        fsl,arm-soc-shared = <1>;
 };
 
-&i2c1 {
-       clock-frequency = <100000>;
-       pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_i2c1>;
-       status = "okay";
-
-       pmic: pfuze100@08 {
-               compatible = "fsl,pfuze200";
-               reg = <0x08>;
-
-               regulators {
-                       sw1a_reg: sw1ab {
-                               regulator-min-microvolt = <300000>;
-                               regulator-max-microvolt = <1875000>;
-                               regulator-boot-on;
-                               regulator-always-on;
-                               regulator-ramp-delay = <6250>;
-                       };
-
-                       sw2_reg: sw2 {
-                               regulator-min-microvolt = <800000>;
-                               regulator-max-microvolt = <3300000>;
-                               regulator-boot-on;
-                               regulator-always-on;
-                       };
-
-                       sw3a_reg: sw3a {
-                               regulator-min-microvolt = <400000>;
-                               regulator-max-microvolt = <1975000>;
-                               regulator-boot-on;
-                               regulator-always-on;
-                       };
-
-                       sw3b_reg: sw3b {
-                               regulator-min-microvolt = <400000>;
-                               regulator-max-microvolt = <1975000>;
-                               regulator-boot-on;
-                               regulator-always-on;
-                       };
-
-                       swbst_reg: swbst {
-                               regulator-min-microvolt = <5000000>;
-                               regulator-max-microvolt = <5150000>;
-                       };
-
-                       snvs_reg: vsnvs {
-                               regulator-min-microvolt = <1000000>;
-                               regulator-max-microvolt = <3000000>;
-                               regulator-boot-on;
-                               regulator-always-on;
-                       };
-
-                       vref_reg: vrefddr {
-                               regulator-boot-on;
-                               regulator-always-on;
-                       };
-
-                       vgen1_reg: vgen1 {
-                               regulator-min-microvolt = <800000>;
-                               regulator-max-microvolt = <1550000>;
-                               regulator-always-on;
-                       };
-
-                       vgen2_reg: vgen2 {
-                               regulator-min-microvolt = <800000>;
-                               regulator-max-microvolt = <1550000>;
-                       };
-
-                       vgen3_reg: vgen3 {
-                               regulator-min-microvolt = <1800000>;
-                               regulator-max-microvolt = <3300000>;
-                               regulator-always-on;
-                       };
-
-                       vgen4_reg: vgen4 {
-                               regulator-min-microvolt = <1800000>;
-                               regulator-max-microvolt = <3300000>;
-                               regulator-always-on;
-                       };
-
-                       vgen5_reg: vgen5 {
-                               regulator-min-microvolt = <1800000>;
-                               regulator-max-microvolt = <3300000>;
-                               regulator-always-on;
-                       };
-
-                       vgen6_reg: vgen6 {
-                               regulator-min-microvolt = <1800000>;
-                               regulator-max-microvolt = <3300000>;
-                               regulator-always-on;
-                       };
-               };
-       };
-};
-
 &qspi2 {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_qspi2>;
index d12c1fd..d86cb17 100644 (file)
                reg = <0x80000000 0x40000000>;
        };
 
-       backlight {
+       backlight1 {
                compatible = "pwm-backlight";
                pwms = <&pwm3 0 5000000>;
                brightness-levels = <0 4 8 16 32 64 128 255>;
                default-brightness-level = <6>;
+               fb-names = "mxs-lcdif0";
+       };
+       backlight2 {
+               compatible = "pwm-backlight";
+               pwms = <&pwm4 0 5000000>;
+               brightness-levels = <0 4 8 16 32 64 128 255>;
+               default-brightness-level = <6>;
+               fb-names = "mxs-lcdif1";
        };
 
        gpio-keys {
                };
        };
 
+       hannstar_cabc {
+               compatible = "hannstar,cabc";
+               lvds0 {
+                       gpios = <&gpio4 26 GPIO_ACTIVE_HIGH>;
+               };
+       };
        regulators {
                compatible = "simple-bus";
                #address-cells = <1>;
                        regulator-name = "lcd-3v3";
                        gpio = <&gpio3 27 0>;
                        enable-active-high;
+                       status = "disabled";
                };
 
                reg_peri_3v3: regulator@5 {
                spdif-controller = <&spdif>;
                spdif-out;
        };
+
+       sii902x_reset: sii902x-reset {
+               compatible = "gpio-reset";
+               reset-gpios = <&gpio3 27 1>;
+               reset-delay-us = <100000>;
+               #reset-cells = <0>;
+               status = "disabled";
+       };
 };
 
 &adc1 {
        pinctrl-0 = <&pinctrl_i2c1>;
        status = "okay";
 
+       pmic: pfuze100@08 {
+               compatible = "fsl,pfuze200";
+               reg = <0x08>;
+
+               regulators {
+                       sw1a_reg: sw1ab {
+                               regulator-min-microvolt = <300000>;
+                               regulator-max-microvolt = <1875000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                               regulator-ramp-delay = <6250>;
+                       };
+
+                       sw2_reg: sw2 {
+                               regulator-min-microvolt = <800000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       sw3a_reg: sw3a {
+                               regulator-min-microvolt = <400000>;
+                               regulator-max-microvolt = <1975000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       sw3b_reg: sw3b {
+                               regulator-min-microvolt = <400000>;
+                               regulator-max-microvolt = <1975000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       swbst_reg: swbst {
+                               regulator-min-microvolt = <5000000>;
+                               regulator-max-microvolt = <5150000>;
+                       };
+
+                       snvs_reg: vsnvs {
+                               regulator-min-microvolt = <1000000>;
+                               regulator-max-microvolt = <3000000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       vref_reg: vrefddr {
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       vgen1_reg: vgen1 {
+                               regulator-min-microvolt = <800000>;
+                               regulator-max-microvolt = <1550000>;
+                               regulator-always-on;
+                       };
+
+                       vgen2_reg: vgen2 {
+                               regulator-min-microvolt = <800000>;
+                               regulator-max-microvolt = <1550000>;
+                       };
+
+                       vgen3_reg: vgen3 {
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-always-on;
+                       };
+
+                       vgen4_reg: vgen4 {
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-always-on;
+                       };
+
+                       vgen5_reg: vgen5 {
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-always-on;
+                       };
+
+                       vgen6_reg: vgen6 {
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-always-on;
+                       };
+               };
+       };
+
        ov5640: ov5640@3c {
                compatible = "ovti,ov5640";
                reg = <0x3c>;
                        };
                };
        };
+
+       sii902x@39 {
+               compatible = "SiI,sii902x";
+               interrupt-parent = <&gpio4>;
+               interrupts = <21 2>;
+               mode_str ="1280x720M@60";
+               bits-per-pixel = <16>;
+               resets = <&sii902x_reset>;
+               reg = <0x39>;
+               status = "disabled";
+       };
 };
 
 &i2c3 {
        pinctrl-0 = <&pinctrl_lcd>;
        lcd-supply = <&reg_lcd_3v3>;
        display = <&display0>;
-       status = "okay";
+       status = "disabled";
 
-       display0: display0 {
+       display0: display {
                bits-per-pixel = <16>;
                bus-width = <24>;
 
        status = "okay";
 };
 
+&lcdif2 {
+       display = <&display1>;
+       disp-dev = "ldb";
+       status = "okay";
+       display1: display {
+               bits-per-pixel = <16>;
+               bus-width = <18>;
+       };
+};
+&ldb {
+       status = "okay";
+       lvds-channel@0 {
+               fsl,data-mapping = "spwg";
+               fsl,data-width = <18>;
+               crtc = "lcdif2";
+               status = "okay";
+               display-timings {
+                       native-mode = <&timing1>;
+                       timing1: hsd100pxn1 {
+                               clock-frequency = <65000000>;
+                               hactive = <1024>;
+                               vactive = <768>;
+                               hback-porch = <220>;
+                               hfront-porch = <40>;
+                               vback-porch = <21>;
+                               vfront-porch = <7>;
+                               hsync-len = <60>;
+                               vsync-len = <10>;
+                       };
+               };
+       };
+};
+
 &pwm3 {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_pwm3>;
index 306a640..9747645 100644 (file)
                                reg = <0x020e4000 0x4000>;
                        };
 
+                       ldb: ldb@020e0014 {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                               compatible = "fsl,imx6sx-ldb", "fsl,imx53-ldb";
+                               gpr = <&gpr>;
+                               status = "disabled";
+                               clocks = <&clks IMX6SX_CLK_LDB_DI0>,
+                                        <&clks IMX6SX_CLK_LCDIF1_SEL>,
+                                        <&clks IMX6SX_CLK_LCDIF2_SEL>,
+                                        <&clks IMX6SX_CLK_LDB_DI0_DIV_3_5>,
+                                        <&clks IMX6SX_CLK_LDB_DI0_DIV_7>,
+                                        <&clks IMX6SX_CLK_LDB_DI0_DIV_SEL>;
+                               clock-names = "ldb_di0",
+                                             "di0_sel",
+                                             "di1_sel",
+                                             "ldb_di0_div_3_5",
+                                             "ldb_di0_div_7",
+                                             "ldb_di0_div_sel";
+                               lvds-channel@0 {
+                                       reg = <0>;
+                                       status = "disabled";
+                               };
+                       };
+
                        sdma: sdma@020ec000 {
                                compatible = "fsl,imx6sx-sdma", "fsl,imx35-sdma";
                                reg = <0x020ec000 0x4000>;
                                                 <&clks IMX6SX_CLK_CSI>,
                                                 <&clks IMX6SX_CLK_DCIC1>;
                                        clock-names = "disp-axi", "csi_mclk", "disp_dcic";
-                                       power-domains = <&gpc 2>;
                                        status = "disabled";
                                };
 
                                                 <&clks IMX6SX_CLK_CSI>,
                                                 <&clks IMX6SX_CLK_DCIC2>;
                                        clock-names = "disp-axi", "csi_mclk", "disp_dcic";
-                                       power-domains = <&gpc 2>;
                                        status = "disabled";
                                };
 
                                };
 
                                vadc: vadc@02228000 {
+                                       compatible = "fsl,imx6sx-vadc";
                                        reg = <0x02228000 0x4000>, <0x0222c000 0x4000>;
                                        reg-names = "vadc-vafe", "vadc-vdec";
                                        clocks = <&clks IMX6SX_CLK_VADC>,
                                                 <&clks IMX6SX_CLK_CSI>;
                                        clock-names = "vadc", "csi";
+                                       gpr = <&gpr>;
                                        status = "disabled";
                                };
                        };
index a02ff91..409ae61 100644 (file)
        };
 
        sound {
-               compatible = "fsl,imx7d-evk-wm8960",
+               compatible = "fsl,imx7d-evk-wm8960",
                             "fsl,imx-audio-wm8960";
                model = "wm8960-audio";
                cpu-dai = <&sai1>;
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_i2c3>;
        status = "okay";
+       sii902x: sii902x@39 {
+               compatible = "SiI,sii902x";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_sii902x>;
+               interrupt-parent = <&gpio2>;
+               interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
+               mode_str ="1280x720M@60";
+               bits-per-pixel = <16>;
+               reg = <0x39>;
+               status = "okay";
+       };
 };
 
 &i2c4 {
                        >;
                };
 
+               pinctrl_sii902x: hdmigrp-1 {
+                       fsl,pins = <
+                               MX7D_PAD_EPDC_DATA13__GPIO2_IO13 0x59
+                       >;
+               };
+
                pinctrl_sim1_1: sim1grp-1 {
                        fsl,pins = <
                                MX7D_PAD_EPDC_DATA10__SIM1_PORT1_RST_B 0x77