-
Notifications
You must be signed in to change notification settings - Fork 6.7k
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
[DRAFT] Fix Zephyr SOF support for cAVS 1.8 #29965
Closed
Closed
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add the Sound Open Firmware project as a Zephyr module under modules/audio/sof. Signed-off-by: Andy Ross <[email protected]>
Adds the Sound Open Firmware project, built as a Zephyr application, under samples/subsys/sudio/sof. Signed-off-by: Liam Girdwood <[email protected]>
rimage dropped its "-m" parameter and switched over to using "-c" for a configuration file, including a target name. Add support for extended manifest for all cAVS versions. Signed-off-by: Guennadi Liakhovetski <[email protected]>
soc/xtensa/intel_adsp/common/include/cavs/memory.h wend missing from the SOF update, restore it. Signed-off-by: Guennadi Liakhovetski <[email protected]>
1. SOF doesn't have to be built in .bin format 2. don't include soc.c and soc_mp.c twice in cmake 3. remove an unused mailbox.h header and unused code in adsp.c Signed-off-by: Guennadi Liakhovetski <[email protected]>
This allows building SOF for unsupported platforms to enable compilation testing and to simplify porting to new platforms. Signed-off-by: Guennadi Liakhovetski <[email protected]>
Some interrupts can be enabled by the ROM, e.g. the timer interrupt. When then in Zephyr the interrupt controller is enabled, before individual interrupts are configured, interrupts can arrive and lead to the spurious interrupt handler being invoked. Fix thid by disabling all child interrupts when configuring cAVS interrupt controllers. Signed-off-by: Guennadi Liakhovetski <[email protected]>
Unify default configurations to support both SMP and UP: 1. make SMP default, although it's currently disabled in prj.conf 2. use CAVS timer by default in both UP and SMP configurations 3. make MP_NUM_CPUS, IPM and IPM_CAVS_IDC depend on SMP Signed-off-by: Guennadi Liakhovetski <[email protected]>
On cAVS 1.5, 2.0 and 2.5 platforms the correct manifest address is 0xB0032000. Signed-off-by: Guennadi Liakhovetski <[email protected]>
The current unused memory calculation is broken because it doesn't take into account the stack area, allocated at the top of HP SRAM. Until this is fixed disable powering down unused RAM. Signed-off-by: Guennadi Liakhovetski <[email protected]>
Shim register location on cAVS 1.5 is different than on 1.8 and up, fix it. Signed-off-by: Guennadi Liakhovetski <[email protected]>
A configuration with CONFIG_MP_NUM_CPUS > 1 and CONFIG_IPM_CAVS_IDC not defined is valid if COMFIG_SMP is disabled. Signed-off-by: Guennadi Liakhovetski <[email protected]>
1. don't use "inline" in .c, let the compiler decide 2. remove superfluous parentheses 3. simplify a function by directly returning the result of a boolean operation Signed-off-by: Guennadi Liakhovetski <[email protected]>
soc/xtensa/intel_adsp/common/include/cavs/cpu.h redefines PLATFORM_CORE_COUNT and PLATFORM_MASTER_CORE_ID which are already defined in SOF. Be careful to avoid conflicts. Ideally one of the two files should be removed. Signed-off-by: Guennadi Liakhovetski <[email protected]>
The logging base address, provided by the LOG_BACKEND_RB_MEM_BASE Kconfig option has been copied from cAVS 1.5, but it's different on versions 1.8, 2.0 and 2.5. This patch fixes logtool functionality on those platforms. Signed-off-by: Guennadi Liakhovetski <[email protected]>
closing in favour of #31127 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This patch series includes 2 patches from #29952 because it touches prj.cong and CMakeLists.txt under samples/audio/sof but those hunks can otherwise be merged into #29952 to separate the two PRs. Also note, that this doesn't work yet because of the known issue #29954 But with a work-around this PR works on cAVS 1.8 / CNL. It also requires several patches to SOF, that will be pushed separately and also linked to this PR.