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/[email protected]/
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 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 <[email protected]>
---
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
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 <[email protected]>
---
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
This change adds support for the AUO G101EVN010 lcdif panel for the
mxsfb DRM driver.
Signed-off-by: Alex Gonzalez <[email protected]>
---
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 {
The change adds support for the AU Optronics G101EVN010 10.1" TFT LCD
panel.
Signed-off-by: Alex Gonzalez <[email protected]>
---
.../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, Oct 25, 2018 at 12:11 PM Alex Gonzalez <[email protected]> wrote:
>
> This change adds support for the AUO G101EVN010 lcdif panel for the
> mxsfb DRM driver.
>
> Signed-off-by: Alex Gonzalez <[email protected]>
> ---
> 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 <[email protected]>
> + 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
> [email protected]
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
On Thu, Oct 25, 2018 at 12:11 PM Alex Gonzalez <[email protected]> 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 <[email protected]>
Reviewed-by: Fabio Estevam <[email protected]>
On Thu, Oct 25, 2018 at 12:10 PM Alex Gonzalez <[email protected]> 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 <[email protected]>
Reviewed-by: Fabio Estevam <[email protected]>
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 <[email protected]>
> ---
> .../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 <[email protected]>
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 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 <[email protected]>
> ---
> .../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
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.
Hi Alex,
I am currently working on STM32MP1 based custom board and using the auo,g101evn010 panel.
The panel comes up but the colours are not as expected.
One observation is that when I pull down the notification bar on the Android Screen on the panel, due to the overlay of the notification, the colours in the background seems to be perfect then.
Not getting where to look at for this issue.
Seems to me an issue related to DRM.
Can you please suggest a solution for the same.
Waiting for a reply.
Regards,
Swapnil Raicha.