From patchwork Fri Mar 14 09:12:49 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Denis Carikli X-Patchwork-Id: 3831491 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork1.web.kernel.org (Postfix) with ESMTP id E1FC39F2BB for ; Fri, 14 Mar 2014 09:16:13 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 7A00A202E9 for ; Fri, 14 Mar 2014 09:16:12 +0000 (UTC) Received: from casper.infradead.org (casper.infradead.org [85.118.1.10]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 004D6202F8 for ; Fri, 14 Mar 2014 09:16:10 +0000 (UTC) Received: from merlin.infradead.org ([2001:4978:20e::2]) by casper.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1WOOCE-0002ga-EK; Fri, 14 Mar 2014 09:14:31 +0000 Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1WOOBp-0004qT-JQ; Fri, 14 Mar 2014 09:14:05 +0000 Received: from smtp1-g21.free.fr ([2a01:e0c:1:1599::10]) by merlin.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1WOOBK-0004mf-Kr for linux-arm-kernel@lists.infradead.org; Fri, 14 Mar 2014 09:13:37 +0000 Received: from denis-N73SV.local.eukrea.com (unknown [88.170.243.169]) by smtp1-g21.free.fr (Postfix) with ESMTP id 4BC86940108; Fri, 14 Mar 2014 10:13:10 +0100 (CET) From: Denis Carikli To: Jean-Christophe Plagniol-Villard , Tomi Valkeinen Subject: =?UTF-8?q?=5BPATCH=20v7=5D=5B=205/5=5D=20ARM=3A=20dts=3A=20mbimxsd35=20Add=20video=20and=20displays=20support=2E?= Date: Fri, 14 Mar 2014 10:12:49 +0100 Message-Id: <1394788369-5096-5-git-send-email-denis@eukrea.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1394788369-5096-1-git-send-email-denis@eukrea.com> References: <1394788369-5096-1-git-send-email-denis@eukrea.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20140314_051335_512324_CB8A20D5 X-CRM114-Status: GOOD ( 11.14 ) X-Spam-Score: -1.2 (-) Cc: linux-fbdev@vger.kernel.org, =?UTF-8?q?Eric=20B=C3=A9nard?= , Denis Carikli , Sascha Hauer , Shawn Guo , linux-arm-kernel@lists.infradead.org X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_MED, T_RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Signed-off-by: Denis Carikli --- ChangeLog v6->v7: - Removed the Cc from the patch, they went into git send-email instead. ChangeLog v5->v6: - Shrinked the Cc list. - Added the targets in the Makefile - rebased not to use the now gone pingrp headers. ChangeLog v4->v5: - Added Grant Likely and Shawn Guo in the Cc list. - Adapted to the new non-dma ipu bindings. ChangeLog v3->v4: - Shortened the licenses. - adapted the dts(i) to the new bindings. ChangeLog v2->v3: - The dts were adapted to the new DT bindings which looks more like the IPUv3 ones. --- arch/arm/boot/dts/Makefile | 3 + arch/arm/boot/dts/imx35-eukrea-cpuimx35.dtsi | 28 ++++++++++ .../imx35-eukrea-mbimxsd35-baseboard-cmo-qvga.dts | 58 ++++++++++++++++++++ .../imx35-eukrea-mbimxsd35-baseboard-dvi-svga.dts | 47 ++++++++++++++++ .../imx35-eukrea-mbimxsd35-baseboard-dvi-vga.dts | 47 ++++++++++++++++ 5 files changed, 183 insertions(+) create mode 100644 arch/arm/boot/dts/imx35-eukrea-mbimxsd35-baseboard-cmo-qvga.dts create mode 100644 arch/arm/boot/dts/imx35-eukrea-mbimxsd35-baseboard-dvi-svga.dts create mode 100644 arch/arm/boot/dts/imx35-eukrea-mbimxsd35-baseboard-dvi-vga.dts diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index cf6c523..1df8945 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -173,6 +173,9 @@ dtb-$(CONFIG_ARCH_MXC) += \ imx27-phytec-phycard-s-rdk.dtb \ imx31-bug.dtb \ imx35-eukrea-mbimxsd35-baseboard.dtb \ + imx35-eukrea-mbimxsd35-baseboard-cmo-qvga.dtb \ + imx35-eukrea-mbimxsd35-baseboard-dvi-svga.dtb \ + imx35-eukrea-mbimxsd35-baseboard-dvi-vga.dtb \ imx50-evk.dtb \ imx51-apf51.dtb \ imx51-apf51dev.dtb \ diff --git a/arch/arm/boot/dts/imx35-eukrea-cpuimx35.dtsi b/arch/arm/boot/dts/imx35-eukrea-cpuimx35.dtsi index 906ae93..6596009 100644 --- a/arch/arm/boot/dts/imx35-eukrea-cpuimx35.dtsi +++ b/arch/arm/boot/dts/imx35-eukrea-cpuimx35.dtsi @@ -70,6 +70,34 @@ MX35_PAD_I2C1_DAT__I2C1_SDA 0x80000000 >; }; + + pinctrl_ipu_disp0: ipudisp0grp { + fsl,pins = < + MX35_PAD_LD0__IPU_DISPB_DAT_0 0x80000000 + MX35_PAD_LD1__IPU_DISPB_DAT_1 0x80000000 + MX35_PAD_LD2__IPU_DISPB_DAT_2 0x80000000 + MX35_PAD_LD3__IPU_DISPB_DAT_3 0x80000000 + MX35_PAD_LD4__IPU_DISPB_DAT_4 0x80000000 + MX35_PAD_LD5__IPU_DISPB_DAT_5 0x80000000 + MX35_PAD_LD6__IPU_DISPB_DAT_6 0x80000000 + MX35_PAD_LD7__IPU_DISPB_DAT_7 0x80000000 + MX35_PAD_LD8__IPU_DISPB_DAT_8 0x80000000 + MX35_PAD_LD9__IPU_DISPB_DAT_9 0x80000000 + MX35_PAD_LD10__IPU_DISPB_DAT_10 0x80000000 + MX35_PAD_LD11__IPU_DISPB_DAT_11 0x80000000 + MX35_PAD_LD12__IPU_DISPB_DAT_12 0x80000000 + MX35_PAD_LD13__IPU_DISPB_DAT_13 0x80000000 + MX35_PAD_LD14__IPU_DISPB_DAT_14 0x80000000 + MX35_PAD_LD15__IPU_DISPB_DAT_15 0x80000000 + MX35_PAD_LD16__IPU_DISPB_DAT_16 0x80000000 + MX35_PAD_LD17__IPU_DISPB_DAT_17 0x80000000 + MX35_PAD_D3_HSYNC__IPU_DISPB_D3_HSYNC 0x80000000 + MX35_PAD_D3_FPSHIFT__IPU_DISPB_D3_CLK 0x80000000 + MX35_PAD_D3_DRDY__IPU_DISPB_D3_DRDY 0x80000000 + MX35_PAD_D3_VSYNC__IPU_DISPB_D3_VSYNC 0x80000000 + MX35_PAD_CONTRAST__IPU_DISPB_CONTR 0x80000000 + >; + }; }; }; diff --git a/arch/arm/boot/dts/imx35-eukrea-mbimxsd35-baseboard-cmo-qvga.dts b/arch/arm/boot/dts/imx35-eukrea-mbimxsd35-baseboard-cmo-qvga.dts new file mode 100644 index 0000000..345f560 --- /dev/null +++ b/arch/arm/boot/dts/imx35-eukrea-mbimxsd35-baseboard-cmo-qvga.dts @@ -0,0 +1,58 @@ +/* + * Copyright 2013 Eukréa Electromatique + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#include "imx35-eukrea-mbimxsd35-baseboard.dts" + +/ { + model = "Eukrea MBIMXSD35 with the CMO-QVGA Display"; + compatible = "eukrea,mbimxsd35-baseboard-cmo-qvga", "eukrea,mbimxsd35-baseboard", "eukrea,cpuimx35", "fsl,imx35"; + + cmo_qvga: display@di0 { + compatible = "fsl,mx3-parallel-display"; + regulator-name = "lcd"; + interface-pix-fmt = "rgb666"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_ipu_disp0>; + lcd-supply = <®_lcd_3v3>; + model = "CMO-QVGA"; + display-timings { + qvga_timings: 320x240 { + clock-frequency = <6500000>; + hactive = <320>; + vactive = <240>; + hback-porch = <68>; + hfront-porch = <20>; + vback-porch = <15>; + vfront-porch = <4>; + hsync-len = <30>; + vsync-len = <3>; + }; + }; + }; + + reg_lcd_3v3: lcd-en { + compatible = "regulator-fixed"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_reg_lcd_3v3>; + regulator-name = "lcd"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + gpio = <&gpio1 4 0>; + enable-active-high; + }; +}; + +&ipu { + display = <&cmo_qvga>; + status = "okay"; +}; diff --git a/arch/arm/boot/dts/imx35-eukrea-mbimxsd35-baseboard-dvi-svga.dts b/arch/arm/boot/dts/imx35-eukrea-mbimxsd35-baseboard-dvi-svga.dts new file mode 100644 index 0000000..1a249d0 --- /dev/null +++ b/arch/arm/boot/dts/imx35-eukrea-mbimxsd35-baseboard-dvi-svga.dts @@ -0,0 +1,47 @@ +/* + * Copyright 2013 Eukréa Electromatique + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#include "imx35-eukrea-mbimxsd35-baseboard.dts" + +/ { + model = "Eukrea MBIMXSD35 with the DVI-SVGA Display"; + compatible = "eukrea,mbimxsd35-baseboard-dvi-svga", "eukrea,mbimxsd35-baseboard", "eukrea,cpuimx35", "fsl,imx35"; + dvi_svga: display@di0 { + interface-pix-fmt = "rgb666"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_ipu_disp0>; + model = "DVI-SVGA"; + display-timings { + svga_timings: 800x600 { + clock-frequency = <40000000>; + hactive = <800>; + vactive = <600>; + hback-porch = <75>; + hfront-porch = <75>; + vback-porch = <7>; + vfront-porch = <75>; + hsync-len = <7>; + vsync-len = <7>; + hsync-active = <1>; + vsync-active = <1>; + de-active = <1>; + pixelclk-active = <0>; + }; + }; + }; +}; + +&ipu { + display = <&dvi_svga>; + status = "okay"; +}; diff --git a/arch/arm/boot/dts/imx35-eukrea-mbimxsd35-baseboard-dvi-vga.dts b/arch/arm/boot/dts/imx35-eukrea-mbimxsd35-baseboard-dvi-vga.dts new file mode 100644 index 0000000..44a7616 --- /dev/null +++ b/arch/arm/boot/dts/imx35-eukrea-mbimxsd35-baseboard-dvi-vga.dts @@ -0,0 +1,47 @@ +/* + * Copyright 2013 Eukréa Electromatique + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#include "imx35-eukrea-mbimxsd35-baseboard.dts" + +/ { + model = "Eukrea MBIMXSD35 with the DVI-VGA Display"; + compatible = "eukrea,mbimxsd35-baseboard-dvi-vga", "eukrea,mbimxsd35-baseboard", "eukrea,cpuimx35", "fsl,imx35"; + dvi_vga: display@di0 { + interface-pix-fmt = "rgb666"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_ipu_disp0>; + model = "DVI-VGA"; + display-timings { + vga_timings: 640x480 { + clock-frequency = <31250000>; + hactive = <640>; + vactive = <480>; + hback-porch = <100>; + hfront-porch = <100>; + vback-porch = <7>; + vfront-porch = <100>; + hsync-len = <7>; + vsync-len = <7>; + hsync-active = <1>; + vsync-active = <1>; + de-active = <1>; + pixelclk-active = <0>; + }; + }; + }; +}; + +&ipu { + display = <&dvi_vga>; + status = "okay"; +};