On 5/24/22 21:54, Kuninori Morimoto wrote:
Hi Amadeusz, Cezary
Thank you for your feedback.
I would like to understand the problem here, before I start to discuss potential solutions. You seem to be saying that there is some kind of card<->component connection limitation? Is there specific use case you have in mind?
Personally I don't see a reason for connecting component to multiple cards. Even if it would be possible it soon becomes problematic when you for example try to decide which card controls clock on component. As I've wrote I would like to first see some use case definition, before jumping into a rewrite.
Sorry, my head was biased. I thought people are thinking same things as me.
In my case, my CPU Component has many channels. We have "basic board" which has simple sound system, it is using CPU ch0 for example.
And customer can expand it by using "expansion board", it can use CPU ch1 or later channels.
did you mean 'channels' or 'streams'?
I think it's very hard to expose a different card for content that need to start at the same time and remain phase-synchronized.
If however the 'ch0' and 'ch1' can be independent content then this configuration would make sense indeed, and it would be quite similar to the ideas on the Intel side.
One example is e.g. Chromebooks, where we typically have a stream for headphone/headset, and another for amplifiers. But there are cases where the jack is not present and the headphone is not populated on a board, so we end-up having multiple versions of the card, with and without the headphone path. It could be argued that the headphone could be handled on a different card. That information is however not known to the 'cpu' parts, it's really a board-level decision.
+-- basic board --------+ |+--------+ | || CPU ch0| <--> CodecA | || ch1| <-+ | |+--------+ | | +-------------|---------+
+-- expansion board ----+ | | | | +-> CodecB| +-----------------------+
Both sounds are using same CPU Component, but different Codecs.
I'm not sure how to count the Card, but "basic board sound" is 1st card, "expansion board sound" is 2nd card for us in intuitively.
But, because we can't use same Component (= CPU) to different Cards, we need to merge both sound into one Card. We can do that, but not intuitively, and needs overwrite settings.