Re: [PATCH 3/3] ASoC: simple-card: Add system-clock-id DT parameter to dai nodes
On 06/21/2014 01:09 PM, Mark Brown wrote: On Fri, Jun 13, 2014 at 01:04:38PM +0300, Jyri Sarha wrote: Select clk_id parameters for set_sysclk calls in the card init phase. This is making the ID defined by the drivers into ABI. It's not clear that this is something we want to do, and we certainly don't want to do it without updating the driver bindings. In principle what we want to do here is have our clocks handled by the clock API, though that's not trivial work. I see, actually this is not something I would need anytime soon, but how about the previous Add system-clock-direction DT parameter to dai nodes patch? There is a clear common definitions for clock direction, so this should be ok, right? If the clock direction patch would go in I would not need to add more stuff to already quite messy davinci-evm driver. Best regards, Jyri -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 3/3] ASoC: simple-card: Add system-clock-id DT parameter to dai nodes
On Tue, Jun 24, 2014 at 12:59:20PM +0300, Jyri Sarha wrote: I see, actually this is not something I would need anytime soon, but how about the previous Add system-clock-direction DT parameter to dai nodes patch? There is a clear common definitions for clock direction, so this should be ok, right? If the clock direction patch would go in I would not need to add more stuff to already quite messy davinci-evm driver. Yeah, I'm still thinking about that one. One thing I was wondering was if we should agree a definition that's generic with the clock API but then have an ASoC specific implementation for now until the clock API gets further along. signature.asc Description: Digital signature
Re: [PATCH 3/3] ASoC: simple-card: Add system-clock-id DT parameter to dai nodes
On Fri, Jun 13, 2014 at 01:04:38PM +0300, Jyri Sarha wrote: Select clk_id parameters for set_sysclk calls in the card init phase. This is making the ID defined by the drivers into ABI. It's not clear that this is something we want to do, and we certainly don't want to do it without updating the driver bindings. In principle what we want to do here is have our clocks handled by the clock API, though that's not trivial work. signature.asc Description: Digital signature
[PATCH 3/3] ASoC: simple-card: Add system-clock-id DT parameter to dai nodes
Select clk_id parameters for set_sysclk calls in the card init phase. Signed-off-by: Jyri Sarha jsa...@ti.com --- .../devicetree/bindings/sound/simple-card.txt |2 ++ include/sound/simple_card.h|1 + sound/soc/generic/simple-card.c|6 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/sound/simple-card.txt b/Documentation/devicetree/bindings/sound/simple-card.txt index 8460744..8877130 100644 --- a/Documentation/devicetree/bindings/sound/simple-card.txt +++ b/Documentation/devicetree/bindings/sound/simple-card.txt @@ -72,6 +72,8 @@ Optional CPU/CODEC subnodes properties: clock node (= common clock), or system-clock-frequency (if system doens't support common clock) - system-clock-direction : in or out, default in +- system-clock-id : u32, clk_id parameter for set_sysclk, + default 0 Example 1 - single DAI link: diff --git a/include/sound/simple_card.h b/include/sound/simple_card.h index 6d74fef..f3c7a30 100644 --- a/include/sound/simple_card.h +++ b/include/sound/simple_card.h @@ -19,6 +19,7 @@ struct asoc_simple_dai { unsigned int fmt; unsigned int sysclk; int sysclk_dir; + int sysclk_id; int slots; int slot_width; }; diff --git a/sound/soc/generic/simple-card.c b/sound/soc/generic/simple-card.c index 8dd7957..f840d9c 100644 --- a/sound/soc/generic/simple-card.c +++ b/sound/soc/generic/simple-card.c @@ -64,7 +64,7 @@ static int __asoc_simple_card_dai_init(struct snd_soc_dai *dai, } if (set-sysclk) { - ret = snd_soc_dai_set_sysclk(dai, 0, set-sysclk, + ret = snd_soc_dai_set_sysclk(dai, set-sysclk_id, set-sysclk, set-sysclk_dir); if (ret ret != -ENOTSUPP) { dev_err(dai-dev, simple-card: set_sysclk error\n); @@ -150,6 +150,10 @@ asoc_simple_card_sub_parse_of(struct device_node *np, return -EINVAL; } + ret = of_property_read_u32(np, system-clock-id, val); + if (ret == 0) + dai-sysclk_id = val; + /* * dai-sysclk come from * clocks = xxx (if system has common clock) -- 1.7.9.5 -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html