Subject: [PATCH v3] ASoC: rockchip: Add machine driver for MAX98357A/RT5514/DA7219

From: [email-masked] (Xing Zheng)
Date: Tue, 07 Jun 2016 19:38:23 +0800

Hi Mark,

On 2016?06?07? 18:47, Mark Brown wrote:
> On Tue, Jun 07, 2016 at 10:49:35AM +0800, Xing Zheng wrote:
>> On 2016?06?07? 07:50, Mark Brown wrote:
>>> It should probably be three compatibles, one per CODEC, if the driver
>>> needs to handle each separately.
>> Do you mean like this:
>> --------
>> sound {
>> compatible = "rockchip,rk3399-max98357a-rt5514-da7219";
>>
>> dailink-0 {
>> compatible = "rockchip,rk3399-max98357a";
>> rockchip,cpu =<&i2s0>;
>> rockchip,codec =<&max98357a>;
>> };
>>
>> dailink-1 {
>> compatible = "rockchip,rk3399-rt5514";
>> rockchip,cpu =<&i2s0>;
>> rockchip,codec =<&headsetcodec>;
>> };
>>
>> dailink-2 {
>> compatible = "rockchip,rk3399-da7219";
>> rockchip,cpu =<&i2s0>;
>> rockchip,codec =<&codec>;
>> };
>> };
>> --------
>> Above, the machine drvier will handle them. Please correct me if I
>> misunderstand.
> No, that'd be one card with all three CODECs on the same board which I'm
> guessing isn't the intention?
Yes, because on our board, the audio connection by hardware really is such:
                   |-- max98357a
i2s0 <==> |-- rt5514
                   | -- da7219

We do need to support max98357a / rt5514 / da7219 via i2s0 on the same 
board for RK3399.

I remember that it will be failed if we register card with i2s0 more 
times. Therefore, I chose this mothod that create 3 dai-links on one 
machine driver.

Thanks.

-- 
- Xing Zheng