On 20/10/2020 19:54, Cheng-yi Chiang wrote:
Not with the compatible string!
Currently card name, and long name are exactly same in all Qualcomm soundcards, which makes it very difficult to identify how those boards re wired up at UCM2 level. So the plan is to properly populate card long name with "model" property which can include details on how things are wiredup on that board.
--srini
Hi Srini, Thanks for taking a look. Let me try to clarify your comments in case there is any misunderstanding.
I understand your request on having different board variations using different sound card names through model property, and I totally agree with that. As for compatible strings, do you insist on having all the board variations using exactly the same compatible string ?
For example if we set below property for sound card in Device tree model = "RB5";
We will end up with
# cat /proc/asound/cards 0 [RB5 ]: RB5 - RB5 RB5
This is totally not very useful w.r.t UCM2 and makes it very difficult to common up parts of the configs.
My suggestions are. 1. set card->driver_name to something more sensible in your sound card driver.
ex: card->driver_name = "SM8250";
2. set long name in model DT property and set it as card long name ex: in DT: model = "Qualcomm-RB5-WSA8815-Speakers-DMIC0";
in sound driver or common.c:
of_property_read_string_index(np, "model", 0, &card->long_name);
With this set:
now # cat /proc/asound/cards 0 [QualcommRB5WSA8]: SM8250 - Qualcomm-RB5-WSA8815-Speakers-D Qualcomm-RB5-WSA8815-Speakers-DMIC0
This also means that in UCM2 we can have a top level SM8250 directory which can contain other board variants something like:
ucm2/Qualcomm/sm8250/Qualcomm-RB5-WSA8815-Speakers-DMIC0.conf ucm2/Qualcomm/sm8250/Qualcomm-RB5-WSA8810-Speakers-DMIC123.conf and so on!
Finally Only comment I had regarding compatible was not to encapsulate the connection details in it!. these can be made more sensible, something like "qcom,sc7180-trogdor-v1", "qcom,sc7180-trogdor-v2".. and so on.
This compatible has nothing to do with driver or card short and long name.
Does that makes sense?
Thanks, srini
with
Currently if