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.