ARM: dts: da850-evm: Enable LCD and backlight
authorAdam Ford <aford173@gmail.com>
Fri, 18 May 2018 20:33:35 +0000 (15:33 -0500)
committerSekhar Nori <nsekhar@ti.com>
Mon, 18 Jun 2018 14:50:03 +0000 (20:20 +0530)
When using the board files the LCD works, but not with the DT.
This adds enables the original da850-evm to work with the same
LCD in device tree mode.

The EVM has a gpio for backlight regulator and a PWM for dimming
the backlight.  The LCD and the vpif display pins are mutually
exclusive, so if using the LCD, do not load the vpif driver.

Signed-off-by: Adam Ford <aford173@gmail.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
arch/arm/boot/dts/da850-evm.dts

index 743af2b..e49d711 100644 (file)
                spi0 = &spi1;
        };
 
+       backlight: backlight-pwm {
+               pinctrl-names = "default";
+               pinctrl-0 = <&ecap2_pins>;
+               power-supply = <&backlight_lcd>;
+               compatible = "pwm-backlight";
+               /*
+                * The PWM here corresponds to production hardware. The
+                * schematic needs to be 1015171 (15 March 2010), Rev A
+                * or newer.
+                */
+               pwms = <&ecap2 0 50000 0>;
+               brightness-levels = <0 10 20 30 40 50 60 70 80 90 99>;
+               default-brightness-level = <7>;
+       };
+
+       panel {
+               compatible = "ti,tilcdc,panel";
+               pinctrl-names = "default";
+               pinctrl-0 = <&lcd_pins>;
+               /*
+                * The vpif and the LCD are mutually exclusive.
+                * To enable VPIF, change the status below to 'disabled' then
+                * then change the status of the vpif below to 'okay'
+                */
+               status = "okay";
+               enable-gpios = <&gpio 40 GPIO_ACTIVE_HIGH>; /* lcd_panel_pwr */
+
+               panel-info {
+                       ac-bias         = <255>;
+                       ac-bias-intrpt  = <0>;
+                       dma-burst-sz    = <16>;
+                       bpp             = <16>;
+                       fdd             = <0x80>;
+                       sync-edge       = <0>;
+                       sync-ctrl       = <1>;
+                       raster-order    = <0>;
+                       fifo-th         = <0>;
+               };
+
+               display-timings {
+                       native-mode = <&timing0>;
+                       timing0: 480x272 {
+                               clock-frequency = <9000000>;
+                               hactive = <480>;
+                               vactive = <272>;
+                               hfront-porch = <3>;
+                               hback-porch = <2>;
+                               hsync-len = <42>;
+                               vback-porch = <3>;
+                               vfront-porch = <4>;
+                               vsync-len = <11>;
+                               hsync-active = <0>;
+                               vsync-active = <0>;
+                               de-active = <1>;
+                               pixelclk-active = <1>;
+                       };
+               };
+       };
+
        vbat: fixedregulator0 {
                compatible = "regulator-fixed";
                regulator-name = "vbat";
                regulator-boot-on;
        };
 
+       backlight_lcd: backlight-regulator {
+               compatible = "regulator-fixed";
+               regulator-name = "lcd_backlight_pwr";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               gpio = <&gpio 47 GPIO_ACTIVE_HIGH>; /* lcd_backlight_pwr */
+               enable-active-high;
+       };
+
        sound {
                compatible = "simple-audio-card";
                simple-audio-card,name = "DA850/OMAP-L138 EVM";
        };
 };
 
+&ecap2 {
+       status = "okay";
+};
+
 &pmx_core {
        status = "okay";
 
        status = "okay";
 };
 
+&lcdc {
+       status = "okay";
+};
+
 &i2c0 {
        status = "okay";
        clock-frequency = <100000>;
 &vpif {
        pinctrl-names = "default";
        pinctrl-0 = <&vpif_capture_pins>, <&vpif_display_pins>;
-       status = "okay";
+       /*
+        * The vpif and the LCD are mutually exclusive.
+        * To enable VPIF, disable the ti,tilcdc,panel then
+        * change the status below to 'okay'
+        */
+       status = "disabled";
 };