Skip to content
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
wants to merge 15 commits into from

Conversation

lyakh
Copy link
Collaborator

@lyakh lyakh commented Nov 12, 2020

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.

Andy Ross and others added 15 commits November 11, 2020 18:46
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]>
@lyakh
Copy link
Collaborator Author

lyakh commented Jan 8, 2021

closing in favour of #31127

@lyakh lyakh closed this Jan 8, 2021
@lyakh lyakh deleted the sof-20201112 branch January 8, 2021 15:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants