* [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 = <®_audio>; /* 1.8v */
+ DBVDD-supply = <®_audio>; /* 1.8v */
+ AVDD-supply = <®_audio>; /* 1.8v */
+ CPVDD-supply = <®_audio>; /* 1.8v */
+ MICVDD-supply = <®_audio>; /* 3.3v */
+ PLLVDD-supply = <®_audio>; /* 1.8v */
+ SPKVDD1-supply = <®_audio>; /* 4.2v */
+ SPKVDD2-supply = <®_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 = <®_audio>; /* 1.8v */
> + DBVDD-supply = <®_audio>; /* 1.8v */
> + AVDD-supply = <®_audio>; /* 1.8v */
> + CPVDD-supply = <®_audio>; /* 1.8v */
> + MICVDD-supply = <®_audio>; /* 3.3v */
> + PLLVDD-supply = <®_audio>; /* 1.8v */
> + SPKVDD1-supply = <®_audio>; /* 4.2v */
> + SPKVDD2-supply = <®_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 = <®_audio>; /* 1.8v */
> > + DBVDD-supply = <®_audio>; /* 1.8v */
> > + AVDD-supply = <®_audio>; /* 1.8v */
> > + CPVDD-supply = <®_audio>; /* 1.8v */
> > + MICVDD-supply = <®_audio>; /* 3.3v */
> > + PLLVDD-supply = <®_audio>; /* 1.8v */
> > + SPKVDD1-supply = <®_audio>; /* 4.2v */
> > + SPKVDD2-supply = <®_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 = <®_audio>; /* 1.8v */
> > > + DBVDD-supply = <®_audio>; /* 1.8v */
> > > + AVDD-supply = <®_audio>; /* 1.8v */
> > > + CPVDD-supply = <®_audio>; /* 1.8v */
> > > + MICVDD-supply = <®_audio>; /* 3.3v */
> > > + PLLVDD-supply = <®_audio>; /* 1.8v */
> > > + SPKVDD1-supply = <®_audio>; /* 4.2v */
> > > + SPKVDD2-supply = <®_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).