-
Notifications
You must be signed in to change notification settings - Fork 139
First draft cs42l45 machine driver integration #5590
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
base: topic/sof-dev
Are you sure you want to change the base?
Conversation
| .codec_name = "cs42l43-codec", | ||
| .count_sidecar = asoc_sdw_bridge_cs35l56_count_sidecar, | ||
| .add_sidecar = asoc_sdw_bridge_cs35l56_add_sidecar, | ||
| .dais = { |
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 the .codec_name = "cs42l43-codec", in line 659 be removed?
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.
Yes thank you that got lost in a rebase somewhere.
sound/soc/sdw_utils/soc_sdw_utils.c
Outdated
| } | ||
|
|
||
| const char *asoc_sdw_get_codec_name(struct device *dev, | ||
| const struct asoc_sdw_codec_info *codec_info, |
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.
codec_info can be removed, too. And '_asoc_sdw_get_codec_name();' as well.
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.
Hm... yes looks like we can it has never been used in _asoc_sdw_get_codec_name() so it being passed in there is kinda unnecessary.
Update JackControls to follow machine driver changes [1] [1] thesofproject/linux#5590 Change-Id: I60165097b992606c308abd69dc33e213d80424e8 Signed-off-by: Maciej Strozek <[email protected]>
Update JackControls to follow machine driver changes [1] [1] thesofproject/linux#5590 Signed-off-by: Maciej Strozek <[email protected]>
f894842 to
e0c616d
Compare
| #define SOC_SDW_UTILS_H | ||
|
|
||
| #include <sound/soc.h> | ||
| #include <sound/soc-acpi.h> |
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 commit message?
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.
Yeah sorry that should definitely have one will add that.
| // SPDX-License-Identifier: GPL-2.0-only | ||
| // Based on sof_sdw_rt5682.c | ||
| // This file incorporates work covered by the following copyright notice: | ||
| // Copyright (c) 2023 Intel Corporation |
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 sure if the Copyright is needed. And 2025 maybe? @ujfalusi @lgirdwood
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.
I think this matches what was done on cs42l42,cs42l42 so I think its probably fine.
|
Was having some good success testing this with the function topology stuff yesterday, I think all we need to do is drop the match table stuff, so will finish off my testing and then push the next version without. |
e0c616d to
eeb156d
Compare
Add cs42l45 to the wake_capable_list because it can generate jack events whilst the bus is stopped. Signed-off-by: Maciej Strozek <[email protected]> Signed-off-by: Charles Keepax <[email protected]>
The assumption so far is that all the DAI links for a given audio part would be on the same device. However, as SDCA implements each audio function on a separate auxiliary driver this will no longer be true. This means it is necessary to add additional codec_conf structures to get the prefix for an audio part to apply to all the auxiliary drivers that make up that part. Signed-off-by: Charles Keepax <[email protected]>
As SDCA devices will support each DAI link on a different child device, move the codec name from codec_info to each dai_info. To allow the approprate function device to be bound to each DAI link. Signed-off-by: Charles Keepax <[email protected]>
Currently the sof_sdw machine driver assumes that all devices involved in the sound card are connected through a DAI link. However for SDCA devices we still want the HID (Human Interface Device, used for jack buttons) to be part of the sound card, but it contains no DAI links. Add support into the machine driver to specify a list of auxiliary devices to merged into the card. Signed-off-by: Charles Keepax <[email protected]>
Add the helper functions into the machine driver for the cs42l45, this will register a jack for jack detection and add things into to the components string if they are needed. Signed-off-by: Charles Keepax <[email protected]>
Add support for the Cirrus Logic CS42L45 standalone using SoundWire. Signed-off-by: Charles Keepax <[email protected]>
eeb156d to
67ad75a
Compare
bardliao
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.
LGTM. @ujfalusi @lgirdwood Could you check the copyright question in the "ASoC: sdw_utils: Add cs42l45 support functions" commit?
|
I would be keen to upstream this soon, are you guys ok with me sending this directly or do you want to push it through the sof tree? |
Please feel free to add my Reviewed-by tag and go ahead to sending this directly. |
|
Super I will send a version upstream, either today/maybe tomorrow depending on how my afternoon develops. If anyone wants to object on the copyright bit they can do that upstream and we can discuss it there. |
Still needs a little work especially around figuring out the integration with function topologies.