On 01/14/2013 07:40 PM, Kuninori Morimoto wrote:
Support for loading the simple-card module via devicetree. It requests cpu/codec/platform information for probing.
diff --git a/Documentation/devicetree/bindings/sound/simple-card.txt b/Documentation/devicetree/bindings/sound/simple-card.txt
+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.
+- 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.
+- 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.
+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?