* [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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.