[alsa-devel] [PATCH 2/5 v4] drm/i2c/adv7511: Add audio support

Lars-Peter Clausen lars at metafoo.de
Mon Apr 11 14:23:56 CEST 2016


On 04/11/2016 01:32 PM, Jose Abreu wrote:
> Hi Lars,
> 
> 
> On 11-04-2016 10:33, Lars-Peter Clausen wrote:
>> On 04/11/2016 11:27 AM, Jose Abreu wrote:
>>> Hi Lars,
>>>
>>>
>>> On 09-04-2016 16:02, Lars-Peter Clausen wrote:
>>>> On 04/08/2016 06:12 PM, Jose Abreu wrote:
>>>> [...]
>>>>>> [...]
>>>>>>> +- adi,enable-audio: If set the ADV7511 driver will register a codec interface
>>>>>>> +  into ALSA SoC.
>>>>>> This is not a description of the hardware.
>>>>> Is this okay: "adi,enable-audio: Set this boolean parameter if ADV7511
>>>>> transmitter routes audio signals" ?
>>>> I don't think we need this property. There is no problem with registering
>>>> the audio part unconditionally. As long as there is no connection we wont
>>>> create a sound card that is exposed to userspace.
>>>>
>>> This change was suggested by Laurent Pinchart and was introduced in v3. Quoting
>>> Laurent:
>>> "The idea is that enabling support for ADV7511 audio in the kernel isn't coupled
>>> with whether the system includes audio support. It would be confusing, and would
>>> also waste resources, to create a Linux sound device when no sound channel is
>>> routed on the board."
>> I wouldn't care too much about this at this point, the extra amount of
>> resources required for registering the CODEC (but not the sound card) is
>> just a few bytes (sizeof(struct snd_soc_codec)).
>>
>> Nevertheless what we should do is describe the hardware and from this
>> information infer whether there is a audio connection or not and if there is
>> none we might skip registering the CODEC. In my opinion this hardware
>> description should be modeled using of-graph, having a connection between
>> the SoC side and the adv7511 SPDIF or I2S port.
>>
> 
> You mean something like this:
> 
> sound_playback: sound_playback {
>     compatible = "simple-audio-card";
>     [...]
>     simple-audio-card,format = "i2s";
>     [...]
> }
> 
> adv7511 at xx {
>     compatible = "adi,adv7511";
>     [...]
> 
>     ports {
>         [...]
>         /* Audio Output */
>         port at x {
>             reg = <x>;
>             endpoint {
>                 remote-endpoint = <&sound_playback>;
>             }
>         }
>     }
> }

Yes, something like that. Not exactly like that, but similar. One of the
core concepts of of-graph is that there is always a description of the
connection from both sides, this way each side can independently figure out
where it is connected.

Currently there is also zero support of of-graph in ASoC, so a bit of work
is required to get this integrated properly.



More information about the Alsa-devel mailing list