Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1430900 > unrolled thread

[PATCH 0/4] Enable display and touchscreen for Vybrid Tower

Started byAnthony Felice <tony.felice@timesys.com>
First post2016-06-24 21:50 +0200
Last post2016-06-24 21:50 +0200
Articles 5 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH 0/4] Enable display and touchscreen for Vybrid Tower Anthony Felice <tony.felice@timesys.com> - 2016-06-24 21:50 +0200
    [PATCH 1/4] ARM: dts: vf610-twr: Enable display controller Anthony Felice <tony.felice@timesys.com> - 2016-06-24 21:50 +0200
      Re: [PATCH 1/4] ARM: dts: vf610-twr: Enable display controller Stefan Agner <stefan@agner.ch> - 2016-06-25 23:00 +0200
    [PATCH 4/4] ARM: imx_v6_v7_defconfig: enable useful configurations for Vybrid Anthony Felice <tony.felice@timesys.com> - 2016-06-24 21:50 +0200
    [PATCH 3/4] ARM: dts: vf610-twr: Add crtouch node and pinmux Anthony Felice <tony.felice@timesys.com> - 2016-06-24 21:50 +0200

#1430900 — [PATCH 0/4] Enable display and touchscreen for Vybrid Tower

FromAnthony Felice <tony.felice@timesys.com>
Date2016-06-24 21:50 +0200
Subject[PATCH 0/4] Enable display and touchscreen for Vybrid Tower
Message-ID<rNFh0-40R-5@gated-at.bofh.it>
This patchset enables the TWR-LCD-RGB display and the CRTouch-based touchscreen
on the Vybrid Tower platform. Both display and touchscreen have been tested and
verified working with this patchset on a Rev J Vybrid Tower system.

Anthony Felice (4):
  ARM: dts: vf610-twr: Enable display controller
  input: touchscreen: crtouch_ts: Add driver
  ARM: dts: vf610-twr: Add crtouch node and pinmux
  ARM: imx_v6_v7_defconfig: enable useful configurations for Vybrid

 .../bindings/input/touchscreen/crtouch_ts.txt      |  14 ++
 arch/arm/boot/dts/vf610-twr.dts                    |  62 +++++
 arch/arm/configs/imx_v6_v7_defconfig               |   6 +-
 drivers/input/touchscreen/Kconfig                  |  10 +
 drivers/input/touchscreen/Makefile                 |   1 +
 drivers/input/touchscreen/crtouch_ts.c             | 279 +++++++++++++++++++++
 6 files changed, 368 insertions(+), 4 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/input/touchscreen/crtouch_ts.txt
 create mode 100644 drivers/input/touchscreen/crtouch_ts.c

-- 
2.7.4

[toc] | [next] | [standalone]


#1430901 — [PATCH 1/4] ARM: dts: vf610-twr: Enable display controller

FromAnthony Felice <tony.felice@timesys.com>
Date2016-06-24 21:50 +0200
Subject[PATCH 1/4] ARM: dts: vf610-twr: Enable display controller
Message-ID<rNFh0-40R-7@gated-at.bofh.it>
In reply to#1430900
This adds nodes to enable tcon0 and dcu0 for the Vybrid Tower. These
are used to drive the Vybrid Tower TWR-LCD-RGB display. Also, a node
for the nec nl4827hc19-05b panel on the TWR-LCD-RGB display has been
added.

Signed-off-by: Anthony Felice <tony.felice@timesys.com>
---
 arch/arm/boot/dts/vf610-twr.dts | 48 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 48 insertions(+)

diff --git a/arch/arm/boot/dts/vf610-twr.dts b/arch/arm/boot/dts/vf610-twr.dts
index cdc1007..ad1aff9 100644
--- a/arch/arm/boot/dts/vf610-twr.dts
+++ b/arch/arm/boot/dts/vf610-twr.dts
@@ -66,6 +66,10 @@
 		clock-frequency = <50000000>;
 	};
 
+	panel: panel {
+		compatible = "nec,nl4827hc19-05b";
+	};
+
 	regulators {
 		compatible = "simple-bus";
 		#address-cells = <1>;
@@ -134,6 +138,13 @@
 				 <&clks VF610_CLK_ENET_EXT>;
 };
 
+&dcu0 {
+	fsl,panel = <&panel>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_dcu0>;
+	status = "okay";
+};
+
 &dspi0 {
 	bus-num = <0>;
 	pinctrl-names = "default";
@@ -210,6 +221,39 @@
 
 &iomuxc {
 	vf610-twr {
+		pinctrl_dcu0: dcu0grp {
+			fsl,pins = <
+				VF610_PAD_PTE0__DCU0_HSYNC	0x42
+				VF610_PAD_PTE1__DCU0_VSYNC	0x42
+				VF610_PAD_PTE2__DCU0_PCLK	0x42
+				VF610_PAD_PTE4__DCU0_DE		0x42
+				VF610_PAD_PTE5__DCU0_R0		0x42
+				VF610_PAD_PTE6__DCU0_R1		0x42
+				VF610_PAD_PTE7__DCU0_R2		0x42
+				VF610_PAD_PTE8__DCU0_R3		0x42
+				VF610_PAD_PTE9__DCU0_R4		0x42
+				VF610_PAD_PTE10__DCU0_R5	0x42
+				VF610_PAD_PTE11__DCU0_R6	0x42
+				VF610_PAD_PTE12__DCU0_R7	0x42
+				VF610_PAD_PTE13__DCU0_G0	0x42
+				VF610_PAD_PTE14__DCU0_G1	0x42
+				VF610_PAD_PTE15__DCU0_G2	0x42
+				VF610_PAD_PTE16__DCU0_G3	0x42
+				VF610_PAD_PTE17__DCU0_G4	0x42
+				VF610_PAD_PTE18__DCU0_G5	0x42
+				VF610_PAD_PTE19__DCU0_G6	0x42
+				VF610_PAD_PTE20__DCU0_G7	0x42
+				VF610_PAD_PTE21__DCU0_B0	0x42
+				VF610_PAD_PTE22__DCU0_B1	0x42
+				VF610_PAD_PTE23__DCU0_B2	0x42
+				VF610_PAD_PTE24__DCU0_B3	0x42
+				VF610_PAD_PTE25__DCU0_B4	0x42
+				VF610_PAD_PTE26__DCU0_B5	0x42
+				VF610_PAD_PTE27__DCU0_B6	0x42
+				VF610_PAD_PTE28__DCU0_B7	0x42
+			>;
+		};
+
 		pinctrl_adc0_ad5: adc0ad5grp {
 			fsl,pins = <
 				VF610_PAD_PTC30__ADC0_SE5		0xa1
@@ -370,6 +414,10 @@
 	status = "okay";
 };
 
+&tcon0 {
+	status = "okay";
+};
+
 &uart1 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&pinctrl_uart1>;
-- 
2.7.4

[toc] | [prev] | [next] | [standalone]


#1431214 — Re: [PATCH 1/4] ARM: dts: vf610-twr: Enable display controller

FromStefan Agner <stefan@agner.ch>
Date2016-06-25 23:00 +0200
SubjectRe: [PATCH 1/4] ARM: dts: vf610-twr: Enable display controller
Message-ID<rO2Qh-1HR-1@gated-at.bofh.it>
In reply to#1430901
On 2016-06-24 12:44, Anthony Felice wrote:
> This adds nodes to enable tcon0 and dcu0 for the Vybrid Tower. These
> are used to drive the Vybrid Tower TWR-LCD-RGB display. Also, a node
> for the nec nl4827hc19-05b panel on the TWR-LCD-RGB display has been
> added.

So my pixel clock polarity changes which will be part of 4.7 work for
Tower? I could never actually test that since I don't have the display
here...
https://patchwork.kernel.org/patch/8874971/

This patch looks good to me:
Acked-by: Stefan Agner <stefan@agner.ch>

--
Stefan

> 
> Signed-off-by: Anthony Felice <tony.felice@timesys.com>
> ---
>  arch/arm/boot/dts/vf610-twr.dts | 48 +++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 48 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/vf610-twr.dts b/arch/arm/boot/dts/vf610-twr.dts
> index cdc1007..ad1aff9 100644
> --- a/arch/arm/boot/dts/vf610-twr.dts
> +++ b/arch/arm/boot/dts/vf610-twr.dts
> @@ -66,6 +66,10 @@
>  		clock-frequency = <50000000>;
>  	};
>  
> +	panel: panel {
> +		compatible = "nec,nl4827hc19-05b";
> +	};
> +
>  	regulators {
>  		compatible = "simple-bus";
>  		#address-cells = <1>;
> @@ -134,6 +138,13 @@
>  				 <&clks VF610_CLK_ENET_EXT>;
>  };
>  
> +&dcu0 {
> +	fsl,panel = <&panel>;
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_dcu0>;
> +	status = "okay";
> +};
> +
>  &dspi0 {
>  	bus-num = <0>;
>  	pinctrl-names = "default";
> @@ -210,6 +221,39 @@
>  
>  &iomuxc {
>  	vf610-twr {
> +		pinctrl_dcu0: dcu0grp {
> +			fsl,pins = <
> +				VF610_PAD_PTE0__DCU0_HSYNC	0x42
> +				VF610_PAD_PTE1__DCU0_VSYNC	0x42
> +				VF610_PAD_PTE2__DCU0_PCLK	0x42
> +				VF610_PAD_PTE4__DCU0_DE		0x42
> +				VF610_PAD_PTE5__DCU0_R0		0x42
> +				VF610_PAD_PTE6__DCU0_R1		0x42
> +				VF610_PAD_PTE7__DCU0_R2		0x42
> +				VF610_PAD_PTE8__DCU0_R3		0x42
> +				VF610_PAD_PTE9__DCU0_R4		0x42
> +				VF610_PAD_PTE10__DCU0_R5	0x42
> +				VF610_PAD_PTE11__DCU0_R6	0x42
> +				VF610_PAD_PTE12__DCU0_R7	0x42
> +				VF610_PAD_PTE13__DCU0_G0	0x42
> +				VF610_PAD_PTE14__DCU0_G1	0x42
> +				VF610_PAD_PTE15__DCU0_G2	0x42
> +				VF610_PAD_PTE16__DCU0_G3	0x42
> +				VF610_PAD_PTE17__DCU0_G4	0x42
> +				VF610_PAD_PTE18__DCU0_G5	0x42
> +				VF610_PAD_PTE19__DCU0_G6	0x42
> +				VF610_PAD_PTE20__DCU0_G7	0x42
> +				VF610_PAD_PTE21__DCU0_B0	0x42
> +				VF610_PAD_PTE22__DCU0_B1	0x42
> +				VF610_PAD_PTE23__DCU0_B2	0x42
> +				VF610_PAD_PTE24__DCU0_B3	0x42
> +				VF610_PAD_PTE25__DCU0_B4	0x42
> +				VF610_PAD_PTE26__DCU0_B5	0x42
> +				VF610_PAD_PTE27__DCU0_B6	0x42
> +				VF610_PAD_PTE28__DCU0_B7	0x42
> +			>;
> +		};
> +
>  		pinctrl_adc0_ad5: adc0ad5grp {
>  			fsl,pins = <
>  				VF610_PAD_PTC30__ADC0_SE5		0xa1
> @@ -370,6 +414,10 @@
>  	status = "okay";
>  };
>  
> +&tcon0 {
> +	status = "okay";
> +};
> +
>  &uart1 {
>  	pinctrl-names = "default";
>  	pinctrl-0 = <&pinctrl_uart1>;

[toc] | [prev] | [next] | [standalone]


#1430902 — [PATCH 4/4] ARM: imx_v6_v7_defconfig: enable useful configurations for Vybrid

FromAnthony Felice <tony.felice@timesys.com>
Date2016-06-24 21:50 +0200
Subject[PATCH 4/4] ARM: imx_v6_v7_defconfig: enable useful configurations for Vybrid
Message-ID<rNFh0-40R-9@gated-at.bofh.it>
In reply to#1430900
Enable configuration options useful for the Vybrid Tower platform:
- CRTouch Touchscreen support.
- DRM support for Freescale DCU.

Regenerated config using savedefconfig (which removes some configs
which are now enabled by default).

Signed-off-by: Anthony Felice <tony.felice@timesys.com>
---
 arch/arm/configs/imx_v6_v7_defconfig | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/arch/arm/configs/imx_v6_v7_defconfig b/arch/arm/configs/imx_v6_v7_defconfig
index 21339ce..0b9de5c 100644
--- a/arch/arm/configs/imx_v6_v7_defconfig
+++ b/arch/arm/configs/imx_v6_v7_defconfig
@@ -1,6 +1,5 @@
 CONFIG_KERNEL_LZO=y
 CONFIG_SYSVIPC=y
-CONFIG_FHANDLE=y
 CONFIG_NO_HZ=y
 CONFIG_HIGH_RES_TIMERS=y
 CONFIG_IKCONFIG=y
@@ -72,7 +71,6 @@ CONFIG_IP_PNP_DHCP=y
 # CONFIG_INET_XFRM_MODE_TRANSPORT is not set
 # CONFIG_INET_XFRM_MODE_TUNNEL is not set
 # CONFIG_INET_XFRM_MODE_BEET is not set
-# CONFIG_INET_LRO is not set
 CONFIG_NETFILTER=y
 CONFIG_CAN=y
 CONFIG_CAN_FLEXCAN=y
@@ -170,6 +168,7 @@ CONFIG_TOUCHSCREEN_TSC2007=y
 CONFIG_TOUCHSCREEN_STMPE=y
 CONFIG_TOUCHSCREEN_SX8654=y
 CONFIG_TOUCHSCREEN_COLIBRI_VF50=y
+CONFIG_TOUCHSCREEN_CRTOUCH=y
 CONFIG_INPUT_MISC=y
 CONFIG_INPUT_MMA8450=y
 CONFIG_SERIO_SERPORT=m
@@ -227,12 +226,12 @@ CONFIG_MEDIA_USB_SUPPORT=y
 CONFIG_USB_VIDEO_CLASS=m
 CONFIG_V4L_PLATFORM_DRIVERS=y
 CONFIG_SOC_CAMERA=y
-CONFIG_VIDEO_MX3=y
 CONFIG_V4L_MEM2MEM_DRIVERS=y
 CONFIG_VIDEO_CODA=y
 CONFIG_SOC_CAMERA_OV2640=y
 CONFIG_IMX_IPUV3_CORE=y
 CONFIG_DRM=y
+CONFIG_DRM_FSL_DCU=y
 CONFIG_DRM_PANEL_SIMPLE=y
 CONFIG_DRM_DW_HDMI_AHB_AUDIO=m
 CONFIG_DRM_IMX=y
@@ -333,7 +332,6 @@ CONFIG_VF610_ADC=y
 CONFIG_PWM=y
 CONFIG_PWM_FSL_FTM=y
 CONFIG_PWM_IMX=y
-CONFIG_NVMEM=y
 CONFIG_NVMEM_IMX_OCOTP=y
 CONFIG_EXT2_FS=y
 CONFIG_EXT2_FS_XATTR=y
-- 
2.7.4

[toc] | [prev] | [next] | [standalone]


#1430903 — [PATCH 3/4] ARM: dts: vf610-twr: Add crtouch node and pinmux

FromAnthony Felice <tony.felice@timesys.com>
Date2016-06-24 21:50 +0200
Subject[PATCH 3/4] ARM: dts: vf610-twr: Add crtouch node and pinmux
Message-ID<rNFh0-40R-11@gated-at.bofh.it>
In reply to#1430900
This adds a node for crtouch, the touchscreen controller of the Vybrid
Tower. Pinmux for the gpio irq used by crtouch is also defined in this
commit.

Signed-off-by: Anthony Felice <tony.felice@timesys.com>
---
 arch/arm/boot/dts/vf610-twr.dts | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/arch/arm/boot/dts/vf610-twr.dts b/arch/arm/boot/dts/vf610-twr.dts
index ad1aff9..5d5cecf 100644
--- a/arch/arm/boot/dts/vf610-twr.dts
+++ b/arch/arm/boot/dts/vf610-twr.dts
@@ -217,6 +217,14 @@
 	       VDDIO-supply = <&reg_3p3v>;
 	       clocks = <&clks VF610_CLK_SAI2>;
        };
+
+	touch: crtouch@49 {
+		compatible = "fsl,crtouch_ts";
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_touchscreen>;
+		reg = <0x49>;
+		irq-gpio = <&gpio0 21 GPIO_ACTIVE_HIGH>;
+	};
 };
 
 &iomuxc {
@@ -365,6 +373,12 @@
 			>;
 		};
 
+		pinctrl_touchscreen: touchscreengrp {
+			fsl,pins = <
+				VF610_PAD_PTA31__GPIO_21	0x219d
+			>;
+		};
+
 		pinctrl_uart1: uart1grp {
 			fsl,pins = <
 				VF610_PAD_PTB4__UART1_TX		0x21a2
-- 
2.7.4

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web