-
Notifications
You must be signed in to change notification settings - Fork 349
topology2: ssp: Add blob version #7363
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
bbe4716 to
3772582
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changes look good and simpler than #7060.
the word version maybe too general, I think blob_version maybe better, but no big deal.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@juimonen can you remind us if the AUX TLV is part of the SSP blob 1.00 or 1.05? I wonder why would need to maintain a difference here.
Why not use 1.05 always?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@plbossart I think blob version 1.00 for TGL/ADL is what makes it possible for the alsatplg compiler to ignore the aux parameters that include the link clock_source
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Only MTL newer platforms support aux. If you send a v1.05 blob to cAVS2.5 SOF SW, you'll get errors.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@plbossart if we always used blob version 1.05, the problem is that the ipc tester firmware might fail.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
kv2019i
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not entirely sure how well this aligns with #7370 , but put these two together seems to be a clean solution. Approving at least this one.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Only MTL newer platforms support aux. If you send a v1.05 blob to cAVS2.5 SOF SW, you'll get errors.
Add the SSP blob version and set it based on the platform. Co-developed-by: Jaska Uimonen <jaska.uimonen@intel.com> Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com> Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
3772582 to
0fe1a5d
Compare
Move and rename the hw_config class to platform/intel/hw_config_cardinal_clk.conf. This hw_config is specific to Intel SSP DAI that use the cardinal clock for the mclk frequency. Ideally, this class should have immutable mclk_frequency and link clock source. But because the alsatplg compiler expects the name of the hw config class to be "hw_config" without any extensions, it is left as modifiable for now. Once the topology compiler is modified, this will be made immutable in a follow up PR. Also, introduce a new hw_config_simple.conf file that contains the hw_config definition for the HDA/DMIC/SDW type DAIs with only the ID and name attributes. Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
0fe1a5d to
88fc764
Compare
|
@plbossart @kv2019i @lgirdwood I got to the root of the problem:
In conclusion, I think this is what we should do. Merge this PR so that we can unblock the alsabat tests in CI. Then work on fixing the alsatplg to allow link_config to come from the class definition instead of the object instance. Finally after the zephyr patch is merged, set the blob type to 0x105 for all platforms. Let me know what you think. |
kv2019i
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One comment inline about BT loopback topologies. Otherwise this looks like a clean approach.
| tx_slots 3 | ||
| rx_slots 0 | ||
| Object.Base.link_config.1 { | ||
| clock_source 0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should this be the cardinal clock (i.e. "1"), so we can use integer divider for 1.536Mhz?
UPDATE: no, this is ok, clouc source 0 is 38Mhz, so this is ok.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
no should 0 for xtal as xtal is 38.4 and 38.4M/1.536M = 25
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@kv2019i I will let you answer this question and follow up with another PR if we need to change the clock source for BT. For now, it actually makes no difference since we dont build the topology for MTL
|
I check this PR with MTL nocodec device, it generates solid waveform, alsabat test consistently passes! |
plbossart
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See comment below, with the existing BT configurations should we always set the link source to the audio cardinal clock?
| tx_slots 3 | ||
| rx_slots 0 | ||
| Object.Base.link_config.1 { | ||
| clock_source 0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add the SSP blob version and set it based on the platform.
This is a replacement for #7060
Fixes: #6837