Add support for da850-evm LCD.
Depends on [1], [2] and [3] and based on 3.9.rc4.
Tested on da850-evm and available for testing at [4]
1. video: da8xx-fb: am335x DT support
https://lkml.org/lkml/2013/1/28/90
2. video: da8xx-fb: runtime timing configuration.
https://lkml.org/lkml/2013/1/15/241
3. Platform support for EHRPWM & ECAP devices in DAVINCI.
http://linux.davincidsp.com/pipermail/davinci-linux-open-source/2013-March/026798.html
4. https://github.com/avinashphilip/am335x_linux/tree/da850_lcd_dt_support
Testing:
LCD panel back light should enabled through PWM. But back light goes off on SPI
transactions as spi1_cs0 will be the source for LCD back light power (provided
SPI flash support enabled).
Philip Avinash (3):
ARM: davinci: da850: Add LCDC DT entries
ARM: davinci: da850: override LCDC DT node device name
ARM: davinci: da850 evm: Add da850-evm LCD panel support
arch/arm/boot/dts/da850-evm.dts | 22 ++++++++++++++++++++++
arch/arm/boot/dts/da850.dtsi | 21 +++++++++++++++++++++
arch/arm/mach-davinci/da8xx-dt.c | 1 +
3 files changed, 44 insertions(+)
--
1.7.9.5
Populate OF_DEV_AUXDATA with desired device name expected by da8xx-fb
driver. Without this clk_get of da8xx-fb DT driver fails.
Signed-off-by: Philip Avinash <[email protected]>
---
arch/arm/mach-davinci/da8xx-dt.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm/mach-davinci/da8xx-dt.c b/arch/arm/mach-davinci/da8xx-dt.c
index 89ee974..3436052 100644
--- a/arch/arm/mach-davinci/da8xx-dt.c
+++ b/arch/arm/mach-davinci/da8xx-dt.c
@@ -45,6 +45,7 @@ struct of_dev_auxdata da850_auxdata_lookup[] __initdata = {
OF_DEV_AUXDATA("ti,da850-ecap", 0x01f06000, "ecap", NULL),
OF_DEV_AUXDATA("ti,da850-ecap", 0x01f07000, "ecap", NULL),
OF_DEV_AUXDATA("ti,da850-ecap", 0x01f08000, "ecap", NULL),
+ OF_DEV_AUXDATA("ti,da830-lcdc", 0x01e13000, "da8xx_lcdc.0", NULL),
{}
};
--
1.7.9.5
Update LCDC node with panel timings for da850-evm along pin-mux info.
Signed-off-by: Philip Avinash <[email protected]>
---
arch/arm/boot/dts/da850-evm.dts | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/arch/arm/boot/dts/da850-evm.dts b/arch/arm/boot/dts/da850-evm.dts
index cae024b..33d024e 100644
--- a/arch/arm/boot/dts/da850-evm.dts
+++ b/arch/arm/boot/dts/da850-evm.dts
@@ -50,6 +50,28 @@
pinctrl-names = "default";
pinctrl-0 = <&ehrpwm1_pins>;
};
+
+ lcdc: lcdc@01e13000 {
+ status = "okay";
+ pinctrl-names = "default";
+ pinctrl-0 = <&lcdc_pins>;
+
+ display-timings {
+ 480x272p62 {
+ clock-frequency = <7833600>;
+ hactive = <480>;
+ vactive = <272>;
+ hfront-porch = <2>;
+ hback-porch = <2>;
+ hsync-len = <41>;
+ vback-porch = <2>;
+ vfront-porch = <2>;
+ vsync-len = <10>;
+ hsync-active = <1>;
+ vsync-active = <1>;
+ };
+ };
+ };
};
nand_cs3@62000000 {
status = "okay";
--
1.7.9.5
Add LCDC DT entries in da850 dts file.
Signed-off-by: Philip Avinash <[email protected]>
---
arch/arm/boot/dts/da850.dtsi | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/arch/arm/boot/dts/da850.dtsi b/arch/arm/boot/dts/da850.dtsi
index a6cbf89..087b4ea 100644
--- a/arch/arm/boot/dts/da850.dtsi
+++ b/arch/arm/boot/dts/da850.dtsi
@@ -62,6 +62,21 @@
0x10 0x00002200 0x0000ff00
>;
};
+ lcdc_pins:pinmux_lcdc_pins {
+ pinctrl-single,bits = <
+ /* LCD_D[2], LCD_D[3], LCD_D[4],
+ LCD_D[5], LCD_D[6], LCD_D[7] */
+ 0x40 0x22222200 0xffffff00
+ /* LCD_D[10], LCD_D[11], LCD_D[12],
+ LCD_D[13], LCD_D[14], LCD_D[15],
+ LCD_D[0], LCD_D[1] */
+ 0x44 0x22222222 0xffffffff
+ /* LCD_PCLK, LCD_D[8], LCD_D[9] */
+ 0x48 0x02000022 0x0f0000ff
+ /* LCD_AC_ENB_CS, LCD_VSYNC, LCD_HSYNC*/
+ 0x4c 0x02000022 0x0f0000ff
+ >;
+ };
};
serial0: serial@1c42000 {
compatible = "ns16550a";
@@ -137,6 +152,12 @@
reg = <0x308000 0x80>;
status = "disabled";
};
+ lcdc: lcdc@01e13000 {
+ compatible = "ti,da830-lcdc";
+ reg = <0x213000 0x1000>;
+ interrupts = <52>;
+ status = "disabled";
+ };
};
nand_cs3@62000000 {
compatible = "ti,davinci-nand";
--
1.7.9.5