2017-03-08 08:13:17

by Jagan Teki

[permalink] [raw]
Subject: [PATCH v4 1/7] arm: dts: imx6qdl-icore: Add backlight support for lvds

From: Jagan Teki <[email protected]>

This patch add support for lvds backlight on i.CoreM6 QDL
variant boards.

Cc: Domenico Acri <[email protected]>
Cc: Matteo Lisi <[email protected]>
Cc: Michael Trimarchi <[email protected]>
Cc: Shawn Guo <[email protected]>
Signed-off-by: Jagan Teki <[email protected]>
---
Changes for v4, v3, v2:
- none

arch/arm/boot/dts/imx6qdl-icore.dtsi | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)

diff --git a/arch/arm/boot/dts/imx6qdl-icore.dtsi b/arch/arm/boot/dts/imx6qdl-icore.dtsi
index 55bebfc..7dda608 100644
--- a/arch/arm/boot/dts/imx6qdl-icore.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-icore.dtsi
@@ -48,6 +48,14 @@
reg = <0x10000000 0x80000000>;
};

+ backlight {
+ compatible = "pwm-backlight";
+ pwms = <&pwm3 0 100000>;
+ brightness-levels = <0 4 8 16 32 64 128 255>;
+ default-brightness-level = <7>;
+ status = "okay";
+ };
+
reg_3p3v: regulator-3p3v {
compatible = "regulator-fixed";
regulator-name = "3P3V";
@@ -136,6 +144,12 @@
status = "okay";
};

+&pwm3 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_pwm3>;
+ status = "okay";
+};
+
&uart4 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart4>;
@@ -246,6 +260,12 @@
>;
};

+ pinctrl_pwm3: pwm3grp-1 {
+ fsl,pins = <
+ MX6QDL_PAD_SD4_DAT1__PWM3_OUT 0x1b0b1
+ >;
+ };
+
pinctrl_usbotg: usbotggrp {
fsl,pins = <
MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x17059
--
1.9.1


2017-03-08 07:22:23

by Jagan Teki

[permalink] [raw]
Subject: [PATCH v4 6/7] arm: imx_v6_v7_defconfig: Select max11801_ts touchscreen driver

From: Jagan Teki <[email protected]>

Select CONFIG_TOUCHSCREEN_MAX11801 so that we can have touchscreen
funtionality by default on Engicam i.CoreM6 Quad boards.

Cc: Matteo Lisi <[email protected]>
Cc: Michael Trimarchi <[email protected]>
Cc: Shawn Guo <[email protected]>
Signed-off-by: Jagan Teki <[email protected]>
---
Changes for v4:
- Newly added patch.

arch/arm/boot/dts/imx6q-icore.dts | 9 +++++++++
1 file changed, 9 insertions(+)
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 eaba3b1..842168f 100644
--- a/arch/arm/configs/imx_v6_v7_defconfig
+++ b/arch/arm/configs/imx_v6_v7_defconfig
@@ -165,6 +165,7 @@ CONFIG_TOUCHSCREEN_ADS7846=y
CONFIG_TOUCHSCREEN_EGALAX=y
CONFIG_TOUCHSCREEN_IMX6UL_TSC=y
CONFIG_TOUCHSCREEN_EDT_FT5X06=y
+CONFIG_TOUCHSCREEN_MAX11801=y
CONFIG_TOUCHSCREEN_MC13783=y
CONFIG_TOUCHSCREEN_TSC2004=y
CONFIG_TOUCHSCREEN_TSC2007=y
--
1.9.1

2017-03-08 07:22:22

by Jagan Teki

[permalink] [raw]
Subject: [PATCH v4 5/7] arm: dts: imx6q-icore: Add touchscreen node

From: Jagan Teki <[email protected]>

max11801 touchscreen on Engicam iCoreM6 Quad module is
connected via i2c1, so add tc: max11801@48 on i2c1.

Cc: Domenico Acri <[email protected]>
Cc: Matteo Lisi <[email protected]>
Cc: Michael Trimarchi <[email protected]>
Cc: Shawn Guo <[email protected]>
Signed-off-by: Jagan Teki <[email protected]>
---
Changes for v4:
- Newly added patch.

arch/arm/boot/dts/imx6q-icore.dts | 9 +++++++++
1 file changed, 9 insertions(+)

diff --git a/arch/arm/boot/dts/imx6q-icore.dts b/arch/arm/boot/dts/imx6q-icore.dts
index 73f34d1..8c1a572 100644
--- a/arch/arm/boot/dts/imx6q-icore.dts
+++ b/arch/arm/boot/dts/imx6q-icore.dts
@@ -58,6 +58,15 @@
status = "okay";
};

+&i2c1 {
+ ts: max11801@48 {
+ compatible = "max11801";
+ reg = <0x48>;
+ interrupt-parent = <&gpio3>;
+ interrupts = <31 IRQ_TYPE_EDGE_FALLING>;
+ };
+};
+
&ldb {
status = "okay";

--
1.9.1

2017-03-08 07:22:20

by Jagan Teki

[permalink] [raw]
Subject: [PATCH v4 4/7] arm: dts: imx6q-icore: Add LVDS support

From: Jagan Teki <[email protected]>

Add LVDS display support for OpenFrame Capacitive touch 7 inc
display which is supported by Engicam i.CoreM6 QDL Starter Kit.

Cc: Domenico Acri <[email protected]>
Cc: Matteo Lisi <[email protected]>
Cc: Michael Trimarchi <[email protected]>
Cc: Shawn Guo <[email protected]>
Signed-off-by: Jagan Teki <[email protected]>
---
Changes for v4:
- Fix checkpatch.pl Errors/Warnings
Changes for v3:
- Use native-mode as timing0 since this is the initial lvds-channel
- Rename hsd100pxn1 reference as timing0
- Update the correct patch author
Changes for v2:
- none

arch/arm/boot/dts/imx6q-icore.dts | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

diff --git a/arch/arm/boot/dts/imx6q-icore.dts b/arch/arm/boot/dts/imx6q-icore.dts
index 59eb7ad..73f34d1 100644
--- a/arch/arm/boot/dts/imx6q-icore.dts
+++ b/arch/arm/boot/dts/imx6q-icore.dts
@@ -57,3 +57,28 @@
&can2 {
status = "okay";
};
+
+&ldb {
+ status = "okay";
+
+ lvds-channel@0 {
+ fsl,data-mapping = "spwg";
+ fsl,data-width = <18>;
+ status = "okay";
+
+ display-timings {
+ native-mode = <&timing0>;
+ timing0: timing0 {
+ clock-frequency = <60000000>;
+ hactive = <800>;
+ vactive = <480>;
+ hback-porch = <30>;
+ hfront-porch = <30>;
+ vback-porch = <5>;
+ vfront-porch = <5>;
+ hsync-len = <64>;
+ vsync-len = <20>;
+ };
+ };
+ };
+};
--
1.9.1

2017-03-08 07:23:36

by Jagan Teki

[permalink] [raw]
Subject: [PATCH v4 3/7] arm: dts: imx6q: Add Engicam i.CoreM6 Quad/Dual OpenFrame Cap 12.3 initial support

From: Jagan Teki <[email protected]>

i.CoreM6 Quad/Dual OpenFrame modules are "system on modules plus
openframe display carriers" which are good solution for develop
user friendly graphic user interface.

General features:
CPU NXP i.MX6Q rev1.2 at 792 MHz
RAM 1GB, 32, 64 bit, DDR3-800/1066
NAND SLC,512MB
LVDS Display TFT 12.3" industrial, 1280x480 resolution
Backlight LED backlight, brightness 350 Cd/m2
Power supply 15 to 30 Vdc

Cc: Domenico Acri <[email protected]>
Cc: Matteo Lisi <[email protected]>
Cc: Michael Trimarchi <[email protected]>
Cc: Shawn Guo <[email protected]>
Signed-off-by: Jagan Teki <[email protected]>
---
Changes for v4:
- Fix checkpatch.pl Errors/Warnings
Changes for v3:
- Use native-mode as timing0 since this is the initial lvds-channel
- Rename hsd100pxn1 reference as timing0
- Update the correct patch author
Changes for v2:
- none

arch/arm/boot/dts/Makefile | 1 +
arch/arm/boot/dts/imx6q-icore-ofcap12.dts | 76 +++++++++++++++++++++++++++++++
2 files changed, 77 insertions(+)
create mode 100644 arch/arm/boot/dts/imx6q-icore-ofcap12.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 458ec09..adfdaee 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -399,6 +399,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
imx6q-hummingboard.dtb \
imx6q-icore.dtb \
imx6q-icore-ofcap10.dtb \
+ imx6q-icore-ofcap12.dtb \
imx6q-icore-rqs.dtb \
imx6q-marsboard.dtb \
imx6q-mccmon6.dtb \
diff --git a/arch/arm/boot/dts/imx6q-icore-ofcap12.dts b/arch/arm/boot/dts/imx6q-icore-ofcap12.dts
new file mode 100644
index 0000000..9e230f5
--- /dev/null
+++ b/arch/arm/boot/dts/imx6q-icore-ofcap12.dts
@@ -0,0 +1,76 @@
+/*
+ * Copyright (C) 2016 Amarula Solutions B.V.
+ * Copyright (C) 2016 Engicam S.r.l.
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ * a) This file is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * version 2 as published by the Free Software Foundation.
+ *
+ * This file 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.
+ *
+ * Or, alternatively,
+ *
+ * b) Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use,
+ * copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following
+ * conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/dts-v1/;
+
+#include "imx6q.dtsi"
+#include "imx6qdl-icore.dtsi"
+
+/ {
+ model = "Engicam i.CoreM6 Quad/Dual OpenFrame Capacitive touch 12 Kit";
+ compatible = "engicam,imx6-icore", "fsl,imx6q";
+};
+
+&ldb {
+ status = "okay";
+
+ lvds-channel@0 {
+ fsl,data-mapping = "spwg";
+ fsl,data-width = <18>;
+ status = "okay";
+
+ display-timings {
+ native-mode = <&timing0>;
+ timing0: timing0 {
+ clock-frequency = <46800000>;
+ hactive = <1280>;
+ vactive = <480>;
+ hback-porch = <353>;
+ hfront-porch = <47>;
+ vback-porch = <39>;
+ vfront-porch = <4>;
+ hsync-len = <8>;
+ vsync-len = <2>;
+ };
+ };
+ };
+};
--
1.9.1

2017-03-08 07:48:48

by Jagan Teki

[permalink] [raw]
Subject: [PATCH v4 7/7] arm: imx_v6_v7_defconfig: Select hid-multitouchdriver

From: Jagan Teki <[email protected]>

Select CONFIG_HID_MULTITOUCH so that we can have multi touchscreen
funtionality via USB by default on Engicam i.CoreM6 Quad with
OpenFrame Cap 10.1 display boards.

Cc: Matteo Lisi <[email protected]>
Cc: Michael Trimarchi <[email protected]>
Cc: Shawn Guo <[email protected]>
Signed-off-by: Jagan Teki <[email protected]>
---
Changes for v4:
- Newly added patch.

arch/arm/boot/dts/imx6q-icore.dts | 9 +++++++++
1 file changed, 9 insertions(+)
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 842168f..914e8cb 100644
--- a/arch/arm/configs/imx_v6_v7_defconfig
+++ b/arch/arm/configs/imx_v6_v7_defconfig
@@ -174,6 +174,7 @@ CONFIG_TOUCHSCREEN_SX8654=y
CONFIG_TOUCHSCREEN_COLIBRI_VF50=y
CONFIG_INPUT_MISC=y
CONFIG_INPUT_MMA8450=y
+CONFIG_HID_MULTITOUCH=y
CONFIG_SERIO_SERPORT=m
# CONFIG_LEGACY_PTYS is not set
CONFIG_SERIAL_IMX=y
--
1.9.1

2017-03-08 08:29:46

by Jagan Teki

[permalink] [raw]
Subject: [PATCH v4 2/7] arm: dts: imx6q: Add Engicam i.CoreM6 Quad/Dual OpenFrame Cap 10.1 initial support

From: Jagan Teki <[email protected]>

i.CoreM6 Quad/Dual OpenFrame modules are "system on modules plus
openframe display carriers" which are good solution for develop
user friendly graphic user interface.

General features:
CPU NXP i.MX6Q rev1.2 at 792 MHz
RAM 1GB, 32, 64 bit, DDR3-800/1066
NAND SLC,512MB
LVDS Display TFT 10.1" industrial, 1280x800 resolution
Backlight LED backlight, brightness 350 Cd/m2
Power supply 15 to 30 Vdc

Cc: Domenico Acri <[email protected]>
Cc: Matteo Lisi <[email protected]>
Cc: Michael Trimarchi <[email protected]>
Cc: Shawn Guo <[email protected]>
Signed-off-by: Jagan Teki <[email protected]>
---
Changes for v4:
- Fix checkpatch.pl Errors/Warnings
Changes for v3:
- Use native-mode as timing0 since this is the initial lvds-channel
- Rename hsd100pxn1 reference as timing0
- Update the correct patch author
Changes for v2:
- none

arch/arm/boot/dts/Makefile | 1 +
arch/arm/boot/dts/imx6q-icore-ofcap10.dts | 76 +++++++++++++++++++++++++++++++
2 files changed, 77 insertions(+)
create mode 100644 arch/arm/boot/dts/imx6q-icore-ofcap10.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 0118084..458ec09 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -398,6 +398,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
imx6q-h100.dtb \
imx6q-hummingboard.dtb \
imx6q-icore.dtb \
+ imx6q-icore-ofcap10.dtb \
imx6q-icore-rqs.dtb \
imx6q-marsboard.dtb \
imx6q-mccmon6.dtb \
diff --git a/arch/arm/boot/dts/imx6q-icore-ofcap10.dts b/arch/arm/boot/dts/imx6q-icore-ofcap10.dts
new file mode 100644
index 0000000..49b60ca
--- /dev/null
+++ b/arch/arm/boot/dts/imx6q-icore-ofcap10.dts
@@ -0,0 +1,76 @@
+/*
+ * Copyright (C) 2016 Amarula Solutions B.V.
+ * Copyright (C) 2016 Engicam S.r.l.
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPL or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ * a) This file is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * version 2 as published by the Free Software Foundation.
+ *
+ * This file 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.
+ *
+ * Or, alternatively,
+ *
+ * b) Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use,
+ * copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following
+ * conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/dts-v1/;
+
+#include "imx6q.dtsi"
+#include "imx6qdl-icore.dtsi"
+
+/ {
+ model = "Engicam i.CoreM6 Quad/Dual OpenFrame Capacitive touch 10.1 Kit";
+ compatible = "engicam,imx6-icore", "fsl,imx6q";
+};
+
+&ldb {
+ status = "okay";
+
+ lvds-channel@0 {
+ fsl,data-mapping = "spwg";
+ fsl,data-width = <24>;
+ status = "okay";
+
+ display-timings {
+ native-mode = <&timing0>;
+ timing0: timing0 {
+ clock-frequency = <60000000>;
+ hactive = <1280>;
+ vactive = <800>;
+ hback-porch = <40>;
+ hfront-porch = <40>;
+ vback-porch = <10>;
+ vfront-porch = <3>;
+ hsync-len = <80>;
+ vsync-len = <10>;
+ };
+ };
+ };
+};
--
1.9.1

2017-03-13 12:00:01

by Shawn Guo

[permalink] [raw]
Subject: Re: [PATCH v4 1/7] arm: dts: imx6qdl-icore: Add backlight support for lvds

On Wed, Mar 08, 2017 at 12:47:51PM +0530, Jagan Teki wrote:
> From: Jagan Teki <[email protected]>
>
> This patch add support for lvds backlight on i.CoreM6 QDL
> variant boards.
>
> Cc: Domenico Acri <[email protected]>
> Cc: Matteo Lisi <[email protected]>
> Cc: Michael Trimarchi <[email protected]>
> Cc: Shawn Guo <[email protected]>
> Signed-off-by: Jagan Teki <[email protected]>

For sake of consistency, please use 'ARM: ...' than 'arm: ...' in
subject prefix for i.MX patches.

> ---
> Changes for v4, v3, v2:
> - none
>
> arch/arm/boot/dts/imx6qdl-icore.dtsi | 20 ++++++++++++++++++++
> 1 file changed, 20 insertions(+)
>
> diff --git a/arch/arm/boot/dts/imx6qdl-icore.dtsi b/arch/arm/boot/dts/imx6qdl-icore.dtsi
> index 55bebfc..7dda608 100644
> --- a/arch/arm/boot/dts/imx6qdl-icore.dtsi
> +++ b/arch/arm/boot/dts/imx6qdl-icore.dtsi
> @@ -48,6 +48,14 @@
> reg = <0x10000000 0x80000000>;
> };
>
> + backlight {
> + compatible = "pwm-backlight";
> + pwms = <&pwm3 0 100000>;
> + brightness-levels = <0 4 8 16 32 64 128 255>;
> + default-brightness-level = <7>;
> + status = "okay";

The okay status doesn't make a difference for such case, and can be
saved.

> + };
> +
> reg_3p3v: regulator-3p3v {
> compatible = "regulator-fixed";
> regulator-name = "3P3V";
> @@ -136,6 +144,12 @@
> status = "okay";
> };
>
> +&pwm3 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_pwm3>;
> + status = "okay";
> +};
> +
> &uart4 {
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_uart4>;
> @@ -246,6 +260,12 @@
> >;
> };
>
> + pinctrl_pwm3: pwm3grp-1 {

The '-1' suffix is meaningless.

Shawn

> + fsl,pins = <
> + MX6QDL_PAD_SD4_DAT1__PWM3_OUT 0x1b0b1
> + >;
> + };
> +
> pinctrl_usbotg: usbotggrp {
> fsl,pins = <
> MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x17059
> --
> 1.9.1
>

2017-03-13 12:23:12

by Shawn Guo

[permalink] [raw]
Subject: Re: [PATCH v4 5/7] arm: dts: imx6q-icore: Add touchscreen node

On Wed, Mar 08, 2017 at 12:47:55PM +0530, Jagan Teki wrote:
> From: Jagan Teki <[email protected]>
>
> max11801 touchscreen on Engicam iCoreM6 Quad module is
> connected via i2c1, so add tc: max11801@48 on i2c1.
>
> Cc: Domenico Acri <[email protected]>
> Cc: Matteo Lisi <[email protected]>
> Cc: Michael Trimarchi <[email protected]>
> Cc: Shawn Guo <[email protected]>
> Signed-off-by: Jagan Teki <[email protected]>
> ---
> Changes for v4:
> - Newly added patch.
>
> arch/arm/boot/dts/imx6q-icore.dts | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/arch/arm/boot/dts/imx6q-icore.dts b/arch/arm/boot/dts/imx6q-icore.dts
> index 73f34d1..8c1a572 100644
> --- a/arch/arm/boot/dts/imx6q-icore.dts
> +++ b/arch/arm/boot/dts/imx6q-icore.dts
> @@ -58,6 +58,15 @@
> status = "okay";
> };
>
> +&i2c1 {
> + ts: max11801@48 {
> + compatible = "max11801";

Undocumented compatible?

Shawn

> + reg = <0x48>;
> + interrupt-parent = <&gpio3>;
> + interrupts = <31 IRQ_TYPE_EDGE_FALLING>;
> + };
> +};
> +
> &ldb {
> status = "okay";
>
> --
> 1.9.1
>