From mboxrd@z Thu Jan 1 00:00:00 1970 From: denis@eukrea.com (Denis Carikli) Date: Thu, 17 Oct 2013 17:02:06 +0200 Subject: [Patch v2][ 08/37] video: mx3fb: Add device tree suport. In-Reply-To: <1382022155-21954-1-git-send-email-denis@eukrea.com> References: <1382022155-21954-1-git-send-email-denis@eukrea.com> Message-ID: <1382022155-21954-9-git-send-email-denis@eukrea.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Cc: Jean-Christophe Plagniol-Villard Cc: Tomi Valkeinen Cc: linux-fbdev at vger.kernel.org Cc: Rob Herring Cc: Pawel Moll Cc: Mark Rutland Cc: Stephen Warren Cc: Ian Campbell Cc: devicetree at vger.kernel.org Cc: Sascha Hauer Cc: linux-arm-kernel at lists.infradead.org Cc: Sascha Hauer Cc: linux-arm-kernel at lists.infradead.org Cc: Eric B?nard Signed-off-by: Denis Carikli --- .../devicetree/bindings/video/fsl,mx3-fb.txt | 52 ++++++++ drivers/video/Kconfig | 2 + drivers/video/mx3fb.c | 133 +++++++++++++++++--- 3 files changed, 171 insertions(+), 16 deletions(-) create mode 100644 Documentation/devicetree/bindings/video/fsl,mx3-fb.txt diff --git a/Documentation/devicetree/bindings/video/fsl,mx3-fb.txt b/Documentation/devicetree/bindings/video/fsl,mx3-fb.txt new file mode 100644 index 0000000..ae0b343 --- /dev/null +++ b/Documentation/devicetree/bindings/video/fsl,mx3-fb.txt @@ -0,0 +1,52 @@ +Freescale mx3 Framebuffer + +This framebuffer driver supports the imx31 and imx35 devices. + +Required properties: +- compatible : Must be "fsl,mx3-fb". +- reg : Should contain 1 register ranges(address and length). +- dmas : Phandle to the ipu dma node as described in + Documentation/devicetree/bindings/dma/dma.txt +- dma-names : Must be "tx". +- clocks : Phandle to the ipu source clock. +- display: Phandle to a display node as described in + Documentation/devicetree/bindings/video/display-timing.txt + Additional, the display node has to define properties: + - bits-per-pixel: lcd panel bit-depth. + +Optional properties: +- ipu-disp-format: could be "rgb666", "rgb565", or "rgb888". + If not specified defaults to "rgb666". + +Example: + + lcdc: mx3fb at 53fc00b4 { + compatible = "fsl,mx3-fb"; + reg = <0x53fc00b4 0x0b>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_lcdc_1>; + clocks = <&clks 55>; + dmas = <&ipu 14>; + dma-names = "tx"; + }; + + ... + + cmo_qvga: display { + model = "CMO-QVGA"; + bits-per-pixel = <16>; + native-mode = <&qvga_timings>; + display-timings { + qvga_timings: 320x240 { + clock-frequency = <6500000>; + hactive = <320>; + vactive = <240>; + hback-porch = <30>; + hfront-porch = <38>; + vback-porch = <20>; + vfront-porch = <3>; + hsync-len = <15>; + vsync-len = <4>; + }; + }; + }; diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index 14317b7..2a638df 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig @@ -2359,6 +2359,8 @@ config FB_MX3 select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT + select VIDEOMODE_HELPERS + select FB_MODE_HELPERS default y help This is a framebuffer device for the i.MX31 LCD Controller. So diff --git a/drivers/video/mx3fb.c b/drivers/video/mx3fb.c index 37704da..8683dda 100644 --- a/drivers/video/mx3fb.c +++ b/drivers/video/mx3fb.c @@ -32,6 +32,8 @@ #include #include +#include