Re: [alsa-devel] [PATCH] ASoC: wm8731: let codec to manage clock by itself

2015-03-01 Thread Bo Shen

On 02/16/2015 08:58 PM, Manuel Lauss wrote:

On Mon, Feb 16, 2015 at 11:31 AM, Charles Keepax
 wrote:

On Thu, Feb 12, 2015 at 04:23:06PM +0800, Bo Shen wrote:

Hi All,

On 02/05/2015 03:35 PM, Bo Shen wrote:

Let the wm8731 codec to manage clock by itself.

Signed-off-by: Bo Shen 
---

   sound/soc/codecs/wm8731.c | 28 
   1 file changed, 28 insertions(+)


Any comments for this patch (aka ping?)


I preferred the idea of having the clock as optional and from the
discussion on the last patch it didn't look too tricky to


me too


OK, I will keep the clock as optional.


achieve. OTOH I think the Atmel system is the only one that uses
both this CODEC and common clock so it doesn't look like this
would cause any problems, but might be nice for this not to be
one more thing for someone to fix up when moving a system to
common clock.


Not quite, there's one MIPS platform I maintain which needs a patch
like the one below (tested):


Do I need to seed the following patch together or you send it?


diff --git a/arch/mips/alchemy/devboards/db1200.c
b/arch/mips/alchemy/devboards/db1200.c
index 8c13675..aa01ab2 100644
--- a/arch/mips/alchemy/devboards/db1200.c
+++ b/arch/mips/alchemy/devboards/db1200.c
@@ -19,6 +19,8 @@
   */

  #include 
+#include 
+#include 
  #include 
  #include 
  #include 
@@ -862,6 +864,12 @@ int __init db1200_dev_setup(void)
  irq_set_status_flags(DB1200_PC1_INSERT_INT, IRQ_NOAUTOEN);
  irq_set_status_flags(DB1200_PC1_EJECT_INT, IRQ_NOAUTOEN);

+/* register the 12MHz crystal for the WM8731 I2S codec */
+c = clk_register_fixed_rate(NULL, "wm8731xtal", NULL,
+CLK_IS_ROOT, 1200);
+if (!IS_ERR(c))
+clk_register_clkdev(c, "mclk", "0-001b");
+
  i2c_register_board_info(0, db1200_i2c_devs,
  ARRAY_SIZE(db1200_i2c_devs));
  spi_register_board_info(db1200_spi_devs,
diff --git a/arch/mips/alchemy/devboards/db1300.c
b/arch/mips/alchemy/devboards/db1300.c
index 1c64fdb..1aa01c8 100644
--- a/arch/mips/alchemy/devboards/db1300.c
+++ b/arch/mips/alchemy/devboards/db1300.c
@@ -5,6 +5,8 @@
   */

  #include 
+#include 
+#include 
  #include 
  #include 
  #include 
@@ -799,6 +801,12 @@ int __init db1300_dev_setup(void)
  if (platform_driver_register(_wm97xx_driver))
  pr_warn("DB1300: failed to init touch pen irq support!\n");

+/* register the 12MHz crystal for the WM8731 I2S codec */
+c = clk_register_fixed_rate(NULL, "wm8731xtal", NULL,
+CLK_IS_ROOT, 1200);
+if (!IS_ERR(c))
+clk_register_clkdev(c, "mclk", "0-001b");
+
  /* Audio PSC clock is supplied by codecs (PSC1, 2) */
  __raw_writel(PSC_SEL_CLK_SERCLK,
  (void __iomem *)KSEG1ADDR(AU1300_PSC1_PHYS_ADDR) + PSC_SEL_OFFSET);



Best Regards,
Bo Shen
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [alsa-devel] [PATCH] ASoC: wm8731: let codec to manage clock by itself

2015-03-01 Thread Bo Shen

On 02/16/2015 08:58 PM, Manuel Lauss wrote:

On Mon, Feb 16, 2015 at 11:31 AM, Charles Keepax
ckee...@opensource.wolfsonmicro.com wrote:

On Thu, Feb 12, 2015 at 04:23:06PM +0800, Bo Shen wrote:

Hi All,

On 02/05/2015 03:35 PM, Bo Shen wrote:

Let the wm8731 codec to manage clock by itself.

Signed-off-by: Bo Shen voice.s...@atmel.com
---

   sound/soc/codecs/wm8731.c | 28 
   1 file changed, 28 insertions(+)


Any comments for this patch (aka ping?)


I preferred the idea of having the clock as optional and from the
discussion on the last patch it didn't look too tricky to


me too


OK, I will keep the clock as optional.


achieve. OTOH I think the Atmel system is the only one that uses
both this CODEC and common clock so it doesn't look like this
would cause any problems, but might be nice for this not to be
one more thing for someone to fix up when moving a system to
common clock.


Not quite, there's one MIPS platform I maintain which needs a patch
like the one below (tested):


Do I need to seed the following patch together or you send it?


diff --git a/arch/mips/alchemy/devboards/db1200.c
b/arch/mips/alchemy/devboards/db1200.c
index 8c13675..aa01ab2 100644
--- a/arch/mips/alchemy/devboards/db1200.c
+++ b/arch/mips/alchemy/devboards/db1200.c
@@ -19,6 +19,8 @@
   */

  #include linux/clk.h
+#include linux/clkdev.h
+#include linux/clk-provider.h
  #include linux/dma-mapping.h
  #include linux/gpio.h
  #include linux/i2c.h
@@ -862,6 +864,12 @@ int __init db1200_dev_setup(void)
  irq_set_status_flags(DB1200_PC1_INSERT_INT, IRQ_NOAUTOEN);
  irq_set_status_flags(DB1200_PC1_EJECT_INT, IRQ_NOAUTOEN);

+/* register the 12MHz crystal for the WM8731 I2S codec */
+c = clk_register_fixed_rate(NULL, wm8731xtal, NULL,
+CLK_IS_ROOT, 1200);
+if (!IS_ERR(c))
+clk_register_clkdev(c, mclk, 0-001b);
+
  i2c_register_board_info(0, db1200_i2c_devs,
  ARRAY_SIZE(db1200_i2c_devs));
  spi_register_board_info(db1200_spi_devs,
diff --git a/arch/mips/alchemy/devboards/db1300.c
b/arch/mips/alchemy/devboards/db1300.c
index 1c64fdb..1aa01c8 100644
--- a/arch/mips/alchemy/devboards/db1300.c
+++ b/arch/mips/alchemy/devboards/db1300.c
@@ -5,6 +5,8 @@
   */

  #include linux/clk.h
+#include linux/clkdev.h
+#include linux/clk-provider.h
  #include linux/dma-mapping.h
  #include linux/gpio.h
  #include linux/gpio_keys.h
@@ -799,6 +801,12 @@ int __init db1300_dev_setup(void)
  if (platform_driver_register(db1300_wm97xx_driver))
  pr_warn(DB1300: failed to init touch pen irq support!\n);

+/* register the 12MHz crystal for the WM8731 I2S codec */
+c = clk_register_fixed_rate(NULL, wm8731xtal, NULL,
+CLK_IS_ROOT, 1200);
+if (!IS_ERR(c))
+clk_register_clkdev(c, mclk, 0-001b);
+
  /* Audio PSC clock is supplied by codecs (PSC1, 2) */
  __raw_writel(PSC_SEL_CLK_SERCLK,
  (void __iomem *)KSEG1ADDR(AU1300_PSC1_PHYS_ADDR) + PSC_SEL_OFFSET);



Best Regards,
Bo Shen
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [alsa-devel] [PATCH] ASoC: wm8731: let codec to manage clock by itself

2015-02-16 Thread Manuel Lauss
On Mon, Feb 16, 2015 at 11:31 AM, Charles Keepax
 wrote:
> On Thu, Feb 12, 2015 at 04:23:06PM +0800, Bo Shen wrote:
>> Hi All,
>>
>> On 02/05/2015 03:35 PM, Bo Shen wrote:
>>> Let the wm8731 codec to manage clock by itself.
>>>
>>> Signed-off-by: Bo Shen 
>>> ---
>>>
>>>   sound/soc/codecs/wm8731.c | 28 
>>>   1 file changed, 28 insertions(+)
>>
>> Any comments for this patch (aka ping?)
>
> I preferred the idea of having the clock as optional and from the
> discussion on the last patch it didn't look too tricky to

me too

> achieve. OTOH I think the Atmel system is the only one that uses
> both this CODEC and common clock so it doesn't look like this
> would cause any problems, but might be nice for this not to be
> one more thing for someone to fix up when moving a system to
> common clock.

Not quite, there's one MIPS platform I maintain which needs a patch
like the one below (tested):

diff --git a/arch/mips/alchemy/devboards/db1200.c
b/arch/mips/alchemy/devboards/db1200.c
index 8c13675..aa01ab2 100644
--- a/arch/mips/alchemy/devboards/db1200.c
+++ b/arch/mips/alchemy/devboards/db1200.c
@@ -19,6 +19,8 @@
  */

 #include 
+#include 
+#include 
 #include 
 #include 
 #include 
@@ -862,6 +864,12 @@ int __init db1200_dev_setup(void)
 irq_set_status_flags(DB1200_PC1_INSERT_INT, IRQ_NOAUTOEN);
 irq_set_status_flags(DB1200_PC1_EJECT_INT, IRQ_NOAUTOEN);

+/* register the 12MHz crystal for the WM8731 I2S codec */
+c = clk_register_fixed_rate(NULL, "wm8731xtal", NULL,
+CLK_IS_ROOT, 1200);
+if (!IS_ERR(c))
+clk_register_clkdev(c, "mclk", "0-001b");
+
 i2c_register_board_info(0, db1200_i2c_devs,
 ARRAY_SIZE(db1200_i2c_devs));
 spi_register_board_info(db1200_spi_devs,
diff --git a/arch/mips/alchemy/devboards/db1300.c
b/arch/mips/alchemy/devboards/db1300.c
index 1c64fdb..1aa01c8 100644
--- a/arch/mips/alchemy/devboards/db1300.c
+++ b/arch/mips/alchemy/devboards/db1300.c
@@ -5,6 +5,8 @@
  */

 #include 
+#include 
+#include 
 #include 
 #include 
 #include 
@@ -799,6 +801,12 @@ int __init db1300_dev_setup(void)
 if (platform_driver_register(_wm97xx_driver))
 pr_warn("DB1300: failed to init touch pen irq support!\n");

+/* register the 12MHz crystal for the WM8731 I2S codec */
+c = clk_register_fixed_rate(NULL, "wm8731xtal", NULL,
+CLK_IS_ROOT, 1200);
+if (!IS_ERR(c))
+clk_register_clkdev(c, "mclk", "0-001b");
+
 /* Audio PSC clock is supplied by codecs (PSC1, 2) */
 __raw_writel(PSC_SEL_CLK_SERCLK,
 (void __iomem *)KSEG1ADDR(AU1300_PSC1_PHYS_ADDR) + PSC_SEL_OFFSET);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [alsa-devel] [PATCH] ASoC: wm8731: let codec to manage clock by itself

2015-02-16 Thread Charles Keepax
On Thu, Feb 12, 2015 at 04:23:06PM +0800, Bo Shen wrote:
> Hi All,
>
> On 02/05/2015 03:35 PM, Bo Shen wrote:
>> Let the wm8731 codec to manage clock by itself.
>>
>> Signed-off-by: Bo Shen 
>> ---
>>
>>   sound/soc/codecs/wm8731.c | 28 
>>   1 file changed, 28 insertions(+)
>
> Any comments for this patch (aka ping?)

I preferred the idea of having the clock as optional and from the
discussion on the last patch it didn't look too tricky to
achieve. OTOH I think the Atmel system is the only one that uses
both this CODEC and common clock so it doesn't look like this
would cause any problems, but might be nice for this not to be
one more thing for someone to fix up when moving a system to
common clock.

Thanks,
Charles
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [alsa-devel] [PATCH] ASoC: wm8731: let codec to manage clock by itself

2015-02-16 Thread Manuel Lauss
On Mon, Feb 16, 2015 at 11:31 AM, Charles Keepax
ckee...@opensource.wolfsonmicro.com wrote:
 On Thu, Feb 12, 2015 at 04:23:06PM +0800, Bo Shen wrote:
 Hi All,

 On 02/05/2015 03:35 PM, Bo Shen wrote:
 Let the wm8731 codec to manage clock by itself.

 Signed-off-by: Bo Shen voice.s...@atmel.com
 ---

   sound/soc/codecs/wm8731.c | 28 
   1 file changed, 28 insertions(+)

 Any comments for this patch (aka ping?)

 I preferred the idea of having the clock as optional and from the
 discussion on the last patch it didn't look too tricky to

me too

 achieve. OTOH I think the Atmel system is the only one that uses
 both this CODEC and common clock so it doesn't look like this
 would cause any problems, but might be nice for this not to be
 one more thing for someone to fix up when moving a system to
 common clock.

Not quite, there's one MIPS platform I maintain which needs a patch
like the one below (tested):

diff --git a/arch/mips/alchemy/devboards/db1200.c
b/arch/mips/alchemy/devboards/db1200.c
index 8c13675..aa01ab2 100644
--- a/arch/mips/alchemy/devboards/db1200.c
+++ b/arch/mips/alchemy/devboards/db1200.c
@@ -19,6 +19,8 @@
  */

 #include linux/clk.h
+#include linux/clkdev.h
+#include linux/clk-provider.h
 #include linux/dma-mapping.h
 #include linux/gpio.h
 #include linux/i2c.h
@@ -862,6 +864,12 @@ int __init db1200_dev_setup(void)
 irq_set_status_flags(DB1200_PC1_INSERT_INT, IRQ_NOAUTOEN);
 irq_set_status_flags(DB1200_PC1_EJECT_INT, IRQ_NOAUTOEN);

+/* register the 12MHz crystal for the WM8731 I2S codec */
+c = clk_register_fixed_rate(NULL, wm8731xtal, NULL,
+CLK_IS_ROOT, 1200);
+if (!IS_ERR(c))
+clk_register_clkdev(c, mclk, 0-001b);
+
 i2c_register_board_info(0, db1200_i2c_devs,
 ARRAY_SIZE(db1200_i2c_devs));
 spi_register_board_info(db1200_spi_devs,
diff --git a/arch/mips/alchemy/devboards/db1300.c
b/arch/mips/alchemy/devboards/db1300.c
index 1c64fdb..1aa01c8 100644
--- a/arch/mips/alchemy/devboards/db1300.c
+++ b/arch/mips/alchemy/devboards/db1300.c
@@ -5,6 +5,8 @@
  */

 #include linux/clk.h
+#include linux/clkdev.h
+#include linux/clk-provider.h
 #include linux/dma-mapping.h
 #include linux/gpio.h
 #include linux/gpio_keys.h
@@ -799,6 +801,12 @@ int __init db1300_dev_setup(void)
 if (platform_driver_register(db1300_wm97xx_driver))
 pr_warn(DB1300: failed to init touch pen irq support!\n);

+/* register the 12MHz crystal for the WM8731 I2S codec */
+c = clk_register_fixed_rate(NULL, wm8731xtal, NULL,
+CLK_IS_ROOT, 1200);
+if (!IS_ERR(c))
+clk_register_clkdev(c, mclk, 0-001b);
+
 /* Audio PSC clock is supplied by codecs (PSC1, 2) */
 __raw_writel(PSC_SEL_CLK_SERCLK,
 (void __iomem *)KSEG1ADDR(AU1300_PSC1_PHYS_ADDR) + PSC_SEL_OFFSET);
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [alsa-devel] [PATCH] ASoC: wm8731: let codec to manage clock by itself

2015-02-16 Thread Charles Keepax
On Thu, Feb 12, 2015 at 04:23:06PM +0800, Bo Shen wrote:
 Hi All,

 On 02/05/2015 03:35 PM, Bo Shen wrote:
 Let the wm8731 codec to manage clock by itself.

 Signed-off-by: Bo Shen voice.s...@atmel.com
 ---

   sound/soc/codecs/wm8731.c | 28 
   1 file changed, 28 insertions(+)

 Any comments for this patch (aka ping?)

I preferred the idea of having the clock as optional and from the
discussion on the last patch it didn't look too tricky to
achieve. OTOH I think the Atmel system is the only one that uses
both this CODEC and common clock so it doesn't look like this
would cause any problems, but might be nice for this not to be
one more thing for someone to fix up when moving a system to
common clock.

Thanks,
Charles
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/