On Sun, Mar 27, 2016 at 05:51:13PM +0200, Maciej S. Szmigiero wrote:
> The official UDOO board kit has 7 and 15.6 inch touchscreen LCD panels
> as options.
> 
> This patch adds support for 7 inch panel only, but the 15.6 inch one
> should be easy to add using the same regulator, backlight device and
> LVDS channel.
> 
> Since this panel is an option for UDOO board it is disabled by default
> and can be enabled (for example) by the following U-Boot commands:
> fdt set backlight status okay
> fdt set panelchan status okay
> fdt set panel7 status okay
> fdt set touchscreenp7 status okay
> 
> The LVDS channel is also disabled by default to avoid warning from its
> driver.
> 
> Signed-off-by: Maciej S. Szmigiero <m...@maciej.szmigiero.name>
> ---
>  arch/arm/boot/dts/imx6qdl-udoo.dtsi | 96 
> +++++++++++++++++++++++++++++++++++++
>  1 file changed, 96 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/imx6qdl-udoo.dtsi 
> b/arch/arm/boot/dts/imx6qdl-udoo.dtsi
> index d3e54e40a017..6a0a7ddb59ae 100644
> --- a/arch/arm/boot/dts/imx6qdl-udoo.dtsi
> +++ b/arch/arm/boot/dts/imx6qdl-udoo.dtsi
> @@ -10,6 +10,13 @@
>   */
>  
>  / {
> +     aliases {
> +             backlight = &backlight;
> +             panelchan = &panelchan;
> +             panel7 = &panel7;
> +             touchscreenp7 = &touchscreenp7;
> +     };
> +
>       chosen {
>               stdout-path = &uart2;
>       };
> @@ -33,6 +40,14 @@
>                       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 {
> @@ -46,6 +61,34 @@
>               mux-int-port = <1>;
>               mux-ext-port = <6>;
>       };
> +
> +     backlight: backlight {
> +             compatible = "gpio-backlight";
> +             gpios = <&gpio1 4 0>;
> +             default-on;
> +             status = "disabled";
> +     };
> +
> +     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
> +              */
> +             pinctrl-names = "default";
> +             pinctrl-0 = <&pinctrl_panel>;
> +             compatible = "urt,umsh-8596md-19t";

We generally let 'compatible' be the first property.

> +             power-supply = <&reg_panel>;
> +             backlight = <&backlight>;
> +             status = "disabled";
> +
> +             port {
> +                     panel_in: endpoint {
> +                             remote-endpoint = <&lvds0_out>;
> +                     };
> +             };
> +     };
>  };
>  
>  &fec {
> @@ -151,6 +194,27 @@
>                               MX6QDL_PAD_EIM_EB2__GPIO2_IO30          0x1b0b0
>                       >;
>               };
> +
> +             pinctrl_panel: panelgrp {

Please sort pinctrl entries alphabetically.

> +                     fsl,pins = <
> +                             MX6QDL_PAD_GPIO_2__GPIO1_IO02           0x70
> +                             MX6QDL_PAD_GPIO_4__GPIO1_IO04           0x70
> +                     >;
> +             };
> +
> +             pinctrl_i2c3: i2c3grp {
> +                     fsl,pins = <
> +                             MX6QDL_PAD_GPIO_5__I2C3_SCL             
> 0x4001f8b1
> +                             MX6QDL_PAD_GPIO_6__I2C3_SDA             
> 0x4001f8b1
> +                     >;
> +             };
> +
> +             pinctrl_touchscreenp7: touchscreenp7grp {
> +                     fsl,pins = <
> +                             MX6QDL_PAD_SD2_DAT0__GPIO1_IO15         0x70
> +                             MX6QDL_PAD_SD2_DAT2__GPIO1_IO13         0x1b0b0
> +                     >;
> +             };
>       };
>  };
>  
> @@ -189,3 +253,35 @@
>       ac97-gpios = <&gpio4 19 0 &gpio4 18 0 &gpio2 30 0>;
>       status = "okay";
>  };
> +
> +&ldb {

Please try to keep the node alphabetically in label name.

Shawn

> +     status = "okay";
> +
> +     panelchan: lvds-channel@0 {
> +             port@4 {
> +                     reg = <4>;
> +
> +                     lvds0_out: endpoint {
> +                             remote-endpoint = <&panel_in>;
> +                     };
> +             };
> +     };
> +};
> +
> +&i2c3 {
> +     clock-frequency = <100000>;
> +     pinctrl-names = "default";
> +     pinctrl-0 = <&pinctrl_i2c3>;
> +     status = "okay";
> +
> +     touchscreenp7: touchscreenp7@55 {
> +             pinctrl-names = "default";
> +             pinctrl-0 = <&pinctrl_touchscreenp7>;
> +             compatible = "sitronix,st1232";
> +             reg = <0x55>;
> +             interrupt-parent = <&gpio1>;
> +             interrupts = <13 8>;
> +             gpios = <&gpio1 15 0>;
> +             status = "disabled";
> +     };
> +};
> 
> 

Reply via email to