Merge tag 'cris-for-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/jesper...
[cascardo/linux.git] / arch / arm / boot / dts / imx6qdl-udoo.dtsi
index d3e54e4..c96c91d 100644 (file)
  */
 
 / {
+       aliases {
+               backlight = &backlight;
+               panelchan = &panelchan;
+               panel7 = &panel7;
+               touchscreenp7 = &touchscreenp7;
+       };
+
        chosen {
                stdout-path = &uart2;
        };
 
+       backlight: backlight {
+               compatible = "gpio-backlight";
+               gpios = <&gpio1 4 0>;
+               default-on;
+               status = "disabled";
+       };
+
        memory {
                reg = <0x10000000 0x40000000>;
        };
 
+       panel7: panel7 {
+               /*
+                * in reality it is a -20t (parallel) model,
+                * but with LVDS bridge chip attached,
+                * so it is equivalent to -19t model in drive
+                * characteristics
+                */
+               compatible = "urt,umsh-8596md-19t";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_panel>;
+               power-supply = <&reg_panel>;
+               backlight = <&backlight>;
+               status = "disabled";
+
+               port {
+                       panel_in: endpoint {
+                               remote-endpoint = <&lvds0_out>;
+                       };
+               };
+       };
+
        regulators {
                compatible = "simple-bus";
                #address-cells = <1>;
                        startup-delay-us = <2>; /* USB2415 requires a POR of 1 us minimum */
                        gpio = <&gpio7 12 0>;
                };
+
+               reg_panel: regulator@1 {
+                       compatible = "regulator-fixed";
+                       reg = <1>;
+                       regulator-name = "lcd_panel";
+                       enable-active-high;
+                       gpio = <&gpio1 2 0>;
+               };
        };
 
        sound {
        status = "okay";
 };
 
+&i2c3 {
+       clock-frequency = <100000>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_i2c3>;
+       status = "okay";
+
+       touchscreenp7: touchscreenp7@55 {
+               compatible = "sitronix,st1232";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_touchscreenp7>;
+               reg = <0x55>;
+               interrupt-parent = <&gpio1>;
+               interrupts = <13 8>;
+               gpios = <&gpio1 15 0>;
+               status = "disabled";
+       };
+};
+
 &iomuxc {
        imx6q-udoo {
                pinctrl_enet: enetgrp {
                        fsl,pins = <
-                               MX6QDL_PAD_RGMII_RXC__RGMII_RXC         0x1b0b0
-                               MX6QDL_PAD_RGMII_RD0__RGMII_RD0         0x1b0b0
-                               MX6QDL_PAD_RGMII_RD1__RGMII_RD1         0x1b0b0
-                               MX6QDL_PAD_RGMII_RD2__RGMII_RD2         0x1b0b0
-                               MX6QDL_PAD_RGMII_RD3__RGMII_RD3         0x1b0b0
-                               MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL   0x1b0b0
-                               MX6QDL_PAD_RGMII_TXC__RGMII_TXC         0x1b0b0
-                               MX6QDL_PAD_RGMII_TD0__RGMII_TD0         0x1b0b0
-                               MX6QDL_PAD_RGMII_TD1__RGMII_TD1         0x1b0b0
-                               MX6QDL_PAD_RGMII_TD2__RGMII_TD2         0x1b0b0
-                               MX6QDL_PAD_RGMII_TD3__RGMII_TD3         0x1b0b0
-                               MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL   0x1b0b0
+                               MX6QDL_PAD_RGMII_RXC__RGMII_RXC         0x1b030
+                               MX6QDL_PAD_RGMII_RD0__RGMII_RD0         0x1b030
+                               MX6QDL_PAD_RGMII_RD1__RGMII_RD1         0x1b030
+                               MX6QDL_PAD_RGMII_RD2__RGMII_RD2         0x1b030
+                               MX6QDL_PAD_RGMII_RD3__RGMII_RD3         0x1b030
+                               MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL   0x1b030
+                               MX6QDL_PAD_RGMII_TXC__RGMII_TXC         0x1b030
+                               MX6QDL_PAD_RGMII_TD0__RGMII_TD0         0x1b030
+                               MX6QDL_PAD_RGMII_TD1__RGMII_TD1         0x1b030
+                               MX6QDL_PAD_RGMII_TD2__RGMII_TD2         0x1b030
+                               MX6QDL_PAD_RGMII_TD3__RGMII_TD3         0x1b030
+                               MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL   0x1b030
                                MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK    0x1b0b0
                                MX6QDL_PAD_ENET_MDIO__ENET_MDIO         0x1b0b0
                                MX6QDL_PAD_ENET_MDC__ENET_MDC           0x1b0b0
                        >;
                };
 
+               pinctrl_i2c3: i2c3grp {
+                       fsl,pins = <
+                               MX6QDL_PAD_GPIO_5__I2C3_SCL             0x4001f8b1
+                               MX6QDL_PAD_GPIO_6__I2C3_SDA             0x4001f8b1
+                       >;
+               };
+
+               pinctrl_panel: panelgrp {
+                       fsl,pins = <
+                               MX6QDL_PAD_GPIO_2__GPIO1_IO02           0x70
+                               MX6QDL_PAD_GPIO_4__GPIO1_IO04           0x70
+                       >;
+               };
+
+               pinctrl_touchscreenp7: touchscreenp7grp {
+                       fsl,pins = <
+                               MX6QDL_PAD_SD2_DAT0__GPIO1_IO15         0x70
+                               MX6QDL_PAD_SD2_DAT2__GPIO1_IO13         0x1b0b0
+                       >;
+               };
+
                pinctrl_uart2: uart2grp {
                        fsl,pins = <
                                MX6QDL_PAD_EIM_D26__UART2_TX_DATA       0x1b0b1
        };
 };
 
+&ldb {
+       status = "okay";
+
+       panelchan: lvds-channel@0 {
+               port@4 {
+                       reg = <4>;
+
+                       lvds0_out: endpoint {
+                               remote-endpoint = <&panel_in>;
+                       };
+               };
+       };
+};
+
 &uart2 {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_uart2>;
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_usbh>;
        vbus-supply = <&reg_usb_h1_vbus>;
-       clocks = <&clks 201>;
+       clocks = <&clks IMX6QDL_CLK_CKO>;
        status = "okay";
 };