From 884d3962ef4787c8cf0b8a7a673531c623d1dff8 Mon Sep 17 00:00:00 2001 From: Darren Etheridge Date: Fri, 2 Aug 2013 15:35:36 -0500 Subject: [PATCH 334/752] video: da8xx-fb: adding dt support Enhancing driver to enable probe triggered by a corresponding dt entry. Add da8xx-fb.txt documentation to devicetree section. Obtain fb_videomode details for the connected lcd panel using the display timing details present in DT. Ensure that platform data is present before checking whether platform callback is present (the one used to control backlight). So far this was not an issue as driver was purely non-DT triggered, but now DT support has been added this check must be performed. v2: squashing multiple commits from Afzal Mohammed (afzal@ti.com) v3: remove superfluous cast v4: expose both ti,am3352-lcdc and ti,da830-lcdc for .compatible as driver can use enhanced features of all version of the silicon block. v5: addressed review comments from Prabhakar Lad v6: Changed the .compatible naming to match the existing drm bindings for am33xx devices v7: clarify which compatible to use in the documentation for DA850 Acked-by: Lad, Prabhakar Signed-off-by: Darren Etheridge --- .../devicetree/bindings/video/da8xx-fb.txt | 42 +++++++++++++ drivers/video/fbdev/da8xx-fb.c | 66 +++++++++++++++++++- 2 files changed, 105 insertions(+), 3 deletions(-) create mode 100644 Documentation/devicetree/bindings/video/da8xx-fb.txt --- /dev/null +++ b/Documentation/devicetree/bindings/video/da8xx-fb.txt @@ -0,0 +1,42 @@ +TI LCD Controller on DA830/DA850/AM335x SoC's + +Required properties: +- compatible: + DA830, DA850 - "ti,da8xx-tilcdc" + AM335x SoC's - "ti,am33xx-tilcdc" +- reg: Address range of lcdc register set +- interrupts: lcdc interrupt +- display-timings: typical videomode of lcd panel, represented as child. + Refer Documentation/devicetree/bindings/video/display-timing.txt for + display timing binding details. If multiple videomodes are mentioned + in display timings node, typical videomode has to be mentioned as the + native mode or it has to be first child (driver cares only for native + videomode). + +Recommended properties: +- ti,hwmods: Name of the hwmod associated to the LCDC + +Example for am335x SoC's: + +lcdc@4830e000 { + compatible = "ti,am33xx-tilcdc"; + reg = <0x4830e000 0x1000>; + interrupts = <36>; + ti,hwmods = "lcdc"; + status = "okay"; + display-timings { + 800x480p62 { + clock-frequency = <30000000>; + hactive = <800>; + vactive = <480>; + hfront-porch = <39>; + hback-porch = <39>; + hsync-len = <47>; + vback-porch = <29>; + vfront-porch = <13>; + vsync-len = <2>; + hsync-active = <1>; + vsync-active = <1>; + }; + }; +}; --- a/drivers/video/fbdev/da8xx-fb.c +++ b/drivers/video/fbdev/da8xx-fb.c @@ -36,6 +36,7 @@ #include #include #include +#include