2017-03-22 17:50:43

by Jagan Teki

[permalink] [raw]
Subject: [PATCH 00/12] ARM: dts: i.MX6: Add lcdif/sound nodes on Engicam SOMs

From: Jagan Teki <[email protected]>

This patchset, add support for backlight, lcdif, touchscreen,
sound card and related codec and can nodes all Engicam SOM's
which are supporting mainline as of now.

Jagan Teki (12):
ARM: dts: imx6ul-geam: Add backlight support for lcdif
ARM: dts: imx6ul-isiot: Add backlight support for lcdif
ARM: dts: imx6ul-isiot: Add imx6ul-isiot-common.dtsi
ARM: dts: imx6ul-isiot: Add i2c nodes
ARM: dts: imx6ul-isiot-common: Add touchscreen node
ARM: dts: imx6ul-[geam|isiot]: Add sai2 node
ARM: dts: imx6ul-isiot: Add Sound card with codec node
ARM: dts: imx6ul-geam: Add Sound card with codec node
ARM: dts: imx6qdl-icore: Add Sound card with codec node
ARM: dts: imx6dl-icore: Add LVDS support
ARM: dts: imx6dl-icore: Add touchscreen node
ARM: dts: imx6qdl-icore-rqs: Add CAN nodes

arch/arm/boot/dts/imx6dl-icore-rqs.dts | 8 ++
arch/arm/boot/dts/imx6dl-icore.dts | 45 +++++++++
arch/arm/boot/dts/imx6q-icore-ofcap10.dts | 11 +++
arch/arm/boot/dts/imx6q-icore-ofcap12.dts | 11 +++
arch/arm/boot/dts/imx6q-icore-rqs.dts | 8 ++
arch/arm/boot/dts/imx6q-icore.dts | 11 +++
arch/arm/boot/dts/imx6qdl-icore-rqs.dtsi | 26 +++++
arch/arm/boot/dts/imx6qdl-icore.dtsi | 37 +++++++
arch/arm/boot/dts/imx6ul-geam-kit.dts | 13 +++
arch/arm/boot/dts/imx6ul-geam.dtsi | 57 +++++++++++
arch/arm/boot/dts/imx6ul-isiot-common.dtsi | 152 +++++++++++++++++++++++++++++
arch/arm/boot/dts/imx6ul-isiot-emmc.dts | 1 +
arch/arm/boot/dts/imx6ul-isiot-nand.dts | 1 +
arch/arm/boot/dts/imx6ul-isiot.dtsi | 103 +++++++++++++++++++
14 files changed, 484 insertions(+)
create mode 100644 arch/arm/boot/dts/imx6ul-isiot-common.dtsi

--
1.9.1


2017-03-22 17:50:47

by Jagan Teki

[permalink] [raw]
Subject: [PATCH 01/12] ARM: dts: imx6ul-geam: Add backlight support for lcdif

From: Jagan Teki <[email protected]>

This patch add support for lcdif backlight on GEAM6UL
variant boards.

Cc: Shawn Guo <[email protected]>
Cc: Matteo Lisi <[email protected]>
Cc: Michael Trimarchi <[email protected]>
Signed-off-by: Jagan Teki <[email protected]>
---
arch/arm/boot/dts/imx6ul-geam.dtsi | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

diff --git a/arch/arm/boot/dts/imx6ul-geam.dtsi b/arch/arm/boot/dts/imx6ul-geam.dtsi
index 940aef6..ee5220c 100644
--- a/arch/arm/boot/dts/imx6ul-geam.dtsi
+++ b/arch/arm/boot/dts/imx6ul-geam.dtsi
@@ -49,6 +49,23 @@
reg = <0x80000000 0x08000000>;
};

+ backlight {
+ compatible = "pwm-backlight";
+ pwms = <&pwm8 0 100000>;
+ brightness-levels = < 0 1 2 3 4 5 6 7 8 9
+ 10 11 12 13 14 15 16 17 18 19
+ 20 21 22 23 24 25 26 27 28 29
+ 30 31 32 33 34 35 36 37 38 39
+ 40 41 42 43 44 45 46 47 48 49
+ 50 51 52 53 54 55 56 57 58 59
+ 60 61 62 63 64 65 66 67 68 69
+ 70 71 72 73 74 75 76 77 78 79
+ 80 81 82 83 84 85 86 87 88 89
+ 90 91 92 93 94 95 96 97 98 99
+ 100>;
+ default-brightness-level = <100>;
+ };
+
chosen {
stdout-path = &uart1;
};
@@ -143,6 +160,12 @@
display = <&display0>;
};

+&pwm8 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_pwm8>;
+ status = "okay";
+};
+
&tsc {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_tsc>;
@@ -290,6 +313,12 @@
>;
};

+ pinctrl_pwm8: pwm8grp {
+ fsl,pins = <
+ MX6UL_PAD_ENET1_RX_ER__PWM8_OUT 0x110b0
+ >;
+ };
+
pinctrl_tsc: tscgrp {
fsl,pin = <
MX6UL_PAD_GPIO1_IO01__GPIO1_IO01 0xb0
--
1.9.1

2017-03-22 17:50:57

by Jagan Teki

[permalink] [raw]
Subject: [PATCH 04/12] ARM: dts: imx6ul-isiot: Add i2c nodes

From: Jagan Teki <[email protected]>

Add support for i2c nodes i2c1 and i2c2 on Is.IoT MX6UL
eMMC variant boards.

Cc: Shawn Guo <[email protected]>
Cc: Matteo Lisi <[email protected]>
Cc: Michael Trimarchi <[email protected]>
Signed-off-by: Jagan Teki <[email protected]>
---
arch/arm/boot/dts/imx6ul-isiot.dtsi | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)

diff --git a/arch/arm/boot/dts/imx6ul-isiot.dtsi b/arch/arm/boot/dts/imx6ul-isiot.dtsi
index 5ccc3df..4697a04 100644
--- a/arch/arm/boot/dts/imx6ul-isiot.dtsi
+++ b/arch/arm/boot/dts/imx6ul-isiot.dtsi
@@ -71,6 +71,20 @@
};
};

+&i2c1 {
+ clock-frequency = <100000>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_i2c1>;
+ status = "okay";
+};
+
+&i2c2 {
+ clock_frequency = <100000>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_i2c2>;
+ status = "okay";
+};
+
&pwm8 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pwm8>;
@@ -95,6 +109,20 @@
};

&iomuxc {
+ pinctrl_i2c1: i2c1grp {
+ fsl,pins = <
+ MX6UL_PAD_UART4_TX_DATA__I2C1_SCL 0x4001b8b0
+ MX6UL_PAD_UART4_RX_DATA__I2C1_SDA 0x4001b8b0
+ >;
+ };
+
+ pinctrl_i2c2: i2c2grp {
+ fsl,pins = <
+ MX6UL_PAD_GPIO1_IO00__I2C2_SCL 0x4001b8b0
+ MX6UL_PAD_GPIO1_IO01__I2C2_SDA 0x4001b8b0
+ >;
+ };
+
pinctrl_pwm8: pwm8grp {
fsl,pins = <
MX6UL_PAD_ENET1_RX_ER__PWM8_OUT 0x110b0
--
1.9.1

2017-03-22 17:51:15

by Jagan Teki

[permalink] [raw]
Subject: [PATCH 07/12] ARM: dts: imx6ul-isiot: Add Sound card with codec node

From: Jagan Teki <[email protected]>

Add support for Sound card and related codec(via i2c1) nodes
on Engicam Is.IoT MX6UL variant module boards.

Cc: Shawn Guo <[email protected]>
Cc: Matteo Lisi <[email protected]>
Cc: Michael Trimarchi <[email protected]>
Signed-off-by: Jagan Teki <[email protected]>
---
arch/arm/boot/dts/imx6ul-isiot-common.dtsi | 11 +++++++++++
arch/arm/boot/dts/imx6ul-isiot.dtsi | 30 ++++++++++++++++++++++++++++++
2 files changed, 41 insertions(+)

diff --git a/arch/arm/boot/dts/imx6ul-isiot-common.dtsi b/arch/arm/boot/dts/imx6ul-isiot-common.dtsi
index b149b5e..c79fa42 100644
--- a/arch/arm/boot/dts/imx6ul-isiot-common.dtsi
+++ b/arch/arm/boot/dts/imx6ul-isiot-common.dtsi
@@ -41,6 +41,17 @@
*/

&i2c1 {
+ codec: sgtl5000@0a {
+ compatible = "fsl,sgtl5000";
+ reg = <0x0a>;
+ clocks = <&clks IMX6UL_CLK_OSC>;
+ clock-names = "mclk";
+ wlf,shared-lrclk;
+ VDDA-supply = <&reg_3p3v>;
+ VDDIO-supply = <&reg_3p3v>;
+ VDDD-supply = <&reg_1p8v>;
+ };
+
touch: stmpe811@44 {
compatible = "st,stmpe811";
reg = <0x44>;
diff --git a/arch/arm/boot/dts/imx6ul-isiot.dtsi b/arch/arm/boot/dts/imx6ul-isiot.dtsi
index ea30380..7cbcaea 100644
--- a/arch/arm/boot/dts/imx6ul-isiot.dtsi
+++ b/arch/arm/boot/dts/imx6ul-isiot.dtsi
@@ -69,6 +69,36 @@
100>;
default-brightness-level = <100>;
};
+
+ reg_1p8v: regulator-1p8v {
+ compatible = "regulator-fixed";
+ regulator-name = "1P8V";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
+ reg_3p3v: regulator-3p3v {
+ compatible = "regulator-fixed";
+ regulator-name = "3P3V";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
+ sound {
+ compatible = "fsl,imx-audio-sgtl5000";
+ model = "imx6ul-isiot-sgtl5000";
+ cpu-dai = <&sai2>;
+ audio-codec = <&codec>;
+ gpr = <&gpr>;
+ audio-routing =
+ "MIC_IN", "Mic Jack",
+ "Mic Jack", "Mic Bias",
+ "Headphone Jack", "HP_OUT";
+ };
};

&i2c1 {
--
1.9.1

2017-03-22 17:51:23

by Jagan Teki

[permalink] [raw]
Subject: [PATCH 08/12] ARM: dts: imx6ul-geam: Add Sound card with codec node

From: Jagan Teki <[email protected]>

Add support for Sound card and related codec(via i2c1) nodes
on Engicam GEAM6UL variant module boards.

Cc: Shawn Guo <[email protected]>
Cc: Matteo Lisi <[email protected]>
Cc: Michael Trimarchi <[email protected]>
Signed-off-by: Jagan Teki <[email protected]>
---
arch/arm/boot/dts/imx6ul-geam-kit.dts | 13 +++++++++++++
arch/arm/boot/dts/imx6ul-geam.dtsi | 12 ++++++++++++
2 files changed, 25 insertions(+)

diff --git a/arch/arm/boot/dts/imx6ul-geam-kit.dts b/arch/arm/boot/dts/imx6ul-geam-kit.dts
index 142e60c..93c9586 100644
--- a/arch/arm/boot/dts/imx6ul-geam-kit.dts
+++ b/arch/arm/boot/dts/imx6ul-geam-kit.dts
@@ -58,6 +58,19 @@
status = "okay";
};

+&i2c1 {
+ codec: sgtl5000@0a {
+ compatible = "fsl,sgtl5000";
+ reg = <0x0a>;
+ clocks = <&clks IMX6UL_CLK_OSC>;
+ clock-names = "mclk";
+ wlf,shared-lrclk;
+ VDDA-supply = <&reg_3p3v>;
+ VDDIO-supply = <&reg_3p3v>;
+ VDDD-supply = <&reg_1p8v>;
+ };
+};
+
&lcdif {
display = <&display0>;
status = "okay";
diff --git a/arch/arm/boot/dts/imx6ul-geam.dtsi b/arch/arm/boot/dts/imx6ul-geam.dtsi
index eb94d95..c405e55 100644
--- a/arch/arm/boot/dts/imx6ul-geam.dtsi
+++ b/arch/arm/boot/dts/imx6ul-geam.dtsi
@@ -87,6 +87,18 @@
regulator-always-on;
regulator-boot-on;
};
+
+ sound {
+ compatible = "fsl,imx-audio-sgtl5000";
+ model = "imx6q-geam-sgtl5000";
+ cpu-dai = <&sai2>;
+ audio-codec = <&codec>;
+ gpr = <&gpr>;
+ audio-routing =
+ "MIC_IN", "Mic Jack",
+ "Mic Jack", "Mic Bias",
+ "Headphone Jack", "HP_OUT";
+ };
};

&can1 {
--
1.9.1

2017-03-22 17:51:32

by Jagan Teki

[permalink] [raw]
Subject: [PATCH 11/12] ARM: dts: imx6dl-icore: Add touchscreen node

From: Jagan Teki <[email protected]>

max11801 touchscreen on Engicam iCoreM6 DualLite/Solo module is
connected via i2c1, so add max11801: touchscreen@48 on i2c1.

Cc: Shawn Guo <[email protected]>
Cc: Matteo Lisi <[email protected]>
Cc: Michael Trimarchi <[email protected]>
Signed-off-by: Jagan Teki <[email protected]>
---
arch/arm/boot/dts/imx6dl-icore.dts | 9 +++++++++
1 file changed, 9 insertions(+)

diff --git a/arch/arm/boot/dts/imx6dl-icore.dts b/arch/arm/boot/dts/imx6dl-icore.dts
index 3abae7f..0e6c2a9 100644
--- a/arch/arm/boot/dts/imx6dl-icore.dts
+++ b/arch/arm/boot/dts/imx6dl-icore.dts
@@ -58,6 +58,15 @@
status = "okay";
};

+&i2c1 {
+ max11801: touchscreen@48 {
+ compatible = "maxim,max11801";
+ reg = <0x48>;
+ interrupt-parent = <&gpio3>;
+ interrupts = <31 2>;
+ };
+};
+
&i2c3 {
codec: sgtl5000@0a {
compatible = "fsl,sgtl5000";
--
1.9.1

2017-03-22 17:51:48

by Jagan Teki

[permalink] [raw]
Subject: [PATCH 12/12] ARM: dts: imx6qdl-icore-rqs: Add CAN nodes

From: Jagan Teki <[email protected]>

Add support for can1 and can2 nodes on Engicam i.CoreM6 RQS
QDL module boards.

Cc: Shawn Guo <[email protected]>
Cc: Matteo Lisi <[email protected]>
Cc: Michael Trimarchi <[email protected]>
Signed-off-by: Jagan Teki <[email protected]>
---
arch/arm/boot/dts/imx6dl-icore-rqs.dts | 8 ++++++++
arch/arm/boot/dts/imx6q-icore-rqs.dts | 8 ++++++++
arch/arm/boot/dts/imx6qdl-icore-rqs.dtsi | 26 ++++++++++++++++++++++++++
3 files changed, 42 insertions(+)

diff --git a/arch/arm/boot/dts/imx6dl-icore-rqs.dts b/arch/arm/boot/dts/imx6dl-icore-rqs.dts
index cf42c2f..f28577b 100644
--- a/arch/arm/boot/dts/imx6dl-icore-rqs.dts
+++ b/arch/arm/boot/dts/imx6dl-icore-rqs.dts
@@ -49,3 +49,11 @@
model = "Engicam i.CoreM6 DualLite/Solo RQS Starter Kit";
compatible = "engicam,imx6-icore-rqs", "fsl,imx6dl";
};
+
+&can1 {
+ status = "okay";
+};
+
+&can2 {
+ status = "okay";
+};
diff --git a/arch/arm/boot/dts/imx6q-icore-rqs.dts b/arch/arm/boot/dts/imx6q-icore-rqs.dts
index e451b4c..21832f0 100644
--- a/arch/arm/boot/dts/imx6q-icore-rqs.dts
+++ b/arch/arm/boot/dts/imx6q-icore-rqs.dts
@@ -62,6 +62,14 @@
};
};

+&can1 {
+ status = "okay";
+};
+
+&can2 {
+ status = "okay";
+};
+
&i2c3 {
codec: sgtl5000@0a {
compatible = "fsl,sgtl5000";
diff --git a/arch/arm/boot/dts/imx6qdl-icore-rqs.dtsi b/arch/arm/boot/dts/imx6qdl-icore-rqs.dtsi
index 5fab5be..4ccb08d 100644
--- a/arch/arm/boot/dts/imx6qdl-icore-rqs.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-icore-rqs.dtsi
@@ -120,6 +120,18 @@
};
};

+&can1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_flexcan1>;
+ xceiver-supply = <&reg_3p3v>;
+};
+
+&can2 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_flexcan2>;
+ xceiver-supply = <&reg_3p3v>;
+};
+
&clks {
assigned-clocks = <&clks IMX6QDL_CLK_LVDS2_SEL>;
assigned-clock-parents = <&clks IMX6QDL_CLK_OSC>;
@@ -271,6 +283,20 @@
>;
};

+ pinctrl_flexcan1: flexcan1grp {
+ fsl,pins = <
+ MX6QDL_PAD_KEY_ROW2__FLEXCAN1_RX 0x1b020
+ MX6QDL_PAD_KEY_COL2__FLEXCAN1_TX 0x1b020
+ >;
+ };
+
+ pinctrl_flexcan2: flexcan2grp {
+ fsl,pins = <
+ MX6QDL_PAD_KEY_COL4__FLEXCAN2_TX 0x1b020
+ MX6QDL_PAD_KEY_ROW4__FLEXCAN2_RX 0x1b020
+ >;
+ };
+
pinctrl_i2c1: i2c1grp {
fsl,pins = <
MX6QDL_PAD_EIM_D21__I2C1_SCL 0x4001b8b1
--
1.9.1

2017-03-22 17:52:01

by Jagan Teki

[permalink] [raw]
Subject: [PATCH 10/12] ARM: dts: imx6dl-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 DualLite/Solo Starter Kit.

Cc: Shawn Guo <[email protected]>
Cc: Matteo Lisi <[email protected]>
Cc: Michael Trimarchi <[email protected]>
Signed-off-by: Jagan Teki <[email protected]>
---
arch/arm/boot/dts/imx6dl-icore.dts | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

diff --git a/arch/arm/boot/dts/imx6dl-icore.dts b/arch/arm/boot/dts/imx6dl-icore.dts
index c132ccd..3abae7f 100644
--- a/arch/arm/boot/dts/imx6dl-icore.dts
+++ b/arch/arm/boot/dts/imx6dl-icore.dts
@@ -68,3 +68,28 @@
VDDD-supply = <&reg_1p8v>;
};
};
+
+&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-22 17:51:09

by Jagan Teki

[permalink] [raw]
Subject: [PATCH 05/12] ARM: dts: imx6ul-isiot-common: Add touchscreen node

From: Jagan Teki <[email protected]>

Add touchscreen node as i2c1 slave device on Engicam Is.IoT MX6UL
modules, the touchscreen controlled 'st,stmpe-ts' connected via
i2c with st,stmpe811 mfb interface.

Cc: Shawn Guo <[email protected]>
Cc: Matteo Lisi <[email protected]>
Cc: Michael Trimarchi <[email protected]>
Signed-off-by: Jagan Teki <[email protected]>
---
arch/arm/boot/dts/imx6ul-isiot-common.dtsi | 34 ++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)

diff --git a/arch/arm/boot/dts/imx6ul-isiot-common.dtsi b/arch/arm/boot/dts/imx6ul-isiot-common.dtsi
index 9660e20..b149b5e 100644
--- a/arch/arm/boot/dts/imx6ul-isiot-common.dtsi
+++ b/arch/arm/boot/dts/imx6ul-isiot-common.dtsi
@@ -40,6 +40,34 @@
* OTHER DEALINGS IN THE SOFTWARE.
*/

+&i2c1 {
+ touch: stmpe811@44 {
+ compatible = "st,stmpe811";
+ reg = <0x44>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_stmpe_ts>;
+ interrupt-parent = <&gpio1>;
+ interrupts = <18 IRQ_TYPE_EDGE_FALLING>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+
+ stmpe_touchscreen {
+ compatible = "st,stmpe-ts";
+ st,sample-time = <4>;
+ st,mod-12b = <1>;
+ st,ref-sel = <0>;
+ st,adc-freq = <1>;
+ st,ave-ctrl = <1>;
+ st,touch-det-delay = <2>;
+ st,settling = <2>;
+ st,fraction-z = <7>;
+ st,i-drive = <1>;
+ };
+ };
+};
+
&lcdif {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_lcdif_dat
@@ -104,4 +132,10 @@
MX6UL_PAD_LCD_DATA17__LCDIF_DATA17 0x79
>;
};
+
+ pinctrl_stmpe_ts: stmpe-tsgrp {
+ fsl,pins = <
+ MX6UL_PAD_UART1_CTS_B__GPIO1_IO18 0x1b0b0
+ >;
+ };
};
--
1.9.1

2017-03-22 17:52:23

by Jagan Teki

[permalink] [raw]
Subject: [PATCH 09/12] ARM: dts: imx6qdl-icore: Add Sound card with codec node

From: Jagan Teki <[email protected]>

Add support for Sound card and related codec(via i2c1) nodes
on below Engicam module boards.
- i.CoreM6 DualLite/Solo Starter kit
- i.CoreM6 Quad/Dual Starter kit
- i.CoreM6 Quad/Dual OpenFrame Cap touch 10.1
- i.CoreM6 Quad/Dual OpenFrame Cap touch 12.3

Cc: Shawn Guo <[email protected]>
Cc: Matteo Lisi <[email protected]>
Cc: Michael Trimarchi <[email protected]>
Signed-off-by: Jagan Teki <[email protected]>
---
arch/arm/boot/dts/imx6dl-icore.dts | 11 +++++++++
arch/arm/boot/dts/imx6q-icore-ofcap10.dts | 11 +++++++++
arch/arm/boot/dts/imx6q-icore-ofcap12.dts | 11 +++++++++
arch/arm/boot/dts/imx6q-icore.dts | 11 +++++++++
arch/arm/boot/dts/imx6qdl-icore.dtsi | 37 +++++++++++++++++++++++++++++++
5 files changed, 81 insertions(+)

diff --git a/arch/arm/boot/dts/imx6dl-icore.dts b/arch/arm/boot/dts/imx6dl-icore.dts
index 6de83c7..c132ccd 100644
--- a/arch/arm/boot/dts/imx6dl-icore.dts
+++ b/arch/arm/boot/dts/imx6dl-icore.dts
@@ -57,3 +57,14 @@
&can2 {
status = "okay";
};
+
+&i2c3 {
+ codec: sgtl5000@0a {
+ compatible = "fsl,sgtl5000";
+ reg = <0x0a>;
+ clocks = <&clks IMX6QDL_CLK_CKO>;
+ VDDA-supply = <&reg_2p5v>;
+ VDDIO-supply = <&reg_3p3v>;
+ VDDD-supply = <&reg_1p8v>;
+ };
+};
diff --git a/arch/arm/boot/dts/imx6q-icore-ofcap10.dts b/arch/arm/boot/dts/imx6q-icore-ofcap10.dts
index 49b60ca..5cc2518 100644
--- a/arch/arm/boot/dts/imx6q-icore-ofcap10.dts
+++ b/arch/arm/boot/dts/imx6q-icore-ofcap10.dts
@@ -50,6 +50,17 @@
compatible = "engicam,imx6-icore", "fsl,imx6q";
};

+&i2c3 {
+ codec: sgtl5000@0a {
+ compatible = "fsl,sgtl5000";
+ reg = <0x0a>;
+ clocks = <&clks IMX6QDL_CLK_CKO>;
+ VDDA-supply = <&reg_2p5v>;
+ VDDIO-supply = <&reg_3p3v>;
+ VDDD-supply = <&reg_1p8v>;
+ };
+};
+
&ldb {
status = "okay";

diff --git a/arch/arm/boot/dts/imx6q-icore-ofcap12.dts b/arch/arm/boot/dts/imx6q-icore-ofcap12.dts
index 9e230f5..554a25c 100644
--- a/arch/arm/boot/dts/imx6q-icore-ofcap12.dts
+++ b/arch/arm/boot/dts/imx6q-icore-ofcap12.dts
@@ -50,6 +50,17 @@
compatible = "engicam,imx6-icore", "fsl,imx6q";
};

+&i2c3 {
+ codec: sgtl5000@0a {
+ compatible = "fsl,sgtl5000";
+ reg = <0x0a>;
+ clocks = <&clks IMX6QDL_CLK_CKO>;
+ VDDA-supply = <&reg_2p5v>;
+ VDDIO-supply = <&reg_3p3v>;
+ VDDD-supply = <&reg_1p8v>;
+ };
+};
+
&ldb {
status = "okay";

diff --git a/arch/arm/boot/dts/imx6q-icore.dts b/arch/arm/boot/dts/imx6q-icore.dts
index 70cc8b2..07021fd 100644
--- a/arch/arm/boot/dts/imx6q-icore.dts
+++ b/arch/arm/boot/dts/imx6q-icore.dts
@@ -67,6 +67,17 @@
};
};

+&i2c3 {
+ codec: sgtl5000@0a {
+ compatible = "fsl,sgtl5000";
+ reg = <0x0a>;
+ clocks = <&clks IMX6QDL_CLK_CKO>;
+ VDDA-supply = <&reg_2p5v>;
+ VDDIO-supply = <&reg_3p3v>;
+ VDDD-supply = <&reg_1p8v>;
+ };
+};
+
&ldb {
status = "okay";

diff --git a/arch/arm/boot/dts/imx6qdl-icore.dtsi b/arch/arm/boot/dts/imx6qdl-icore.dtsi
index 56d0c5d..dd123af 100644
--- a/arch/arm/boot/dts/imx6qdl-icore.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-icore.dtsi
@@ -55,6 +55,25 @@
default-brightness-level = <7>;
};

+ reg_1p8v: regulator-1p8v {
+ compatible = "regulator-fixed";
+ regulator-name = "1P8V";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+
+ reg_2p5v: regulator-3p3v {
+ compatible = "regulator-fixed";
+ regulator-name = "2P5V";
+ regulator-min-microvolt = <2500000>;
+ regulator-max-microvolt = <2500000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
reg_3p3v: regulator-3p3v {
compatible = "regulator-fixed";
regulator-name = "3P3V";
@@ -87,6 +106,20 @@
#clock-cells = <0>;
clock-frequency = <25000000>; /* 25MHz for example */
};
+
+ sound {
+ compatible = "fsl,imx6-icore-sgtl5000",
+ "fsl,imx-audio-sgtl5000";
+ model = "imx6q-icore-sgtl5000";
+ ssi-controller = <&ssi1>;
+ audio-codec = <&codec>;
+ audio-routing =
+ "MIC_IN", "Mic Jack",
+ "Mic Jack", "Mic Bias",
+ "Headphone Jack", "HP_OUT";
+ mux-int-port = <1>;
+ mux-ext-port = <4>;
+ };
};

&can1 {
@@ -149,6 +182,10 @@
status = "okay";
};

+&ssi1 {
+ status = "okay";
+};
+
&uart4 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart4>;
--
1.9.1

2017-03-22 17:52:51

by Jagan Teki

[permalink] [raw]
Subject: [PATCH 06/12] ARM: dts: imx6ul-[geam|isiot]: Add sai2 node

From: Jagan Teki <[email protected]>

Add Synchronous Audio Interface(SAI) node for Engicam GEAM6UL
and Is.IoT MX6UL variant module boards.

Cc: Shawn Guo <[email protected]>
Cc: Matteo Lisi <[email protected]>
Cc: Michael Trimarchi <[email protected]>
Signed-off-by: Jagan Teki <[email protected]>
---
arch/arm/boot/dts/imx6ul-geam.dtsi | 16 ++++++++++++++++
arch/arm/boot/dts/imx6ul-isiot.dtsi | 16 ++++++++++++++++
2 files changed, 32 insertions(+)

diff --git a/arch/arm/boot/dts/imx6ul-geam.dtsi b/arch/arm/boot/dts/imx6ul-geam.dtsi
index ee5220c..eb94d95 100644
--- a/arch/arm/boot/dts/imx6ul-geam.dtsi
+++ b/arch/arm/boot/dts/imx6ul-geam.dtsi
@@ -172,6 +172,12 @@
xnur-gpio = <&gpio1 3 GPIO_ACTIVE_LOW>;
};

+&sai2 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_sai2>;
+ status = "okay";
+};
+
&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart1>;
@@ -328,6 +334,16 @@
>;
};

+ pinctrl_sai2: sai2grp {
+ fsl,pins = <
+ MX6UL_PAD_JTAG_TCK__SAI2_RX_DATA 0x130b0
+ MX6UL_PAD_JTAG_TMS__CCM_CLKO1 0x4001b031
+ MX6UL_PAD_JTAG_TDI__SAI2_TX_BCLK 0x17088
+ MX6UL_PAD_JTAG_TDO__SAI2_TX_SYNC 0x17088
+ MX6UL_PAD_JTAG_TRST_B__SAI2_TX_DATA 0x120b0
+ >;
+ };
+
pinctrl_uart1: uart1grp {
fsl,pins = <
MX6UL_PAD_UART1_TX_DATA__UART1_DCE_TX 0x1b0b1
diff --git a/arch/arm/boot/dts/imx6ul-isiot.dtsi b/arch/arm/boot/dts/imx6ul-isiot.dtsi
index 4697a04..ea30380 100644
--- a/arch/arm/boot/dts/imx6ul-isiot.dtsi
+++ b/arch/arm/boot/dts/imx6ul-isiot.dtsi
@@ -91,6 +91,12 @@
status = "okay";
};

+&sai2 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_sai2>;
+ status = "okay";
+};
+
&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart1>;
@@ -129,6 +135,16 @@
>;
};

+ pinctrl_sai2: sai2grp {
+ fsl,pins = <
+ MX6UL_PAD_JTAG_TCK__SAI2_RX_DATA 0x130b0
+ MX6UL_PAD_JTAG_TMS__CCM_CLKO1 0x4001b031
+ MX6UL_PAD_JTAG_TDI__SAI2_TX_BCLK 0x17088
+ MX6UL_PAD_JTAG_TDO__SAI2_TX_SYNC 0x17088
+ MX6UL_PAD_JTAG_TRST_B__SAI2_TX_DATA 0x120b0
+ >;
+ };
+
pinctrl_uart1: uart1grp {
fsl,pins = <
MX6UL_PAD_UART1_TX_DATA__UART1_DCE_TX 0x1b0b1
--
1.9.1

2017-03-22 17:53:12

by Jagan Teki

[permalink] [raw]
Subject: [PATCH 03/12] ARM: dts: imx6ul-isiot: Add imx6ul-isiot-common.dtsi

From: Jagan Teki <[email protected]>

lcdif nodes are differ wrt specific LCD connected on Is.IoT MX6UL
module, so create separate file 'imx6ul-isiot-common.dtsi' for common
lcdif node structure and include the same on respective dts.

More common nodes will add in future patches.

Cc: Shawn Guo <[email protected]>
Cc: Matteo Lisi <[email protected]>
Cc: Michael Trimarchi <[email protected]>
Signed-off-by: Jagan Teki <[email protected]>
---
arch/arm/boot/dts/imx6ul-isiot-common.dtsi | 107 +++++++++++++++++++++++++++++
arch/arm/boot/dts/imx6ul-isiot-emmc.dts | 1 +
arch/arm/boot/dts/imx6ul-isiot-nand.dts | 1 +
3 files changed, 109 insertions(+)
create mode 100644 arch/arm/boot/dts/imx6ul-isiot-common.dtsi

diff --git a/arch/arm/boot/dts/imx6ul-isiot-common.dtsi b/arch/arm/boot/dts/imx6ul-isiot-common.dtsi
new file mode 100644
index 0000000..9660e20
--- /dev/null
+++ b/arch/arm/boot/dts/imx6ul-isiot-common.dtsi
@@ -0,0 +1,107 @@
+/*
+ * 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.
+ */
+
+&lcdif {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_lcdif_dat
+ &pinctrl_lcdif_ctrl>;
+ display = <&display0>;
+ status = "okay";
+
+ display0: display {
+ bits-per-pixel = <16>;
+ bus-width = <18>;
+
+ display-timings {
+ native-mode = <&timing0>;
+ timing0: timing0 {
+ clock-frequency = <28000000>;
+ hactive = <800>;
+ vactive = <480>;
+ hfront-porch = <30>;
+ hback-porch = <30>;
+ hsync-len = <64>;
+ vback-porch = <5>;
+ vfront-porch = <5>;
+ vsync-len = <20>;
+ hsync-active = <0>;
+ vsync-active = <0>;
+ de-active = <1>;
+ pixelclk-active = <0>;
+ };
+ };
+ };
+};
+
+&iomuxc {
+ pinctrl_lcdif_ctrl: lcdifctrlgrp {
+ fsl,pins = <
+ MX6UL_PAD_LCD_CLK__LCDIF_CLK 0x79
+ MX6UL_PAD_LCD_ENABLE__LCDIF_ENABLE 0x79
+ MX6UL_PAD_LCD_HSYNC__LCDIF_HSYNC 0x79
+ MX6UL_PAD_LCD_VSYNC__LCDIF_VSYNC 0x79
+ >;
+ };
+
+ pinctrl_lcdif_dat: lcdifdatgrp {
+ fsl,pins = <
+ MX6UL_PAD_LCD_DATA00__LCDIF_DATA00 0x79
+ MX6UL_PAD_LCD_DATA01__LCDIF_DATA01 0x79
+ MX6UL_PAD_LCD_DATA02__LCDIF_DATA02 0x79
+ MX6UL_PAD_LCD_DATA03__LCDIF_DATA03 0x79
+ MX6UL_PAD_LCD_DATA04__LCDIF_DATA04 0x79
+ MX6UL_PAD_LCD_DATA05__LCDIF_DATA05 0x79
+ MX6UL_PAD_LCD_DATA06__LCDIF_DATA06 0x79
+ MX6UL_PAD_LCD_DATA07__LCDIF_DATA07 0x79
+ MX6UL_PAD_LCD_DATA08__LCDIF_DATA08 0x79
+ MX6UL_PAD_LCD_DATA09__LCDIF_DATA09 0x79
+ MX6UL_PAD_LCD_DATA10__LCDIF_DATA10 0x79
+ MX6UL_PAD_LCD_DATA11__LCDIF_DATA11 0x79
+ MX6UL_PAD_LCD_DATA12__LCDIF_DATA12 0x79
+ MX6UL_PAD_LCD_DATA13__LCDIF_DATA13 0x79
+ MX6UL_PAD_LCD_DATA14__LCDIF_DATA14 0x79
+ MX6UL_PAD_LCD_DATA15__LCDIF_DATA15 0x79
+ MX6UL_PAD_LCD_DATA16__LCDIF_DATA16 0x79
+ MX6UL_PAD_LCD_DATA17__LCDIF_DATA17 0x79
+ >;
+ };
+};
diff --git a/arch/arm/boot/dts/imx6ul-isiot-emmc.dts b/arch/arm/boot/dts/imx6ul-isiot-emmc.dts
index f5b4228..73a1d0f 100644
--- a/arch/arm/boot/dts/imx6ul-isiot-emmc.dts
+++ b/arch/arm/boot/dts/imx6ul-isiot-emmc.dts
@@ -43,6 +43,7 @@
/dts-v1/;

#include "imx6ul-isiot.dtsi"
+#include "imx6ul-isiot-common.dtsi"

/ {
model = "Engicam Is.IoT MX6UL eMMC Starter kit";
diff --git a/arch/arm/boot/dts/imx6ul-isiot-nand.dts b/arch/arm/boot/dts/imx6ul-isiot-nand.dts
index de15e1c..da29a86 100644
--- a/arch/arm/boot/dts/imx6ul-isiot-nand.dts
+++ b/arch/arm/boot/dts/imx6ul-isiot-nand.dts
@@ -43,6 +43,7 @@
/dts-v1/;

#include "imx6ul-isiot.dtsi"
+#include "imx6ul-isiot-common.dtsi"

/ {
model = "Engicam Is.IoT MX6UL NAND Starter kit";
--
1.9.1

2017-03-22 17:54:44

by Jagan Teki

[permalink] [raw]
Subject: [PATCH 02/12] ARM: dts: imx6ul-isiot: Add backlight support for lcdif

From: Jagan Teki <[email protected]>

This patch add support for lcdif backlight on Is.IoT MX6UL
variant boards.

Cc: Shawn Guo <[email protected]>
Cc: Matteo Lisi <[email protected]>
Cc: Michael Trimarchi <[email protected]>
Signed-off-by: Jagan Teki <[email protected]>
---
arch/arm/boot/dts/imx6ul-isiot.dtsi | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

diff --git a/arch/arm/boot/dts/imx6ul-isiot.dtsi b/arch/arm/boot/dts/imx6ul-isiot.dtsi
index 0b43699..5ccc3df 100644
--- a/arch/arm/boot/dts/imx6ul-isiot.dtsi
+++ b/arch/arm/boot/dts/imx6ul-isiot.dtsi
@@ -52,6 +52,29 @@
chosen {
stdout-path = &uart1;
};
+
+ backlight {
+ compatible = "pwm-backlight";
+ pwms = <&pwm8 0 100000>;
+ brightness-levels = < 0 1 2 3 4 5 6 7 8 9
+ 10 11 12 13 14 15 16 17 18 19
+ 20 21 22 23 24 25 26 27 28 29
+ 30 31 32 33 34 35 36 37 38 39
+ 40 41 42 43 44 45 46 47 48 49
+ 50 51 52 53 54 55 56 57 58 59
+ 60 61 62 63 64 65 66 67 68 69
+ 70 71 72 73 74 75 76 77 78 79
+ 80 81 82 83 84 85 86 87 88 89
+ 90 91 92 93 94 95 96 97 98 99
+ 100>;
+ default-brightness-level = <100>;
+ };
+};
+
+&pwm8 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_pwm8>;
+ status = "okay";
};

&uart1 {
@@ -72,6 +95,12 @@
};

&iomuxc {
+ pinctrl_pwm8: pwm8grp {
+ fsl,pins = <
+ MX6UL_PAD_ENET1_RX_ER__PWM8_OUT 0x110b0
+ >;
+ };
+
pinctrl_uart1: uart1grp {
fsl,pins = <
MX6UL_PAD_UART1_TX_DATA__UART1_DCE_TX 0x1b0b1
--
1.9.1

2017-03-24 05:17:25

by Shawn Guo

[permalink] [raw]
Subject: Re: [PATCH 05/12] ARM: dts: imx6ul-isiot-common: Add touchscreen node

On Wed, Mar 22, 2017 at 11:18:10PM +0530, Jagan Teki wrote:
> From: Jagan Teki <[email protected]>
>
> Add touchscreen node as i2c1 slave device on Engicam Is.IoT MX6UL
> modules, the touchscreen controlled 'st,stmpe-ts' connected via
> i2c with st,stmpe811 mfb interface.

s/mfb/mfd?

>
> Cc: Shawn Guo <[email protected]>
> Cc: Matteo Lisi <[email protected]>
> Cc: Michael Trimarchi <[email protected]>
> Signed-off-by: Jagan Teki <[email protected]>
> ---
> arch/arm/boot/dts/imx6ul-isiot-common.dtsi | 34 ++++++++++++++++++++++++++++++
> 1 file changed, 34 insertions(+)
>
> diff --git a/arch/arm/boot/dts/imx6ul-isiot-common.dtsi b/arch/arm/boot/dts/imx6ul-isiot-common.dtsi
> index 9660e20..b149b5e 100644
> --- a/arch/arm/boot/dts/imx6ul-isiot-common.dtsi
> +++ b/arch/arm/boot/dts/imx6ul-isiot-common.dtsi
> @@ -40,6 +40,34 @@
> * OTHER DEALINGS IN THE SOFTWARE.
> */
>
> +&i2c1 {
> + touch: stmpe811@44 {

Label a MFD device 'touch'? Also, the node name should be generic. Not
sure what should be used for MFD device though.

> + compatible = "st,stmpe811";
> + reg = <0x44>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_stmpe_ts>;

If this is for stmpe-ts, shouldn't be put into touchscreen child node?

> + interrupt-parent = <&gpio1>;
> + interrupts = <18 IRQ_TYPE_EDGE_FALLING>;
> + interrupt-controller;
> + #interrupt-cells = <2>;
> +
> + stmpe_touchscreen {

'stmpe: touchscreen {' might be better.

Shawn

> + compatible = "st,stmpe-ts";
> + st,sample-time = <4>;
> + st,mod-12b = <1>;
> + st,ref-sel = <0>;
> + st,adc-freq = <1>;
> + st,ave-ctrl = <1>;
> + st,touch-det-delay = <2>;
> + st,settling = <2>;
> + st,fraction-z = <7>;
> + st,i-drive = <1>;
> + };
> + };
> +};
> +
> &lcdif {
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_lcdif_dat
> @@ -104,4 +132,10 @@
> MX6UL_PAD_LCD_DATA17__LCDIF_DATA17 0x79
> >;
> };
> +
> + pinctrl_stmpe_ts: stmpe-tsgrp {
> + fsl,pins = <
> + MX6UL_PAD_UART1_CTS_B__GPIO1_IO18 0x1b0b0
> + >;
> + };
> };
> --
> 1.9.1
>

2017-03-24 05:20:08

by Shawn Guo

[permalink] [raw]
Subject: Re: [PATCH 00/12] ARM: dts: i.MX6: Add lcdif/sound nodes on Engicam SOMs

On Wed, Mar 22, 2017 at 11:18:05PM +0530, Jagan Teki wrote:
> From: Jagan Teki <[email protected]>
>
> This patchset, add support for backlight, lcdif, touchscreen,
> sound card and related codec and can nodes all Engicam SOM's
> which are supporting mainline as of now.

Per MAINTAINERS, you should copy Sascha Hauer <[email protected]>
and Fabio Estevam <[email protected]> as well.

Shawn

2017-03-24 05:24:27

by Shawn Guo

[permalink] [raw]
Subject: Re: [PATCH 07/12] ARM: dts: imx6ul-isiot: Add Sound card with codec node

On Wed, Mar 22, 2017 at 11:18:12PM +0530, Jagan Teki wrote:
> From: Jagan Teki <[email protected]>
>
> Add support for Sound card and related codec(via i2c1) nodes
> on Engicam Is.IoT MX6UL variant module boards.
>
> Cc: Shawn Guo <[email protected]>
> Cc: Matteo Lisi <[email protected]>
> Cc: Michael Trimarchi <[email protected]>
> Signed-off-by: Jagan Teki <[email protected]>
> ---
> arch/arm/boot/dts/imx6ul-isiot-common.dtsi | 11 +++++++++++
> arch/arm/boot/dts/imx6ul-isiot.dtsi | 30 ++++++++++++++++++++++++++++++
> 2 files changed, 41 insertions(+)
>
> diff --git a/arch/arm/boot/dts/imx6ul-isiot-common.dtsi b/arch/arm/boot/dts/imx6ul-isiot-common.dtsi
> index b149b5e..c79fa42 100644
> --- a/arch/arm/boot/dts/imx6ul-isiot-common.dtsi
> +++ b/arch/arm/boot/dts/imx6ul-isiot-common.dtsi
> @@ -41,6 +41,17 @@
> */
>
> &i2c1 {
> + codec: sgtl5000@0a {

sgtl5000: codec@a {

> + compatible = "fsl,sgtl5000";
> + reg = <0x0a>;
> + clocks = <&clks IMX6UL_CLK_OSC>;
> + clock-names = "mclk";
> + wlf,shared-lrclk;

This is a property for wm8960 not sgtl5000.

> + VDDA-supply = <&reg_3p3v>;
> + VDDIO-supply = <&reg_3p3v>;
> + VDDD-supply = <&reg_1p8v>;
> + };
> +
> touch: stmpe811@44 {
> compatible = "st,stmpe811";
> reg = <0x44>;
> diff --git a/arch/arm/boot/dts/imx6ul-isiot.dtsi b/arch/arm/boot/dts/imx6ul-isiot.dtsi
> index ea30380..7cbcaea 100644
> --- a/arch/arm/boot/dts/imx6ul-isiot.dtsi
> +++ b/arch/arm/boot/dts/imx6ul-isiot.dtsi
> @@ -69,6 +69,36 @@
> 100>;
> default-brightness-level = <100>;
> };
> +
> + reg_1p8v: regulator-1p8v {
> + compatible = "regulator-fixed";
> + regulator-name = "1P8V";
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> + regulator-always-on;
> + regulator-boot-on;
> + };
> +
> + reg_3p3v: regulator-3p3v {
> + compatible = "regulator-fixed";
> + regulator-name = "3P3V";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + regulator-always-on;
> + regulator-boot-on;
> + };
> +
> + sound {
> + compatible = "fsl,imx-audio-sgtl5000";
> + model = "imx6ul-isiot-sgtl5000";
> + cpu-dai = <&sai2>;
> + audio-codec = <&codec>;
> + gpr = <&gpr>;

I do not see this 'gpr' thing in bindings/sound/imx-audio-sgtl5000.txt.

Shawn

> + audio-routing =
> + "MIC_IN", "Mic Jack",
> + "Mic Jack", "Mic Bias",
> + "Headphone Jack", "HP_OUT";
> + };
> };
>
> &i2c1 {
> --
> 1.9.1
>

2017-03-24 07:01:05

by Jagan Teki

[permalink] [raw]
Subject: Re: [PATCH 05/12] ARM: dts: imx6ul-isiot-common: Add touchscreen node

On Fri, Mar 24, 2017 at 10:46 AM, Shawn Guo <[email protected]> wrote:
> On Wed, Mar 22, 2017 at 11:18:10PM +0530, Jagan Teki wrote:
>> From: Jagan Teki <[email protected]>
>>
>> Add touchscreen node as i2c1 slave device on Engicam Is.IoT MX6UL
>> modules, the touchscreen controlled 'st,stmpe-ts' connected via
>> i2c with st,stmpe811 mfb interface.
>
> s/mfb/mfd?
>
>>
>> Cc: Shawn Guo <[email protected]>
>> Cc: Matteo Lisi <[email protected]>
>> Cc: Michael Trimarchi <[email protected]>
>> Signed-off-by: Jagan Teki <[email protected]>
>> ---
>> arch/arm/boot/dts/imx6ul-isiot-common.dtsi | 34 ++++++++++++++++++++++++++++++
>> 1 file changed, 34 insertions(+)
>>
>> diff --git a/arch/arm/boot/dts/imx6ul-isiot-common.dtsi b/arch/arm/boot/dts/imx6ul-isiot-common.dtsi
>> index 9660e20..b149b5e 100644
>> --- a/arch/arm/boot/dts/imx6ul-isiot-common.dtsi
>> +++ b/arch/arm/boot/dts/imx6ul-isiot-common.dtsi
>> @@ -40,6 +40,34 @@
>> * OTHER DEALINGS IN THE SOFTWARE.
>> */
>>
>> +&i2c1 {
>> + touch: stmpe811@44 {
>
> Label a MFD device 'touch'? Also, the node name should be generic. Not
> sure what should be used for MFD device though.

May be I can use stmpe811@41 the existing imx6qdl-apalis.dtsi using
the similar notation.

>
>> + compatible = "st,stmpe811";
>> + reg = <0x44>;
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&pinctrl_stmpe_ts>;
>
> If this is for stmpe-ts, shouldn't be put into touchscreen child node?

Actually this is interrupt pad, for the touch controller via stmpe so
I can rename pinctrl_touch_int.

>
>> + interrupt-parent = <&gpio1>;
>> + interrupts = <18 IRQ_TYPE_EDGE_FALLING>;
>> + interrupt-controller;
>> + #interrupt-cells = <2>;
>> +
>> + stmpe_touchscreen {
>
> 'stmpe: touchscreen {' might be better.

stmpe_touchscreen {

This is also compatible with existing dtsi files

thanks!
--
Jagan Teki
Senior Linux Kernel Engineer | Amarula Solutions
U-Boot, Linux | Upstream Maintainer
Hyderabad, India.

2017-03-24 07:26:13

by Shawn Guo

[permalink] [raw]
Subject: Re: [PATCH 05/12] ARM: dts: imx6ul-isiot-common: Add touchscreen node

On Fri, Mar 24, 2017 at 12:29:49PM +0530, Jagan Teki wrote:
> On Fri, Mar 24, 2017 at 10:46 AM, Shawn Guo <[email protected]> wrote:
> > On Wed, Mar 22, 2017 at 11:18:10PM +0530, Jagan Teki wrote:
> >> From: Jagan Teki <[email protected]>
> >>
> >> Add touchscreen node as i2c1 slave device on Engicam Is.IoT MX6UL
> >> modules, the touchscreen controlled 'st,stmpe-ts' connected via
> >> i2c with st,stmpe811 mfb interface.
> >
> > s/mfb/mfd?
> >
> >>
> >> Cc: Shawn Guo <[email protected]>
> >> Cc: Matteo Lisi <[email protected]>
> >> Cc: Michael Trimarchi <[email protected]>
> >> Signed-off-by: Jagan Teki <[email protected]>
> >> ---
> >> arch/arm/boot/dts/imx6ul-isiot-common.dtsi | 34 ++++++++++++++++++++++++++++++
> >> 1 file changed, 34 insertions(+)
> >>
> >> diff --git a/arch/arm/boot/dts/imx6ul-isiot-common.dtsi b/arch/arm/boot/dts/imx6ul-isiot-common.dtsi
> >> index 9660e20..b149b5e 100644
> >> --- a/arch/arm/boot/dts/imx6ul-isiot-common.dtsi
> >> +++ b/arch/arm/boot/dts/imx6ul-isiot-common.dtsi
> >> @@ -40,6 +40,34 @@
> >> * OTHER DEALINGS IN THE SOFTWARE.
> >> */
> >>
> >> +&i2c1 {
> >> + touch: stmpe811@44 {
> >
> > Label a MFD device 'touch'? Also, the node name should be generic. Not
> > sure what should be used for MFD device though.
>
> May be I can use stmpe811@41 the existing imx6qdl-apalis.dtsi using
> the similar notation.

Per application notes of stmpe811 below, I would suggest you name it
gpio-expander.

http://www.st.com/resource/zh/datasheet/CD00186725.pdf

>
> >
> >> + compatible = "st,stmpe811";
> >> + reg = <0x44>;
> >> + #address-cells = <1>;
> >> + #size-cells = <0>;
> >> + pinctrl-names = "default";
> >> + pinctrl-0 = <&pinctrl_stmpe_ts>;
> >
> > If this is for stmpe-ts, shouldn't be put into touchscreen child node?
>
> Actually this is interrupt pad, for the touch controller via stmpe so
> I can rename pinctrl_touch_int.

Or just pinctrl_stmpe.

>
> >
> >> + interrupt-parent = <&gpio1>;
> >> + interrupts = <18 IRQ_TYPE_EDGE_FALLING>;
> >> + interrupt-controller;
> >> + #interrupt-cells = <2>;
> >> +
> >> + stmpe_touchscreen {
> >
> > 'stmpe: touchscreen {' might be better.
>
> stmpe_touchscreen {
>
> This is also compatible with existing dtsi files

We do not need to keep compatibility with something not good.

Shawn

2017-03-24 07:33:00

by Jagan Teki

[permalink] [raw]
Subject: Re: [PATCH 05/12] ARM: dts: imx6ul-isiot-common: Add touchscreen node

On Fri, Mar 24, 2017 at 12:55 PM, Shawn Guo <[email protected]> wrote:
> On Fri, Mar 24, 2017 at 12:29:49PM +0530, Jagan Teki wrote:
>> On Fri, Mar 24, 2017 at 10:46 AM, Shawn Guo <[email protected]> wrote:
>> > On Wed, Mar 22, 2017 at 11:18:10PM +0530, Jagan Teki wrote:
>> >> From: Jagan Teki <[email protected]>
>> >>
>> >> Add touchscreen node as i2c1 slave device on Engicam Is.IoT MX6UL
>> >> modules, the touchscreen controlled 'st,stmpe-ts' connected via
>> >> i2c with st,stmpe811 mfb interface.
>> >
>> > s/mfb/mfd?
>> >
>> >>
>> >> Cc: Shawn Guo <[email protected]>
>> >> Cc: Matteo Lisi <[email protected]>
>> >> Cc: Michael Trimarchi <[email protected]>
>> >> Signed-off-by: Jagan Teki <[email protected]>
>> >> ---
>> >> arch/arm/boot/dts/imx6ul-isiot-common.dtsi | 34 ++++++++++++++++++++++++++++++
>> >> 1 file changed, 34 insertions(+)
>> >>
>> >> diff --git a/arch/arm/boot/dts/imx6ul-isiot-common.dtsi b/arch/arm/boot/dts/imx6ul-isiot-common.dtsi
>> >> index 9660e20..b149b5e 100644
>> >> --- a/arch/arm/boot/dts/imx6ul-isiot-common.dtsi
>> >> +++ b/arch/arm/boot/dts/imx6ul-isiot-common.dtsi
>> >> @@ -40,6 +40,34 @@
>> >> * OTHER DEALINGS IN THE SOFTWARE.
>> >> */
>> >>
>> >> +&i2c1 {
>> >> + touch: stmpe811@44 {
>> >
>> > Label a MFD device 'touch'? Also, the node name should be generic. Not
>> > sure what should be used for MFD device though.
>>
>> May be I can use stmpe811@41 the existing imx6qdl-apalis.dtsi using
>> the similar notation.
>
> Per application notes of stmpe811 below, I would suggest you name it
> gpio-expander.
>
> http://www.st.com/resource/zh/datasheet/CD00186725.pdf

OK, will this be ok?

stmpe811: gpio-expander@44 {

>
>>
>> >
>> >> + compatible = "st,stmpe811";
>> >> + reg = <0x44>;
>> >> + #address-cells = <1>;
>> >> + #size-cells = <0>;
>> >> + pinctrl-names = "default";
>> >> + pinctrl-0 = <&pinctrl_stmpe_ts>;
>> >
>> > If this is for stmpe-ts, shouldn't be put into touchscreen child node?
>>
>> Actually this is interrupt pad, for the touch controller via stmpe so
>> I can rename pinctrl_touch_int.
>
> Or just pinctrl_stmpe.
>
>>
>> >
>> >> + interrupt-parent = <&gpio1>;
>> >> + interrupts = <18 IRQ_TYPE_EDGE_FALLING>;
>> >> + interrupt-controller;
>> >> + #interrupt-cells = <2>;
>> >> +
>> >> + stmpe_touchscreen {
>> >
>> > 'stmpe: touchscreen {' might be better.
>>
>> stmpe_touchscreen {
>>
>> This is also compatible with existing dtsi files
>
> We do not need to keep compatibility with something not good.

thanks!
--
Jagan Teki
Senior Linux Kernel Engineer | Amarula Solutions
U-Boot, Linux | Upstream Maintainer
Hyderabad, India.

2017-03-24 07:36:32

by Shawn Guo

[permalink] [raw]
Subject: Re: [PATCH 05/12] ARM: dts: imx6ul-isiot-common: Add touchscreen node

On Fri, Mar 24, 2017 at 01:02:35PM +0530, Jagan Teki wrote:
> On Fri, Mar 24, 2017 at 12:55 PM, Shawn Guo <[email protected]> wrote:
> > On Fri, Mar 24, 2017 at 12:29:49PM +0530, Jagan Teki wrote:
> >> On Fri, Mar 24, 2017 at 10:46 AM, Shawn Guo <[email protected]> wrote:
> >> > On Wed, Mar 22, 2017 at 11:18:10PM +0530, Jagan Teki wrote:
> >> >> From: Jagan Teki <[email protected]>
> >> >>
> >> >> Add touchscreen node as i2c1 slave device on Engicam Is.IoT MX6UL
> >> >> modules, the touchscreen controlled 'st,stmpe-ts' connected via
> >> >> i2c with st,stmpe811 mfb interface.
> >> >
> >> > s/mfb/mfd?
> >> >
> >> >>
> >> >> Cc: Shawn Guo <[email protected]>
> >> >> Cc: Matteo Lisi <[email protected]>
> >> >> Cc: Michael Trimarchi <[email protected]>
> >> >> Signed-off-by: Jagan Teki <[email protected]>
> >> >> ---
> >> >> arch/arm/boot/dts/imx6ul-isiot-common.dtsi | 34 ++++++++++++++++++++++++++++++
> >> >> 1 file changed, 34 insertions(+)
> >> >>
> >> >> diff --git a/arch/arm/boot/dts/imx6ul-isiot-common.dtsi b/arch/arm/boot/dts/imx6ul-isiot-common.dtsi
> >> >> index 9660e20..b149b5e 100644
> >> >> --- a/arch/arm/boot/dts/imx6ul-isiot-common.dtsi
> >> >> +++ b/arch/arm/boot/dts/imx6ul-isiot-common.dtsi
> >> >> @@ -40,6 +40,34 @@
> >> >> * OTHER DEALINGS IN THE SOFTWARE.
> >> >> */
> >> >>
> >> >> +&i2c1 {
> >> >> + touch: stmpe811@44 {
> >> >
> >> > Label a MFD device 'touch'? Also, the node name should be generic. Not
> >> > sure what should be used for MFD device though.
> >>
> >> May be I can use stmpe811@41 the existing imx6qdl-apalis.dtsi using
> >> the similar notation.
> >
> > Per application notes of stmpe811 below, I would suggest you name it
> > gpio-expander.
> >
> > http://www.st.com/resource/zh/datasheet/CD00186725.pdf
>
> OK, will this be ok?
>
> stmpe811: gpio-expander@44 {

Yes.

Shawn

2017-03-24 08:33:17

by Jagan Teki

[permalink] [raw]
Subject: Re: [PATCH 07/12] ARM: dts: imx6ul-isiot: Add Sound card with codec node

On Fri, Mar 24, 2017 at 10:53 AM, Shawn Guo <[email protected]> wrote:
> On Wed, Mar 22, 2017 at 11:18:12PM +0530, Jagan Teki wrote:
>> From: Jagan Teki <[email protected]>
>>
>> Add support for Sound card and related codec(via i2c1) nodes
>> on Engicam Is.IoT MX6UL variant module boards.
>>
>> Cc: Shawn Guo <[email protected]>
>> Cc: Matteo Lisi <[email protected]>
>> Cc: Michael Trimarchi <[email protected]>
>> Signed-off-by: Jagan Teki <[email protected]>
>> ---
>> arch/arm/boot/dts/imx6ul-isiot-common.dtsi | 11 +++++++++++
>> arch/arm/boot/dts/imx6ul-isiot.dtsi | 30 ++++++++++++++++++++++++++++++
>> 2 files changed, 41 insertions(+)
>>
>> diff --git a/arch/arm/boot/dts/imx6ul-isiot-common.dtsi b/arch/arm/boot/dts/imx6ul-isiot-common.dtsi
>> index b149b5e..c79fa42 100644
>> --- a/arch/arm/boot/dts/imx6ul-isiot-common.dtsi
>> +++ b/arch/arm/boot/dts/imx6ul-isiot-common.dtsi
>> @@ -41,6 +41,17 @@
>> */
>>
>> &i2c1 {
>> + codec: sgtl5000@0a {
>
> sgtl5000: codec@a {

Just to understand, why codec: sgtl5000@0a not a suitable notation?
couldn't see any Documentation.

thanks!
--
Jagan Teki
Senior Linux Kernel Engineer | Amarula Solutions
U-Boot, Linux | Upstream Maintainer
Hyderabad, India.

2017-03-24 13:10:31

by Shawn Guo

[permalink] [raw]
Subject: Re: [PATCH 07/12] ARM: dts: imx6ul-isiot: Add Sound card with codec node

On Fri, Mar 24, 2017 at 02:02:38PM +0530, Jagan Teki wrote:
> On Fri, Mar 24, 2017 at 10:53 AM, Shawn Guo <[email protected]> wrote:
> > On Wed, Mar 22, 2017 at 11:18:12PM +0530, Jagan Teki wrote:
> >> From: Jagan Teki <[email protected]>
> >>
> >> Add support for Sound card and related codec(via i2c1) nodes
> >> on Engicam Is.IoT MX6UL variant module boards.
> >>
> >> Cc: Shawn Guo <[email protected]>
> >> Cc: Matteo Lisi <[email protected]>
> >> Cc: Michael Trimarchi <[email protected]>
> >> Signed-off-by: Jagan Teki <[email protected]>
> >> ---
> >> arch/arm/boot/dts/imx6ul-isiot-common.dtsi | 11 +++++++++++
> >> arch/arm/boot/dts/imx6ul-isiot.dtsi | 30 ++++++++++++++++++++++++++++++
> >> 2 files changed, 41 insertions(+)
> >>
> >> diff --git a/arch/arm/boot/dts/imx6ul-isiot-common.dtsi b/arch/arm/boot/dts/imx6ul-isiot-common.dtsi
> >> index b149b5e..c79fa42 100644
> >> --- a/arch/arm/boot/dts/imx6ul-isiot-common.dtsi
> >> +++ b/arch/arm/boot/dts/imx6ul-isiot-common.dtsi
> >> @@ -41,6 +41,17 @@
> >> */
> >>
> >> &i2c1 {
> >> + codec: sgtl5000@0a {
> >
> > sgtl5000: codec@a {
>
> Just to understand, why codec: sgtl5000@0a not a suitable notation?
> couldn't see any Documentation.

The node name should be generic. Please see ePAPR '2.2.2 Generic Names
Recommendation'. Also, the unit-address shouldn't have leading zeros.

Shawn