All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Warren <swarren@wwwdotorg.org>
To: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Cc: Linux-ALSA <alsa-devel@alsa-project.org>,
	devicetree-discuss@lists.ozlabs.org,
	Mark Brown <broonie@opensource.wolfsonmicro.com>,
	Kuninori Morimoto <kuninori.morimoto.gx@gmail.com>,
	Simon <horms@verge.net.au>, Liam Girdwood <lrg@ti.com>
Subject: Re: [RFC][PATCH 2/2 v2] ASoC: simple-card: add Device Tree support
Date: Tue, 29 Jan 2013 09:53:12 -0700	[thread overview]
Message-ID: <5107FE78.6030001@wwwdotorg.org> (raw)
In-Reply-To: <87txq03fcb.wl%kuninori.morimoto.gx@renesas.com>

On 01/28/2013 07:14 PM, Kuninori Morimoto wrote:
> 
> Hi Stephen
> 
> Thank you for checking path
> 
>>> +Required properties:
>>> +
>>> +- compatible					: "simple-audio"
>>> +- simple-audio,card-name			: simple-audio card name
>>> +
>>> +- simple-audio,platform,controller		: phandle for platform
>>
>> Rename that simple-audio,dma-controller perhaps? "platform" is a word
>> specific to ASoC, and the bindings really should be generic across OSs.
>>
>> But I wonder why you'd even need the ASoC platform to be specified in
>> DT; instead, the following seem better:
>>
>> a) Have the CPU DAI's driver register the platform itself. Tegra does this.
>>
>> b) Assume the ASoC "platform" device simply does DMA via a standard
>> dmaengine driber, and instead refer to the DMA controller using DMA
>> engine DT bindings.
> 
> This is the feature of this "simple-audio" driver.
> "simple-audio" produces board/SoC specific relationship between codec/cpu.
> 
> For example, we are using FSI for cpu, and AK4642/WM8978/DA7210 for codec.
> In our old style, we created fsi-ak4642, fsi-wm8978, fsi-da7210...
> This means that new fsi-xxx driver is required whenever new boards were created.
> This simple-audio was created to avoid it

I still don't understand why the ASoC platform has to be exposed in
device tree; it seems like something completely internal to the ASoC
driver. Take a look at the Tegra ASoC DT bindings; the platform isn't in
DT at all there.

>>> +- simple-audio,platform,name			: simple-audio platform name
>>
>> Can you explain why you'd need the platform name in the DT? Doesn't the
>> phandle always uniquely identify it? The example doesn't use this property.
> 
> Ahh yes, this simple-audio supports both phandle and name matching for compatibility.
> example showed phandle matching only.

I think the DT binding should only support phandle-based resolution.
Name-based resolution would be quite odd for a device tree binding.

>>> +- simple-audio,cpu,controller			: phandle for CPU DAI
>>> +- simple-audio,cpu,dai,name			: simple-audio CPU DAI name
>>
>> It'd be a bit more typical of device-tree to have a single property that
>> defines both the controller and any properties of the controller at
>> once, e.g. something like:
>>
>> simple-audio,cpu-interface = <&codec_phandle AK4648_I2S_ITF_A>;
>>
>> where we assume something like:
>>
>> #define AK4648_I2S_ITF_A 0 // Interface A's ID
>>
>> That would remove the need to put string names into the DT.
> 
> Hmm... this "name" is required on ASoC matching...
> Especially, "codec dai name" is must item.
> 
> Should I modify ASoC itself ?

When I was thinking about a more generic DT binding for audio, quite a
while ago, I certainly was planning to have each CODEC expose some kind
of "of_xlate" function that could prase the integer interface ID in
device tree, and convert it to a string name for internal use by ASoC.

>>> +simple-audio,xxx,dai,clock-gating
>>> +	"continuous"
>>> +	"gated"
>>
>> Don't you need to use the common clock bindings to define which clock to
>> gate? Or, is the I2S/... node's binding supposed to provide that
>> information?
> 
> I guess it is dependent on SoC/board.
> No ?

OK, I guess if this is I2S bus clock rather than I2S module clock, then
this is fine as-is. Not all I2S controllers can implement this though.

  reply	other threads:[~2013-01-29 16:53 UTC|newest]

Thread overview: 113+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-12-26  6:51 [PATCH 0/5] ASoC: add simple-card DT support Kuninori Morimoto
2012-12-26  6:52 ` [PATCH 1/5] ASoC: add snd_soc_of_parse_daifmt() Kuninori Morimoto
2012-12-26  6:52 ` [PATCH 2/5] ASoC: simple-card: use struct device pointer for dev_xxx() Kuninori Morimoto
2012-12-27 16:51   ` Mark Brown
2012-12-26  6:52 ` [PATCH 3/5] ASoC: simple-card: add asoc_simple_dai_set for initializing Kuninori Morimoto
2012-12-26  6:52 ` [PATCH 4/5] ASoC: simple-card: remove pointless struct asoc_simple_dai_init_info Kuninori Morimoto
2012-12-26  6:53 ` [PATCH 5/5] ASoC: simple-card: add Device Tree support Kuninori Morimoto
2013-01-04 17:49   ` Stephen Warren
2013-01-04 19:37     ` Mark Brown
2013-01-08  0:13       ` Kuninori Morimoto
2013-01-15  2:34       ` [RFC][PATCH 0/2 v2] " Kuninori Morimoto
2013-01-15  2:36         ` [RFC][PATCH 1/2] ASoC: add snd_soc_of_parse_daifmt() for DeviceTree Kuninori Morimoto
     [not found]           ` <87wqvfyxym.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2013-01-27  3:42             ` Mark Brown
2013-01-29  3:25               ` Kuninori Morimoto
2013-01-28 12:57             ` [alsa-devel] " Bard Shen
2013-01-15  2:40         ` [RFC][PATCH 2/2 v2] ASoC: simple-card: add Device Tree support Kuninori Morimoto
     [not found]           ` <87vcazyxr1.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2013-01-27  3:59             ` Mark Brown
2013-01-29  1:31               ` Kuninori Morimoto
     [not found]                 ` <87vcag3hcj.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2013-01-29  1:48                   ` Mark Brown
2013-01-29  2:17                     ` Kuninori Morimoto
2013-01-29 10:00                       ` Kuninori Morimoto
     [not found]                         ` <87obg8z4u4.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2013-01-29 16:57                           ` Stephen Warren
2013-01-30  5:02                             ` [PATCH 0/2] ASoC: fixup SND_SOC_DAIFMT_GATED/CONT Kuninori Morimoto
2013-01-30  5:03                               ` [PATCH 1/2] ASoC: SND_SOC_DAIFMT_GATED become 0 as default settings Kuninori Morimoto
2013-01-30  5:03                               ` [PATCH 2/2] ASoC: clock gating is decided by bool on snd_soc_of_parse_daifmt() Kuninori Morimoto
2013-01-30 16:39                                 ` Stephen Warren
2013-01-30  8:42                               ` [PATCH 0/2] ASoC: fixup SND_SOC_DAIFMT_GATED/CONT Mark Brown
2013-01-30  9:09                             ` [RFC][PATCH 2/2 v3] ASoC: simple-card: add Device Tree support Kuninori Morimoto
2013-01-30 20:14                               ` Stephen Warren
2013-01-31  0:49                                 ` Kuninori Morimoto
     [not found]                                   ` <877gmuqir2.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2013-01-31 17:15                                     ` Stephen Warren
     [not found]                                       ` <510AA6CB.3050809-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-01-31 17:20                                         ` Mark Brown
2013-01-31  1:35                                 ` Mark Brown
     [not found]                                   ` <20130131013500.GA4759-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
2013-01-31 17:09                                     ` Stephen Warren
     [not found]                                       ` <510AA551.30400-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-01-31 17:11                                         ` Mark Brown
     [not found]                                           ` <20130131171158.GA15376-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
2013-01-31 17:17                                             ` Stephen Warren
     [not found]                                               ` <510AA720.9000904-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-01-31 17:21                                                 ` Mark Brown
2013-02-01  1:54                                                   ` Kuninori Morimoto
2013-02-04 22:23                                                     ` Stephen Warren
2013-02-05 15:23                                                       ` Mark Brown
2013-02-01  1:05                                 ` Kuninori Morimoto
2013-02-01  5:19                                   ` [RFC][PATCH 1/2] ASoC: codec_dai_name become option Kuninori Morimoto, Kuninori Morimoto
     [not found]                                     ` <87lib8d31v.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2013-02-04 22:26                                       ` Stephen Warren
     [not found]                                         ` <511035A1.6060402-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-02-05  0:30                                           ` Kuninori Morimoto
2013-02-01  5:20                                   ` [RFC][PATCH 2/2 v4] ASoC: simple-card: add Device Tree support Kuninori Morimoto, Kuninori Morimoto
     [not found]                                   ` <87halw7sij.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2013-02-04 22:22                                     ` [RFC][PATCH 2/2 v3] " Stephen Warren
2013-02-05  0:31                                       ` Kuninori Morimoto
     [not found]                                       ` <5110349D.3050308-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-02-05 10:09                                         ` [RFC][PATCH 0/3 v4] " Kuninori Morimoto
     [not found]                                           ` <87ehgvrs1h.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2013-02-05 10:11                                             ` [PATCH 1/3] ASoC: use list_add_tail() instead of list_add() for platform/codec/dai list Kuninori Morimoto
     [not found]                                               ` <87d2wfrryg.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2013-02-11 21:26                                                 ` Stephen Warren
2013-02-05 10:11                                             ` [PATCH 2/3] ASoC: add snd_soc_of_get_port_dai_name() Kuninori Morimoto
     [not found]                                               ` <87bobzrry6.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2013-02-11 21:34                                                 ` Stephen Warren
2013-02-12  5:37                                                   ` Kuninori Morimoto
     [not found]                                                     ` <87bobqf5yq.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2013-02-13 23:33                                                       ` Stephen Warren
     [not found]                                                         ` <511C22E2.60701-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-02-14  1:16                                                           ` Kuninori Morimoto
2013-02-14  4:37                                                             ` Stephen Warren
2013-02-14  5:14                                                               ` Kuninori Morimoto
     [not found]                                                                 ` <874nhfv5mb.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2013-02-14  9:20                                                                   ` [PATCH 0/4 v6] " Kuninori Morimoto
2013-02-14  9:21                                                                     ` [PATCH 1/4 v6] ASoC: add .of_xlate_dai_name callback on struct snd_soc_dai_driver Kuninori Morimoto
2013-02-18  1:45                                                                       ` Kuninori Morimoto
2013-02-19 15:50                                                                       ` Lars-Peter Clausen
2013-02-20  0:50                                                                         ` Kuninori Morimoto
     [not found]                                                                     ` <8738wzuu9g.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2013-02-14  9:22                                                                       ` [PATCH 2/4 v6] ASoC: ak4642: enable .of_xlate_dai_name " Kuninori Morimoto
2013-02-14  9:22                                                                       ` [PATCH 3/4 v6] ASoC: fsi: " Kuninori Morimoto
2013-02-14  9:24                                                                       ` [PATCH 4/4 v6] ASoC: simple-card: add Device Tree support Kuninori Morimoto
2013-02-19 15:57                                                                         ` Lars-Peter Clausen
2013-02-20  0:48                                                                           ` Kuninori Morimoto
     [not found]                                                                             ` <87r4kb95f3.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2013-02-20 12:17                                                                               ` [alsa-devel] " Lars-Peter Clausen
     [not found]                                                                                 ` <5124BEF5.4040703-Qo5EllUWu/uELgA04lAiVw@public.gmane.org>
2013-02-20 18:02                                                                                   ` Stephen Warren
2013-02-22  2:41                                                                                     ` Kuninori Morimoto
     [not found]                                                                     ` <871ucjuu7g.wl%kuninori.morimoto.gx@renes as.com>
     [not found]                                                                       ` <871ucjuu7g.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2013-02-19 20:53                                                                         ` [PATCH 1/4 v6] ASoC: add .of_xlate_dai_name callback on struct snd_soc_dai_driver Stephen Warren
     [not found]                                                                           ` <5123E664.7090107-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-02-19 21:06                                                                             ` Stephen Warren
     [not found]                                                                               ` <5123E972.40307-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-02-20  0:59                                                                                 ` Kuninori Morimoto
2013-02-20 18:13                                                                                   ` Stephen Warren
2013-02-20  0:52                                                                             ` Kuninori Morimoto
     [not found]                                                                     ` <87y5ertfl7.wl%kuninori.morimoto.gx@renes as.com>
     [not found]                                                                       ` <87y5ertfl7.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2013-02-19 21:00                                                                         ` [PATCH 3/4 v6] ASoC: fsi: enable .of_xlate_dai_name " Stephen Warren
2013-02-20  1:04                                                                           ` Kuninori Morimoto
2013-02-20 12:03                                                                             ` Lars-Peter Clausen
2013-02-25  8:49                                                                     ` [PATCH 0/5 v7][RFC] ASoC: simple-card DT support Kuninori Morimoto
     [not found]                                                                       ` <87a9qsg4lp.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2013-02-25  8:51                                                                         ` [PATCH 1/5 v7][RFC] ASoC: add snd_soc_register_cpu() Kuninori Morimoto
2013-02-27 22:45                                                                           ` Stephen Warren
2013-02-25  8:53                                                                         ` [PATCH 2/5 v7][RFC] ASoC: add .of_xlate_dai_name on snd_soc_cpu_cpu/codec_driver Kuninori Morimoto
2013-02-25  8:56                                                                         ` [PATCH 3/5 v7][RFC] ASoC: simple-card: add Device Tree support Kuninori Morimoto
2013-02-27 23:17                                                                           ` Stephen Warren
2013-02-28  0:53                                                                             ` Kuninori Morimoto
2013-02-25  8:57                                                                         ` [PATCH 4/5 v7][RFC] ASoC: ak4642: add .of_xlate_dai_name support Kuninori Morimoto
2013-02-25  8:57                                                                         ` [PATCH 5/5 v7][RFC] ASoC: fsi: " Kuninori Morimoto
2013-02-27 23:28                                                                           ` Stephen Warren
     [not found]                                                                       ` <877glwg4fb.wl%kuninori.morimoto.gx@renes as.com>
     [not found]                                                                         ` <877glwg4fb.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2013-02-27 22:56                                                                           ` [PATCH 2/5 v7][RFC] ASoC: add .of_xlate_dai_name on snd_soc_cpu_cpu/codec_driver Stephen Warren
     [not found]                                                                       ` <874nh0g49j.wl%kuninori.morimoto.gx@renes as.com>
     [not found]                                                                         ` <874nh0g49j.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2013-02-27 23:27                                                                           ` [PATCH 4/5 v7][RFC] ASoC: ak4642: add .of_xlate_dai_name support Stephen Warren
     [not found]                                                                       ` <87mwuptgju.wl%kuninori.morimoto.gx@renes as.com>
     [not found]                                                                         ` <87mwuptgju.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2013-02-28 19:14                                                                           ` [PATCH 1/5 v7][RFC] ASoC: add snd_soc_register_cpu() Stephen Warren
2013-03-01 20:50                                                                             ` Lars-Peter Clausen
     [not found]                                                                               ` <1362174130.4439.61.camel@loki>
2013-03-02  3:25                                                                                 ` Mark Brown
     [not found]                                                                                   ` <1362426516.4448.68.camel@loki>
2013-03-05  3:05                                                                                     ` Mark Brown
     [not found]                                                                       ` <87lia9tg1r.wl%kuninori.morimoto.gx@renes as.com>
     [not found]                                                                         ` <87lia9tg1r.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2013-02-28 19:16                                                                           ` [PATCH 3/5 v7][RFC] ASoC: simple-card: add Device Tree support Stephen Warren
     [not found]                                                                       ` <512E8C99.2040708-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-02-28  0:42                                                                         ` [PATCH 1/5 v7][RFC] ASoC: add snd_soc_register_cpu() Kuninori Morimoto
2013-03-01  9:44                                                                         ` Mark Brown
2013-07-11 14:57                                                                       ` [PATCH 0/5 v7][RFC] ASoC: simple-card DT support Daniel Mack
2013-07-12  0:04                                                                         ` Kuninori Morimoto
2013-02-05 10:12                                             ` [PATCH 3/3 v4] ASoC: simple-card: add Device Tree support Kuninori Morimoto
     [not found]                                               ` <87a9rjrrwt.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2013-02-07  0:55                                                 ` [PATCH 3/3 v5] " Kuninori Morimoto
     [not found]                                                   ` <87zjzhymbs.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2013-02-11 21:40                                                     ` Stephen Warren
2013-02-12  4:48                                                       ` Kuninori Morimoto
     [not found]                                                         ` <87d2w6f88p.wl%kuninori.morimoto.gx-zM6kxYcvzFBBDgjK7y7TUQ@public.gmane.org>
2013-02-13 23:30                                                           ` Stephen Warren
     [not found]                                                       ` <51196541.8010207-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-02-13  1:13                                                         ` Kuninori Morimoto
2013-02-13 23:36                                                           ` Stephen Warren
2013-02-06  8:44                                             ` [RFC][PATCH 0/3 v4] " Kuninori Morimoto
2013-01-28 21:11             ` [RFC][PATCH 2/2 v2] " Stephen Warren
     [not found]               ` <5106E98A.6070103-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-01-29  1:45                 ` Mark Brown
2013-01-29  2:14               ` Kuninori Morimoto
2013-01-29 16:53                 ` Stephen Warren [this message]
2013-01-30  1:09                   ` Kuninori Morimoto
2013-01-25  1:03         ` [RFC][PATCH 0/2 " Kuninori Morimoto

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5107FE78.6030001@wwwdotorg.org \
    --to=swarren@wwwdotorg.org \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@opensource.wolfsonmicro.com \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=horms@verge.net.au \
    --cc=kuninori.morimoto.gx@gmail.com \
    --cc=kuninori.morimoto.gx@renesas.com \
    --cc=lrg@ti.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.