* [PATCH v1 1/4] ARM: dts: imx6dl-prtvt7: Add display and panel nodes @ 2021-11-22 12:43 Oleksij Rempel 2021-11-22 12:43 ` [PATCH v1 2/4] ARM: dts: imx6dl-prtvt7: Add missing tvp5150 video decoder node Oleksij Rempel ` (2 more replies) 0 siblings, 3 replies; 8+ messages in thread From: Oleksij Rempel @ 2021-11-22 12:43 UTC (permalink / raw) To: Mark Rutland, Rob Herring, Sascha Hauer, Shawn Guo, Thierry Reding, Sam Ravnborg, David Airlie, Daniel Vetter Cc: Oleksij Rempel, Robin van der Gracht, devicetree, Fabio Estevam, linux-arm-kernel, linux-kernel, NXP Linux Team, Pengutronix Kernel Team, David Jander, dri-devel Add Innolux G070Y2-T02 panel to the Protonic VT7 board. Signed-off-by: Robin van der Gracht <robin@protonic.nl> Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> --- arch/arm/boot/dts/imx6dl-prtvt7.dts | 47 +++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/arch/arm/boot/dts/imx6dl-prtvt7.dts b/arch/arm/boot/dts/imx6dl-prtvt7.dts index 190d26642bc8..be7c4cb339e7 100644 --- a/arch/arm/boot/dts/imx6dl-prtvt7.dts +++ b/arch/arm/boot/dts/imx6dl-prtvt7.dts @@ -28,6 +28,30 @@ backlight_lcd: backlight-lcd { power-supply = <®_bl_12v0>; }; + display { + compatible = "fsl,imx-parallel-display"; + pinctrl-0 = <&pinctrl_ipu1_disp>; + pinctrl-names = "default"; + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + display_in: endpoint { + remote-endpoint = <&ipu1_di0_disp0>; + }; + }; + + port@1 { + reg = <1>; + + display_out: endpoint { + remote-endpoint = <&panel_in>; + }; + }; + }; + keys { compatible = "gpio-keys"; autorepeat; @@ -135,6 +159,18 @@ led-debug0 { }; }; + panel { + compatible = "innolux,g070y2-t02"; + backlight = <&backlight_lcd>; + power-supply = <®_3v3>; + + port { + panel_in: endpoint { + remote-endpoint = <&display_out>; + }; + }; + }; + reg_bl_12v0: regulator-bl-12v0 { compatible = "regulator-fixed"; pinctrl-names = "default"; @@ -146,6 +182,13 @@ reg_bl_12v0: regulator-bl-12v0 { enable-active-high; }; + reg_3v3: regulator-3v3 { + compatible = "regulator-fixed"; + regulator-name = "3v3"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + }; + reg_1v8: regulator-1v8 { compatible = "regulator-fixed"; regulator-name = "1v8"; @@ -275,6 +318,10 @@ &ipu1 { status = "okay"; }; +&ipu1_di0_disp0 { + remote-endpoint = <&display_in>; +}; + &pwm1 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_pwm1>; -- 2.30.2 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v1 2/4] ARM: dts: imx6dl-prtvt7: Add missing tvp5150 video decoder node 2021-11-22 12:43 [PATCH v1 1/4] ARM: dts: imx6dl-prtvt7: Add display and panel nodes Oleksij Rempel @ 2021-11-22 12:43 ` Oleksij Rempel 2021-12-06 1:01 ` Shawn Guo 2021-11-22 12:43 ` [PATCH v1 3/4] ARM: dts: imx6qdl-vicut1: add CAN termination support Oleksij Rempel 2021-11-22 12:43 ` [PATCH v1 4/4] ARM: dts: imx6dl: plym2m, prtvt7, victgo: make use of new resistive-adc-touch driver Oleksij Rempel 2 siblings, 1 reply; 8+ messages in thread From: Oleksij Rempel @ 2021-11-22 12:43 UTC (permalink / raw) To: Mark Rutland, Rob Herring, Sascha Hauer, Shawn Guo, Thierry Reding, Sam Ravnborg, David Airlie, Daniel Vetter Cc: Robin van der Gracht, devicetree, Fabio Estevam, linux-arm-kernel, linux-kernel, NXP Linux Team, Pengutronix Kernel Team, David Jander, dri-devel From: Robin van der Gracht <robin@protonic.nl> Signed-off-by: Robin van der Gracht <robin@protonic.nl> --- arch/arm/boot/dts/imx6dl-prtvt7.dts | 40 +++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/arch/arm/boot/dts/imx6dl-prtvt7.dts b/arch/arm/boot/dts/imx6dl-prtvt7.dts index be7c4cb339e7..02b53df03e6f 100644 --- a/arch/arm/boot/dts/imx6dl-prtvt7.dts +++ b/arch/arm/boot/dts/imx6dl-prtvt7.dts @@ -6,6 +6,7 @@ /dts-v1/; #include "imx6dl.dtsi" #include "imx6qdl-prti6q.dtsi" +#include <dt-bindings/display/sdtv-standards.h> #include <dt-bindings/input/input.h> #include <dt-bindings/leds/common.h> #include <dt-bindings/sound/fsl-imx-audmux.h> @@ -171,6 +172,18 @@ panel_in: endpoint { }; }; + connector { + compatible = "composite-video-connector"; + label = "Composite0"; + sdtv-standards = <SDTV_STD_PAL_B>; + + port { + comp0_out: endpoint { + remote-endpoint = <&tvp5150_comp0_in>; + }; + }; + }; + reg_bl_12v0: regulator-bl-12v0 { compatible = "regulator-fixed"; pinctrl-names = "default"; @@ -295,6 +308,29 @@ sgtl5000: audio-codec@a { VDDIO-supply = <®_3v3>; VDDD-supply = <®_1v8>; }; + + video@5c { + compatible = "ti,tvp5150"; + reg = <0x5c>; + + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + tvp5150_comp0_in: endpoint { + remote-endpoint = <&comp0_out>; + }; + }; + + /* Output port 2 is video output pad */ + port@2 { + reg = <2>; + tvp5151_to_ipu1_csi0_mux: endpoint { + remote-endpoint = <&ipu1_csi0_mux_from_parallel_sensor>; + }; + }; + }; }; &i2c3 { @@ -322,6 +358,10 @@ &ipu1_di0_disp0 { remote-endpoint = <&display_in>; }; +&ipu1_csi0_mux_from_parallel_sensor { + remote-endpoint = <&tvp5151_to_ipu1_csi0_mux>; +}; + &pwm1 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_pwm1>; -- 2.30.2 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v1 2/4] ARM: dts: imx6dl-prtvt7: Add missing tvp5150 video decoder node 2021-11-22 12:43 ` [PATCH v1 2/4] ARM: dts: imx6dl-prtvt7: Add missing tvp5150 video decoder node Oleksij Rempel @ 2021-12-06 1:01 ` Shawn Guo 0 siblings, 0 replies; 8+ messages in thread From: Shawn Guo @ 2021-12-06 1:01 UTC (permalink / raw) To: Oleksij Rempel Cc: Mark Rutland, Rob Herring, Sascha Hauer, Thierry Reding, Sam Ravnborg, David Airlie, Daniel Vetter, Robin van der Gracht, devicetree, Fabio Estevam, linux-arm-kernel, linux-kernel, NXP Linux Team, Pengutronix Kernel Team, David Jander, dri-devel On Mon, Nov 22, 2021 at 01:43:08PM +0100, Oleksij Rempel wrote: > From: Robin van der Gracht <robin@protonic.nl> > > Signed-off-by: Robin van der Gracht <robin@protonic.nl> > --- > arch/arm/boot/dts/imx6dl-prtvt7.dts | 40 +++++++++++++++++++++++++++++ > 1 file changed, 40 insertions(+) > > diff --git a/arch/arm/boot/dts/imx6dl-prtvt7.dts b/arch/arm/boot/dts/imx6dl-prtvt7.dts > index be7c4cb339e7..02b53df03e6f 100644 > --- a/arch/arm/boot/dts/imx6dl-prtvt7.dts > +++ b/arch/arm/boot/dts/imx6dl-prtvt7.dts > @@ -6,6 +6,7 @@ > /dts-v1/; > #include "imx6dl.dtsi" > #include "imx6qdl-prti6q.dtsi" > +#include <dt-bindings/display/sdtv-standards.h> > #include <dt-bindings/input/input.h> > #include <dt-bindings/leds/common.h> > #include <dt-bindings/sound/fsl-imx-audmux.h> > @@ -171,6 +172,18 @@ panel_in: endpoint { > }; > }; > > + connector { > + compatible = "composite-video-connector"; > + label = "Composite0"; > + sdtv-standards = <SDTV_STD_PAL_B>; > + > + port { > + comp0_out: endpoint { > + remote-endpoint = <&tvp5150_comp0_in>; > + }; > + }; > + }; > + > reg_bl_12v0: regulator-bl-12v0 { > compatible = "regulator-fixed"; > pinctrl-names = "default"; > @@ -295,6 +308,29 @@ sgtl5000: audio-codec@a { > VDDIO-supply = <®_3v3>; > VDDD-supply = <®_1v8>; > }; > + > + video@5c { > + compatible = "ti,tvp5150"; > + reg = <0x5c>; > + > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@0 { > + reg = <0>; Have a newline between property and child node. Shawn > + tvp5150_comp0_in: endpoint { > + remote-endpoint = <&comp0_out>; > + }; > + }; > + > + /* Output port 2 is video output pad */ > + port@2 { > + reg = <2>; > + tvp5151_to_ipu1_csi0_mux: endpoint { > + remote-endpoint = <&ipu1_csi0_mux_from_parallel_sensor>; > + }; > + }; > + }; > }; > > &i2c3 { > @@ -322,6 +358,10 @@ &ipu1_di0_disp0 { > remote-endpoint = <&display_in>; > }; > > +&ipu1_csi0_mux_from_parallel_sensor { > + remote-endpoint = <&tvp5151_to_ipu1_csi0_mux>; > +}; > + > &pwm1 { > pinctrl-names = "default"; > pinctrl-0 = <&pinctrl_pwm1>; > -- > 2.30.2 > ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v1 3/4] ARM: dts: imx6qdl-vicut1: add CAN termination support 2021-11-22 12:43 [PATCH v1 1/4] ARM: dts: imx6dl-prtvt7: Add display and panel nodes Oleksij Rempel 2021-11-22 12:43 ` [PATCH v1 2/4] ARM: dts: imx6dl-prtvt7: Add missing tvp5150 video decoder node Oleksij Rempel @ 2021-11-22 12:43 ` Oleksij Rempel 2021-11-22 12:43 ` [PATCH v1 4/4] ARM: dts: imx6dl: plym2m, prtvt7, victgo: make use of new resistive-adc-touch driver Oleksij Rempel 2 siblings, 0 replies; 8+ messages in thread From: Oleksij Rempel @ 2021-11-22 12:43 UTC (permalink / raw) To: Mark Rutland, Rob Herring, Sascha Hauer, Shawn Guo, Thierry Reding, Sam Ravnborg, David Airlie, Daniel Vetter Cc: Oleksij Rempel, devicetree, Fabio Estevam, linux-arm-kernel, linux-kernel, NXP Linux Team, Pengutronix Kernel Team, David Jander, Robin van der Gracht, dri-devel The gpio1 0 pin is controlling CAN termination, not USB H1 VBUS. So, remove wrong regulator and assign this GPIO to the new DT CAN termination property. Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> --- arch/arm/boot/dts/imx6qdl-vicut1.dtsi | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/arch/arm/boot/dts/imx6qdl-vicut1.dtsi b/arch/arm/boot/dts/imx6qdl-vicut1.dtsi index b9e305774fed..1ac7e13249d2 100644 --- a/arch/arm/boot/dts/imx6qdl-vicut1.dtsi +++ b/arch/arm/boot/dts/imx6qdl-vicut1.dtsi @@ -126,15 +126,6 @@ reg_3v3: regulator-3v3 { regulator-max-microvolt = <3300000>; }; - reg_h1_vbus: regulator-h1-vbus { - compatible = "regulator-fixed"; - regulator-name = "h1-vbus"; - regulator-min-microvolt = <5000000>; - regulator-max-microvolt = <5000000>; - gpio = <&gpio1 0 GPIO_ACTIVE_HIGH>; - enable-active-high; - }; - reg_otg_vbus: regulator-otg-vbus { compatible = "regulator-fixed"; regulator-name = "otg-vbus"; @@ -212,6 +203,8 @@ IMX_AUDMUX_V2_PTCR_SYN IMX_AUDMUX_V2_PDCR_RXDSEL(0) &can1 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_can1>; + termination-gpios = <&gpio1 0 GPIO_ACTIVE_LOW>; + termination-ohms = <150>; status = "okay"; }; @@ -492,7 +485,6 @@ &uart5 { }; &usbh1 { - vbus-supply = <®_h1_vbus>; pinctrl-names = "default"; phy_type = "utmi"; dr_mode = "host"; -- 2.30.2 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v1 4/4] ARM: dts: imx6dl: plym2m, prtvt7, victgo: make use of new resistive-adc-touch driver 2021-11-22 12:43 [PATCH v1 1/4] ARM: dts: imx6dl-prtvt7: Add display and panel nodes Oleksij Rempel 2021-11-22 12:43 ` [PATCH v1 2/4] ARM: dts: imx6dl-prtvt7: Add missing tvp5150 video decoder node Oleksij Rempel 2021-11-22 12:43 ` [PATCH v1 3/4] ARM: dts: imx6qdl-vicut1: add CAN termination support Oleksij Rempel @ 2021-11-22 12:43 ` Oleksij Rempel 2021-12-06 1:06 ` Shawn Guo 2 siblings, 1 reply; 8+ messages in thread From: Oleksij Rempel @ 2021-11-22 12:43 UTC (permalink / raw) To: Mark Rutland, Rob Herring, Sascha Hauer, Shawn Guo, Thierry Reding, Sam Ravnborg, David Airlie, Daniel Vetter Cc: Oleksij Rempel, devicetree, Fabio Estevam, linux-arm-kernel, linux-kernel, NXP Linux Team, Pengutronix Kernel Team, David Jander, Robin van der Gracht, dri-devel The tsc2046 is an ADC used as touchscreen controller. To share as mach code as possible, we should use it as actual ADC + virtual tochscreen controller. With this patch we make use of the new kernel IIO and HID infrastructure. Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> --- arch/arm/boot/dts/imx6dl-plym2m.dts | 55 ++++++++++++++++++++--------- arch/arm/boot/dts/imx6dl-prtvt7.dts | 53 ++++++++++++++++++++------- arch/arm/boot/dts/imx6dl-victgo.dts | 55 +++++++++++++++++++++-------- 3 files changed, 120 insertions(+), 43 deletions(-) diff --git a/arch/arm/boot/dts/imx6dl-plym2m.dts b/arch/arm/boot/dts/imx6dl-plym2m.dts index 60fe5f14666e..e2afedae85cb 100644 --- a/arch/arm/boot/dts/imx6dl-plym2m.dts +++ b/arch/arm/boot/dts/imx6dl-plym2m.dts @@ -101,6 +101,17 @@ reg_12v0: regulator-12v0 { regulator-min-microvolt = <12000000>; regulator-max-microvolt = <12000000>; }; + + touchscreen { + compatible = "resistive-adc-touch"; + io-channels = <&adc 1>, <&adc 3>, <&adc 4>, <&adc 5>; + io-channel-names = "y", "z1", "z2", "x"; + touchscreen-min-pressure = <64687>; + touchscreen-inverted-x; + touchscreen-inverted-y; + touchscreen-x-plate-ohms = <300>; + touchscreen-y-plate-ohms = <800>; + }; }; &can1 { @@ -129,26 +140,38 @@ &ecspi2 { pinctrl-0 = <&pinctrl_ecspi2>; status = "okay"; - touchscreen@0 { - compatible = "ti,tsc2046"; + adc: adc@0 { + compatible = "ti,tsc2046e-adc"; reg = <0>; pinctrl-0 = <&pinctrl_tsc2046>; pinctrl-names ="default"; - spi-max-frequency = <100000>; - interrupts-extended = <&gpio3 20 IRQ_TYPE_EDGE_FALLING>; - pendown-gpio = <&gpio3 20 GPIO_ACTIVE_LOW>; + spi-max-frequency = <1000000>; + interrupts-extended = <&gpio3 20 IRQ_TYPE_LEVEL_LOW>; + #io-channel-cells = <1>; - touchscreen-inverted-x; - touchscreen-inverted-y; - touchscreen-max-pressure = <4095>; - - ti,vref-delay-usecs = /bits/ 16 <100>; - ti,x-plate-ohms = /bits/ 16 <800>; - ti,y-plate-ohms = /bits/ 16 <300>; - ti,debounce-max = /bits/ 16 <3>; - ti,debounce-tol = /bits/ 16 <70>; - ti,debounce-rep = /bits/ 16 <3>; - wakeup-source; + #address-cells = <1>; + #size-cells = <0>; + + channel@1 { + reg = <1>; + settling-time-us = <700>; + oversampling-ratio = <5>; + }; + channel@3 { + reg = <3>; + settling-time-us = <700>; + oversampling-ratio = <5>; + }; + channel@4 { + reg = <4>; + settling-time-us = <700>; + oversampling-ratio = <5>; + }; + channel@5 { + reg = <5>; + settling-time-us = <700>; + oversampling-ratio = <5>; + }; }; }; diff --git a/arch/arm/boot/dts/imx6dl-prtvt7.dts b/arch/arm/boot/dts/imx6dl-prtvt7.dts index 02b53df03e6f..c361e0683973 100644 --- a/arch/arm/boot/dts/imx6dl-prtvt7.dts +++ b/arch/arm/boot/dts/imx6dl-prtvt7.dts @@ -235,6 +235,17 @@ simple-audio-card,codec { frame-master; }; }; + + touchscreen { + compatible = "resistive-adc-touch"; + io-channels = <&adc 1>, <&adc 3>, <&adc 4>, <&adc 5>; + io-channel-names = "y", "z1", "z2", "x"; + touchscreen-min-pressure = <64687>; + touchscreen-inverted-x; + touchscreen-inverted-y; + touchscreen-x-plate-ohms = <300>; + touchscreen-y-plate-ohms = <800>; + }; }; &audmux { @@ -277,22 +288,38 @@ &ecspi2 { pinctrl-0 = <&pinctrl_ecspi2>; status = "okay"; - touchscreen@0 { - compatible = "ti,tsc2046"; + adc: adc@0 { + compatible = "ti,tsc2046e-adc"; reg = <0>; pinctrl-0 = <&pinctrl_tsc>; pinctrl-names ="default"; - spi-max-frequency = <100000>; - interrupts-extended = <&gpio3 20 IRQ_TYPE_EDGE_FALLING>; - pendown-gpio = <&gpio3 20 GPIO_ACTIVE_LOW>; - touchscreen-max-pressure = <4095>; - ti,vref-delay-usecs = /bits/ 16 <100>; - ti,x-plate-ohms = /bits/ 16 <800>; - ti,y-plate-ohms = /bits/ 16 <300>; - ti,debounce-max = /bits/ 16 <3>; - ti,debounce-tol = /bits/ 16 <70>; - ti,debounce-rep = /bits/ 16 <3>; - wakeup-source; + spi-max-frequency = <1000000>; + interrupts-extended = <&gpio3 20 IRQ_TYPE_LEVEL_LOW>; + #io-channel-cells = <1>; + + #address-cells = <1>; + #size-cells = <0>; + + channel@1 { + reg = <1>; + settling-time-us = <700>; + oversampling-ratio = <5>; + }; + channel@3 { + reg = <3>; + settling-time-us = <700>; + oversampling-ratio = <5>; + }; + channel@4 { + reg = <4>; + settling-time-us = <700>; + oversampling-ratio = <5>; + }; + channel@5 { + reg = <5>; + settling-time-us = <700>; + oversampling-ratio = <5>; + }; }; }; diff --git a/arch/arm/boot/dts/imx6dl-victgo.dts b/arch/arm/boot/dts/imx6dl-victgo.dts index d37ba4ed847d..b5004b322d44 100644 --- a/arch/arm/boot/dts/imx6dl-victgo.dts +++ b/arch/arm/boot/dts/imx6dl-victgo.dts @@ -181,6 +181,17 @@ simple-audio-card,codec { frame-master; }; }; + + touchscreen { + compatible = "resistive-adc-touch"; + io-channels = <&adc 1>, <&adc 3>, <&adc 4>, <&adc 5>; + io-channel-names = "y", "z1", "z2", "x"; + touchscreen-min-pressure = <64687>; + touchscreen-inverted-x; + touchscreen-inverted-y; + touchscreen-x-plate-ohms = <300>; + touchscreen-y-plate-ohms = <800>; + }; }; &audmux { @@ -244,22 +255,38 @@ &ecspi2 { pinctrl-0 = <&pinctrl_ecspi2>; status = "okay"; - touchscreen@0 { - compatible = "ti,tsc2046"; + adc: adc@0 { + compatible = "ti,tsc2046e-adc"; reg = <0>; - pinctrl-names = "default"; pinctrl-0 = <&pinctrl_touchscreen>; - spi-max-frequency = <200000>; - interrupts-extended = <&gpio5 8 IRQ_TYPE_EDGE_FALLING>; - pendown-gpio = <&gpio5 8 GPIO_ACTIVE_LOW>; - touchscreen-size-x = <800>; - touchscreen-size-y = <480>; - touchscreen-inverted-y; - touchscreen-max-pressure = <4095>; - ti,vref-delay-usecs = /bits/ 16 <100>; - ti,x-plate-ohms = /bits/ 16 <800>; - ti,y-plate-ohms = /bits/ 16 <300>; - wakeup-source; + pinctrl-names ="default"; + spi-max-frequency = <1000000>; + interrupts-extended = <&gpio5 8 IRQ_TYPE_LEVEL_LOW>; + #io-channel-cells = <1>; + + #address-cells = <1>; + #size-cells = <0>; + + channel@1 { + reg = <1>; + settling-time-us = <700>; + oversampling-ratio = <5>; + }; + channel@3 { + reg = <3>; + settling-time-us = <700>; + oversampling-ratio = <5>; + }; + channel@4 { + reg = <4>; + settling-time-us = <700>; + oversampling-ratio = <5>; + }; + channel@5 { + reg = <5>; + settling-time-us = <700>; + oversampling-ratio = <5>; + }; }; }; -- 2.30.2 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v1 4/4] ARM: dts: imx6dl: plym2m, prtvt7, victgo: make use of new resistive-adc-touch driver 2021-11-22 12:43 ` [PATCH v1 4/4] ARM: dts: imx6dl: plym2m, prtvt7, victgo: make use of new resistive-adc-touch driver Oleksij Rempel @ 2021-12-06 1:06 ` Shawn Guo 2022-01-05 11:04 ` Oleksij Rempel 0 siblings, 1 reply; 8+ messages in thread From: Shawn Guo @ 2021-12-06 1:06 UTC (permalink / raw) To: Oleksij Rempel Cc: Mark Rutland, Rob Herring, Sascha Hauer, Thierry Reding, Sam Ravnborg, David Airlie, Daniel Vetter, devicetree, Fabio Estevam, linux-arm-kernel, linux-kernel, NXP Linux Team, Pengutronix Kernel Team, David Jander, Robin van der Gracht, dri-devel On Mon, Nov 22, 2021 at 01:43:10PM +0100, Oleksij Rempel wrote: > The tsc2046 is an ADC used as touchscreen controller. To share as mach > code as possible, we should use it as actual ADC + virtual tochscreen > controller. > With this patch we make use of the new kernel IIO and HID infrastructure. > > Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> One space is enough in subject "victgo: make". > --- > arch/arm/boot/dts/imx6dl-plym2m.dts | 55 ++++++++++++++++++++--------- > arch/arm/boot/dts/imx6dl-prtvt7.dts | 53 ++++++++++++++++++++------- > arch/arm/boot/dts/imx6dl-victgo.dts | 55 +++++++++++++++++++++-------- > 3 files changed, 120 insertions(+), 43 deletions(-) > > diff --git a/arch/arm/boot/dts/imx6dl-plym2m.dts b/arch/arm/boot/dts/imx6dl-plym2m.dts > index 60fe5f14666e..e2afedae85cb 100644 > --- a/arch/arm/boot/dts/imx6dl-plym2m.dts > +++ b/arch/arm/boot/dts/imx6dl-plym2m.dts > @@ -101,6 +101,17 @@ reg_12v0: regulator-12v0 { > regulator-min-microvolt = <12000000>; > regulator-max-microvolt = <12000000>; > }; > + > + touchscreen { > + compatible = "resistive-adc-touch"; > + io-channels = <&adc 1>, <&adc 3>, <&adc 4>, <&adc 5>; > + io-channel-names = "y", "z1", "z2", "x"; > + touchscreen-min-pressure = <64687>; > + touchscreen-inverted-x; > + touchscreen-inverted-y; > + touchscreen-x-plate-ohms = <300>; > + touchscreen-y-plate-ohms = <800>; > + }; > }; > > &can1 { > @@ -129,26 +140,38 @@ &ecspi2 { > pinctrl-0 = <&pinctrl_ecspi2>; > status = "okay"; > > - touchscreen@0 { > - compatible = "ti,tsc2046"; > + adc: adc@0 { Isn't label name "adc" too generic? > + compatible = "ti,tsc2046e-adc"; > reg = <0>; > pinctrl-0 = <&pinctrl_tsc2046>; > pinctrl-names ="default"; > - spi-max-frequency = <100000>; > - interrupts-extended = <&gpio3 20 IRQ_TYPE_EDGE_FALLING>; > - pendown-gpio = <&gpio3 20 GPIO_ACTIVE_LOW>; > + spi-max-frequency = <1000000>; > + interrupts-extended = <&gpio3 20 IRQ_TYPE_LEVEL_LOW>; > + #io-channel-cells = <1>; > > - touchscreen-inverted-x; > - touchscreen-inverted-y; > - touchscreen-max-pressure = <4095>; > - > - ti,vref-delay-usecs = /bits/ 16 <100>; > - ti,x-plate-ohms = /bits/ 16 <800>; > - ti,y-plate-ohms = /bits/ 16 <300>; > - ti,debounce-max = /bits/ 16 <3>; > - ti,debounce-tol = /bits/ 16 <70>; > - ti,debounce-rep = /bits/ 16 <3>; > - wakeup-source; > + #address-cells = <1>; > + #size-cells = <0>; > + > + channel@1 { > + reg = <1>; > + settling-time-us = <700>; > + oversampling-ratio = <5>; > + }; Have a newline between child nodes. Shawn > + channel@3 { > + reg = <3>; > + settling-time-us = <700>; > + oversampling-ratio = <5>; > + }; > + channel@4 { > + reg = <4>; > + settling-time-us = <700>; > + oversampling-ratio = <5>; > + }; > + channel@5 { > + reg = <5>; > + settling-time-us = <700>; > + oversampling-ratio = <5>; > + }; > }; > }; > > diff --git a/arch/arm/boot/dts/imx6dl-prtvt7.dts b/arch/arm/boot/dts/imx6dl-prtvt7.dts > index 02b53df03e6f..c361e0683973 100644 > --- a/arch/arm/boot/dts/imx6dl-prtvt7.dts > +++ b/arch/arm/boot/dts/imx6dl-prtvt7.dts > @@ -235,6 +235,17 @@ simple-audio-card,codec { > frame-master; > }; > }; > + > + touchscreen { > + compatible = "resistive-adc-touch"; > + io-channels = <&adc 1>, <&adc 3>, <&adc 4>, <&adc 5>; > + io-channel-names = "y", "z1", "z2", "x"; > + touchscreen-min-pressure = <64687>; > + touchscreen-inverted-x; > + touchscreen-inverted-y; > + touchscreen-x-plate-ohms = <300>; > + touchscreen-y-plate-ohms = <800>; > + }; > }; > > &audmux { > @@ -277,22 +288,38 @@ &ecspi2 { > pinctrl-0 = <&pinctrl_ecspi2>; > status = "okay"; > > - touchscreen@0 { > - compatible = "ti,tsc2046"; > + adc: adc@0 { > + compatible = "ti,tsc2046e-adc"; > reg = <0>; > pinctrl-0 = <&pinctrl_tsc>; > pinctrl-names ="default"; > - spi-max-frequency = <100000>; > - interrupts-extended = <&gpio3 20 IRQ_TYPE_EDGE_FALLING>; > - pendown-gpio = <&gpio3 20 GPIO_ACTIVE_LOW>; > - touchscreen-max-pressure = <4095>; > - ti,vref-delay-usecs = /bits/ 16 <100>; > - ti,x-plate-ohms = /bits/ 16 <800>; > - ti,y-plate-ohms = /bits/ 16 <300>; > - ti,debounce-max = /bits/ 16 <3>; > - ti,debounce-tol = /bits/ 16 <70>; > - ti,debounce-rep = /bits/ 16 <3>; > - wakeup-source; > + spi-max-frequency = <1000000>; > + interrupts-extended = <&gpio3 20 IRQ_TYPE_LEVEL_LOW>; > + #io-channel-cells = <1>; > + > + #address-cells = <1>; > + #size-cells = <0>; > + > + channel@1 { > + reg = <1>; > + settling-time-us = <700>; > + oversampling-ratio = <5>; > + }; > + channel@3 { > + reg = <3>; > + settling-time-us = <700>; > + oversampling-ratio = <5>; > + }; > + channel@4 { > + reg = <4>; > + settling-time-us = <700>; > + oversampling-ratio = <5>; > + }; > + channel@5 { > + reg = <5>; > + settling-time-us = <700>; > + oversampling-ratio = <5>; > + }; > }; > }; > > diff --git a/arch/arm/boot/dts/imx6dl-victgo.dts b/arch/arm/boot/dts/imx6dl-victgo.dts > index d37ba4ed847d..b5004b322d44 100644 > --- a/arch/arm/boot/dts/imx6dl-victgo.dts > +++ b/arch/arm/boot/dts/imx6dl-victgo.dts > @@ -181,6 +181,17 @@ simple-audio-card,codec { > frame-master; > }; > }; > + > + touchscreen { > + compatible = "resistive-adc-touch"; > + io-channels = <&adc 1>, <&adc 3>, <&adc 4>, <&adc 5>; > + io-channel-names = "y", "z1", "z2", "x"; > + touchscreen-min-pressure = <64687>; > + touchscreen-inverted-x; > + touchscreen-inverted-y; > + touchscreen-x-plate-ohms = <300>; > + touchscreen-y-plate-ohms = <800>; > + }; > }; > > &audmux { > @@ -244,22 +255,38 @@ &ecspi2 { > pinctrl-0 = <&pinctrl_ecspi2>; > status = "okay"; > > - touchscreen@0 { > - compatible = "ti,tsc2046"; > + adc: adc@0 { > + compatible = "ti,tsc2046e-adc"; > reg = <0>; > - pinctrl-names = "default"; > pinctrl-0 = <&pinctrl_touchscreen>; > - spi-max-frequency = <200000>; > - interrupts-extended = <&gpio5 8 IRQ_TYPE_EDGE_FALLING>; > - pendown-gpio = <&gpio5 8 GPIO_ACTIVE_LOW>; > - touchscreen-size-x = <800>; > - touchscreen-size-y = <480>; > - touchscreen-inverted-y; > - touchscreen-max-pressure = <4095>; > - ti,vref-delay-usecs = /bits/ 16 <100>; > - ti,x-plate-ohms = /bits/ 16 <800>; > - ti,y-plate-ohms = /bits/ 16 <300>; > - wakeup-source; > + pinctrl-names ="default"; > + spi-max-frequency = <1000000>; > + interrupts-extended = <&gpio5 8 IRQ_TYPE_LEVEL_LOW>; > + #io-channel-cells = <1>; > + > + #address-cells = <1>; > + #size-cells = <0>; > + > + channel@1 { > + reg = <1>; > + settling-time-us = <700>; > + oversampling-ratio = <5>; > + }; > + channel@3 { > + reg = <3>; > + settling-time-us = <700>; > + oversampling-ratio = <5>; > + }; > + channel@4 { > + reg = <4>; > + settling-time-us = <700>; > + oversampling-ratio = <5>; > + }; > + channel@5 { > + reg = <5>; > + settling-time-us = <700>; > + oversampling-ratio = <5>; > + }; > }; > }; > > -- > 2.30.2 > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v1 4/4] ARM: dts: imx6dl: plym2m, prtvt7, victgo: make use of new resistive-adc-touch driver 2021-12-06 1:06 ` Shawn Guo @ 2022-01-05 11:04 ` Oleksij Rempel 2022-01-26 2:05 ` Shawn Guo 0 siblings, 1 reply; 8+ messages in thread From: Oleksij Rempel @ 2022-01-05 11:04 UTC (permalink / raw) To: Shawn Guo Cc: Mark Rutland, Rob Herring, Sascha Hauer, Thierry Reding, Sam Ravnborg, David Airlie, Daniel Vetter, devicetree, Fabio Estevam, linux-arm-kernel, linux-kernel, NXP Linux Team, Pengutronix Kernel Team, David Jander, Robin van der Gracht, dri-devel, Jonathan Cameron Hi Shawn, sorry for the delay, I just came back to work. On Mon, Dec 06, 2021 at 09:06:28AM +0800, Shawn Guo wrote: > On Mon, Nov 22, 2021 at 01:43:10PM +0100, Oleksij Rempel wrote: > > The tsc2046 is an ADC used as touchscreen controller. To share as mach > > code as possible, we should use it as actual ADC + virtual tochscreen > > controller. > > With this patch we make use of the new kernel IIO and HID infrastructure. > > > > Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> > > One space is enough in subject "victgo: make". done. > > --- > > arch/arm/boot/dts/imx6dl-plym2m.dts | 55 ++++++++++++++++++++--------- > > arch/arm/boot/dts/imx6dl-prtvt7.dts | 53 ++++++++++++++++++++------- > > arch/arm/boot/dts/imx6dl-victgo.dts | 55 +++++++++++++++++++++-------- > > 3 files changed, 120 insertions(+), 43 deletions(-) > > > > diff --git a/arch/arm/boot/dts/imx6dl-plym2m.dts b/arch/arm/boot/dts/imx6dl-plym2m.dts > > index 60fe5f14666e..e2afedae85cb 100644 > > --- a/arch/arm/boot/dts/imx6dl-plym2m.dts > > +++ b/arch/arm/boot/dts/imx6dl-plym2m.dts > > @@ -101,6 +101,17 @@ reg_12v0: regulator-12v0 { > > regulator-min-microvolt = <12000000>; > > regulator-max-microvolt = <12000000>; > > }; > > + > > + touchscreen { > > + compatible = "resistive-adc-touch"; > > + io-channels = <&adc 1>, <&adc 3>, <&adc 4>, <&adc 5>; > > + io-channel-names = "y", "z1", "z2", "x"; > > + touchscreen-min-pressure = <64687>; > > + touchscreen-inverted-x; > > + touchscreen-inverted-y; > > + touchscreen-x-plate-ohms = <300>; > > + touchscreen-y-plate-ohms = <800>; > > + }; > > }; > > > > &can1 { > > @@ -129,26 +140,38 @@ &ecspi2 { > > pinctrl-0 = <&pinctrl_ecspi2>; > > status = "okay"; > > > > - touchscreen@0 { > > - compatible = "ti,tsc2046"; > > + adc: adc@0 { > > Isn't label name "adc" too generic? I do not have strong opinion about this. Currently we have no restrictions for the node names: Documentation/devicetree/bindings/iio/adc/ti,tsc2046.yaml Documentation/devicetree/bindings/iio/adc/adc.yaml I can name it touchscreen-adc@0 or something like this. What are your preferences? Regards, Oleksij -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v1 4/4] ARM: dts: imx6dl: plym2m, prtvt7, victgo: make use of new resistive-adc-touch driver 2022-01-05 11:04 ` Oleksij Rempel @ 2022-01-26 2:05 ` Shawn Guo 0 siblings, 0 replies; 8+ messages in thread From: Shawn Guo @ 2022-01-26 2:05 UTC (permalink / raw) To: Oleksij Rempel Cc: Mark Rutland, Rob Herring, Sascha Hauer, Thierry Reding, Sam Ravnborg, David Airlie, Daniel Vetter, devicetree, Fabio Estevam, linux-arm-kernel, linux-kernel, NXP Linux Team, Pengutronix Kernel Team, David Jander, Robin van der Gracht, dri-devel, Jonathan Cameron On Wed, Jan 05, 2022 at 12:04:34PM +0100, Oleksij Rempel wrote: > Hi Shawn, > > sorry for the delay, I just came back to work. > > On Mon, Dec 06, 2021 at 09:06:28AM +0800, Shawn Guo wrote: > > On Mon, Nov 22, 2021 at 01:43:10PM +0100, Oleksij Rempel wrote: > > > The tsc2046 is an ADC used as touchscreen controller. To share as mach > > > code as possible, we should use it as actual ADC + virtual tochscreen > > > controller. > > > With this patch we make use of the new kernel IIO and HID infrastructure. > > > > > > Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> > > > > One space is enough in subject "victgo: make". > > done. > > > > --- > > > arch/arm/boot/dts/imx6dl-plym2m.dts | 55 ++++++++++++++++++++--------- > > > arch/arm/boot/dts/imx6dl-prtvt7.dts | 53 ++++++++++++++++++++------- > > > arch/arm/boot/dts/imx6dl-victgo.dts | 55 +++++++++++++++++++++-------- > > > 3 files changed, 120 insertions(+), 43 deletions(-) > > > > > > diff --git a/arch/arm/boot/dts/imx6dl-plym2m.dts b/arch/arm/boot/dts/imx6dl-plym2m.dts > > > index 60fe5f14666e..e2afedae85cb 100644 > > > --- a/arch/arm/boot/dts/imx6dl-plym2m.dts > > > +++ b/arch/arm/boot/dts/imx6dl-plym2m.dts > > > @@ -101,6 +101,17 @@ reg_12v0: regulator-12v0 { > > > regulator-min-microvolt = <12000000>; > > > regulator-max-microvolt = <12000000>; > > > }; > > > + > > > + touchscreen { > > > + compatible = "resistive-adc-touch"; > > > + io-channels = <&adc 1>, <&adc 3>, <&adc 4>, <&adc 5>; > > > + io-channel-names = "y", "z1", "z2", "x"; > > > + touchscreen-min-pressure = <64687>; > > > + touchscreen-inverted-x; > > > + touchscreen-inverted-y; > > > + touchscreen-x-plate-ohms = <300>; > > > + touchscreen-y-plate-ohms = <800>; > > > + }; > > > }; > > > > > > &can1 { > > > @@ -129,26 +140,38 @@ &ecspi2 { > > > pinctrl-0 = <&pinctrl_ecspi2>; > > > status = "okay"; > > > > > > - touchscreen@0 { > > > - compatible = "ti,tsc2046"; > > > + adc: adc@0 { > > > > Isn't label name "adc" too generic? > > I do not have strong opinion about this. Currently we have no > restrictions for the node names: > Documentation/devicetree/bindings/iio/adc/ti,tsc2046.yaml > Documentation/devicetree/bindings/iio/adc/adc.yaml > > I can name it touchscreen-adc@0 or something like this. What are your > preferences? I wasn't talking about node name but label. Shawn ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2022-01-26 2:05 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2021-11-22 12:43 [PATCH v1 1/4] ARM: dts: imx6dl-prtvt7: Add display and panel nodes Oleksij Rempel 2021-11-22 12:43 ` [PATCH v1 2/4] ARM: dts: imx6dl-prtvt7: Add missing tvp5150 video decoder node Oleksij Rempel 2021-12-06 1:01 ` Shawn Guo 2021-11-22 12:43 ` [PATCH v1 3/4] ARM: dts: imx6qdl-vicut1: add CAN termination support Oleksij Rempel 2021-11-22 12:43 ` [PATCH v1 4/4] ARM: dts: imx6dl: plym2m, prtvt7, victgo: make use of new resistive-adc-touch driver Oleksij Rempel 2021-12-06 1:06 ` Shawn Guo 2022-01-05 11:04 ` Oleksij Rempel 2022-01-26 2:05 ` Shawn Guo
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).