* [PATCH v2 0/3] ASoC: atmel_ssc_dai: add option to choose clock @ 2014-01-27 6:55 ` Bo Shen 0 siblings, 0 replies; 20+ messages in thread From: Bo Shen @ 2014-01-27 6:55 UTC (permalink / raw) To: broonie Cc: nicolas.ferre, plagnioj, linux-sound, alsa-devel, linux-arm-kernel, Bo Shen, Jaroslav Kysela, devicetree, Linus Walleij, linux-doc, Takashi Iwai, linux-kernel, Stephen Warren, Wolfram Sang, Ian Campbell, Mark Brown, Liam Girdwood, Lars-Peter Clausen, Pawel Moll, Mark Rutland, Rob Herring, Rob Landley When SSC work in slave mode, the clock can come from TK pin and also can come from RK pin, this is hardware design decided. So, make it available to choose where the clock from. Changes in v2: - using "-" replace "_" in binding document Bo Shen (3): ASoC: atmel_ssc_dai: make option to choose clock ASoC: atmel_wm8904: make it available to choose clock Binding: atmel-wm8904: add option to choose clock Documentation/devicetree/bindings/sound/atmel-wm8904.txt | 6 ++++++ sound/soc/atmel/atmel_ssc_dai.c | 16 ++++++++++++---- sound/soc/atmel/atmel_ssc_dai.h | 1 + sound/soc/atmel/atmel_wm8904.c | 10 ++++++++++ 4 files changed, 29 insertions(+), 4 deletions(-) -- 1.8.5.2 ^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH v2 0/3] ASoC: atmel_ssc_dai: add option to choose clock @ 2014-01-27 6:55 ` Bo Shen 0 siblings, 0 replies; 20+ messages in thread From: Bo Shen @ 2014-01-27 6:55 UTC (permalink / raw) To: linux-arm-kernel When SSC work in slave mode, the clock can come from TK pin and also can come from RK pin, this is hardware design decided. So, make it available to choose where the clock from. Changes in v2: - using "-" replace "_" in binding document Bo Shen (3): ASoC: atmel_ssc_dai: make option to choose clock ASoC: atmel_wm8904: make it available to choose clock Binding: atmel-wm8904: add option to choose clock Documentation/devicetree/bindings/sound/atmel-wm8904.txt | 6 ++++++ sound/soc/atmel/atmel_ssc_dai.c | 16 ++++++++++++---- sound/soc/atmel/atmel_ssc_dai.h | 1 + sound/soc/atmel/atmel_wm8904.c | 10 ++++++++++ 4 files changed, 29 insertions(+), 4 deletions(-) -- 1.8.5.2 ^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH v2 0/3] ASoC: atmel_ssc_dai: add option to choose clock @ 2014-01-27 6:55 ` Bo Shen 0 siblings, 0 replies; 20+ messages in thread From: Bo Shen @ 2014-01-27 6:55 UTC (permalink / raw) To: broonie Cc: nicolas.ferre, plagnioj, linux-sound, alsa-devel, linux-arm-kernel, Bo Shen, Jaroslav Kysela, devicetree, Linus Walleij, linux-doc, Takashi Iwai, linux-kernel, Stephen Warren, Wolfram Sang, Ian Campbell, Mark Brown, Liam Girdwood, Lars-Peter Clausen, Pawel Moll, Mark Rutland, Rob Herring, Rob Landley When SSC work in slave mode, the clock can come from TK pin and also can come from RK pin, this is hardware design decided. So, make it available to choose where the clock from. Changes in v2: - using "-" replace "_" in binding document Bo Shen (3): ASoC: atmel_ssc_dai: make option to choose clock ASoC: atmel_wm8904: make it available to choose clock Binding: atmel-wm8904: add option to choose clock Documentation/devicetree/bindings/sound/atmel-wm8904.txt | 6 ++++++ sound/soc/atmel/atmel_ssc_dai.c | 16 ++++++++++++---- sound/soc/atmel/atmel_ssc_dai.h | 1 + sound/soc/atmel/atmel_wm8904.c | 10 ++++++++++ 4 files changed, 29 insertions(+), 4 deletions(-) -- 1.8.5.2 ^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH v2 1/3] ASoC: atmel_ssc_dai: make option to choose clock 2014-01-27 6:55 ` Bo Shen (?) (?) @ 2014-01-27 6:55 ` Bo Shen -1 siblings, 0 replies; 20+ messages in thread From: Bo Shen @ 2014-01-27 6:55 UTC (permalink / raw) To: broonie Cc: alsa-devel, Lars-Peter Clausen, Takashi Iwai, linux-kernel, nicolas.ferre, Liam Girdwood, linux-sound, Jaroslav Kysela, Bo Shen, plagnioj, linux-arm-kernel When SSC works in slave mode, according to the hardware design, the clock can get from TK pin, also can get from RK pin. So, add one parameter to choose where the clock from. Signed-off-by: Bo Shen <voice.shen@atmel.com> --- Changes in v2: None sound/soc/atmel/atmel_ssc_dai.c | 16 ++++++++++++---- sound/soc/atmel/atmel_ssc_dai.h | 1 + 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/sound/soc/atmel/atmel_ssc_dai.c b/sound/soc/atmel/atmel_ssc_dai.c index 8697ced..03eb0be 100644 --- a/sound/soc/atmel/atmel_ssc_dai.c +++ b/sound/soc/atmel/atmel_ssc_dai.c @@ -340,6 +340,7 @@ static int atmel_ssc_hw_params(struct snd_pcm_substream *substream, struct snd_soc_dai *dai) { int id = dai->id; + struct snd_soc_card *card = dai->card; struct atmel_ssc_info *ssc_p = &ssc_info[id]; struct atmel_pcm_dma_params *dma_params; int dir, channels, bits; @@ -347,6 +348,9 @@ static int atmel_ssc_hw_params(struct snd_pcm_substream *substream, int start_event; int ret; + ssc_p->clk_from_rk_pin = + ((struct atmel_ssc_info *)(card->drvdata))->clk_from_rk_pin; + /* * Currently, there is only one set of dma params for * each direction. If more are added, this code will @@ -466,7 +470,8 @@ static int atmel_ssc_hw_params(struct snd_pcm_substream *substream, | SSC_BF(RCMR_START, start_event) | SSC_BF(RCMR_CKI, SSC_CKI_RISING) | SSC_BF(RCMR_CKO, SSC_CKO_NONE) - | SSC_BF(RCMR_CKS, SSC_CKS_CLOCK); + | SSC_BF(RCMR_CKS, ssc_p->clk_from_rk_pin ? + SSC_CKS_PIN : SSC_CKS_CLOCK); rfmr = SSC_BF(RFMR_FSEDGE, SSC_FSEDGE_POSITIVE) | SSC_BF(RFMR_FSOS, SSC_FSOS_NONE) @@ -481,7 +486,8 @@ static int atmel_ssc_hw_params(struct snd_pcm_substream *substream, | SSC_BF(TCMR_START, start_event) | SSC_BF(TCMR_CKI, SSC_CKI_FALLING) | SSC_BF(TCMR_CKO, SSC_CKO_NONE) - | SSC_BF(TCMR_CKS, SSC_CKS_PIN); + | SSC_BF(TCMR_CKS, ssc_p->clk_from_rk_pin ? + SSC_CKS_CLOCK : SSC_CKS_PIN); tfmr = SSC_BF(TFMR_FSEDGE, SSC_FSEDGE_POSITIVE) | SSC_BF(TFMR_FSDEN, 0) @@ -550,7 +556,8 @@ static int atmel_ssc_hw_params(struct snd_pcm_substream *substream, | SSC_BF(RCMR_START, SSC_START_RISING_RF) | SSC_BF(RCMR_CKI, SSC_CKI_RISING) | SSC_BF(RCMR_CKO, SSC_CKO_NONE) - | SSC_BF(RCMR_CKS, SSC_CKS_PIN); + | SSC_BF(RCMR_CKS, ssc_p->clk_from_rk_pin ? + SSC_CKS_PIN : SSC_CKS_CLOCK); rfmr = SSC_BF(RFMR_FSEDGE, SSC_FSEDGE_POSITIVE) | SSC_BF(RFMR_FSOS, SSC_FSOS_NONE) @@ -565,7 +572,8 @@ static int atmel_ssc_hw_params(struct snd_pcm_substream *substream, | SSC_BF(TCMR_START, SSC_START_RISING_RF) | SSC_BF(TCMR_CKI, SSC_CKI_FALLING) | SSC_BF(TCMR_CKO, SSC_CKO_NONE) - | SSC_BF(TCMR_CKS, SSC_CKS_PIN); + | SSC_BF(RCMR_CKS, ssc_p->clk_from_rk_pin ? + SSC_CKS_CLOCK : SSC_CKS_PIN); tfmr = SSC_BF(TFMR_FSEDGE, SSC_FSEDGE_POSITIVE) | SSC_BF(TFMR_FSDEN, 0) diff --git a/sound/soc/atmel/atmel_ssc_dai.h b/sound/soc/atmel/atmel_ssc_dai.h index b1f08d5..f147895 100644 --- a/sound/soc/atmel/atmel_ssc_dai.h +++ b/sound/soc/atmel/atmel_ssc_dai.h @@ -113,6 +113,7 @@ struct atmel_ssc_info { unsigned short cmr_div; unsigned short tcmr_period; unsigned short rcmr_period; + bool clk_from_rk_pin; struct atmel_pcm_dma_params *dma_params[2]; struct atmel_ssc_state ssc_state; }; -- 1.8.5.2 ^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH v2 1/3] ASoC: atmel_ssc_dai: make option to choose clock @ 2014-01-27 6:55 ` Bo Shen 0 siblings, 0 replies; 20+ messages in thread From: Bo Shen @ 2014-01-27 6:55 UTC (permalink / raw) To: broonie Cc: nicolas.ferre, plagnioj, linux-sound, alsa-devel, linux-arm-kernel, Bo Shen, Liam Girdwood, Jaroslav Kysela, Takashi Iwai, Lars-Peter Clausen, linux-kernel When SSC works in slave mode, according to the hardware design, the clock can get from TK pin, also can get from RK pin. So, add one parameter to choose where the clock from. Signed-off-by: Bo Shen <voice.shen@atmel.com> --- Changes in v2: None sound/soc/atmel/atmel_ssc_dai.c | 16 ++++++++++++---- sound/soc/atmel/atmel_ssc_dai.h | 1 + 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/sound/soc/atmel/atmel_ssc_dai.c b/sound/soc/atmel/atmel_ssc_dai.c index 8697ced..03eb0be 100644 --- a/sound/soc/atmel/atmel_ssc_dai.c +++ b/sound/soc/atmel/atmel_ssc_dai.c @@ -340,6 +340,7 @@ static int atmel_ssc_hw_params(struct snd_pcm_substream *substream, struct snd_soc_dai *dai) { int id = dai->id; + struct snd_soc_card *card = dai->card; struct atmel_ssc_info *ssc_p = &ssc_info[id]; struct atmel_pcm_dma_params *dma_params; int dir, channels, bits; @@ -347,6 +348,9 @@ static int atmel_ssc_hw_params(struct snd_pcm_substream *substream, int start_event; int ret; + ssc_p->clk_from_rk_pin = + ((struct atmel_ssc_info *)(card->drvdata))->clk_from_rk_pin; + /* * Currently, there is only one set of dma params for * each direction. If more are added, this code will @@ -466,7 +470,8 @@ static int atmel_ssc_hw_params(struct snd_pcm_substream *substream, | SSC_BF(RCMR_START, start_event) | SSC_BF(RCMR_CKI, SSC_CKI_RISING) | SSC_BF(RCMR_CKO, SSC_CKO_NONE) - | SSC_BF(RCMR_CKS, SSC_CKS_CLOCK); + | SSC_BF(RCMR_CKS, ssc_p->clk_from_rk_pin ? + SSC_CKS_PIN : SSC_CKS_CLOCK); rfmr = SSC_BF(RFMR_FSEDGE, SSC_FSEDGE_POSITIVE) | SSC_BF(RFMR_FSOS, SSC_FSOS_NONE) @@ -481,7 +486,8 @@ static int atmel_ssc_hw_params(struct snd_pcm_substream *substream, | SSC_BF(TCMR_START, start_event) | SSC_BF(TCMR_CKI, SSC_CKI_FALLING) | SSC_BF(TCMR_CKO, SSC_CKO_NONE) - | SSC_BF(TCMR_CKS, SSC_CKS_PIN); + | SSC_BF(TCMR_CKS, ssc_p->clk_from_rk_pin ? + SSC_CKS_CLOCK : SSC_CKS_PIN); tfmr = SSC_BF(TFMR_FSEDGE, SSC_FSEDGE_POSITIVE) | SSC_BF(TFMR_FSDEN, 0) @@ -550,7 +556,8 @@ static int atmel_ssc_hw_params(struct snd_pcm_substream *substream, | SSC_BF(RCMR_START, SSC_START_RISING_RF) | SSC_BF(RCMR_CKI, SSC_CKI_RISING) | SSC_BF(RCMR_CKO, SSC_CKO_NONE) - | SSC_BF(RCMR_CKS, SSC_CKS_PIN); + | SSC_BF(RCMR_CKS, ssc_p->clk_from_rk_pin ? + SSC_CKS_PIN : SSC_CKS_CLOCK); rfmr = SSC_BF(RFMR_FSEDGE, SSC_FSEDGE_POSITIVE) | SSC_BF(RFMR_FSOS, SSC_FSOS_NONE) @@ -565,7 +572,8 @@ static int atmel_ssc_hw_params(struct snd_pcm_substream *substream, | SSC_BF(TCMR_START, SSC_START_RISING_RF) | SSC_BF(TCMR_CKI, SSC_CKI_FALLING) | SSC_BF(TCMR_CKO, SSC_CKO_NONE) - | SSC_BF(TCMR_CKS, SSC_CKS_PIN); + | SSC_BF(RCMR_CKS, ssc_p->clk_from_rk_pin ? + SSC_CKS_CLOCK : SSC_CKS_PIN); tfmr = SSC_BF(TFMR_FSEDGE, SSC_FSEDGE_POSITIVE) | SSC_BF(TFMR_FSDEN, 0) diff --git a/sound/soc/atmel/atmel_ssc_dai.h b/sound/soc/atmel/atmel_ssc_dai.h index b1f08d5..f147895 100644 --- a/sound/soc/atmel/atmel_ssc_dai.h +++ b/sound/soc/atmel/atmel_ssc_dai.h @@ -113,6 +113,7 @@ struct atmel_ssc_info { unsigned short cmr_div; unsigned short tcmr_period; unsigned short rcmr_period; + bool clk_from_rk_pin; struct atmel_pcm_dma_params *dma_params[2]; struct atmel_ssc_state ssc_state; }; -- 1.8.5.2 ^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH v2 1/3] ASoC: atmel_ssc_dai: make option to choose clock @ 2014-01-27 6:55 ` Bo Shen 0 siblings, 0 replies; 20+ messages in thread From: Bo Shen @ 2014-01-27 6:55 UTC (permalink / raw) To: linux-arm-kernel When SSC works in slave mode, according to the hardware design, the clock can get from TK pin, also can get from RK pin. So, add one parameter to choose where the clock from. Signed-off-by: Bo Shen <voice.shen@atmel.com> --- Changes in v2: None sound/soc/atmel/atmel_ssc_dai.c | 16 ++++++++++++---- sound/soc/atmel/atmel_ssc_dai.h | 1 + 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/sound/soc/atmel/atmel_ssc_dai.c b/sound/soc/atmel/atmel_ssc_dai.c index 8697ced..03eb0be 100644 --- a/sound/soc/atmel/atmel_ssc_dai.c +++ b/sound/soc/atmel/atmel_ssc_dai.c @@ -340,6 +340,7 @@ static int atmel_ssc_hw_params(struct snd_pcm_substream *substream, struct snd_soc_dai *dai) { int id = dai->id; + struct snd_soc_card *card = dai->card; struct atmel_ssc_info *ssc_p = &ssc_info[id]; struct atmel_pcm_dma_params *dma_params; int dir, channels, bits; @@ -347,6 +348,9 @@ static int atmel_ssc_hw_params(struct snd_pcm_substream *substream, int start_event; int ret; + ssc_p->clk_from_rk_pin = + ((struct atmel_ssc_info *)(card->drvdata))->clk_from_rk_pin; + /* * Currently, there is only one set of dma params for * each direction. If more are added, this code will @@ -466,7 +470,8 @@ static int atmel_ssc_hw_params(struct snd_pcm_substream *substream, | SSC_BF(RCMR_START, start_event) | SSC_BF(RCMR_CKI, SSC_CKI_RISING) | SSC_BF(RCMR_CKO, SSC_CKO_NONE) - | SSC_BF(RCMR_CKS, SSC_CKS_CLOCK); + | SSC_BF(RCMR_CKS, ssc_p->clk_from_rk_pin ? + SSC_CKS_PIN : SSC_CKS_CLOCK); rfmr = SSC_BF(RFMR_FSEDGE, SSC_FSEDGE_POSITIVE) | SSC_BF(RFMR_FSOS, SSC_FSOS_NONE) @@ -481,7 +486,8 @@ static int atmel_ssc_hw_params(struct snd_pcm_substream *substream, | SSC_BF(TCMR_START, start_event) | SSC_BF(TCMR_CKI, SSC_CKI_FALLING) | SSC_BF(TCMR_CKO, SSC_CKO_NONE) - | SSC_BF(TCMR_CKS, SSC_CKS_PIN); + | SSC_BF(TCMR_CKS, ssc_p->clk_from_rk_pin ? + SSC_CKS_CLOCK : SSC_CKS_PIN); tfmr = SSC_BF(TFMR_FSEDGE, SSC_FSEDGE_POSITIVE) | SSC_BF(TFMR_FSDEN, 0) @@ -550,7 +556,8 @@ static int atmel_ssc_hw_params(struct snd_pcm_substream *substream, | SSC_BF(RCMR_START, SSC_START_RISING_RF) | SSC_BF(RCMR_CKI, SSC_CKI_RISING) | SSC_BF(RCMR_CKO, SSC_CKO_NONE) - | SSC_BF(RCMR_CKS, SSC_CKS_PIN); + | SSC_BF(RCMR_CKS, ssc_p->clk_from_rk_pin ? + SSC_CKS_PIN : SSC_CKS_CLOCK); rfmr = SSC_BF(RFMR_FSEDGE, SSC_FSEDGE_POSITIVE) | SSC_BF(RFMR_FSOS, SSC_FSOS_NONE) @@ -565,7 +572,8 @@ static int atmel_ssc_hw_params(struct snd_pcm_substream *substream, | SSC_BF(TCMR_START, SSC_START_RISING_RF) | SSC_BF(TCMR_CKI, SSC_CKI_FALLING) | SSC_BF(TCMR_CKO, SSC_CKO_NONE) - | SSC_BF(TCMR_CKS, SSC_CKS_PIN); + | SSC_BF(RCMR_CKS, ssc_p->clk_from_rk_pin ? + SSC_CKS_CLOCK : SSC_CKS_PIN); tfmr = SSC_BF(TFMR_FSEDGE, SSC_FSEDGE_POSITIVE) | SSC_BF(TFMR_FSDEN, 0) diff --git a/sound/soc/atmel/atmel_ssc_dai.h b/sound/soc/atmel/atmel_ssc_dai.h index b1f08d5..f147895 100644 --- a/sound/soc/atmel/atmel_ssc_dai.h +++ b/sound/soc/atmel/atmel_ssc_dai.h @@ -113,6 +113,7 @@ struct atmel_ssc_info { unsigned short cmr_div; unsigned short tcmr_period; unsigned short rcmr_period; + bool clk_from_rk_pin; struct atmel_pcm_dma_params *dma_params[2]; struct atmel_ssc_state ssc_state; }; -- 1.8.5.2 ^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH v2 1/3] ASoC: atmel_ssc_dai: make option to choose clock @ 2014-01-27 6:55 ` Bo Shen 0 siblings, 0 replies; 20+ messages in thread From: Bo Shen @ 2014-01-27 6:55 UTC (permalink / raw) To: broonie Cc: nicolas.ferre, plagnioj, linux-sound, alsa-devel, linux-arm-kernel, Bo Shen, Liam Girdwood, Jaroslav Kysela, Takashi Iwai, Lars-Peter Clausen, linux-kernel When SSC works in slave mode, according to the hardware design, the clock can get from TK pin, also can get from RK pin. So, add one parameter to choose where the clock from. Signed-off-by: Bo Shen <voice.shen@atmel.com> --- Changes in v2: None sound/soc/atmel/atmel_ssc_dai.c | 16 ++++++++++++---- sound/soc/atmel/atmel_ssc_dai.h | 1 + 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/sound/soc/atmel/atmel_ssc_dai.c b/sound/soc/atmel/atmel_ssc_dai.c index 8697ced..03eb0be 100644 --- a/sound/soc/atmel/atmel_ssc_dai.c +++ b/sound/soc/atmel/atmel_ssc_dai.c @@ -340,6 +340,7 @@ static int atmel_ssc_hw_params(struct snd_pcm_substream *substream, struct snd_soc_dai *dai) { int id = dai->id; + struct snd_soc_card *card = dai->card; struct atmel_ssc_info *ssc_p = &ssc_info[id]; struct atmel_pcm_dma_params *dma_params; int dir, channels, bits; @@ -347,6 +348,9 @@ static int atmel_ssc_hw_params(struct snd_pcm_substream *substream, int start_event; int ret; + ssc_p->clk_from_rk_pin + ((struct atmel_ssc_info *)(card->drvdata))->clk_from_rk_pin; + /* * Currently, there is only one set of dma params for * each direction. If more are added, this code will @@ -466,7 +470,8 @@ static int atmel_ssc_hw_params(struct snd_pcm_substream *substream, | SSC_BF(RCMR_START, start_event) | SSC_BF(RCMR_CKI, SSC_CKI_RISING) | SSC_BF(RCMR_CKO, SSC_CKO_NONE) - | SSC_BF(RCMR_CKS, SSC_CKS_CLOCK); + | SSC_BF(RCMR_CKS, ssc_p->clk_from_rk_pin ? + SSC_CKS_PIN : SSC_CKS_CLOCK); rfmr = SSC_BF(RFMR_FSEDGE, SSC_FSEDGE_POSITIVE) | SSC_BF(RFMR_FSOS, SSC_FSOS_NONE) @@ -481,7 +486,8 @@ static int atmel_ssc_hw_params(struct snd_pcm_substream *substream, | SSC_BF(TCMR_START, start_event) | SSC_BF(TCMR_CKI, SSC_CKI_FALLING) | SSC_BF(TCMR_CKO, SSC_CKO_NONE) - | SSC_BF(TCMR_CKS, SSC_CKS_PIN); + | SSC_BF(TCMR_CKS, ssc_p->clk_from_rk_pin ? + SSC_CKS_CLOCK : SSC_CKS_PIN); tfmr = SSC_BF(TFMR_FSEDGE, SSC_FSEDGE_POSITIVE) | SSC_BF(TFMR_FSDEN, 0) @@ -550,7 +556,8 @@ static int atmel_ssc_hw_params(struct snd_pcm_substream *substream, | SSC_BF(RCMR_START, SSC_START_RISING_RF) | SSC_BF(RCMR_CKI, SSC_CKI_RISING) | SSC_BF(RCMR_CKO, SSC_CKO_NONE) - | SSC_BF(RCMR_CKS, SSC_CKS_PIN); + | SSC_BF(RCMR_CKS, ssc_p->clk_from_rk_pin ? + SSC_CKS_PIN : SSC_CKS_CLOCK); rfmr = SSC_BF(RFMR_FSEDGE, SSC_FSEDGE_POSITIVE) | SSC_BF(RFMR_FSOS, SSC_FSOS_NONE) @@ -565,7 +572,8 @@ static int atmel_ssc_hw_params(struct snd_pcm_substream *substream, | SSC_BF(TCMR_START, SSC_START_RISING_RF) | SSC_BF(TCMR_CKI, SSC_CKI_FALLING) | SSC_BF(TCMR_CKO, SSC_CKO_NONE) - | SSC_BF(TCMR_CKS, SSC_CKS_PIN); + | SSC_BF(RCMR_CKS, ssc_p->clk_from_rk_pin ? + SSC_CKS_CLOCK : SSC_CKS_PIN); tfmr = SSC_BF(TFMR_FSEDGE, SSC_FSEDGE_POSITIVE) | SSC_BF(TFMR_FSDEN, 0) diff --git a/sound/soc/atmel/atmel_ssc_dai.h b/sound/soc/atmel/atmel_ssc_dai.h index b1f08d5..f147895 100644 --- a/sound/soc/atmel/atmel_ssc_dai.h +++ b/sound/soc/atmel/atmel_ssc_dai.h @@ -113,6 +113,7 @@ struct atmel_ssc_info { unsigned short cmr_div; unsigned short tcmr_period; unsigned short rcmr_period; + bool clk_from_rk_pin; struct atmel_pcm_dma_params *dma_params[2]; struct atmel_ssc_state ssc_state; }; -- 1.8.5.2 ^ permalink raw reply related [flat|nested] 20+ messages in thread
* Re: [alsa-devel] [PATCH v2 1/3] ASoC: atmel_ssc_dai: make option to choose clock 2014-01-27 6:55 ` Bo Shen (?) @ 2014-01-27 7:06 ` Lars-Peter Clausen -1 siblings, 0 replies; 20+ messages in thread From: Lars-Peter Clausen @ 2014-01-27 7:06 UTC (permalink / raw) To: Bo Shen Cc: broonie, alsa-devel, Takashi Iwai, linux-kernel, nicolas.ferre, Liam Girdwood, linux-sound, plagnioj, linux-arm-kernel On 01/27/2014 07:55 AM, Bo Shen wrote: > When SSC works in slave mode, according to the hardware design, the > clock can get from TK pin, also can get from RK pin. So, add one > parameter to choose where the clock from. > > Signed-off-by: Bo Shen <voice.shen@atmel.com> > --- > Changes in v2: None > > sound/soc/atmel/atmel_ssc_dai.c | 16 ++++++++++++---- > sound/soc/atmel/atmel_ssc_dai.h | 1 + > 2 files changed, 13 insertions(+), 4 deletions(-) > > diff --git a/sound/soc/atmel/atmel_ssc_dai.c b/sound/soc/atmel/atmel_ssc_dai.c > index 8697ced..03eb0be 100644 > --- a/sound/soc/atmel/atmel_ssc_dai.c > +++ b/sound/soc/atmel/atmel_ssc_dai.c > @@ -340,6 +340,7 @@ static int atmel_ssc_hw_params(struct snd_pcm_substream *substream, > struct snd_soc_dai *dai) > { > int id = dai->id; > + struct snd_soc_card *card = dai->card; > struct atmel_ssc_info *ssc_p = &ssc_info[id]; > struct atmel_pcm_dma_params *dma_params; > int dir, channels, bits; > @@ -347,6 +348,9 @@ static int atmel_ssc_hw_params(struct snd_pcm_substream *substream, > int start_event; > int ret; > > + ssc_p->clk_from_rk_pin = > + ((struct atmel_ssc_info *)(card->drvdata))->clk_from_rk_pin; This is a layering violation. The DAI driver is not supposed to make any assumptions what drvdata is attached to the card. Use the set_sysclk API to set the source clock. - Lars ^ permalink raw reply [flat|nested] 20+ messages in thread
* [alsa-devel] [PATCH v2 1/3] ASoC: atmel_ssc_dai: make option to choose clock @ 2014-01-27 7:06 ` Lars-Peter Clausen 0 siblings, 0 replies; 20+ messages in thread From: Lars-Peter Clausen @ 2014-01-27 7:06 UTC (permalink / raw) To: linux-arm-kernel On 01/27/2014 07:55 AM, Bo Shen wrote: > When SSC works in slave mode, according to the hardware design, the > clock can get from TK pin, also can get from RK pin. So, add one > parameter to choose where the clock from. > > Signed-off-by: Bo Shen <voice.shen@atmel.com> > --- > Changes in v2: None > > sound/soc/atmel/atmel_ssc_dai.c | 16 ++++++++++++---- > sound/soc/atmel/atmel_ssc_dai.h | 1 + > 2 files changed, 13 insertions(+), 4 deletions(-) > > diff --git a/sound/soc/atmel/atmel_ssc_dai.c b/sound/soc/atmel/atmel_ssc_dai.c > index 8697ced..03eb0be 100644 > --- a/sound/soc/atmel/atmel_ssc_dai.c > +++ b/sound/soc/atmel/atmel_ssc_dai.c > @@ -340,6 +340,7 @@ static int atmel_ssc_hw_params(struct snd_pcm_substream *substream, > struct snd_soc_dai *dai) > { > int id = dai->id; > + struct snd_soc_card *card = dai->card; > struct atmel_ssc_info *ssc_p = &ssc_info[id]; > struct atmel_pcm_dma_params *dma_params; > int dir, channels, bits; > @@ -347,6 +348,9 @@ static int atmel_ssc_hw_params(struct snd_pcm_substream *substream, > int start_event; > int ret; > > + ssc_p->clk_from_rk_pin = > + ((struct atmel_ssc_info *)(card->drvdata))->clk_from_rk_pin; This is a layering violation. The DAI driver is not supposed to make any assumptions what drvdata is attached to the card. Use the set_sysclk API to set the source clock. - Lars ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [alsa-devel] [PATCH v2 1/3] ASoC: atmel_ssc_dai: make option to choose clock @ 2014-01-27 7:06 ` Lars-Peter Clausen 0 siblings, 0 replies; 20+ messages in thread From: Lars-Peter Clausen @ 2014-01-27 7:06 UTC (permalink / raw) To: Bo Shen Cc: broonie, alsa-devel, Takashi Iwai, linux-kernel, nicolas.ferre, Liam Girdwood, linux-sound, plagnioj, linux-arm-kernel On 01/27/2014 07:55 AM, Bo Shen wrote: > When SSC works in slave mode, according to the hardware design, the > clock can get from TK pin, also can get from RK pin. So, add one > parameter to choose where the clock from. > > Signed-off-by: Bo Shen <voice.shen@atmel.com> > --- > Changes in v2: None > > sound/soc/atmel/atmel_ssc_dai.c | 16 ++++++++++++---- > sound/soc/atmel/atmel_ssc_dai.h | 1 + > 2 files changed, 13 insertions(+), 4 deletions(-) > > diff --git a/sound/soc/atmel/atmel_ssc_dai.c b/sound/soc/atmel/atmel_ssc_dai.c > index 8697ced..03eb0be 100644 > --- a/sound/soc/atmel/atmel_ssc_dai.c > +++ b/sound/soc/atmel/atmel_ssc_dai.c > @@ -340,6 +340,7 @@ static int atmel_ssc_hw_params(struct snd_pcm_substream *substream, > struct snd_soc_dai *dai) > { > int id = dai->id; > + struct snd_soc_card *card = dai->card; > struct atmel_ssc_info *ssc_p = &ssc_info[id]; > struct atmel_pcm_dma_params *dma_params; > int dir, channels, bits; > @@ -347,6 +348,9 @@ static int atmel_ssc_hw_params(struct snd_pcm_substream *substream, > int start_event; > int ret; > > + ssc_p->clk_from_rk_pin > + ((struct atmel_ssc_info *)(card->drvdata))->clk_from_rk_pin; This is a layering violation. The DAI driver is not supposed to make any assumptions what drvdata is attached to the card. Use the set_sysclk API to set the source clock. - Lars ^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH v2 2/3] ASoC: atmel_wm8904: make it available to choose clock 2014-01-27 6:55 ` Bo Shen (?) (?) @ 2014-01-27 6:55 ` Bo Shen -1 siblings, 0 replies; 20+ messages in thread From: Bo Shen @ 2014-01-27 6:55 UTC (permalink / raw) To: broonie Cc: alsa-devel, Wolfram Sang, Takashi Iwai, linux-kernel, Linus Walleij, nicolas.ferre, Liam Girdwood, linux-sound, Bo Shen, plagnioj, linux-arm-kernel Make it available to choose the clock from TK pin or RK pin. This is hardware design decided. Signed-off-by: Bo Shen <voice.shen@atmel.com> --- Changes in v2: None sound/soc/atmel/atmel_wm8904.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/sound/soc/atmel/atmel_wm8904.c b/sound/soc/atmel/atmel_wm8904.c index b4e3690..9346410 100644 --- a/sound/soc/atmel/atmel_wm8904.c +++ b/sound/soc/atmel/atmel_wm8904.c @@ -108,6 +108,7 @@ static int atmel_asoc_wm8904_dt_init(struct platform_device *pdev) struct device_node *codec_np, *cpu_np; struct snd_soc_card *card = &atmel_asoc_wm8904_card; struct snd_soc_dai_link *dailink = &atmel_asoc_wm8904_dailink; + struct atmel_ssc_info *ssc_info; int ret; if (!np) { @@ -115,6 +116,15 @@ static int atmel_asoc_wm8904_dt_init(struct platform_device *pdev) return -EINVAL; } + ssc_info = devm_kzalloc(&pdev->dev, sizeof(*ssc_info), GFP_KERNEL); + if (!ssc_info) + return -ENOMEM; + + ssc_info->clk_from_rk_pin = + of_property_read_bool(np, "atmel,clk-from-rk-pin"); + + card->drvdata = (void *)ssc_info; + ret = snd_soc_of_parse_card_name(card, "atmel,model"); if (ret) { dev_err(&pdev->dev, "failed to parse card name\n"); -- 1.8.5.2 ^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH v2 2/3] ASoC: atmel_wm8904: make it available to choose clock @ 2014-01-27 6:55 ` Bo Shen 0 siblings, 0 replies; 20+ messages in thread From: Bo Shen @ 2014-01-27 6:55 UTC (permalink / raw) To: broonie Cc: nicolas.ferre, plagnioj, linux-sound, alsa-devel, linux-arm-kernel, Bo Shen, Liam Girdwood, Jaroslav Kysela, Takashi Iwai, Linus Walleij, Wolfram Sang, linux-kernel Make it available to choose the clock from TK pin or RK pin. This is hardware design decided. Signed-off-by: Bo Shen <voice.shen@atmel.com> --- Changes in v2: None sound/soc/atmel/atmel_wm8904.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/sound/soc/atmel/atmel_wm8904.c b/sound/soc/atmel/atmel_wm8904.c index b4e3690..9346410 100644 --- a/sound/soc/atmel/atmel_wm8904.c +++ b/sound/soc/atmel/atmel_wm8904.c @@ -108,6 +108,7 @@ static int atmel_asoc_wm8904_dt_init(struct platform_device *pdev) struct device_node *codec_np, *cpu_np; struct snd_soc_card *card = &atmel_asoc_wm8904_card; struct snd_soc_dai_link *dailink = &atmel_asoc_wm8904_dailink; + struct atmel_ssc_info *ssc_info; int ret; if (!np) { @@ -115,6 +116,15 @@ static int atmel_asoc_wm8904_dt_init(struct platform_device *pdev) return -EINVAL; } + ssc_info = devm_kzalloc(&pdev->dev, sizeof(*ssc_info), GFP_KERNEL); + if (!ssc_info) + return -ENOMEM; + + ssc_info->clk_from_rk_pin = + of_property_read_bool(np, "atmel,clk-from-rk-pin"); + + card->drvdata = (void *)ssc_info; + ret = snd_soc_of_parse_card_name(card, "atmel,model"); if (ret) { dev_err(&pdev->dev, "failed to parse card name\n"); -- 1.8.5.2 ^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH v2 2/3] ASoC: atmel_wm8904: make it available to choose clock @ 2014-01-27 6:55 ` Bo Shen 0 siblings, 0 replies; 20+ messages in thread From: Bo Shen @ 2014-01-27 6:55 UTC (permalink / raw) To: linux-arm-kernel Make it available to choose the clock from TK pin or RK pin. This is hardware design decided. Signed-off-by: Bo Shen <voice.shen@atmel.com> --- Changes in v2: None sound/soc/atmel/atmel_wm8904.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/sound/soc/atmel/atmel_wm8904.c b/sound/soc/atmel/atmel_wm8904.c index b4e3690..9346410 100644 --- a/sound/soc/atmel/atmel_wm8904.c +++ b/sound/soc/atmel/atmel_wm8904.c @@ -108,6 +108,7 @@ static int atmel_asoc_wm8904_dt_init(struct platform_device *pdev) struct device_node *codec_np, *cpu_np; struct snd_soc_card *card = &atmel_asoc_wm8904_card; struct snd_soc_dai_link *dailink = &atmel_asoc_wm8904_dailink; + struct atmel_ssc_info *ssc_info; int ret; if (!np) { @@ -115,6 +116,15 @@ static int atmel_asoc_wm8904_dt_init(struct platform_device *pdev) return -EINVAL; } + ssc_info = devm_kzalloc(&pdev->dev, sizeof(*ssc_info), GFP_KERNEL); + if (!ssc_info) + return -ENOMEM; + + ssc_info->clk_from_rk_pin = + of_property_read_bool(np, "atmel,clk-from-rk-pin"); + + card->drvdata = (void *)ssc_info; + ret = snd_soc_of_parse_card_name(card, "atmel,model"); if (ret) { dev_err(&pdev->dev, "failed to parse card name\n"); -- 1.8.5.2 ^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH v2 2/3] ASoC: atmel_wm8904: make it available to choose clock @ 2014-01-27 6:55 ` Bo Shen 0 siblings, 0 replies; 20+ messages in thread From: Bo Shen @ 2014-01-27 6:55 UTC (permalink / raw) To: broonie Cc: nicolas.ferre, plagnioj, linux-sound, alsa-devel, linux-arm-kernel, Bo Shen, Liam Girdwood, Jaroslav Kysela, Takashi Iwai, Linus Walleij, Wolfram Sang, linux-kernel Make it available to choose the clock from TK pin or RK pin. This is hardware design decided. Signed-off-by: Bo Shen <voice.shen@atmel.com> --- Changes in v2: None sound/soc/atmel/atmel_wm8904.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/sound/soc/atmel/atmel_wm8904.c b/sound/soc/atmel/atmel_wm8904.c index b4e3690..9346410 100644 --- a/sound/soc/atmel/atmel_wm8904.c +++ b/sound/soc/atmel/atmel_wm8904.c @@ -108,6 +108,7 @@ static int atmel_asoc_wm8904_dt_init(struct platform_device *pdev) struct device_node *codec_np, *cpu_np; struct snd_soc_card *card = &atmel_asoc_wm8904_card; struct snd_soc_dai_link *dailink = &atmel_asoc_wm8904_dailink; + struct atmel_ssc_info *ssc_info; int ret; if (!np) { @@ -115,6 +116,15 @@ static int atmel_asoc_wm8904_dt_init(struct platform_device *pdev) return -EINVAL; } + ssc_info = devm_kzalloc(&pdev->dev, sizeof(*ssc_info), GFP_KERNEL); + if (!ssc_info) + return -ENOMEM; + + ssc_info->clk_from_rk_pin + of_property_read_bool(np, "atmel,clk-from-rk-pin"); + + card->drvdata = (void *)ssc_info; + ret = snd_soc_of_parse_card_name(card, "atmel,model"); if (ret) { dev_err(&pdev->dev, "failed to parse card name\n"); -- 1.8.5.2 ^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH v2 3/3] Binding: atmel-wm8904: add option to choose clock 2014-01-27 6:55 ` Bo Shen (?) @ 2014-01-27 6:55 ` Bo Shen -1 siblings, 0 replies; 20+ messages in thread From: Bo Shen @ 2014-01-27 6:55 UTC (permalink / raw) To: broonie Cc: nicolas.ferre, plagnioj, linux-sound, alsa-devel, linux-arm-kernel, Bo Shen, Rob Herring, Pawel Moll, Mark Rutland, Stephen Warren, Ian Campbell, Rob Landley, Mark Brown, devicetree, linux-doc, linux-kernel Add the option to choose clock on which pin input to SSC (as slave). Default is on TK pin to SSC, add "atmel,clk-from-rk-pin" option to specify the clock is on RK pin to SSC. Signed-off-by: Bo Shen <voice.shen@atmel.com> --- Changes in v2: - using "-" replace "_" in binding document Documentation/devicetree/bindings/sound/atmel-wm8904.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Documentation/devicetree/bindings/sound/atmel-wm8904.txt b/Documentation/devicetree/bindings/sound/atmel-wm8904.txt index 8bbe50c..2d86e2b 100644 --- a/Documentation/devicetree/bindings/sound/atmel-wm8904.txt +++ b/Documentation/devicetree/bindings/sound/atmel-wm8904.txt @@ -33,6 +33,12 @@ Required properties: Optional properties: - pinctrl-names, pinctrl-0: Please refer to pinctrl-bindings.txt + - atmel,clk-from-rk-pin: bool property. + - When SSC works in slave mode, according to the hardware design, the + clock can get from TK pin, and also can get from RK pin. So, add + this parameter to choose where the clock from. + - By default the clock is from TK pin, if the clock from RK pin, this + property is needed. Example: sound { -- 1.8.5.2 ^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH v2 3/3] Binding: atmel-wm8904: add option to choose clock @ 2014-01-27 6:55 ` Bo Shen 0 siblings, 0 replies; 20+ messages in thread From: Bo Shen @ 2014-01-27 6:55 UTC (permalink / raw) To: linux-arm-kernel Add the option to choose clock on which pin input to SSC (as slave). Default is on TK pin to SSC, add "atmel,clk-from-rk-pin" option to specify the clock is on RK pin to SSC. Signed-off-by: Bo Shen <voice.shen@atmel.com> --- Changes in v2: - using "-" replace "_" in binding document Documentation/devicetree/bindings/sound/atmel-wm8904.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Documentation/devicetree/bindings/sound/atmel-wm8904.txt b/Documentation/devicetree/bindings/sound/atmel-wm8904.txt index 8bbe50c..2d86e2b 100644 --- a/Documentation/devicetree/bindings/sound/atmel-wm8904.txt +++ b/Documentation/devicetree/bindings/sound/atmel-wm8904.txt @@ -33,6 +33,12 @@ Required properties: Optional properties: - pinctrl-names, pinctrl-0: Please refer to pinctrl-bindings.txt + - atmel,clk-from-rk-pin: bool property. + - When SSC works in slave mode, according to the hardware design, the + clock can get from TK pin, and also can get from RK pin. So, add + this parameter to choose where the clock from. + - By default the clock is from TK pin, if the clock from RK pin, this + property is needed. Example: sound { -- 1.8.5.2 ^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH v2 3/3] Binding: atmel-wm8904: add option to choose clock @ 2014-01-27 6:55 ` Bo Shen 0 siblings, 0 replies; 20+ messages in thread From: Bo Shen @ 2014-01-27 6:55 UTC (permalink / raw) To: broonie Cc: nicolas.ferre, plagnioj, linux-sound, alsa-devel, linux-arm-kernel, Bo Shen, Rob Herring, Pawel Moll, Mark Rutland, Stephen Warren, Ian Campbell, Rob Landley, Mark Brown, devicetree, linux-doc, linux-kernel Add the option to choose clock on which pin input to SSC (as slave). Default is on TK pin to SSC, add "atmel,clk-from-rk-pin" option to specify the clock is on RK pin to SSC. Signed-off-by: Bo Shen <voice.shen@atmel.com> --- Changes in v2: - using "-" replace "_" in binding document Documentation/devicetree/bindings/sound/atmel-wm8904.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Documentation/devicetree/bindings/sound/atmel-wm8904.txt b/Documentation/devicetree/bindings/sound/atmel-wm8904.txt index 8bbe50c..2d86e2b 100644 --- a/Documentation/devicetree/bindings/sound/atmel-wm8904.txt +++ b/Documentation/devicetree/bindings/sound/atmel-wm8904.txt @@ -33,6 +33,12 @@ Required properties: Optional properties: - pinctrl-names, pinctrl-0: Please refer to pinctrl-bindings.txt + - atmel,clk-from-rk-pin: bool property. + - When SSC works in slave mode, according to the hardware design, the + clock can get from TK pin, and also can get from RK pin. So, add + this parameter to choose where the clock from. + - By default the clock is from TK pin, if the clock from RK pin, this + property is needed. Example: sound { -- 1.8.5.2 ^ permalink raw reply related [flat|nested] 20+ messages in thread
* Re: [PATCH v2 3/3] Binding: atmel-wm8904: add option to choose clock 2014-01-27 6:55 ` Bo Shen (?) @ 2014-01-27 19:31 ` Mark Brown -1 siblings, 0 replies; 20+ messages in thread From: Mark Brown @ 2014-01-27 19:31 UTC (permalink / raw) To: Bo Shen Cc: Mark Rutland, devicetree, alsa-devel, linux-doc, Pawel Moll, Stephen Warren, Ian Campbell, nicolas.ferre, linux-kernel, linux-sound, Rob Herring, Rob Landley, plagnioj, linux-arm-kernel [-- Attachment #1.1: Type: text/plain, Size: 1117 bytes --] On Mon, Jan 27, 2014 at 02:55:26PM +0800, Bo Shen wrote: > diff --git a/Documentation/devicetree/bindings/sound/atmel-wm8904.txt b/Documentation/devicetree/bindings/sound/atmel-wm8904.txt > index 8bbe50c..2d86e2b 100644 > --- a/Documentation/devicetree/bindings/sound/atmel-wm8904.txt > +++ b/Documentation/devicetree/bindings/sound/atmel-wm8904.txt > @@ -33,6 +33,12 @@ Required properties: > > Optional properties: > - pinctrl-names, pinctrl-0: Please refer to pinctrl-bindings.txt > + - atmel,clk-from-rk-pin: bool property. > + - When SSC works in slave mode, according to the hardware design, the > + clock can get from TK pin, and also can get from RK pin. So, add > + this parameter to choose where the clock from. > + - By default the clock is from TK pin, if the clock from RK pin, this > + property is needed. Can this be made a property of the SSC device so that it's available for all cards using it rather than just this one? That would also address the issue with the way the configuration is passed to the controller that Lars-Peter identified. [-- Attachment #1.2: Digital signature --] [-- Type: application/pgp-signature, Size: 836 bytes --] [-- Attachment #2: Type: text/plain, Size: 0 bytes --] ^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH v2 3/3] Binding: atmel-wm8904: add option to choose clock @ 2014-01-27 19:31 ` Mark Brown 0 siblings, 0 replies; 20+ messages in thread From: Mark Brown @ 2014-01-27 19:31 UTC (permalink / raw) To: linux-arm-kernel On Mon, Jan 27, 2014 at 02:55:26PM +0800, Bo Shen wrote: > diff --git a/Documentation/devicetree/bindings/sound/atmel-wm8904.txt b/Documentation/devicetree/bindings/sound/atmel-wm8904.txt > index 8bbe50c..2d86e2b 100644 > --- a/Documentation/devicetree/bindings/sound/atmel-wm8904.txt > +++ b/Documentation/devicetree/bindings/sound/atmel-wm8904.txt > @@ -33,6 +33,12 @@ Required properties: > > Optional properties: > - pinctrl-names, pinctrl-0: Please refer to pinctrl-bindings.txt > + - atmel,clk-from-rk-pin: bool property. > + - When SSC works in slave mode, according to the hardware design, the > + clock can get from TK pin, and also can get from RK pin. So, add > + this parameter to choose where the clock from. > + - By default the clock is from TK pin, if the clock from RK pin, this > + property is needed. Can this be made a property of the SSC device so that it's available for all cards using it rather than just this one? That would also address the issue with the way the configuration is passed to the controller that Lars-Peter identified. -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140127/89853ba3/attachment.sig> ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH v2 3/3] Binding: atmel-wm8904: add option to choose clock @ 2014-01-27 19:31 ` Mark Brown 0 siblings, 0 replies; 20+ messages in thread From: Mark Brown @ 2014-01-27 19:31 UTC (permalink / raw) To: Bo Shen Cc: nicolas.ferre, plagnioj, linux-sound, alsa-devel, linux-arm-kernel, Rob Herring, Pawel Moll, Mark Rutland, Stephen Warren, Ian Campbell, Rob Landley, devicetree, linux-doc, linux-kernel [-- Attachment #1: Type: text/plain, Size: 1117 bytes --] On Mon, Jan 27, 2014 at 02:55:26PM +0800, Bo Shen wrote: > diff --git a/Documentation/devicetree/bindings/sound/atmel-wm8904.txt b/Documentation/devicetree/bindings/sound/atmel-wm8904.txt > index 8bbe50c..2d86e2b 100644 > --- a/Documentation/devicetree/bindings/sound/atmel-wm8904.txt > +++ b/Documentation/devicetree/bindings/sound/atmel-wm8904.txt > @@ -33,6 +33,12 @@ Required properties: > > Optional properties: > - pinctrl-names, pinctrl-0: Please refer to pinctrl-bindings.txt > + - atmel,clk-from-rk-pin: bool property. > + - When SSC works in slave mode, according to the hardware design, the > + clock can get from TK pin, and also can get from RK pin. So, add > + this parameter to choose where the clock from. > + - By default the clock is from TK pin, if the clock from RK pin, this > + property is needed. Can this be made a property of the SSC device so that it's available for all cards using it rather than just this one? That would also address the issue with the way the configuration is passed to the controller that Lars-Peter identified. [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 836 bytes --] ^ permalink raw reply [flat|nested] 20+ messages in thread
end of thread, other threads:[~2014-01-27 19:32 UTC | newest] Thread overview: 20+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-01-27 6:55 [PATCH v2 0/3] ASoC: atmel_ssc_dai: add option to choose clock Bo Shen 2014-01-27 6:55 ` Bo Shen 2014-01-27 6:55 ` Bo Shen 2014-01-27 6:55 ` [PATCH v2 1/3] ASoC: atmel_ssc_dai: make " Bo Shen 2014-01-27 6:55 ` Bo Shen 2014-01-27 6:55 ` Bo Shen 2014-01-27 6:55 ` Bo Shen 2014-01-27 7:06 ` [alsa-devel] " Lars-Peter Clausen 2014-01-27 7:06 ` Lars-Peter Clausen 2014-01-27 7:06 ` Lars-Peter Clausen 2014-01-27 6:55 ` [PATCH v2 2/3] ASoC: atmel_wm8904: make it available " Bo Shen 2014-01-27 6:55 ` Bo Shen 2014-01-27 6:55 ` Bo Shen 2014-01-27 6:55 ` Bo Shen 2014-01-27 6:55 ` [PATCH v2 3/3] Binding: atmel-wm8904: add option " Bo Shen 2014-01-27 6:55 ` Bo Shen 2014-01-27 6:55 ` Bo Shen 2014-01-27 19:31 ` Mark Brown 2014-01-27 19:31 ` Mark Brown 2014-01-27 19:31 ` Mark Brown
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.