linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/9] Update imx6qdl dts/dtsi to support WM8962
@ 2013-06-13 11:50 Nicolin Chen
  2013-06-13 11:50 ` [PATCH 1/9] ARM: clk-imx6qdl: Add clko1 configuration for imx6qdl-sabresd Nicolin Chen
                   ` (9 more replies)
  0 siblings, 10 replies; 17+ messages in thread
From: Nicolin Chen @ 2013-06-13 11:50 UTC (permalink / raw)
  To: linux-arm-kernel

*** This branch of patches add WM8962 support in imx6q/dl-sabresd dts.

Nicolin Chen (9):
  ARM: clk-imx6qdl: Add clko1 configuration for imx6qdl-sabresd
  ARM: dts: imx6qdl-sabresd: add clko1 iomux configuration
  ARM: dtsi: imx6q/imx6dl: Add a pinctrl for I2C1
  ARM: dtsi: imx6dl: Add a pinctrl for AUDMUX
  ARM: dtsi: imx6qdl-sabresd: add a fixed regulator for WM8962
  ARM: dtsi: imx6qdl-sabresd: Add WM8962 CODEC support
  ARM: dtsi: imx6qdl-sabresd: Enable SSI2 and AUDMUX
  ARM: dtsi: imx6qdl-sabresd: Enable WM8962 audio support
  ARM: imx_v6_v7_defconfig: Enable imx-wm8962 by default

 arch/arm/boot/dts/imx6dl-sabresd.dts   |    1 +
 arch/arm/boot/dts/imx6dl.dtsi          |   20 ++++++++++
 arch/arm/boot/dts/imx6q-sabresd.dts    |    1 +
 arch/arm/boot/dts/imx6q.dtsi           |    7 +++
 arch/arm/boot/dts/imx6qdl-sabresd.dtsi |   66 ++++++++++++++++++++++++++++++++
 arch/arm/configs/imx_v6_v7_defconfig   |    2 +
 arch/arm/mach-imx/clk-imx6q.c          |    2 +
 arch/arm/mach-imx/mach-imx6q.c         |   42 ++++++++++++++++++++
 8 files changed, 141 insertions(+), 0 deletions(-)

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

* [PATCH 1/9] ARM: clk-imx6qdl: Add clko1 configuration for imx6qdl-sabresd
  2013-06-13 11:50 [PATCH 0/9] Update imx6qdl dts/dtsi to support WM8962 Nicolin Chen
@ 2013-06-13 11:50 ` Nicolin Chen
  2013-06-13 11:50 ` [PATCH 2/9] ARM: dts: imx6qdl-sabresd: add clko1 iomux configuration Nicolin Chen
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 17+ messages in thread
From: Nicolin Chen @ 2013-06-13 11:50 UTC (permalink / raw)
  To: linux-arm-kernel

WM8962 needs 24MHz clock for its MCLK, so choose PLL4 as the parent of clko1.

Signed-off-by: Nicolin Chen <b42378@freescale.com>
---
 arch/arm/mach-imx/clk-imx6q.c  |    2 +
 arch/arm/mach-imx/mach-imx6q.c |   42 ++++++++++++++++++++++++++++++++++++++++
 2 files changed, 44 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-imx/clk-imx6q.c b/arch/arm/mach-imx/clk-imx6q.c
index 0a4a658..07fdb8c 100644
--- a/arch/arm/mach-imx/clk-imx6q.c
+++ b/arch/arm/mach-imx/clk-imx6q.c
@@ -550,6 +550,8 @@ static void __init imx6q_clocks_init(struct device_node *ccm_node)
 	clk_register_clkdev(clk[ahb], "ahb", NULL);
 	clk_register_clkdev(clk[cko1], "cko1", NULL);
 	clk_register_clkdev(clk[arm], NULL, "cpu0");
+	clk_register_clkdev(clk[pll4_post_div], "pll4_post_div", NULL);
+	clk_register_clkdev(clk[pll4_audio], "pll4_audio", NULL);
 
 	if (imx6q_revision() != IMX_CHIP_REVISION_1_0) {
 		clk_set_parent(clk[ldb_di0_sel], clk[pll5_video_div]);
diff --git a/arch/arm/mach-imx/mach-imx6q.c b/arch/arm/mach-imx/mach-imx6q.c
index 045e5e3..f596522 100644
--- a/arch/arm/mach-imx/mach-imx6q.c
+++ b/arch/arm/mach-imx/mach-imx6q.c
@@ -146,6 +146,45 @@ static void __init imx6q_sabrelite_init(void)
 	imx6q_sabrelite_cko1_setup();
 }
 
+static void __init imx6q_sabresd_cko1_setup(void)
+{
+	struct clk *cko1_sel, *pll4, *pll4_post, *cko1;
+	unsigned long rate;
+
+	cko1_sel = clk_get_sys(NULL, "cko1_sel");
+	pll4 = clk_get_sys(NULL, "pll4_audio");
+	pll4_post = clk_get_sys(NULL, "pll4_post_div");
+	cko1 = clk_get_sys(NULL, "cko1");
+	if (IS_ERR(cko1_sel) || IS_ERR(pll4)
+			|| IS_ERR(pll4_post) || IS_ERR(cko1)) {
+		pr_err("cko1 setup failed!\n");
+		goto put_clk;
+	}
+	/*
+	 * Setting pll4 at 768MHz (24MHz * 32)
+	 * So its child clock can get 24MHz easily
+	 */
+	clk_set_rate(pll4, 768000000);
+
+	clk_set_parent(cko1_sel, pll4_post);
+	rate = clk_round_rate(cko1, 24000000);
+	clk_set_rate(cko1, rate);
+put_clk:
+	if (!IS_ERR(cko1_sel))
+		clk_put(cko1_sel);
+	if (!IS_ERR(pll4_post))
+		clk_put(pll4_post);
+	if (!IS_ERR(pll4))
+		clk_put(pll4);
+	if (!IS_ERR(cko1))
+		clk_put(cko1);
+}
+
+static void __init imx6q_sabresd_init(void)
+{
+	imx6q_sabresd_cko1_setup();
+}
+
 static void __init imx6q_1588_init(void)
 {
 	struct regmap *gpr;
@@ -166,6 +205,9 @@ static void __init imx6q_init_machine(void)
 {
 	if (of_machine_is_compatible("fsl,imx6q-sabrelite"))
 		imx6q_sabrelite_init();
+	else if (of_machine_is_compatible("fsl,imx6q-sabresd") ||
+			of_machine_is_compatible("fsl,imx6dl-sabresd"))
+		imx6q_sabresd_init();
 
 	of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
 
-- 
1.7.1

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

* [PATCH 2/9] ARM: dts: imx6qdl-sabresd: add clko1 iomux configuration
  2013-06-13 11:50 [PATCH 0/9] Update imx6qdl dts/dtsi to support WM8962 Nicolin Chen
  2013-06-13 11:50 ` [PATCH 1/9] ARM: clk-imx6qdl: Add clko1 configuration for imx6qdl-sabresd Nicolin Chen
@ 2013-06-13 11:50 ` Nicolin Chen
  2013-06-13 11:50 ` [PATCH 3/9] ARM: dtsi: imx6q/imx6dl: Add a pinctrl for I2C1 Nicolin Chen
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 17+ messages in thread
From: Nicolin Chen @ 2013-06-13 11:50 UTC (permalink / raw)
  To: linux-arm-kernel

Setting GPIO_0 pad as clko1 clock output to provide MCLK for WM8962.

Signed-off-by: Nicolin Chen <b42378@freescale.com>
---
 arch/arm/boot/dts/imx6dl-sabresd.dts |    1 +
 arch/arm/boot/dts/imx6q-sabresd.dts  |    1 +
 2 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/arch/arm/boot/dts/imx6dl-sabresd.dts b/arch/arm/boot/dts/imx6dl-sabresd.dts
index 7efb05d..8989df2 100644
--- a/arch/arm/boot/dts/imx6dl-sabresd.dts
+++ b/arch/arm/boot/dts/imx6dl-sabresd.dts
@@ -29,6 +29,7 @@
 				MX6DL_PAD_NANDF_D1__GPIO2_IO01 0x80000000
 				MX6DL_PAD_NANDF_D2__GPIO2_IO02 0x80000000
 				MX6DL_PAD_NANDF_D3__GPIO2_IO03 0x80000000
+				MX6DL_PAD_GPIO_0__CCM_CLKO1    0x130b0
 			>;
 		};
 	};
diff --git a/arch/arm/boot/dts/imx6q-sabresd.dts b/arch/arm/boot/dts/imx6q-sabresd.dts
index 4420513..0038228 100644
--- a/arch/arm/boot/dts/imx6q-sabresd.dts
+++ b/arch/arm/boot/dts/imx6q-sabresd.dts
@@ -33,6 +33,7 @@
 				MX6Q_PAD_NANDF_D1__GPIO2_IO01 0x80000000
 				MX6Q_PAD_NANDF_D2__GPIO2_IO02 0x80000000
 				MX6Q_PAD_NANDF_D3__GPIO2_IO03 0x80000000
+				MX6Q_PAD_GPIO_0__CCM_CLKO1    0x130b0
 			>;
 		};
 	};
-- 
1.7.1

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

* [PATCH 3/9] ARM: dtsi: imx6q/imx6dl: Add a pinctrl for I2C1
  2013-06-13 11:50 [PATCH 0/9] Update imx6qdl dts/dtsi to support WM8962 Nicolin Chen
  2013-06-13 11:50 ` [PATCH 1/9] ARM: clk-imx6qdl: Add clko1 configuration for imx6qdl-sabresd Nicolin Chen
  2013-06-13 11:50 ` [PATCH 2/9] ARM: dts: imx6qdl-sabresd: add clko1 iomux configuration Nicolin Chen
@ 2013-06-13 11:50 ` Nicolin Chen
  2013-06-13 11:50 ` [PATCH 4/9] ARM: dtsi: imx6dl: Add a pinctrl for AUDMUX Nicolin Chen
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 17+ messages in thread
From: Nicolin Chen @ 2013-06-13 11:50 UTC (permalink / raw)
  To: linux-arm-kernel

Add a pinctrl for I2C1 used on imx6q/dl-sabresd.

Signed-off-by: Nicolin Chen <b42378@freescale.com>
---
 arch/arm/boot/dts/imx6dl.dtsi |    9 +++++++++
 arch/arm/boot/dts/imx6q.dtsi  |    7 +++++++
 2 files changed, 16 insertions(+), 0 deletions(-)

diff --git a/arch/arm/boot/dts/imx6dl.dtsi b/arch/arm/boot/dts/imx6dl.dtsi
index 2ecbcbc..06bd544 100644
--- a/arch/arm/boot/dts/imx6dl.dtsi
+++ b/arch/arm/boot/dts/imx6dl.dtsi
@@ -112,6 +112,15 @@
 					};
 				};
 
+				i2c1 {
+					pinctrl_i2c1_2: i2c1grp-2 {
+						fsl,pins = <
+							MX6DL_PAD_CSI0_DAT8__I2C1_SDA 0x4001b8b1
+							MX6DL_PAD_CSI0_DAT9__I2C1_SCL 0x4001b8b1
+						>;
+					};
+				};
+
 				uart1 {
 					pinctrl_uart1_1: uart1grp-1 {
 						fsl,pins = <
diff --git a/arch/arm/boot/dts/imx6q.dtsi b/arch/arm/boot/dts/imx6q.dtsi
index d79455d..734cb4c 100644
--- a/arch/arm/boot/dts/imx6q.dtsi
+++ b/arch/arm/boot/dts/imx6q.dtsi
@@ -190,6 +190,13 @@
 							MX6Q_PAD_EIM_D28__I2C1_SDA 0x4001b8b1
 						>;
 					};
+
+					pinctrl_i2c1_2: i2c1grp-2 {
+						fsl,pins = <
+							MX6Q_PAD_CSI0_DAT8__I2C1_SDA 0x4001b8b1
+							MX6Q_PAD_CSI0_DAT9__I2C1_SCL 0x4001b8b1
+						>;
+					};
 				};
 
 				i2c2 {
-- 
1.7.1

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

* [PATCH 4/9] ARM: dtsi: imx6dl: Add a pinctrl for AUDMUX
  2013-06-13 11:50 [PATCH 0/9] Update imx6qdl dts/dtsi to support WM8962 Nicolin Chen
                   ` (2 preceding siblings ...)
  2013-06-13 11:50 ` [PATCH 3/9] ARM: dtsi: imx6q/imx6dl: Add a pinctrl for I2C1 Nicolin Chen
@ 2013-06-13 11:50 ` Nicolin Chen
  2013-06-13 11:51 ` [PATCH 5/9] ARM: dtsi: imx6qdl-sabresd: add a fixed regulator for WM8962 Nicolin Chen
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 17+ messages in thread
From: Nicolin Chen @ 2013-06-13 11:50 UTC (permalink / raw)
  To: linux-arm-kernel

Add a pinctrl for AUDMUX used on imx6dl-sabresd.

Signed-off-by: Nicolin Chen <b42378@freescale.com>
---
 arch/arm/boot/dts/imx6dl.dtsi |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/arch/arm/boot/dts/imx6dl.dtsi b/arch/arm/boot/dts/imx6dl.dtsi
index 06bd544..023ac83 100644
--- a/arch/arm/boot/dts/imx6dl.dtsi
+++ b/arch/arm/boot/dts/imx6dl.dtsi
@@ -35,6 +35,17 @@
 				compatible = "fsl,imx6dl-iomuxc";
 				reg = <0x020e0000 0x4000>;
 
+				audmux {
+					pinctrl_audmux_2: audmux-2 {
+						fsl,pins = <
+							MX6DL_PAD_CSI0_DAT7__AUD3_RXD  0x80000000
+							MX6DL_PAD_CSI0_DAT4__AUD3_TXC  0x80000000
+							MX6DL_PAD_CSI0_DAT5__AUD3_TXD  0x80000000
+							MX6DL_PAD_CSI0_DAT6__AUD3_TXFS 0x80000000
+						>;
+					};
+				};
+
 				ecspi1 {
 					pinctrl_ecspi1_1: ecspi1grp-1 {
 						fsl,pins = <
-- 
1.7.1

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

* [PATCH 5/9] ARM: dtsi: imx6qdl-sabresd: add a fixed regulator for WM8962
  2013-06-13 11:50 [PATCH 0/9] Update imx6qdl dts/dtsi to support WM8962 Nicolin Chen
                   ` (3 preceding siblings ...)
  2013-06-13 11:50 ` [PATCH 4/9] ARM: dtsi: imx6dl: Add a pinctrl for AUDMUX Nicolin Chen
@ 2013-06-13 11:51 ` Nicolin Chen
  2013-06-14  6:17   ` Shawn Guo
  2013-06-13 11:51 ` [PATCH 6/9] ARM: dtsi: imx6qdl-sabresd: Add WM8962 CODEC support Nicolin Chen
                   ` (4 subsequent siblings)
  9 siblings, 1 reply; 17+ messages in thread
From: Nicolin Chen @ 2013-06-13 11:51 UTC (permalink / raw)
  To: linux-arm-kernel

On Sabre SD, system controls WM8962 power by pulling up/down GPIO_4_10,
so add a regulator controled by GPIO_4_10 for WM8962.

Signed-off-by: Nicolin Chen <b42378@freescale.com>
---
 arch/arm/boot/dts/imx6qdl-sabresd.dtsi |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi b/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
index e21f6a8..13af158 100644
--- a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
@@ -26,6 +26,13 @@
 			gpio = <&gpio3 22 0>;
 			enable-active-high;
 		};
+
+		reg_audio: 8962_supply {
+			compatible = "regulator-fixed";
+			regulator-name = "8962-SUPPLY";
+			gpio = <&gpio4 10 0>;
+			enable-active-high;
+		};
 	};
 
 	gpio-keys {
-- 
1.7.1

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

* [PATCH 6/9] ARM: dtsi: imx6qdl-sabresd: Add WM8962 CODEC support
  2013-06-13 11:50 [PATCH 0/9] Update imx6qdl dts/dtsi to support WM8962 Nicolin Chen
                   ` (4 preceding siblings ...)
  2013-06-13 11:51 ` [PATCH 5/9] ARM: dtsi: imx6qdl-sabresd: add a fixed regulator for WM8962 Nicolin Chen
@ 2013-06-13 11:51 ` Nicolin Chen
  2013-06-14  6:21   ` Shawn Guo
  2013-06-13 11:51 ` [PATCH 7/9] ARM: dtsi: imx6qdl-sabresd: Enable SSI2 and AUDMUX Nicolin Chen
                   ` (3 subsequent siblings)
  9 siblings, 1 reply; 17+ messages in thread
From: Nicolin Chen @ 2013-06-13 11:51 UTC (permalink / raw)
  To: linux-arm-kernel

Add WM8962 CODEC support and enable its parent I2C bus.

Signed-off-by: Nicolin Chen <b42378@freescale.com>
---
 arch/arm/boot/dts/imx6qdl-sabresd.dtsi |   29 +++++++++++++++++++++++++++++
 1 files changed, 29 insertions(+), 0 deletions(-)

diff --git a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi b/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
index 13af158..4ee2413 100644
--- a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
@@ -92,3 +92,32 @@
 	wp-gpios = <&gpio2 1 0>;
 	status = "okay";
 };
+
+&i2c1 {
+	status = "okay";
+	clock-frequency = <100000>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_i2c1_2>;
+
+	codec: wm8962 at 1a {
+		compatible = "wlf,wm8962";
+		reg = <0x1a>;
+		clocks = <&clks 169>;
+		DCVDD-supply = <&reg_audio>;	/* 1.8v */
+		DBVDD-supply = <&reg_audio>;	/* 1.8v */
+		AVDD-supply = <&reg_audio>;	/* 1.8v */
+		CPVDD-supply = <&reg_audio>;	/* 1.8v */
+		MICVDD-supply = <&reg_audio>;	/* 3.3v */
+		PLLVDD-supply = <&reg_audio>;	/* 1.8v */
+		SPKVDD1-supply = <&reg_audio>;	/* 4.2v */
+		SPKVDD2-supply = <&reg_audio>;	/* 4.2v */
+		gpio-cfg = <
+			0x0000 /* 0:Default */
+			0x0000 /* 1:Default */
+			0x0013 /* 2:FN_DMICCLK */
+			0x0000 /* 3:Default */
+			0x8014 /* 4:FN_DMICCDAT */
+			0x0000 /* 5:Default */
+		>;
+       };
+};
-- 
1.7.1

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

* [PATCH 7/9] ARM: dtsi: imx6qdl-sabresd: Enable SSI2 and AUDMUX
  2013-06-13 11:50 [PATCH 0/9] Update imx6qdl dts/dtsi to support WM8962 Nicolin Chen
                   ` (5 preceding siblings ...)
  2013-06-13 11:51 ` [PATCH 6/9] ARM: dtsi: imx6qdl-sabresd: Add WM8962 CODEC support Nicolin Chen
@ 2013-06-13 11:51 ` Nicolin Chen
  2013-06-14  6:24   ` Shawn Guo
  2013-06-13 11:51 ` [PATCH 8/9] ARM: dtsi: imx6qdl-sabresd: Enable WM8962 audio support Nicolin Chen
                   ` (2 subsequent siblings)
  9 siblings, 1 reply; 17+ messages in thread
From: Nicolin Chen @ 2013-06-13 11:51 UTC (permalink / raw)
  To: linux-arm-kernel

Enable SSI2 and its pin configuration in AUDMUX.

Signed-off-by: Nicolin Chen <b42378@freescale.com>
---
 arch/arm/boot/dts/imx6qdl-sabresd.dtsi |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi b/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
index 4ee2413..a76e37a 100644
--- a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
@@ -93,6 +93,17 @@
 	status = "okay";
 };
 
+&ssi2 {
+	status = "okay";
+	fsl,mode = "i2s-slave";
+};
+
+&audmux {
+	status = "okay";
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_audmux_2>;
+};
+
 &i2c1 {
 	status = "okay";
 	clock-frequency = <100000>;
-- 
1.7.1

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

* [PATCH 8/9] ARM: dtsi: imx6qdl-sabresd: Enable WM8962 audio support
  2013-06-13 11:50 [PATCH 0/9] Update imx6qdl dts/dtsi to support WM8962 Nicolin Chen
                   ` (6 preceding siblings ...)
  2013-06-13 11:51 ` [PATCH 7/9] ARM: dtsi: imx6qdl-sabresd: Enable SSI2 and AUDMUX Nicolin Chen
@ 2013-06-13 11:51 ` Nicolin Chen
  2013-06-13 11:51 ` [PATCH 9/9] ARM: imx_v6_v7_defconfig: Enable imx-wm8962 by default Nicolin Chen
  2013-06-14  6:14 ` [PATCH 0/9] Update imx6qdl dts/dtsi to support WM8962 Shawn Guo
  9 siblings, 0 replies; 17+ messages in thread
From: Nicolin Chen @ 2013-06-13 11:51 UTC (permalink / raw)
  To: linux-arm-kernel

Enable WM8962 ALSA machine driver via devicetree.

Signed-off-by: Nicolin Chen <b42378@freescale.com>
---
 arch/arm/boot/dts/imx6qdl-sabresd.dtsi |   19 +++++++++++++++++++
 1 files changed, 19 insertions(+), 0 deletions(-)

diff --git a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi b/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
index a76e37a..dc755c4 100644
--- a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
@@ -50,6 +50,25 @@
 			linux,code = <114>; /* KEY_VOLUMEDOWN */
 		};
 	};
+
+	sound {
+		compatible = "fsl,imx6q-sabresd-wm8962",
+			   "fsl,imx-audio-wm8962";
+		model = "wm8962-audio";
+		ssi-controller = <&ssi2>;
+		audio-codec = <&codec>;
+		audio-routing =
+			"Headphone Jack", "HPOUTL",
+			"Headphone Jack", "HPOUTR",
+			"Ext Spk", "SPKOUTL",
+			"Ext Spk", "SPKOUTR",
+			"MICBIAS", "AMIC",
+			"IN3R", "MICBIAS",
+			"DMIC", "MICBIAS",
+			"DMICDAT", "DMIC";
+		mux-int-port = <2>;
+		mux-ext-port = <3>;
+	};
 };
 
 &fec {
-- 
1.7.1

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

* [PATCH 9/9] ARM: imx_v6_v7_defconfig: Enable imx-wm8962 by default
  2013-06-13 11:50 [PATCH 0/9] Update imx6qdl dts/dtsi to support WM8962 Nicolin Chen
                   ` (7 preceding siblings ...)
  2013-06-13 11:51 ` [PATCH 8/9] ARM: dtsi: imx6qdl-sabresd: Enable WM8962 audio support Nicolin Chen
@ 2013-06-13 11:51 ` Nicolin Chen
  2013-06-14  6:14 ` [PATCH 0/9] Update imx6qdl dts/dtsi to support WM8962 Shawn Guo
  9 siblings, 0 replies; 17+ messages in thread
From: Nicolin Chen @ 2013-06-13 11:51 UTC (permalink / raw)
  To: linux-arm-kernel

Enable imx-wm8962 and PM_RUNTIME, essential for WM8962 CODEC driver.

Signed-off-by: Nicolin Chen <b42378@freescale.com>
---
 arch/arm/configs/imx_v6_v7_defconfig |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/arch/arm/configs/imx_v6_v7_defconfig b/arch/arm/configs/imx_v6_v7_defconfig
index ac3470c..b977314 100644
--- a/arch/arm/configs/imx_v6_v7_defconfig
+++ b/arch/arm/configs/imx_v6_v7_defconfig
@@ -48,6 +48,7 @@ CONFIG_CMDLINE="noinitrd console=ttymxc0,115200"
 CONFIG_VFP=y
 CONFIG_NEON=y
 CONFIG_BINFMT_MISC=m
+CONFIG_PM_RUNTIME=y
 CONFIG_PM_DEBUG=y
 CONFIG_PM_TEST_SUSPEND=y
 CONFIG_NET=y
@@ -183,6 +184,7 @@ CONFIG_SND_SOC=y
 CONFIG_SND_IMX_SOC=y
 CONFIG_SND_SOC_PHYCORE_AC97=y
 CONFIG_SND_SOC_EUKREA_TLV320=y
+CONFIG_SND_SOC_IMX_WM8962=y
 CONFIG_SND_SOC_IMX_SGTL5000=y
 CONFIG_SND_SOC_IMX_MC13783=y
 CONFIG_USB=y
-- 
1.7.1

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

* [PATCH 0/9] Update imx6qdl dts/dtsi to support WM8962
  2013-06-13 11:50 [PATCH 0/9] Update imx6qdl dts/dtsi to support WM8962 Nicolin Chen
                   ` (8 preceding siblings ...)
  2013-06-13 11:51 ` [PATCH 9/9] ARM: imx_v6_v7_defconfig: Enable imx-wm8962 by default Nicolin Chen
@ 2013-06-14  6:14 ` Shawn Guo
  9 siblings, 0 replies; 17+ messages in thread
From: Shawn Guo @ 2013-06-14  6:14 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Jun 13, 2013 at 07:50:55PM +0800, Nicolin Chen wrote:
> Nicolin Chen (9):
>   ARM: clk-imx6qdl: Add clko1 configuration for imx6qdl-sabresd
>   ARM: dts: imx6qdl-sabresd: add clko1 iomux configuration
>   ARM: dtsi: imx6q/imx6dl: Add a pinctrl for I2C1
>   ARM: dtsi: imx6dl: Add a pinctrl for AUDMUX
>   ARM: dtsi: imx6qdl-sabresd: add a fixed regulator for WM8962
>   ARM: dtsi: imx6qdl-sabresd: Add WM8962 CODEC support
>   ARM: dtsi: imx6qdl-sabresd: Enable SSI2 and AUDMUX
>   ARM: dtsi: imx6qdl-sabresd: Enable WM8962 audio support
>   ARM: imx_v6_v7_defconfig: Enable imx-wm8962 by default

All applied.  I made some small fix-ups and have a few comments, but
nothing so important.  Please see my replies to individual patches.

Shawn

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

* [PATCH 5/9] ARM: dtsi: imx6qdl-sabresd: add a fixed regulator for WM8962
  2013-06-13 11:51 ` [PATCH 5/9] ARM: dtsi: imx6qdl-sabresd: add a fixed regulator for WM8962 Nicolin Chen
@ 2013-06-14  6:17   ` Shawn Guo
  0 siblings, 0 replies; 17+ messages in thread
From: Shawn Guo @ 2013-06-14  6:17 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Jun 13, 2013 at 07:51:00PM +0800, Nicolin Chen wrote:
> On Sabre SD, system controls WM8962 power by pulling up/down GPIO_4_10,
> so add a regulator controled by GPIO_4_10 for WM8962.
> 
> Signed-off-by: Nicolin Chen <b42378@freescale.com>
> ---
>  arch/arm/boot/dts/imx6qdl-sabresd.dtsi |    7 +++++++
>  1 files changed, 7 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi b/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
> index e21f6a8..13af158 100644
> --- a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
> +++ b/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
> @@ -26,6 +26,13 @@
>  			gpio = <&gpio3 22 0>;
>  			enable-active-high;
>  		};
> +
> +		reg_audio: 8962_supply {

8962 does not looks like a good name.  I changed it to wm8962.

> +			compatible = "regulator-fixed";
> +			regulator-name = "8962-SUPPLY";

We generally use lowercases in device tree, so I changed it to
"wm8962-supply".

Shawn

> +			gpio = <&gpio4 10 0>;
> +			enable-active-high;
> +		};
>  	};
>  
>  	gpio-keys {
> -- 
> 1.7.1
> 
> 

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

* [PATCH 6/9] ARM: dtsi: imx6qdl-sabresd: Add WM8962 CODEC support
  2013-06-13 11:51 ` [PATCH 6/9] ARM: dtsi: imx6qdl-sabresd: Add WM8962 CODEC support Nicolin Chen
@ 2013-06-14  6:21   ` Shawn Guo
  2013-06-14  6:23     ` Nicolin Chen
  0 siblings, 1 reply; 17+ messages in thread
From: Shawn Guo @ 2013-06-14  6:21 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Jun 13, 2013 at 07:51:01PM +0800, Nicolin Chen wrote:
> Add WM8962 CODEC support and enable its parent I2C bus.
> 
> Signed-off-by: Nicolin Chen <b42378@freescale.com>
> ---
>  arch/arm/boot/dts/imx6qdl-sabresd.dtsi |   29 +++++++++++++++++++++++++++++
>  1 files changed, 29 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi b/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
> index 13af158..4ee2413 100644
> --- a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
> +++ b/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
> @@ -92,3 +92,32 @@
>  	wp-gpios = <&gpio2 1 0>;
>  	status = "okay";
>  };
> +
> +&i2c1 {

The node should be sorted in label name, so I moved it to right after
"&fec".

> +	status = "okay";

We generally have it as the last property of a node, so I moved
it to ...

> +	clock-frequency = <100000>;
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_i2c1_2>;

... here.

> +
> +	codec: wm8962 at 1a {
> +		compatible = "wlf,wm8962";
> +		reg = <0x1a>;
> +		clocks = <&clks 169>;
> +		DCVDD-supply = <&reg_audio>;	/* 1.8v */
> +		DBVDD-supply = <&reg_audio>;	/* 1.8v */
> +		AVDD-supply = <&reg_audio>;	/* 1.8v */
> +		CPVDD-supply = <&reg_audio>;	/* 1.8v */
> +		MICVDD-supply = <&reg_audio>;	/* 3.3v */
> +		PLLVDD-supply = <&reg_audio>;	/* 1.8v */
> +		SPKVDD1-supply = <&reg_audio>;	/* 4.2v */
> +		SPKVDD2-supply = <&reg_audio>;	/* 4.2v */

You comment these supplies with different voltages but they are actually
pointing to the same fixed regulator.

Shawn

> +		gpio-cfg = <
> +			0x0000 /* 0:Default */
> +			0x0000 /* 1:Default */
> +			0x0013 /* 2:FN_DMICCLK */
> +			0x0000 /* 3:Default */
> +			0x8014 /* 4:FN_DMICCDAT */
> +			0x0000 /* 5:Default */
> +		>;
> +       };
> +};
> -- 
> 1.7.1
> 
> 

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

* [PATCH 6/9] ARM: dtsi: imx6qdl-sabresd: Add WM8962 CODEC support
  2013-06-14  6:21   ` Shawn Guo
@ 2013-06-14  6:23     ` Nicolin Chen
  2013-06-14  6:41       ` Shawn Guo
  0 siblings, 1 reply; 17+ messages in thread
From: Nicolin Chen @ 2013-06-14  6:23 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, Jun 14, 2013 at 02:21:49PM +0800, Shawn Guo wrote:
> > +
> > +	codec: wm8962 at 1a {
> > +		compatible = "wlf,wm8962";
> > +		reg = <0x1a>;
> > +		clocks = <&clks 169>;
> > +		DCVDD-supply = <&reg_audio>;	/* 1.8v */
> > +		DBVDD-supply = <&reg_audio>;	/* 1.8v */
> > +		AVDD-supply = <&reg_audio>;	/* 1.8v */
> > +		CPVDD-supply = <&reg_audio>;	/* 1.8v */
> > +		MICVDD-supply = <&reg_audio>;	/* 3.3v */
> > +		PLLVDD-supply = <&reg_audio>;	/* 1.8v */
> > +		SPKVDD1-supply = <&reg_audio>;	/* 4.2v */
> > +		SPKVDD2-supply = <&reg_audio>;	/* 4.2v */
> 
> You comment these supplies with different voltages but they are actually
> pointing to the same fixed regulator.

That's because they are all controlled by one GPIO pin. But you are right
these comments might be confusing.

And I think I don't need to send a V2 any more right? Since I saw you said
you did the fix-up for me.

Thank You
Nicolin Chen

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

* [PATCH 7/9] ARM: dtsi: imx6qdl-sabresd: Enable SSI2 and AUDMUX
  2013-06-13 11:51 ` [PATCH 7/9] ARM: dtsi: imx6qdl-sabresd: Enable SSI2 and AUDMUX Nicolin Chen
@ 2013-06-14  6:24   ` Shawn Guo
  0 siblings, 0 replies; 17+ messages in thread
From: Shawn Guo @ 2013-06-14  6:24 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, Jun 13, 2013 at 07:51:02PM +0800, Nicolin Chen wrote:
> Enable SSI2 and its pin configuration in AUDMUX.
> 
> Signed-off-by: Nicolin Chen <b42378@freescale.com>
> ---
>  arch/arm/boot/dts/imx6qdl-sabresd.dtsi |   11 +++++++++++
>  1 files changed, 11 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi b/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
> index 4ee2413..a76e37a 100644
> --- a/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
> +++ b/arch/arm/boot/dts/imx6qdl-sabresd.dtsi
> @@ -93,6 +93,17 @@
>  	status = "okay";
>  };
>  
> +&ssi2 {
> +	status = "okay";
> +	fsl,mode = "i2s-slave";
> +};
> +
> +&audmux {
> +	status = "okay";
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&pinctrl_audmux_2>;
> +};
> +

I moved these two nodes around to have them properly sorted, and also
move "status" to be the last property.

Shawn

>  &i2c1 {
>  	status = "okay";
>  	clock-frequency = <100000>;
> -- 
> 1.7.1
> 
> 

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

* [PATCH 6/9] ARM: dtsi: imx6qdl-sabresd: Add WM8962 CODEC support
  2013-06-14  6:41       ` Shawn Guo
@ 2013-06-14  6:34         ` Nicolin Chen
  0 siblings, 0 replies; 17+ messages in thread
From: Nicolin Chen @ 2013-06-14  6:34 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, Jun 14, 2013 at 02:41:47PM +0800, Shawn Guo wrote:
> > That's because they are all controlled by one GPIO pin. But you are right
> > these comments might be confusing.
> > 
> > And I think I don't need to send a V2 any more right? Since I saw you said
> > you did the fix-up for me.
> 
> I just removed the comments.
> 
> Shawn

Thank you :)

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

* [PATCH 6/9] ARM: dtsi: imx6qdl-sabresd: Add WM8962 CODEC support
  2013-06-14  6:23     ` Nicolin Chen
@ 2013-06-14  6:41       ` Shawn Guo
  2013-06-14  6:34         ` Nicolin Chen
  0 siblings, 1 reply; 17+ messages in thread
From: Shawn Guo @ 2013-06-14  6:41 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, Jun 14, 2013 at 02:23:14PM +0800, Nicolin Chen wrote:
> On Fri, Jun 14, 2013 at 02:21:49PM +0800, Shawn Guo wrote:
> > > +
> > > +	codec: wm8962 at 1a {
> > > +		compatible = "wlf,wm8962";
> > > +		reg = <0x1a>;
> > > +		clocks = <&clks 169>;
> > > +		DCVDD-supply = <&reg_audio>;	/* 1.8v */
> > > +		DBVDD-supply = <&reg_audio>;	/* 1.8v */
> > > +		AVDD-supply = <&reg_audio>;	/* 1.8v */
> > > +		CPVDD-supply = <&reg_audio>;	/* 1.8v */
> > > +		MICVDD-supply = <&reg_audio>;	/* 3.3v */
> > > +		PLLVDD-supply = <&reg_audio>;	/* 1.8v */
> > > +		SPKVDD1-supply = <&reg_audio>;	/* 4.2v */
> > > +		SPKVDD2-supply = <&reg_audio>;	/* 4.2v */
> > 
> > You comment these supplies with different voltages but they are actually
> > pointing to the same fixed regulator.
> 
> That's because they are all controlled by one GPIO pin. But you are right
> these comments might be confusing.
> 
> And I think I don't need to send a V2 any more right? Since I saw you said
> you did the fix-up for me.

I just removed the comments.

Shawn

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

end of thread, other threads:[~2013-06-14  6:41 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-06-13 11:50 [PATCH 0/9] Update imx6qdl dts/dtsi to support WM8962 Nicolin Chen
2013-06-13 11:50 ` [PATCH 1/9] ARM: clk-imx6qdl: Add clko1 configuration for imx6qdl-sabresd Nicolin Chen
2013-06-13 11:50 ` [PATCH 2/9] ARM: dts: imx6qdl-sabresd: add clko1 iomux configuration Nicolin Chen
2013-06-13 11:50 ` [PATCH 3/9] ARM: dtsi: imx6q/imx6dl: Add a pinctrl for I2C1 Nicolin Chen
2013-06-13 11:50 ` [PATCH 4/9] ARM: dtsi: imx6dl: Add a pinctrl for AUDMUX Nicolin Chen
2013-06-13 11:51 ` [PATCH 5/9] ARM: dtsi: imx6qdl-sabresd: add a fixed regulator for WM8962 Nicolin Chen
2013-06-14  6:17   ` Shawn Guo
2013-06-13 11:51 ` [PATCH 6/9] ARM: dtsi: imx6qdl-sabresd: Add WM8962 CODEC support Nicolin Chen
2013-06-14  6:21   ` Shawn Guo
2013-06-14  6:23     ` Nicolin Chen
2013-06-14  6:41       ` Shawn Guo
2013-06-14  6:34         ` Nicolin Chen
2013-06-13 11:51 ` [PATCH 7/9] ARM: dtsi: imx6qdl-sabresd: Enable SSI2 and AUDMUX Nicolin Chen
2013-06-14  6:24   ` Shawn Guo
2013-06-13 11:51 ` [PATCH 8/9] ARM: dtsi: imx6qdl-sabresd: Enable WM8962 audio support Nicolin Chen
2013-06-13 11:51 ` [PATCH 9/9] ARM: imx_v6_v7_defconfig: Enable imx-wm8962 by default Nicolin Chen
2013-06-14  6:14 ` [PATCH 0/9] Update imx6qdl dts/dtsi to support WM8962 Shawn Guo

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