Add support for a LVDS panel accessory kit consisting of:
* AU Optronics G101EVN010 10.1 inches TFT-LCD display * Goodix GT911 capacitive touch controller
This is used with the ConnectCore 6UL SBC Pro (ccimx6ulsbcpro) board.
Changes in v1 from initial changeset [1]:
* Split configuration change into a different commit * Provide meaningful commit messages * Use the new DRM mxsfb driver for the AUO G101EVN010 panel
[1] https://lore.kernel.org/lkml/1540204399-12982-1-git-send-email-alex.gonzalez...
Alex Gonzalez (4): drm/panel: simple: Add AUO G101EVN010 panel support ARM: dts: ccimx6ulsbcpro: Enable AUO G101EVN010 lcdif panel ARM: imx_v6_v7_defconfig: Select TOUCHSCREEN_GOODIX ARM: dts: ccimx6ulsbcpro: Add support for Goodix touch controller
.../bindings/display/panel/auo,g101evn010 | 12 +++++++ arch/arm/boot/dts/imx6ul-ccimx6ulsbcpro.dts | 37 ++++++++++++++++++++++ arch/arm/configs/imx_v6_v7_defconfig | 1 + drivers/gpu/drm/panel/panel-simple.c | 27 ++++++++++++++++ 4 files changed, 77 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/panel/auo,g101evn010
The change adds support for the AU Optronics G101EVN010 10.1" TFT LCD panel.
Signed-off-by: Alex Gonzalez alex.gonzalez@digi.com --- .../bindings/display/panel/auo,g101evn010 | 12 ++++++++++ drivers/gpu/drm/panel/panel-simple.c | 27 ++++++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/panel/auo,g101evn010
diff --git a/Documentation/devicetree/bindings/display/panel/auo,g101evn010 b/Documentation/devicetree/bindings/display/panel/auo,g101evn010 new file mode 100644 index 000000000000..bc6a0c858e23 --- /dev/null +++ b/Documentation/devicetree/bindings/display/panel/auo,g101evn010 @@ -0,0 +1,12 @@ +AU Optronics Corporation 10.1" (1280x800) color TFT LCD panel + +Required properties: +- compatible: should be "auo,g101evn010" +- power-supply: as specified in the base binding + +Optional properties: +- backlight: as specified in the base binding +- enable-gpios: as specified in the base binding + +This binding is compatible with the simple-panel binding, which is specified +in simple-panel.txt in this directory. diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c index 97964f7f2ace..65a0dd166637 100644 --- a/drivers/gpu/drm/panel/panel-simple.c +++ b/drivers/gpu/drm/panel/panel-simple.c @@ -631,6 +631,30 @@ static const struct panel_desc auo_g104sn02 = { }, };
+static const struct drm_display_mode auo_g101evn010_mode = { + .clock = 68930, + .hdisplay = 1280, + .hsync_start = 1280 + 82, + .hsync_end = 1280 + 82 + 2, + .htotal = 1280 + 82 + 2 + 84, + .vdisplay = 800, + .vsync_start = 800 + 8, + .vsync_end = 800 + 8 + 2, + .vtotal = 800 + 8 + 2 + 6, + .vrefresh = 60, +}; + +static const struct panel_desc auo_g101evn010 = { + .modes = &auo_g101evn010_mode, + .num_modes = 1, + .bpc = 6, + .size = { + .width = 216, + .height = 135, + }, + .bus_format = MEDIA_BUS_FMT_RGB666_1X18, +}; + static const struct display_timing auo_g133han01_timings = { .pixelclock = { 134000000, 141200000, 149000000 }, .hactive = { 1920, 1920, 1920 }, @@ -2355,6 +2379,9 @@ static const struct of_device_id platform_of_match[] = { .compatible = "auo,g104sn02", .data = &auo_g104sn02, }, { + .compatible = "auo,g101evn010", + .data = &auo_g101evn010, + }, { .compatible = "auo,g133han01", .data = &auo_g133han01, }, {
On Thu, 25 Oct 2018 17:09:30 +0200, Alex Gonzalez wrote:
The change adds support for the AU Optronics G101EVN010 10.1" TFT LCD panel.
Signed-off-by: Alex Gonzalez alex.gonzalez@digi.com
.../bindings/display/panel/auo,g101evn010 | 12 ++++++++++ drivers/gpu/drm/panel/panel-simple.c | 27 ++++++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/panel/auo,g101evn010
Reviewed-by: Rob Herring robh@kernel.org
On Tue, Oct 30, 2018 at 11:05:19PM +0000, Rob Herring wrote:
On Thu, 25 Oct 2018 17:09:30 +0200, Alex Gonzalez wrote:
The change adds support for the AU Optronics G101EVN010 10.1" TFT LCD panel.
Signed-off-by: Alex Gonzalez alex.gonzalez@digi.com
.../bindings/display/panel/auo,g101evn010 | 12 ++++++++++ drivers/gpu/drm/panel/panel-simple.c | 27 ++++++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/panel/auo,g101evn010
Reviewed-by: Rob Herring robh@kernel.org
Ping?
On Thu, Oct 25, 2018 at 05:09:30PM +0200, Alex Gonzalez wrote:
The change adds support for the AU Optronics G101EVN010 10.1" TFT LCD panel.
Signed-off-by: Alex Gonzalez alex.gonzalez@digi.com
.../bindings/display/panel/auo,g101evn010 | 12 ++++++++++ drivers/gpu/drm/panel/panel-simple.c | 27 ++++++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/panel/auo,g101evn010
Two things to keep in mind for next time: please split up DT bindings and driver changes into two separate patches (checkpatch.pl warns about this) and keep entries in panel-simple sorted alphabetically.
I fixed the sorting myself and also added a .txt suffix to the DT binding documentation for consistency with other files in that directory.
Applied to drm-misc-next, thanks.
Thierry
This change adds support for the AUO G101EVN010 lcdif panel for the mxsfb DRM driver.
Signed-off-by: Alex Gonzalez alex.gonzalez@digi.com --- arch/arm/boot/dts/imx6ul-ccimx6ulsbcpro.dts | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+)
diff --git a/arch/arm/boot/dts/imx6ul-ccimx6ulsbcpro.dts b/arch/arm/boot/dts/imx6ul-ccimx6ulsbcpro.dts index 11966d12af76..f6e6b2cf780b 100644 --- a/arch/arm/boot/dts/imx6ul-ccimx6ulsbcpro.dts +++ b/arch/arm/boot/dts/imx6ul-ccimx6ulsbcpro.dts @@ -24,6 +24,18 @@ status = "okay"; };
+ panel { + compatible = "auo,g101evn010", "simple-panel"; + power-supply = <&ldo4_ext>; + backlight = <&lcd_backlight>; + + port { + panel_in: endpoint { + remote-endpoint = <&display_out>; + }; + }; + }; + reg_usb_otg1_vbus: regulator-usb-otg1 { compatible = "regulator-fixed"; regulator-name = "usb_otg1_vbus"; @@ -112,6 +124,12 @@ &pinctrl_lcdif_hvsync>; lcd-supply = <&ldo4_ext>; /* BU90T82 LVDS bridge power */ status = "okay"; + + port { + display_out: endpoint { + remote-endpoint = <&panel_in>; + }; + }; };
&ldo4_ext {
On Thu, Oct 25, 2018 at 12:11 PM Alex Gonzalez alex.gonzalez@digi.com wrote:
This change adds support for the AUO G101EVN010 lcdif panel for the mxsfb DRM driver.
Signed-off-by: Alex Gonzalez alex.gonzalez@digi.com
arch/arm/boot/dts/imx6ul-ccimx6ulsbcpro.dts | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+)
diff --git a/arch/arm/boot/dts/imx6ul-ccimx6ulsbcpro.dts b/arch/arm/boot/dts/imx6ul-ccimx6ulsbcpro.dts index 11966d12af76..f6e6b2cf780b 100644 --- a/arch/arm/boot/dts/imx6ul-ccimx6ulsbcpro.dts +++ b/arch/arm/boot/dts/imx6ul-ccimx6ulsbcpro.dts @@ -24,6 +24,18 @@ status = "okay"; };
panel {
compatible = "auo,g101evn010", "simple-panel";
The "simple-panel" string could be dropped.
Reviewed-by: Fabio Estevam festevam@gmail.com
power-supply = <&ldo4_ext>;
backlight = <&lcd_backlight>;
port {
panel_in: endpoint {
remote-endpoint = <&display_out>;
};
};
};
reg_usb_otg1_vbus: regulator-usb-otg1 { compatible = "regulator-fixed"; regulator-name = "usb_otg1_vbus";
@@ -112,6 +124,12 @@ &pinctrl_lcdif_hvsync>; lcd-supply = <&ldo4_ext>; /* BU90T82 LVDS bridge power */ status = "okay";
port {
display_out: endpoint {
remote-endpoint = <&panel_in>;
};
};
};
&ldo4_ext {
linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Select CONFIG_TOUCHSCREEN_GOODIX so that we can have functional touch screen by default on Digi International's AUO/Goodix LCD accessory kit used with the ConnectCore 6UL SBC Pro (ccimx6ulsbcpro) board.
Signed-off-by: Alex Gonzalez alex.gonzalez@digi.com --- arch/arm/configs/imx_v6_v7_defconfig | 1 + 1 file changed, 1 insertion(+)
diff --git a/arch/arm/configs/imx_v6_v7_defconfig b/arch/arm/configs/imx_v6_v7_defconfig index 7eca43ff69bb..d6e947307d67 100644 --- a/arch/arm/configs/imx_v6_v7_defconfig +++ b/arch/arm/configs/imx_v6_v7_defconfig @@ -170,6 +170,7 @@ CONFIG_MOUSE_PS2_ELANTECH=y CONFIG_INPUT_TOUCHSCREEN=y CONFIG_TOUCHSCREEN_ADS7846=y CONFIG_TOUCHSCREEN_EGALAX=y +CONFIG_TOUCHSCREEN_GOODIX=y CONFIG_TOUCHSCREEN_MAX11801=y CONFIG_TOUCHSCREEN_IMX6UL_TSC=y CONFIG_TOUCHSCREEN_EDT_FT5X06=y
On Thu, Oct 25, 2018 at 12:11 PM Alex Gonzalez alex.gonzalez@digi.com wrote:
Select CONFIG_TOUCHSCREEN_GOODIX so that we can have functional touch screen by default on Digi International's AUO/Goodix LCD accessory kit used with the ConnectCore 6UL SBC Pro (ccimx6ulsbcpro) board.
Signed-off-by: Alex Gonzalez alex.gonzalez@digi.com
Reviewed-by: Fabio Estevam festevam@gmail.com
The ConnectCore 6UL SBC Pro has an AUO/Goodix LCD accessory kit that is connected on the LVDS interface through an on-board LVDS transceiver.
This change adds support for the touch interface.
Signed-off-by: Alex Gonzalez alex.gonzalez@digi.com --- arch/arm/boot/dts/imx6ul-ccimx6ulsbcpro.dts | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+)
diff --git a/arch/arm/boot/dts/imx6ul-ccimx6ulsbcpro.dts b/arch/arm/boot/dts/imx6ul-ccimx6ulsbcpro.dts index f6e6b2cf780b..3749fdda3611 100644 --- a/arch/arm/boot/dts/imx6ul-ccimx6ulsbcpro.dts +++ b/arch/arm/boot/dts/imx6ul-ccimx6ulsbcpro.dts @@ -117,6 +117,19 @@ }; };
+&i2c1 { + touchscreen@14 { + compatible = "goodix,gt911"; + reg = <0x14>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_goodix_touch>; + interrupt-parent = <&gpio5>; + interrupts = <2 IRQ_TYPE_EDGE_RISING>; + irq-gpios = <&gpio5 2 GPIO_ACTIVE_HIGH>; + status = "okay"; + }; +}; + &lcdif { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_lcdif_dat0_17 @@ -290,6 +303,12 @@ >; };
+ pinctrl_goodix_touch: goodixgrp{ + fsl,pins = < + MX6UL_PAD_SNVS_TAMPER2__GPIO5_IO02 0x1020 + >; + }; + pinctrl_lcdif_dat0_17: lcdifdatgrp0-17 { fsl,pins = < MX6UL_PAD_LCD_DATA00__LCDIF_DATA00 0x79
On Thu, Oct 25, 2018 at 12:10 PM Alex Gonzalez alex.gonzalez@digi.com wrote:
The ConnectCore 6UL SBC Pro has an AUO/Goodix LCD accessory kit that is connected on the LVDS interface through an on-board LVDS transceiver.
This change adds support for the touch interface.
Signed-off-by: Alex Gonzalez alex.gonzalez@digi.com
Reviewed-by: Fabio Estevam festevam@gmail.com
On Thu, Oct 25, 2018 at 05:09:29PM +0200, Alex Gonzalez wrote:
Alex Gonzalez (4): drm/panel: simple: Add AUO G101EVN010 panel support ARM: dts: ccimx6ulsbcpro: Enable AUO G101EVN010 lcdif panel ARM: imx_v6_v7_defconfig: Select TOUCHSCREEN_GOODIX ARM: dts: ccimx6ulsbcpro: Add support for Goodix touch controller
It looks good to me. Ping me when the patch #1 gets accepted and I will apply the test then.
Shawn
On Sun, Nov 04, 2018 at 08:54:26AM +0000, Shawn Guo wrote:
On Thu, Oct 25, 2018 at 05:09:29PM +0200, Alex Gonzalez wrote:
Alex Gonzalez (4): drm/panel: simple: Add AUO G101EVN010 panel support ARM: dts: ccimx6ulsbcpro: Enable AUO G101EVN010 lcdif panel ARM: imx_v6_v7_defconfig: Select TOUCHSCREEN_GOODIX ARM: dts: ccimx6ulsbcpro: Add support for Goodix touch controller
It looks good to me. Ping me when the patch #1 gets accepted and I will apply the test then.
Shawn
Hi Shawn,
Patch #1 is already applied to drm-misc-next (thanks to Thierry for fixing it up for me)
Alex
On Thu, Oct 25, 2018 at 05:09:29PM +0200, Alex Gonzalez wrote:
Alex Gonzalez (4): drm/panel: simple: Add AUO G101EVN010 panel support ARM: dts: ccimx6ulsbcpro: Enable AUO G101EVN010 lcdif panel ARM: imx_v6_v7_defconfig: Select TOUCHSCREEN_GOODIX ARM: dts: ccimx6ulsbcpro: Add support for Goodix touch controller
Applied #2 ~ #4, thanks.
dri-devel@lists.freedesktop.org