linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/9] ARM: dts: i.MX6: Add lcdif/sound nodes on Engicam SOMs
@ 2017-04-06 18:02 Jagan Teki
  2017-04-06 18:02 ` [PATCH v3 1/9] ARM: dts: imx6ul-isiot: Add Sound card with codec node Jagan Teki
                   ` (8 more replies)
  0 siblings, 9 replies; 20+ messages in thread
From: Jagan Teki @ 2017-04-06 18:02 UTC (permalink / raw)
  To: Shawn Guo
  Cc: linux-arm-kernel, devicetree, linux-kernel, Sascha Hauer,
	Fabio Estevam, Matteo Lisi, Michael Trimarchi, Jagan Teki

From: Jagan Teki <jagan@amarulasolutions.com>

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

Jagan Teki (9):
  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-rqs: Add sgtl5000 codec node
  ARM: dts: imx6qdl-icore-rqs: Replace to use simple-audio-card
  ARM: dts: imx6dl-icore: Add LVDS support
  ARM: dts: imx6dl-icore: Add touchscreen node
  ARM: dts: imx6qdl-icore-rqs: Add CAN nodes
  ARM: dts: imx6ul-isiot: Add FEC node support

 arch/arm/boot/dts/imx6dl-icore-rqs.dts     | 19 ++++++++
 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      | 21 ++++----
 arch/arm/boot/dts/imx6q-icore.dts          | 11 +++++
 arch/arm/boot/dts/imx6qdl-icore-rqs.dtsi   | 51 ++++++++++++++++++++
 arch/arm/boot/dts/imx6qdl-icore.dtsi       | 48 +++++++++++++++++++
 arch/arm/boot/dts/imx6ul-geam-kit.dts      | 12 +++++
 arch/arm/boot/dts/imx6ul-geam.dtsi         | 26 ++++++++++
 arch/arm/boot/dts/imx6ul-isiot-common.dtsi | 10 ++++
 arch/arm/boot/dts/imx6ul-isiot.dtsi        | 77 ++++++++++++++++++++++++++++++
 12 files changed, 329 insertions(+), 13 deletions(-)

-- 
1.9.1

^ permalink raw reply	[flat|nested] 20+ messages in thread

* [PATCH v3 1/9] ARM: dts: imx6ul-isiot: Add Sound card with codec node
  2017-04-06 18:02 [PATCH v3 0/9] ARM: dts: i.MX6: Add lcdif/sound nodes on Engicam SOMs Jagan Teki
@ 2017-04-06 18:02 ` Jagan Teki
  2017-04-07 13:16   ` Shawn Guo
  2017-04-06 18:02 ` [PATCH v3 2/9] ARM: dts: imx6ul-geam: " Jagan Teki
                   ` (7 subsequent siblings)
  8 siblings, 1 reply; 20+ messages in thread
From: Jagan Teki @ 2017-04-06 18:02 UTC (permalink / raw)
  To: Shawn Guo
  Cc: linux-arm-kernel, devicetree, linux-kernel, Sascha Hauer,
	Fabio Estevam, Matteo Lisi, Michael Trimarchi, Jagan Teki

From: Jagan Teki <jagan@amarulasolutions.com>

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

Cc: Shawn Guo <shawnguo@kernel.org>
Cc: Matteo Lisi <matteo.lisi@engicam.com>
Cc: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
---
Changes for v3:
- Replace fsl,imx-audio-sgtl5000 and use simple-audio-card
Changes for v2:
- Use proper [label:] node-name[@unit-address] for codec
- Remove incorrect codec property 'wlf,shared-lrclk'
- Remove 'gpr' from sound card node

 arch/arm/boot/dts/imx6ul-isiot-common.dtsi | 10 +++++++
 arch/arm/boot/dts/imx6ul-isiot.dtsi        | 44 ++++++++++++++++++++++++++++++
 2 files changed, 54 insertions(+)

diff --git a/arch/arm/boot/dts/imx6ul-isiot-common.dtsi b/arch/arm/boot/dts/imx6ul-isiot-common.dtsi
index 2beaab6..d456080 100644
--- a/arch/arm/boot/dts/imx6ul-isiot-common.dtsi
+++ b/arch/arm/boot/dts/imx6ul-isiot-common.dtsi
@@ -41,6 +41,16 @@
  */
 
 &i2c1 {
+	sgtl5000: codec@a {
+		compatible = "fsl,sgtl5000";
+		reg = <0x0a>;
+		clocks = <&clks IMX6UL_CLK_OSC>;
+		clock-names = "mclk";
+		VDDA-supply = <&reg_3p3v>;
+		VDDIO-supply = <&reg_3p3v>;
+		VDDD-supply = <&reg_1p8v>;
+	};
+
 	stmpe811: gpio-expander@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..7e947e5 100644
--- a/arch/arm/boot/dts/imx6ul-isiot.dtsi
+++ b/arch/arm/boot/dts/imx6ul-isiot.dtsi
@@ -69,6 +69,50 @@
 				    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 = "simple-audio-card";
+		simple-audio-card,name = "imx6ul-isiot-sgtl5000";
+		simple-audio-card,format = "i2s";
+		simple-audio-card,bitclock-master = <&dailink_master>;
+		simple-audio-card,frame-master = <&dailink_master>;
+		simple-audio-card,widgets =
+			"Microphone", "Mic Jack",
+			"Line", "Line In",
+			"Line", "Line Out",
+			"Headphone", "Headphone Jack";
+		simple-audio-card,routing =
+			"MIC_IN", "Mic Jack",
+			"Mic Jack", "Mic Bias",
+			"Headphone Jack", "HP_OUT";
+
+		simple-audio-card,cpu {
+			sound-dai = <&sai2>;
+		};
+
+		dailink_master: simple-audio-card,codec {
+			sound-dai = <&sgtl5000>;
+			clocks = <&clks IMX6UL_CLK_SAI2>;
+		};
+	};
 };
 
 &i2c1 {
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH v3 2/9] ARM: dts: imx6ul-geam: Add Sound card with codec node
  2017-04-06 18:02 [PATCH v3 0/9] ARM: dts: i.MX6: Add lcdif/sound nodes on Engicam SOMs Jagan Teki
  2017-04-06 18:02 ` [PATCH v3 1/9] ARM: dts: imx6ul-isiot: Add Sound card with codec node Jagan Teki
@ 2017-04-06 18:02 ` Jagan Teki
  2017-04-07 13:19   ` Shawn Guo
  2017-04-06 18:02 ` [PATCH v3 3/9] ARM: dts: imx6qdl-icore: " Jagan Teki
                   ` (6 subsequent siblings)
  8 siblings, 1 reply; 20+ messages in thread
From: Jagan Teki @ 2017-04-06 18:02 UTC (permalink / raw)
  To: Shawn Guo
  Cc: linux-arm-kernel, devicetree, linux-kernel, Sascha Hauer,
	Fabio Estevam, Matteo Lisi, Michael Trimarchi, Jagan Teki

From: Jagan Teki <jagan@amarulasolutions.com>

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

Cc: Shawn Guo <shawnguo@kernel.org>
Cc: Matteo Lisi <matteo.lisi@engicam.com>
Cc: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
---
Changes for v3:
- Replace fsl,imx-audio-sgtl5000 and use simple-audio-card
Changes for v2:
- Use proper [label:] node-name[@unit-address] for codec
- Remove incorrect codec property 'wlf,shared-lrclk'
- Remove 'gpr' from sound card node

 arch/arm/boot/dts/imx6ul-geam-kit.dts | 12 ++++++++++++
 arch/arm/boot/dts/imx6ul-geam.dtsi    | 26 ++++++++++++++++++++++++++
 2 files changed, 38 insertions(+)

diff --git a/arch/arm/boot/dts/imx6ul-geam-kit.dts b/arch/arm/boot/dts/imx6ul-geam-kit.dts
index 142e60c..02edcba 100644
--- a/arch/arm/boot/dts/imx6ul-geam-kit.dts
+++ b/arch/arm/boot/dts/imx6ul-geam-kit.dts
@@ -58,6 +58,18 @@
 	status = "okay";
 };
 
+&i2c1 {
+	sgtl5000: codec@a {
+		compatible = "fsl,sgtl5000";
+		reg = <0x0a>;
+		clocks = <&clks IMX6UL_CLK_OSC>;
+		clock-names = "mclk";
+		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..3bc3238 100644
--- a/arch/arm/boot/dts/imx6ul-geam.dtsi
+++ b/arch/arm/boot/dts/imx6ul-geam.dtsi
@@ -87,6 +87,32 @@
 		regulator-always-on;
 		regulator-boot-on;
 	};
+
+	sound {
+		compatible = "simple-audio-card";
+		simple-audio-card,name = "imx6ul-geam-sgtl5000";
+		simple-audio-card,format = "i2s";
+		simple-audio-card,bitclock-master = <&dailink_master>;
+		simple-audio-card,frame-master = <&dailink_master>;
+		simple-audio-card,widgets =
+			"Microphone", "Mic Jack",
+			"Line", "Line In",
+			"Line", "Line Out",
+			"Headphone", "Headphone Jack";
+		simple-audio-card,routing =
+			"MIC_IN", "Mic Jack",
+			"Mic Jack", "Mic Bias",
+			"Headphone Jack", "HP_OUT";
+
+		simple-audio-card,cpu {
+			sound-dai = <&sai2>;
+		};
+
+		dailink_master: simple-audio-card,codec {
+			sound-dai = <&sgtl5000>;
+			clocks = <&clks IMX6UL_CLK_SAI2>;
+		};
+	};
 };
 
 &can1 {
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH v3 3/9] ARM: dts: imx6qdl-icore: Add Sound card with codec node
  2017-04-06 18:02 [PATCH v3 0/9] ARM: dts: i.MX6: Add lcdif/sound nodes on Engicam SOMs Jagan Teki
  2017-04-06 18:02 ` [PATCH v3 1/9] ARM: dts: imx6ul-isiot: Add Sound card with codec node Jagan Teki
  2017-04-06 18:02 ` [PATCH v3 2/9] ARM: dts: imx6ul-geam: " Jagan Teki
@ 2017-04-06 18:02 ` Jagan Teki
  2017-04-07 13:23   ` Shawn Guo
  2017-04-06 18:02 ` [PATCH v3 4/9] ARM: dts: imx6dl-icore-rqs: Add sgtl5000 " Jagan Teki
                   ` (5 subsequent siblings)
  8 siblings, 1 reply; 20+ messages in thread
From: Jagan Teki @ 2017-04-06 18:02 UTC (permalink / raw)
  To: Shawn Guo
  Cc: linux-arm-kernel, devicetree, linux-kernel, Sascha Hauer,
	Fabio Estevam, Matteo Lisi, Michael Trimarchi, Jagan Teki

From: Jagan Teki <jagan@amarulasolutions.com>

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 <shawnguo@kernel.org>
Cc: Matteo Lisi <matteo.lisi@engicam.com>
Cc: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
---
Changes for v3:
- Replace fsl,imx-audio-sgtl5000 and use simple-audio-card
Changes for v2:
- Use proper [label:] node-name[@unit-address] for codec

 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      | 48 +++++++++++++++++++++++++++++++
 5 files changed, 92 insertions(+)

diff --git a/arch/arm/boot/dts/imx6dl-icore.dts b/arch/arm/boot/dts/imx6dl-icore.dts
index 6de83c7..0562ce4 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 {
+	sgtl5000: codec@a {
+		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..f63b87f 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 {
+	sgtl5000: codec@a {
+		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..68ca828 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 {
+	sgtl5000: codec@a {
+		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 5613dd9..1ae7294 100644
--- a/arch/arm/boot/dts/imx6q-icore.dts
+++ b/arch/arm/boot/dts/imx6q-icore.dts
@@ -67,6 +67,17 @@
 	};
 };
 
+&i2c3 {
+	sgtl5000: codec@a {
+		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..1bd7cdb 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,31 @@
 		#clock-cells = <0>;
 		clock-frequency = <25000000>;  /* 25MHz for example */
 	};
+
+	sound {
+		compatible = "simple-audio-card";
+		simple-audio-card,name = "imx6qdl-icore-sgtl5000";
+		simple-audio-card,format = "i2s";
+		simple-audio-card,bitclock-master = <&dailink_master>;
+		simple-audio-card,frame-master = <&dailink_master>;
+		simple-audio-card,widgets =
+			"Microphone", "Mic Jack",
+			"Line", "Line In",
+			"Line", "Line Out",
+			"Headphone", "Headphone Jack";
+		simple-audio-card,routing =
+			"MIC_IN", "Mic Jack",
+			"Mic Jack", "Mic Bias",
+			"Headphone Jack", "HP_OUT";
+
+		simple-audio-card,cpu {
+			sound-dai = <&ssi1>;
+		};
+
+		dailink_master: simple-audio-card,codec {
+			sound-dai = <&sgtl5000>;
+		};
+	};
 };
 
 &can1 {
@@ -149,6 +193,10 @@
 	status = "okay";
 };
 
+&ssi1 {
+	status = "okay";
+};
+
 &uart4 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&pinctrl_uart4>;
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH v3 4/9] ARM: dts: imx6dl-icore-rqs: Add sgtl5000 codec node
  2017-04-06 18:02 [PATCH v3 0/9] ARM: dts: i.MX6: Add lcdif/sound nodes on Engicam SOMs Jagan Teki
                   ` (2 preceding siblings ...)
  2017-04-06 18:02 ` [PATCH v3 3/9] ARM: dts: imx6qdl-icore: " Jagan Teki
@ 2017-04-06 18:02 ` Jagan Teki
  2017-04-06 18:02 ` [PATCH v3 5/9] ARM: dts: imx6qdl-icore-rqs: Replace to use simple-audio-card Jagan Teki
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 20+ messages in thread
From: Jagan Teki @ 2017-04-06 18:02 UTC (permalink / raw)
  To: Shawn Guo
  Cc: linux-arm-kernel, devicetree, linux-kernel, Sascha Hauer,
	Fabio Estevam, Matteo Lisi, Michael Trimarchi, Jagan Teki

From: Jagan Teki <jagan@amarulasolutions.com>

- Moved sound card node to imx6qdl-icore-rqs.dtsi
- Added codec node in imx6dl-icore-rqs
- Replace codec: sgtl5000@0a => sgtl5000: codec@a
  on imx6q-icore-rqs.dts to [label:] node-name[@unit-address]
  according to devicetree specification from ePAPER v1.1

Cc: Shawn Guo <shawnguo@kernel.org>
Cc: Matteo Lisi <matteo.lisi@engicam.com>
Cc: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
---
Changes for v3:
- squash previous [PATCH v2 10/15] and [PATCH v2 11/15]
Changes for v2:
- Newly added patch

 arch/arm/boot/dts/imx6dl-icore-rqs.dts   | 11 +++++++++++
 arch/arm/boot/dts/imx6q-icore-rqs.dts    | 15 +--------------
 arch/arm/boot/dts/imx6qdl-icore-rqs.dtsi | 13 +++++++++++++
 3 files changed, 25 insertions(+), 14 deletions(-)

diff --git a/arch/arm/boot/dts/imx6dl-icore-rqs.dts b/arch/arm/boot/dts/imx6dl-icore-rqs.dts
index cf42c2f..053e7cb 100644
--- a/arch/arm/boot/dts/imx6dl-icore-rqs.dts
+++ b/arch/arm/boot/dts/imx6dl-icore-rqs.dts
@@ -49,3 +49,14 @@
 	model = "Engicam i.CoreM6 DualLite/Solo RQS Starter Kit";
 	compatible = "engicam,imx6-icore-rqs", "fsl,imx6dl";
 };
+
+&i2c3 {
+	sgtl5000: codec@a {
+		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-rqs.dts b/arch/arm/boot/dts/imx6q-icore-rqs.dts
index e451b4c..d45e4f5 100644
--- a/arch/arm/boot/dts/imx6q-icore-rqs.dts
+++ b/arch/arm/boot/dts/imx6q-icore-rqs.dts
@@ -47,23 +47,10 @@
 / {
 	model = "Engicam i.CoreM6 Quad/Dual RQS Starter Kit";
 	compatible = "engicam,imx6-icore-rqs", "fsl,imx6q";
-
-	sound {
-		compatible = "fsl,imx-audio-sgtl5000";
-		model = "imx-audio-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>;
-	};
 };
 
 &i2c3 {
-	codec: sgtl5000@0a {
+	sgtl5000: codec@a {
 		compatible = "fsl,sgtl5000";
 		reg = <0x0a>;
 		clocks = <&clks IMX6QDL_CLK_CKO>;
diff --git a/arch/arm/boot/dts/imx6qdl-icore-rqs.dtsi b/arch/arm/boot/dts/imx6qdl-icore-rqs.dtsi
index 5fab5be..d24e531 100644
--- a/arch/arm/boot/dts/imx6qdl-icore-rqs.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-icore-rqs.dtsi
@@ -118,6 +118,19 @@
 		clocks = <&clks IMX6QDL_CLK_LVDS2_GATE>;
 		clock-names = "refclk";
 	};
+
+	sound {
+		compatible = "fsl,imx-audio-sgtl5000";
+		model = "imx-audio-sgtl5000";
+		ssi-controller = <&ssi1>;
+		audio-codec = <&sgtl5000>;
+		audio-routing =
+			"MIC_IN", "Mic Jack",
+			"Mic Jack", "Mic Bias",
+			"Headphone Jack", "HP_OUT";
+		mux-int-port = <1>;
+		mux-ext-port = <4>;
+	};
 };
 
 &clks {
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH v3 5/9] ARM: dts: imx6qdl-icore-rqs: Replace to use simple-audio-card
  2017-04-06 18:02 [PATCH v3 0/9] ARM: dts: i.MX6: Add lcdif/sound nodes on Engicam SOMs Jagan Teki
                   ` (3 preceding siblings ...)
  2017-04-06 18:02 ` [PATCH v3 4/9] ARM: dts: imx6dl-icore-rqs: Add sgtl5000 " Jagan Teki
@ 2017-04-06 18:02 ` Jagan Teki
  2017-04-06 18:02 ` [PATCH v3 6/9] ARM: dts: imx6dl-icore: Add LVDS support Jagan Teki
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 20+ messages in thread
From: Jagan Teki @ 2017-04-06 18:02 UTC (permalink / raw)
  To: Shawn Guo
  Cc: linux-arm-kernel, devicetree, linux-kernel, Sascha Hauer,
	Fabio Estevam, Matteo Lisi, Michael Trimarchi, Jagan Teki

From: Jagan Teki <jagan@amarulasolutions.com>

This patch replace fsl,imx-audio-sgtl5000 and use simple-audio-card
for Engicam i.CoreM6 RQS QDL platform boards.

Cc: Shawn Guo <shawnguo@kernel.org>
Cc: Matteo Lisi <matteo.lisi@engicam.com>
Cc: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
---
Changes for v3:
- Newly added patch

 arch/arm/boot/dts/imx6qdl-icore-rqs.dtsi | 26 +++++++++++++++++++-------
 1 file changed, 19 insertions(+), 7 deletions(-)

diff --git a/arch/arm/boot/dts/imx6qdl-icore-rqs.dtsi b/arch/arm/boot/dts/imx6qdl-icore-rqs.dtsi
index d24e531..0e79a5b 100644
--- a/arch/arm/boot/dts/imx6qdl-icore-rqs.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-icore-rqs.dtsi
@@ -120,16 +120,28 @@
 	};
 
 	sound {
-		compatible = "fsl,imx-audio-sgtl5000";
-		model = "imx-audio-sgtl5000";
-		ssi-controller = <&ssi1>;
-		audio-codec = <&sgtl5000>;
-		audio-routing =
+		compatible = "simple-audio-card";
+		simple-audio-card,name = "imx6qdl-icore-sgtl5000";
+		simple-audio-card,format = "i2s";
+		simple-audio-card,bitclock-master = <&dailink_master>;
+		simple-audio-card,frame-master = <&dailink_master>;
+		simple-audio-card,widgets =
+			"Microphone", "Mic Jack",
+			"Line", "Line In",
+			"Line", "Line Out",
+			"Headphone", "Headphone Jack";
+		simple-audio-card,routing =
 			"MIC_IN", "Mic Jack",
 			"Mic Jack", "Mic Bias",
 			"Headphone Jack", "HP_OUT";
-		mux-int-port = <1>;
-		mux-ext-port = <4>;
+
+		simple-audio-card,cpu {
+			sound-dai = <&ssi1>;
+		};
+
+		dailink_master: simple-audio-card,codec {
+			sound-dai = <&sgtl5000>;
+		};
 	};
 };
 
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH v3 6/9] ARM: dts: imx6dl-icore: Add LVDS support
  2017-04-06 18:02 [PATCH v3 0/9] ARM: dts: i.MX6: Add lcdif/sound nodes on Engicam SOMs Jagan Teki
                   ` (4 preceding siblings ...)
  2017-04-06 18:02 ` [PATCH v3 5/9] ARM: dts: imx6qdl-icore-rqs: Replace to use simple-audio-card Jagan Teki
@ 2017-04-06 18:02 ` Jagan Teki
  2017-04-06 18:02 ` [PATCH v3 7/9] ARM: dts: imx6dl-icore: Add touchscreen node Jagan Teki
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 20+ messages in thread
From: Jagan Teki @ 2017-04-06 18:02 UTC (permalink / raw)
  To: Shawn Guo
  Cc: linux-arm-kernel, devicetree, linux-kernel, Sascha Hauer,
	Fabio Estevam, Matteo Lisi, Michael Trimarchi, Jagan Teki

From: Jagan Teki <jagan@amarulasolutions.com>

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 <shawnguo@kernel.org>
Cc: Matteo Lisi <matteo.lisi@engicam.com>
Cc: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
---
Changes for v3,v2:
- none

 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 0562ce4..ea9ab05 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

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH v3 7/9] ARM: dts: imx6dl-icore: Add touchscreen node
  2017-04-06 18:02 [PATCH v3 0/9] ARM: dts: i.MX6: Add lcdif/sound nodes on Engicam SOMs Jagan Teki
                   ` (5 preceding siblings ...)
  2017-04-06 18:02 ` [PATCH v3 6/9] ARM: dts: imx6dl-icore: Add LVDS support Jagan Teki
@ 2017-04-06 18:02 ` Jagan Teki
  2017-04-06 18:02 ` [PATCH v3 8/9] ARM: dts: imx6qdl-icore-rqs: Add CAN nodes Jagan Teki
  2017-04-06 18:02 ` [PATCH v3 9/9] ARM: dts: imx6ul-isiot: Add FEC node support Jagan Teki
  8 siblings, 0 replies; 20+ messages in thread
From: Jagan Teki @ 2017-04-06 18:02 UTC (permalink / raw)
  To: Shawn Guo
  Cc: linux-arm-kernel, devicetree, linux-kernel, Sascha Hauer,
	Fabio Estevam, Matteo Lisi, Michael Trimarchi, Jagan Teki

From: Jagan Teki <jagan@amarulasolutions.com>

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

Cc: Shawn Guo <shawnguo@kernel.org>
Cc: Matteo Lisi <matteo.lisi@engicam.com>
Cc: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
---
Changes for v3,v2:
- none

 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 ea9ab05..27f37cd 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 IRQ_TYPE_EDGE_FALLING>;
+	};
+};
+
 &i2c3 {
 	sgtl5000: codec@a {
 		compatible = "fsl,sgtl5000";
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH v3 8/9] ARM: dts: imx6qdl-icore-rqs: Add CAN nodes
  2017-04-06 18:02 [PATCH v3 0/9] ARM: dts: i.MX6: Add lcdif/sound nodes on Engicam SOMs Jagan Teki
                   ` (6 preceding siblings ...)
  2017-04-06 18:02 ` [PATCH v3 7/9] ARM: dts: imx6dl-icore: Add touchscreen node Jagan Teki
@ 2017-04-06 18:02 ` Jagan Teki
  2017-04-06 18:02 ` [PATCH v3 9/9] ARM: dts: imx6ul-isiot: Add FEC node support Jagan Teki
  8 siblings, 0 replies; 20+ messages in thread
From: Jagan Teki @ 2017-04-06 18:02 UTC (permalink / raw)
  To: Shawn Guo
  Cc: linux-arm-kernel, devicetree, linux-kernel, Sascha Hauer,
	Fabio Estevam, Matteo Lisi, Michael Trimarchi, Jagan Teki

From: Jagan Teki <jagan@amarulasolutions.com>

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

Cc: Shawn Guo <shawnguo@kernel.org>
Cc: Matteo Lisi <matteo.lisi@engicam.com>
Cc: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
---
Changes for v3:
- none
Changes for v2:
- s/flexcan/can
- s/pinctrl_flexcan/pinctrl_can

 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 053e7cb..74335c4 100644
--- a/arch/arm/boot/dts/imx6dl-icore-rqs.dts
+++ b/arch/arm/boot/dts/imx6dl-icore-rqs.dts
@@ -60,3 +60,11 @@
 		VDDD-supply = <&reg_1p8v>;
 	};
 };
+
+&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 d45e4f5..2d4539a 100644
--- a/arch/arm/boot/dts/imx6q-icore-rqs.dts
+++ b/arch/arm/boot/dts/imx6q-icore-rqs.dts
@@ -49,6 +49,14 @@
 	compatible = "engicam,imx6-icore-rqs", "fsl,imx6q";
 };
 
+&can1 {
+	status = "okay";
+};
+
+&can2 {
+	status = "okay";
+};
+
 &i2c3 {
 	sgtl5000: codec@a {
 		compatible = "fsl,sgtl5000";
diff --git a/arch/arm/boot/dts/imx6qdl-icore-rqs.dtsi b/arch/arm/boot/dts/imx6qdl-icore-rqs.dtsi
index 0e79a5b..998fa77 100644
--- a/arch/arm/boot/dts/imx6qdl-icore-rqs.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-icore-rqs.dtsi
@@ -145,6 +145,18 @@
 	};
 };
 
+&can1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_can1>;
+	xceiver-supply = <&reg_3p3v>;
+};
+
+&can2 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_can2>;
+	xceiver-supply = <&reg_3p3v>;
+};
+
 &clks {
 	assigned-clocks = <&clks IMX6QDL_CLK_LVDS2_SEL>;
 	assigned-clock-parents = <&clks IMX6QDL_CLK_OSC>;
@@ -296,6 +308,20 @@
 		>;
 	};
 
+	pinctrl_can1: can1grp {
+		fsl,pins = <
+			MX6QDL_PAD_KEY_ROW2__FLEXCAN1_RX 0x1b020
+			MX6QDL_PAD_KEY_COL2__FLEXCAN1_TX 0x1b020
+		>;
+	};
+
+	pinctrl_can2: can2grp {
+		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

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH v3 9/9] ARM: dts: imx6ul-isiot: Add FEC node support
  2017-04-06 18:02 [PATCH v3 0/9] ARM: dts: i.MX6: Add lcdif/sound nodes on Engicam SOMs Jagan Teki
                   ` (7 preceding siblings ...)
  2017-04-06 18:02 ` [PATCH v3 8/9] ARM: dts: imx6qdl-icore-rqs: Add CAN nodes Jagan Teki
@ 2017-04-06 18:02 ` Jagan Teki
  8 siblings, 0 replies; 20+ messages in thread
From: Jagan Teki @ 2017-04-06 18:02 UTC (permalink / raw)
  To: Shawn Guo
  Cc: linux-arm-kernel, devicetree, linux-kernel, Sascha Hauer,
	Fabio Estevam, Matteo Lisi, Michael Trimarchi, Jagan Teki

From: Jagan Teki <jagan@amarulasolutions.com>

Add support for fec1 node on Engicam Is.IoT variant boards.

Cc: Shawn Guo <shawnguo@kernel.org>
Cc: Matteo Lisi <matteo.lisi@engicam.com>
Cc: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
---
Changes for v3:
- none
Changes for v2:
- Newly added patch

 arch/arm/boot/dts/imx6ul-isiot.dtsi | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/arch/arm/boot/dts/imx6ul-isiot.dtsi b/arch/arm/boot/dts/imx6ul-isiot.dtsi
index 7e947e5..ccc5477 100644
--- a/arch/arm/boot/dts/imx6ul-isiot.dtsi
+++ b/arch/arm/boot/dts/imx6ul-isiot.dtsi
@@ -129,6 +129,24 @@
 	status = "okay";
 };
 
+&fec1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_enet1>;
+	phy-mode = "rmii";
+	phy-handle = <&ethphy0>;
+	status = "okay";
+
+	mdio {
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		ethphy0: ethernet-phy@0 {
+			compatible = "ethernet-phy-ieee802.3-c22";
+			reg = <0>;
+		};
+	};
+};
+
 &pwm8 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&pinctrl_pwm8>;
@@ -159,6 +177,21 @@
 };
 
 &iomuxc {
+	pinctrl_enet1: enet1grp {
+		fsl,pins = <
+			MX6UL_PAD_ENET2_RX_DATA0__ENET1_MDIO	0x1b0b0
+			MX6UL_PAD_ENET2_RX_DATA1__ENET1_MDC	0x1b0b0
+			MX6UL_PAD_ENET1_RX_EN__ENET1_RX_EN	0x1b0b0
+			MX6UL_PAD_ENET1_RX_DATA0__ENET1_RDATA00	0x1b0b0
+			MX6UL_PAD_ENET1_RX_DATA1__ENET1_RDATA01	0x1b0b0
+			MX6UL_PAD_ENET1_TX_EN__ENET1_TX_EN	0x1b0b0
+			MX6UL_PAD_ENET1_TX_DATA0__ENET1_TDATA00	0x1b0b0
+			MX6UL_PAD_ENET1_TX_DATA1__ENET1_TDATA01	0x1b0b0
+			MX6UL_PAD_ENET1_TX_CLK__ENET1_REF_CLK1	0x4001b031
+			MX6UL_PAD_ENET2_RX_EN__GPIO2_IO10	0x1b0b0
+		>;
+	};
+
 	pinctrl_i2c1: i2c1grp {
 		fsl,pins = <
 			MX6UL_PAD_UART4_TX_DATA__I2C1_SCL 0x4001b8b0
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* Re: [PATCH v3 1/9] ARM: dts: imx6ul-isiot: Add Sound card with codec node
  2017-04-06 18:02 ` [PATCH v3 1/9] ARM: dts: imx6ul-isiot: Add Sound card with codec node Jagan Teki
@ 2017-04-07 13:16   ` Shawn Guo
  2017-06-14 14:47     ` Jagan Teki
  0 siblings, 1 reply; 20+ messages in thread
From: Shawn Guo @ 2017-04-07 13:16 UTC (permalink / raw)
  To: Jagan Teki
  Cc: linux-arm-kernel, devicetree, linux-kernel, Sascha Hauer,
	Fabio Estevam, Matteo Lisi, Michael Trimarchi, Jagan Teki

On Thu, Apr 06, 2017 at 11:32:07PM +0530, Jagan Teki wrote:
> From: Jagan Teki <jagan@amarulasolutions.com>
> 
> Add support for Sound card and related codec(via i2c1) nodes
> on Engicam Is.IoT MX6UL variant module boards.
> 
> Cc: Shawn Guo <shawnguo@kernel.org>
> Cc: Matteo Lisi <matteo.lisi@engicam.com>
> Cc: Michael Trimarchi <michael@amarulasolutions.com>
> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
> ---
> Changes for v3:
> - Replace fsl,imx-audio-sgtl5000 and use simple-audio-card
> Changes for v2:
> - Use proper [label:] node-name[@unit-address] for codec
> - Remove incorrect codec property 'wlf,shared-lrclk'
> - Remove 'gpr' from sound card node
> 
>  arch/arm/boot/dts/imx6ul-isiot-common.dtsi | 10 +++++++
>  arch/arm/boot/dts/imx6ul-isiot.dtsi        | 44 ++++++++++++++++++++++++++++++

Can you help me understand how these two files are related?  Why is
sgtl5000 added into one and sound node added into the other?

Shawn

>  2 files changed, 54 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/imx6ul-isiot-common.dtsi b/arch/arm/boot/dts/imx6ul-isiot-common.dtsi
> index 2beaab6..d456080 100644
> --- a/arch/arm/boot/dts/imx6ul-isiot-common.dtsi
> +++ b/arch/arm/boot/dts/imx6ul-isiot-common.dtsi
> @@ -41,6 +41,16 @@
>   */
>  
>  &i2c1 {
> +	sgtl5000: codec@a {
> +		compatible = "fsl,sgtl5000";
> +		reg = <0x0a>;
> +		clocks = <&clks IMX6UL_CLK_OSC>;
> +		clock-names = "mclk";
> +		VDDA-supply = <&reg_3p3v>;
> +		VDDIO-supply = <&reg_3p3v>;
> +		VDDD-supply = <&reg_1p8v>;
> +	};
> +
>  	stmpe811: gpio-expander@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..7e947e5 100644
> --- a/arch/arm/boot/dts/imx6ul-isiot.dtsi
> +++ b/arch/arm/boot/dts/imx6ul-isiot.dtsi
> @@ -69,6 +69,50 @@
>  				    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 = "simple-audio-card";
> +		simple-audio-card,name = "imx6ul-isiot-sgtl5000";
> +		simple-audio-card,format = "i2s";
> +		simple-audio-card,bitclock-master = <&dailink_master>;
> +		simple-audio-card,frame-master = <&dailink_master>;
> +		simple-audio-card,widgets =
> +			"Microphone", "Mic Jack",
> +			"Line", "Line In",
> +			"Line", "Line Out",
> +			"Headphone", "Headphone Jack";
> +		simple-audio-card,routing =
> +			"MIC_IN", "Mic Jack",
> +			"Mic Jack", "Mic Bias",
> +			"Headphone Jack", "HP_OUT";
> +
> +		simple-audio-card,cpu {
> +			sound-dai = <&sai2>;
> +		};
> +
> +		dailink_master: simple-audio-card,codec {
> +			sound-dai = <&sgtl5000>;
> +			clocks = <&clks IMX6UL_CLK_SAI2>;
> +		};
> +	};
>  };
>  
>  &i2c1 {
> -- 
> 1.9.1
> 

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH v3 2/9] ARM: dts: imx6ul-geam: Add Sound card with codec node
  2017-04-06 18:02 ` [PATCH v3 2/9] ARM: dts: imx6ul-geam: " Jagan Teki
@ 2017-04-07 13:19   ` Shawn Guo
  0 siblings, 0 replies; 20+ messages in thread
From: Shawn Guo @ 2017-04-07 13:19 UTC (permalink / raw)
  To: Jagan Teki
  Cc: linux-arm-kernel, devicetree, linux-kernel, Sascha Hauer,
	Fabio Estevam, Matteo Lisi, Michael Trimarchi, Jagan Teki

On Thu, Apr 06, 2017 at 11:32:08PM +0530, Jagan Teki wrote:
> From: Jagan Teki <jagan@amarulasolutions.com>
> 
> Add support for Sound card and related codec(via i2c1) nodes
> on Engicam GEAM6UL variant module boards.
> 
> Cc: Shawn Guo <shawnguo@kernel.org>
> Cc: Matteo Lisi <matteo.lisi@engicam.com>
> Cc: Michael Trimarchi <michael@amarulasolutions.com>
> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
> ---
> Changes for v3:
> - Replace fsl,imx-audio-sgtl5000 and use simple-audio-card
> Changes for v2:
> - Use proper [label:] node-name[@unit-address] for codec
> - Remove incorrect codec property 'wlf,shared-lrclk'
> - Remove 'gpr' from sound card node
> 
>  arch/arm/boot/dts/imx6ul-geam-kit.dts | 12 ++++++++++++
>  arch/arm/boot/dts/imx6ul-geam.dtsi    | 26 ++++++++++++++++++++++++++

Same question here: why is sgtl5000 added to imx6ul-geam-kit.dts, while
sound code that references to sgtl5000 is added to imx6ul-geam.dtsi?

Shawn

>  2 files changed, 38 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/imx6ul-geam-kit.dts b/arch/arm/boot/dts/imx6ul-geam-kit.dts
> index 142e60c..02edcba 100644
> --- a/arch/arm/boot/dts/imx6ul-geam-kit.dts
> +++ b/arch/arm/boot/dts/imx6ul-geam-kit.dts
> @@ -58,6 +58,18 @@
>  	status = "okay";
>  };
>  
> +&i2c1 {
> +	sgtl5000: codec@a {
> +		compatible = "fsl,sgtl5000";
> +		reg = <0x0a>;
> +		clocks = <&clks IMX6UL_CLK_OSC>;
> +		clock-names = "mclk";
> +		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..3bc3238 100644
> --- a/arch/arm/boot/dts/imx6ul-geam.dtsi
> +++ b/arch/arm/boot/dts/imx6ul-geam.dtsi
> @@ -87,6 +87,32 @@
>  		regulator-always-on;
>  		regulator-boot-on;
>  	};
> +
> +	sound {
> +		compatible = "simple-audio-card";
> +		simple-audio-card,name = "imx6ul-geam-sgtl5000";
> +		simple-audio-card,format = "i2s";
> +		simple-audio-card,bitclock-master = <&dailink_master>;
> +		simple-audio-card,frame-master = <&dailink_master>;
> +		simple-audio-card,widgets =
> +			"Microphone", "Mic Jack",
> +			"Line", "Line In",
> +			"Line", "Line Out",
> +			"Headphone", "Headphone Jack";
> +		simple-audio-card,routing =
> +			"MIC_IN", "Mic Jack",
> +			"Mic Jack", "Mic Bias",
> +			"Headphone Jack", "HP_OUT";
> +
> +		simple-audio-card,cpu {
> +			sound-dai = <&sai2>;
> +		};
> +
> +		dailink_master: simple-audio-card,codec {
> +			sound-dai = <&sgtl5000>;
> +			clocks = <&clks IMX6UL_CLK_SAI2>;
> +		};
> +	};
>  };
>  
>  &can1 {
> -- 
> 1.9.1
> 

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH v3 3/9] ARM: dts: imx6qdl-icore: Add Sound card with codec node
  2017-04-06 18:02 ` [PATCH v3 3/9] ARM: dts: imx6qdl-icore: " Jagan Teki
@ 2017-04-07 13:23   ` Shawn Guo
  0 siblings, 0 replies; 20+ messages in thread
From: Shawn Guo @ 2017-04-07 13:23 UTC (permalink / raw)
  To: Jagan Teki
  Cc: linux-arm-kernel, devicetree, linux-kernel, Sascha Hauer,
	Fabio Estevam, Matteo Lisi, Michael Trimarchi, Jagan Teki

On Thu, Apr 06, 2017 at 11:32:09PM +0530, Jagan Teki wrote:
> From: Jagan Teki <jagan@amarulasolutions.com>
> 
> 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 <shawnguo@kernel.org>
> Cc: Matteo Lisi <matteo.lisi@engicam.com>
> Cc: Michael Trimarchi <michael@amarulasolutions.com>
> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
> ---
> Changes for v3:
> - Replace fsl,imx-audio-sgtl5000 and use simple-audio-card
> Changes for v2:
> - Use proper [label:] node-name[@unit-address] for codec
> 
>  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      | 48 +++++++++++++++++++++++++++++++

Why cannot you just add sgtl5000 node into dtsi rather than keeping the
same copy for 4 dts files?

Shawn

>  5 files changed, 92 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/imx6dl-icore.dts b/arch/arm/boot/dts/imx6dl-icore.dts
> index 6de83c7..0562ce4 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 {
> +	sgtl5000: codec@a {
> +		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..f63b87f 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 {
> +	sgtl5000: codec@a {
> +		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..68ca828 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 {
> +	sgtl5000: codec@a {
> +		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 5613dd9..1ae7294 100644
> --- a/arch/arm/boot/dts/imx6q-icore.dts
> +++ b/arch/arm/boot/dts/imx6q-icore.dts
> @@ -67,6 +67,17 @@
>  	};
>  };
>  
> +&i2c3 {
> +	sgtl5000: codec@a {
> +		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..1bd7cdb 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,31 @@
>  		#clock-cells = <0>;
>  		clock-frequency = <25000000>;  /* 25MHz for example */
>  	};
> +
> +	sound {
> +		compatible = "simple-audio-card";
> +		simple-audio-card,name = "imx6qdl-icore-sgtl5000";
> +		simple-audio-card,format = "i2s";
> +		simple-audio-card,bitclock-master = <&dailink_master>;
> +		simple-audio-card,frame-master = <&dailink_master>;
> +		simple-audio-card,widgets =
> +			"Microphone", "Mic Jack",
> +			"Line", "Line In",
> +			"Line", "Line Out",
> +			"Headphone", "Headphone Jack";
> +		simple-audio-card,routing =
> +			"MIC_IN", "Mic Jack",
> +			"Mic Jack", "Mic Bias",
> +			"Headphone Jack", "HP_OUT";
> +
> +		simple-audio-card,cpu {
> +			sound-dai = <&ssi1>;
> +		};
> +
> +		dailink_master: simple-audio-card,codec {
> +			sound-dai = <&sgtl5000>;
> +		};
> +	};
>  };
>  
>  &can1 {
> @@ -149,6 +193,10 @@
>  	status = "okay";
>  };
>  
> +&ssi1 {
> +	status = "okay";
> +};
> +
>  &uart4 {
>  	pinctrl-names = "default";
>  	pinctrl-0 = <&pinctrl_uart4>;
> -- 
> 1.9.1
> 

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH v3 1/9] ARM: dts: imx6ul-isiot: Add Sound card with codec node
  2017-04-07 13:16   ` Shawn Guo
@ 2017-06-14 14:47     ` Jagan Teki
  2017-06-15  2:20       ` Shawn Guo
  0 siblings, 1 reply; 20+ messages in thread
From: Jagan Teki @ 2017-06-14 14:47 UTC (permalink / raw)
  To: Shawn Guo
  Cc: Jagan Teki, linux-arm-kernel, devicetree, linux-kernel,
	Sascha Hauer, Fabio Estevam, Matteo Lisi, Michael Trimarchi

On Fri, Apr 7, 2017 at 6:46 PM, Shawn Guo <shawnguo@kernel.org> wrote:
> On Thu, Apr 06, 2017 at 11:32:07PM +0530, Jagan Teki wrote:
>> From: Jagan Teki <jagan@amarulasolutions.com>
>>
>> Add support for Sound card and related codec(via i2c1) nodes
>> on Engicam Is.IoT MX6UL variant module boards.
>>
>> Cc: Shawn Guo <shawnguo@kernel.org>
>> Cc: Matteo Lisi <matteo.lisi@engicam.com>
>> Cc: Michael Trimarchi <michael@amarulasolutions.com>
>> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
>> ---
>> Changes for v3:
>> - Replace fsl,imx-audio-sgtl5000 and use simple-audio-card
>> Changes for v2:
>> - Use proper [label:] node-name[@unit-address] for codec
>> - Remove incorrect codec property 'wlf,shared-lrclk'
>> - Remove 'gpr' from sound card node
>>
>>  arch/arm/boot/dts/imx6ul-isiot-common.dtsi | 10 +++++++
>>  arch/arm/boot/dts/imx6ul-isiot.dtsi        | 44 ++++++++++++++++++++++++++++++
>
> Can you help me understand how these two files are related?  Why is
> sgtl5000 added into one and sound node added into the other?

lcdif, ts and sound card which may differ based on the base-board
connected with SOM, So I moved these stuff which are related to
Starter kit supported once's and used with SOM dts files. if some
other board with same SOM can have different lcdif and etc so they can
define locally to dts.

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

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH v3 1/9] ARM: dts: imx6ul-isiot: Add Sound card with codec node
  2017-06-14 14:47     ` Jagan Teki
@ 2017-06-15  2:20       ` Shawn Guo
  2017-06-15  4:51         ` Jagan Teki
  0 siblings, 1 reply; 20+ messages in thread
From: Shawn Guo @ 2017-06-15  2:20 UTC (permalink / raw)
  To: Jagan Teki
  Cc: Jagan Teki, linux-arm-kernel, devicetree, linux-kernel,
	Sascha Hauer, Fabio Estevam, Matteo Lisi, Michael Trimarchi

On Wed, Jun 14, 2017 at 08:17:04PM +0530, Jagan Teki wrote:
> On Fri, Apr 7, 2017 at 6:46 PM, Shawn Guo <shawnguo@kernel.org> wrote:
> > On Thu, Apr 06, 2017 at 11:32:07PM +0530, Jagan Teki wrote:
> >> From: Jagan Teki <jagan@amarulasolutions.com>
> >>
> >> Add support for Sound card and related codec(via i2c1) nodes
> >> on Engicam Is.IoT MX6UL variant module boards.
> >>
> >> Cc: Shawn Guo <shawnguo@kernel.org>
> >> Cc: Matteo Lisi <matteo.lisi@engicam.com>
> >> Cc: Michael Trimarchi <michael@amarulasolutions.com>
> >> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
> >> ---
> >> Changes for v3:
> >> - Replace fsl,imx-audio-sgtl5000 and use simple-audio-card
> >> Changes for v2:
> >> - Use proper [label:] node-name[@unit-address] for codec
> >> - Remove incorrect codec property 'wlf,shared-lrclk'
> >> - Remove 'gpr' from sound card node
> >>
> >>  arch/arm/boot/dts/imx6ul-isiot-common.dtsi | 10 +++++++
> >>  arch/arm/boot/dts/imx6ul-isiot.dtsi        | 44 ++++++++++++++++++++++++++++++
> >
> > Can you help me understand how these two files are related?  Why is
> > sgtl5000 added into one and sound node added into the other?
> 
> lcdif, ts and sound card which may differ based on the base-board
> connected with SOM, So I moved these stuff which are related to
> Starter kit supported once's and used with SOM dts files. if some
> other board with same SOM can have different lcdif and etc so they can
> define locally to dts.

I do not follow how these stuff are organized.  So far we have the
following isiot dts files.

 - imx6ul-isiot-common.dtsi
 - imx6ul-isiot.dtsi
 - imx6ul-isiot-emmc.dts and imx6ul-isiot-nand.dts

How are they mapping to SoM and base-board?

Shawn

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH v3 1/9] ARM: dts: imx6ul-isiot: Add Sound card with codec node
  2017-06-15  2:20       ` Shawn Guo
@ 2017-06-15  4:51         ` Jagan Teki
  2017-06-15  7:15           ` Shawn Guo
  0 siblings, 1 reply; 20+ messages in thread
From: Jagan Teki @ 2017-06-15  4:51 UTC (permalink / raw)
  To: Shawn Guo
  Cc: Jagan Teki, linux-arm-kernel, devicetree, linux-kernel,
	Sascha Hauer, Fabio Estevam, Matteo Lisi, Michael Trimarchi

On Thu, Jun 15, 2017 at 7:50 AM, Shawn Guo <shawnguo@kernel.org> wrote:
> On Wed, Jun 14, 2017 at 08:17:04PM +0530, Jagan Teki wrote:
>> On Fri, Apr 7, 2017 at 6:46 PM, Shawn Guo <shawnguo@kernel.org> wrote:
>> > On Thu, Apr 06, 2017 at 11:32:07PM +0530, Jagan Teki wrote:
>> >> From: Jagan Teki <jagan@amarulasolutions.com>
>> >>
>> >> Add support for Sound card and related codec(via i2c1) nodes
>> >> on Engicam Is.IoT MX6UL variant module boards.
>> >>
>> >> Cc: Shawn Guo <shawnguo@kernel.org>
>> >> Cc: Matteo Lisi <matteo.lisi@engicam.com>
>> >> Cc: Michael Trimarchi <michael@amarulasolutions.com>
>> >> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
>> >> ---
>> >> Changes for v3:
>> >> - Replace fsl,imx-audio-sgtl5000 and use simple-audio-card
>> >> Changes for v2:
>> >> - Use proper [label:] node-name[@unit-address] for codec
>> >> - Remove incorrect codec property 'wlf,shared-lrclk'
>> >> - Remove 'gpr' from sound card node
>> >>
>> >>  arch/arm/boot/dts/imx6ul-isiot-common.dtsi | 10 +++++++
>> >>  arch/arm/boot/dts/imx6ul-isiot.dtsi        | 44 ++++++++++++++++++++++++++++++
>> >
>> > Can you help me understand how these two files are related?  Why is
>> > sgtl5000 added into one and sound node added into the other?
>>
>> lcdif, ts and sound card which may differ based on the base-board
>> connected with SOM, So I moved these stuff which are related to
>> Starter kit supported once's and used with SOM dts files. if some
>> other board with same SOM can have different lcdif and etc so they can
>> define locally to dts.
>
> I do not follow how these stuff are organized.  So far we have the
> following isiot dts files.
>
>  - imx6ul-isiot-common.dtsi
>  - imx6ul-isiot.dtsi
>  - imx6ul-isiot-emmc.dts and imx6ul-isiot-nand.dts
>
> How are they mapping to SoM and base-board?

isiot is a modules class, with that emmc and nand are two separate
SOM's. the current support is for mounting these SOM's on Development
base board[1]. So, for isiot module class we have imx6ul-isiot.dtsi
and emmc and nand SOM's have imx6ul-isiot-emmc.dts and
imx6ul-isiot-nand.dts. There are some Carrier boards[1] which were
used with different lcdif and other changes, So
imx6ul-isiot-common.dtsi have changes common across emmc and nand,
instead of adding them into individual dts files I moved in
-common.dtsi.  So in future if isiot SOM mounted on carrier board
which should have a separate dts and which may or may not use
imx6ul-isiot-common.dtsi

[1] https://www.engicam.com/vis-prod/101142
[2] https://www.engicam.com/vis-prod/101128

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

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH v3 1/9] ARM: dts: imx6ul-isiot: Add Sound card with codec node
  2017-06-15  4:51         ` Jagan Teki
@ 2017-06-15  7:15           ` Shawn Guo
  2017-06-15  7:31             ` Jagan Teki
  0 siblings, 1 reply; 20+ messages in thread
From: Shawn Guo @ 2017-06-15  7:15 UTC (permalink / raw)
  To: Jagan Teki
  Cc: Jagan Teki, linux-arm-kernel, devicetree, linux-kernel,
	Sascha Hauer, Fabio Estevam, Matteo Lisi, Michael Trimarchi

On Thu, Jun 15, 2017 at 10:21:43AM +0530, Jagan Teki wrote:
> On Thu, Jun 15, 2017 at 7:50 AM, Shawn Guo <shawnguo@kernel.org> wrote:
> > On Wed, Jun 14, 2017 at 08:17:04PM +0530, Jagan Teki wrote:
> >> On Fri, Apr 7, 2017 at 6:46 PM, Shawn Guo <shawnguo@kernel.org> wrote:
> >> > On Thu, Apr 06, 2017 at 11:32:07PM +0530, Jagan Teki wrote:
> >> >> From: Jagan Teki <jagan@amarulasolutions.com>
> >> >>
> >> >> Add support for Sound card and related codec(via i2c1) nodes
> >> >> on Engicam Is.IoT MX6UL variant module boards.
> >> >>
> >> >> Cc: Shawn Guo <shawnguo@kernel.org>
> >> >> Cc: Matteo Lisi <matteo.lisi@engicam.com>
> >> >> Cc: Michael Trimarchi <michael@amarulasolutions.com>
> >> >> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
> >> >> ---
> >> >> Changes for v3:
> >> >> - Replace fsl,imx-audio-sgtl5000 and use simple-audio-card
> >> >> Changes for v2:
> >> >> - Use proper [label:] node-name[@unit-address] for codec
> >> >> - Remove incorrect codec property 'wlf,shared-lrclk'
> >> >> - Remove 'gpr' from sound card node
> >> >>
> >> >>  arch/arm/boot/dts/imx6ul-isiot-common.dtsi | 10 +++++++
> >> >>  arch/arm/boot/dts/imx6ul-isiot.dtsi        | 44 ++++++++++++++++++++++++++++++
> >> >
> >> > Can you help me understand how these two files are related?  Why is
> >> > sgtl5000 added into one and sound node added into the other?
> >>
> >> lcdif, ts and sound card which may differ based on the base-board
> >> connected with SOM, So I moved these stuff which are related to
> >> Starter kit supported once's and used with SOM dts files. if some
> >> other board with same SOM can have different lcdif and etc so they can
> >> define locally to dts.
> >
> > I do not follow how these stuff are organized.  So far we have the
> > following isiot dts files.
> >
> >  - imx6ul-isiot-common.dtsi
> >  - imx6ul-isiot.dtsi
> >  - imx6ul-isiot-emmc.dts and imx6ul-isiot-nand.dts
> >
> > How are they mapping to SoM and base-board?
> 
> isiot is a modules class, with that emmc and nand are two separate
> SOM's. the current support is for mounting these SOM's on Development
> base board[1]. So, for isiot module class we have imx6ul-isiot.dtsi
> and emmc and nand SOM's have imx6ul-isiot-emmc.dts and
> imx6ul-isiot-nand.dts. There are some Carrier boards[1] which were
> used with different lcdif and other changes, So
> imx6ul-isiot-common.dtsi have changes common across emmc and nand,
> instead of adding them into individual dts files I moved in
> -common.dtsi.  So in future if isiot SOM mounted on carrier board
> which should have a separate dts and which may or may not use
> imx6ul-isiot-common.dtsi

So you are not sure if imx6ul-isiot-common.dtsi will be used by carrier
board.  Then what's the point to have it now?

You are saying imx6ul-isiot-common.dtsi is created to accommodate the
common things across emmc and nand SoMs, but it actually contains LCD
and Touch such base-board level of stuff.  Confusing.

I feel the abstraction is wrong from the beginning.  Ideally, we should
have something like below.

 - imx6ul-isiot.dtsi
 - imx6ul-isiot-kit.dts and imx6ul-isiot-carrier.dts

The -isiot should have everything on SoM and common stuff between -kit
and -carrier boards, while -kit and -carrier include -isiot and contains
the base-board specific things.  The -isiot can have both emmc and nand
devices with "disabled" status, and let firmware turn device on per SoM
it boots.  In that case, the abstraction level can be less and clearer.

Thoughts?

Shawn

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH v3 1/9] ARM: dts: imx6ul-isiot: Add Sound card with codec node
  2017-06-15  7:15           ` Shawn Guo
@ 2017-06-15  7:31             ` Jagan Teki
  2017-06-15  7:51               ` Shawn Guo
  0 siblings, 1 reply; 20+ messages in thread
From: Jagan Teki @ 2017-06-15  7:31 UTC (permalink / raw)
  To: Shawn Guo
  Cc: Jagan Teki, linux-arm-kernel, devicetree, linux-kernel,
	Sascha Hauer, Fabio Estevam, Matteo Lisi, Michael Trimarchi

Hi Shawn,

On Thu, Jun 15, 2017 at 12:45 PM, Shawn Guo <shawnguo@kernel.org> wrote:
> On Thu, Jun 15, 2017 at 10:21:43AM +0530, Jagan Teki wrote:
>> On Thu, Jun 15, 2017 at 7:50 AM, Shawn Guo <shawnguo@kernel.org> wrote:
>> > On Wed, Jun 14, 2017 at 08:17:04PM +0530, Jagan Teki wrote:
>> >> On Fri, Apr 7, 2017 at 6:46 PM, Shawn Guo <shawnguo@kernel.org> wrote:
>> >> > On Thu, Apr 06, 2017 at 11:32:07PM +0530, Jagan Teki wrote:
>> >> >> From: Jagan Teki <jagan@amarulasolutions.com>
>> >> >>
>> >> >> Add support for Sound card and related codec(via i2c1) nodes
>> >> >> on Engicam Is.IoT MX6UL variant module boards.
>> >> >>
>> >> >> Cc: Shawn Guo <shawnguo@kernel.org>
>> >> >> Cc: Matteo Lisi <matteo.lisi@engicam.com>
>> >> >> Cc: Michael Trimarchi <michael@amarulasolutions.com>
>> >> >> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
>> >> >> ---
>> >> >> Changes for v3:
>> >> >> - Replace fsl,imx-audio-sgtl5000 and use simple-audio-card
>> >> >> Changes for v2:
>> >> >> - Use proper [label:] node-name[@unit-address] for codec
>> >> >> - Remove incorrect codec property 'wlf,shared-lrclk'
>> >> >> - Remove 'gpr' from sound card node
>> >> >>
>> >> >>  arch/arm/boot/dts/imx6ul-isiot-common.dtsi | 10 +++++++
>> >> >>  arch/arm/boot/dts/imx6ul-isiot.dtsi        | 44 ++++++++++++++++++++++++++++++
>> >> >
>> >> > Can you help me understand how these two files are related?  Why is
>> >> > sgtl5000 added into one and sound node added into the other?
>> >>
>> >> lcdif, ts and sound card which may differ based on the base-board
>> >> connected with SOM, So I moved these stuff which are related to
>> >> Starter kit supported once's and used with SOM dts files. if some
>> >> other board with same SOM can have different lcdif and etc so they can
>> >> define locally to dts.
>> >
>> > I do not follow how these stuff are organized.  So far we have the
>> > following isiot dts files.
>> >
>> >  - imx6ul-isiot-common.dtsi
>> >  - imx6ul-isiot.dtsi
>> >  - imx6ul-isiot-emmc.dts and imx6ul-isiot-nand.dts
>> >
>> > How are they mapping to SoM and base-board?
>>
>> isiot is a modules class, with that emmc and nand are two separate
>> SOM's. the current support is for mounting these SOM's on Development
>> base board[1]. So, for isiot module class we have imx6ul-isiot.dtsi
>> and emmc and nand SOM's have imx6ul-isiot-emmc.dts and
>> imx6ul-isiot-nand.dts. There are some Carrier boards[1] which were
>> used with different lcdif and other changes, So
>> imx6ul-isiot-common.dtsi have changes common across emmc and nand,
>> instead of adding them into individual dts files I moved in
>> -common.dtsi.  So in future if isiot SOM mounted on carrier board
>> which should have a separate dts and which may or may not use
>> imx6ul-isiot-common.dtsi
>
> So you are not sure if imx6ul-isiot-common.dtsi will be used by carrier
> board.  Then what's the point to have it now?
>
> You are saying imx6ul-isiot-common.dtsi is created to accommodate the
> common things across emmc and nand SoMs, but it actually contains LCD
> and Touch such base-board level of stuff.  Confusing.
>
> I feel the abstraction is wrong from the beginning.  Ideally, we should
> have something like below.
>
>  - imx6ul-isiot.dtsi
>  - imx6ul-isiot-kit.dts and imx6ul-isiot-carrier.dts
>
> The -isiot should have everything on SoM and common stuff between -kit
> and -carrier boards, while -kit and -carrier include -isiot and contains
> the base-board specific things.  The -isiot can have both emmc and nand
> devices with "disabled" status, and let firmware turn device on per SoM
> it boots.  In that case, the abstraction level can be less and clearer.
>
> Thoughts?

So,even the common stuff (lcdif, ts and etc) should be in -isiot.dtsi
and make it "disabled" and let them enabled on respective dts. this
what you mentioned here?

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

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH v3 1/9] ARM: dts: imx6ul-isiot: Add Sound card with codec node
  2017-06-15  7:31             ` Jagan Teki
@ 2017-06-15  7:51               ` Shawn Guo
  2017-06-15 13:15                 ` Jagan Teki
  0 siblings, 1 reply; 20+ messages in thread
From: Shawn Guo @ 2017-06-15  7:51 UTC (permalink / raw)
  To: Jagan Teki
  Cc: Jagan Teki, linux-arm-kernel, devicetree, linux-kernel,
	Sascha Hauer, Fabio Estevam, Matteo Lisi, Michael Trimarchi

On Thu, Jun 15, 2017 at 01:01:22PM +0530, Jagan Teki wrote:
> > I feel the abstraction is wrong from the beginning.  Ideally, we should
> > have something like below.
> >
> >  - imx6ul-isiot.dtsi
> >  - imx6ul-isiot-kit.dts and imx6ul-isiot-carrier.dts
> >
> > The -isiot should have everything on SoM and common stuff between -kit
> > and -carrier boards, while -kit and -carrier include -isiot and contains
> > the base-board specific things.  The -isiot can have both emmc and nand
> > devices with "disabled" status, and let firmware turn device on per SoM
> > it boots.  In that case, the abstraction level can be less and clearer.
> >
> > Thoughts?
> 
> So,even the common stuff (lcdif, ts and etc) should be in -isiot.dtsi

Yes, anything common can be in -isiot.dtsi.

> and make it "disabled" and let them enabled on respective dts. this
> what you mentioned here?

It doesn't matter.  If the lcd/touch is same on -kit and -carrier, you
can even have them enabled by default in -isiot.dtsi.  The -kit.dts and
-carrier.dts are there to accommodate base-board specific differences.

Shawn

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH v3 1/9] ARM: dts: imx6ul-isiot: Add Sound card with codec node
  2017-06-15  7:51               ` Shawn Guo
@ 2017-06-15 13:15                 ` Jagan Teki
  0 siblings, 0 replies; 20+ messages in thread
From: Jagan Teki @ 2017-06-15 13:15 UTC (permalink / raw)
  To: Shawn Guo
  Cc: Jagan Teki, linux-arm-kernel, devicetree, linux-kernel,
	Sascha Hauer, Fabio Estevam, Matteo Lisi, Michael Trimarchi

On Thu, Jun 15, 2017 at 1:21 PM, Shawn Guo <shawnguo@kernel.org> wrote:
> On Thu, Jun 15, 2017 at 01:01:22PM +0530, Jagan Teki wrote:
>> > I feel the abstraction is wrong from the beginning.  Ideally, we should
>> > have something like below.
>> >
>> >  - imx6ul-isiot.dtsi
>> >  - imx6ul-isiot-kit.dts and imx6ul-isiot-carrier.dts
>> >
>> > The -isiot should have everything on SoM and common stuff between -kit
>> > and -carrier boards, while -kit and -carrier include -isiot and contains
>> > the base-board specific things.  The -isiot can have both emmc and nand
>> > devices with "disabled" status, and let firmware turn device on per SoM
>> > it boots.  In that case, the abstraction level can be less and clearer.
>> >
>> > Thoughts?
>>
>> So,even the common stuff (lcdif, ts and etc) should be in -isiot.dtsi
>
> Yes, anything common can be in -isiot.dtsi.
>
>> and make it "disabled" and let them enabled on respective dts. this
>> what you mentioned here?
>
> It doesn't matter.  If the lcd/touch is same on -kit and -carrier, you
> can even have them enabled by default in -isiot.dtsi.  The -kit.dts and
> -carrier.dts are there to accommodate base-board specific differences.

OK, thanks for the help. I'll resolve and send v4 changes by breaking
this series for each respective modules.

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

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2017-06-15 13:15 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-04-06 18:02 [PATCH v3 0/9] ARM: dts: i.MX6: Add lcdif/sound nodes on Engicam SOMs Jagan Teki
2017-04-06 18:02 ` [PATCH v3 1/9] ARM: dts: imx6ul-isiot: Add Sound card with codec node Jagan Teki
2017-04-07 13:16   ` Shawn Guo
2017-06-14 14:47     ` Jagan Teki
2017-06-15  2:20       ` Shawn Guo
2017-06-15  4:51         ` Jagan Teki
2017-06-15  7:15           ` Shawn Guo
2017-06-15  7:31             ` Jagan Teki
2017-06-15  7:51               ` Shawn Guo
2017-06-15 13:15                 ` Jagan Teki
2017-04-06 18:02 ` [PATCH v3 2/9] ARM: dts: imx6ul-geam: " Jagan Teki
2017-04-07 13:19   ` Shawn Guo
2017-04-06 18:02 ` [PATCH v3 3/9] ARM: dts: imx6qdl-icore: " Jagan Teki
2017-04-07 13:23   ` Shawn Guo
2017-04-06 18:02 ` [PATCH v3 4/9] ARM: dts: imx6dl-icore-rqs: Add sgtl5000 " Jagan Teki
2017-04-06 18:02 ` [PATCH v3 5/9] ARM: dts: imx6qdl-icore-rqs: Replace to use simple-audio-card Jagan Teki
2017-04-06 18:02 ` [PATCH v3 6/9] ARM: dts: imx6dl-icore: Add LVDS support Jagan Teki
2017-04-06 18:02 ` [PATCH v3 7/9] ARM: dts: imx6dl-icore: Add touchscreen node Jagan Teki
2017-04-06 18:02 ` [PATCH v3 8/9] ARM: dts: imx6qdl-icore-rqs: Add CAN nodes Jagan Teki
2017-04-06 18:02 ` [PATCH v3 9/9] ARM: dts: imx6ul-isiot: Add FEC node support Jagan Teki

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).