Skip to content

[BUG] CONFIG_SOF_ZEPHYR shall not override hardware definitions #5315

@plbossart

Description

@plbossart

Describe the bug

This sort of code is completely wrong: the ALH registers do not exist in CAVS_VERSION_1_5 but will be programmed anyways.

#if CAVS_VERSION >= CAVS_VERSION_1_8 || CONFIG_SOF_ZEPHYR
/* init HW  */
static void platform_init_hw(void)
{
	io_reg_write(DSP_INIT_GENO,
		GENO_MDIVOSEL | GENO_DIOPTOSEL);

	io_reg_write(DSP_INIT_IOPO,
		IOPO_DMIC_FLAG | IOPO_I2S_FLAG);

       // BUG! THESE REGISTERS ARE ONLY DEFINED IN CAVS_1_8 +
	io_reg_write(DSP_INIT_ALHO,
		ALHO_ASO_FLAG | ALHO_CSO_FLAG);

	io_reg_write(DSP_INIT_LPGPDMA(0),
		LPGPDMA_CHOSEL_FLAG | LPGPDMA_CTLOSEL_FLAG);
	io_reg_write(DSP_INIT_LPGPDMA(1),
		LPGPDMA_CHOSEL_FLAG | LPGPDMA_CTLOSEL_FLAG);
}
#endif

additional examples below

src/include/sof/audio/kpb.h:#if CONFIG_TIGERLAKE || CONFIG_SOF_ZEPHYR
src/include/sof/drivers/dmic.h:#if CONFIG_ICELAKE || CONFIG_TIGERLAKE || CONFIG_SOF_ZEPHYR
src/platform/intel/cavs/include/cavs/lib/asm_memory_management.h:#if CAVS_VERSION >= CAVS_VERSION_1_8 || CONFIG_SOF_ZEPHYR
src/platform/intel/cavs/lib/clk.c:#if CONFIG_TIGERLAKE || CONFIG_SOF_ZEPHYR
src/platform/intel/cavs/lib/clk.c:#if CONFIG_TIGERLAKE || CONFIG_SOF_ZEPHYR
src/platform/intel/cavs/lib/dma.c:#elif CONFIG_CANNONLAKE || CONFIG_ICELAKE || CONFIG_TIGERLAKE || CONFIG_SOF_ZEPHYR
src/platform/intel/cavs/lib/pm_runtime.c:#if CONFIG_TIGERLAKE || CONFIG_SOF_ZEPHYR
src/platform/intel/cavs/lib/pm_runtime.c:#if CONFIG_TIGERLAKE || CONFIG_SOF_ZEPHYR
src/platform/intel/cavs/lib/pm_runtime.c:#if CONFIG_CANNONLAKE || CONFIG_ICELAKE || CONFIG_SUECREEK || CONFIG_TIGERLAKE || CONFIG_SOF_ZEPHYR
src/platform/intel/cavs/lib/pm_runtime.c:#if CONFIG_CANNONLAKE || CONFIG_ICELAKE || CONFIG_SUECREEK || CONFIG_TIGERLAKE || CONFIG_SOF_ZEPHYR
src/platform/intel/cavs/lib/pm_runtime.c:#if CONFIG_CANNONLAKE || CONFIG_ICELAKE || CONFIG_SUECREEK || CONFIG_TIGERLAKE || CONFIG_SOF_ZEPHYR
src/platform/intel/cavs/lib/pm_runtime.c:#if CONFIG_CANNONLAKE || CONFIG_ICELAKE || CONFIG_SUECREEK || CONFIG_TIGERLAKE || CONFIG_SOF_ZEPHYR
src/platform/intel/cavs/lib/power_down.S:#if CAVS_VERSION >= CAVS_VERSION_1_8 || CONFIG_SOF_ZEPHYR
src/platform/intel/cavs/platform.c:#if CONFIG_CANNONLAKE || CONFIG_ICELAKE || CONFIG_TIGERLAKE || CONFIG_SOF_ZEPHYR
src/platform/intel/cavs/platform.c:#if (CONFIG_TIGERLAKE || CONFIG_SOF_ZEPHYR) && !CONFIG_CAVS_LPRO_ONLY
src/platform/intel/cavs/platform.c:#if CAVS_VERSION >= CAVS_VERSION_1_8 || CONFIG_SOF_ZEPHYR
src/platform/intel/cavs/platform.c:#if CAVS_VERSION >= CAVS_VERSION_1_8 || CONFIG_SOF_ZEPHYR
src/platform/intel/cavs/platform.c:#elif CONFIG_CANNONLAKE || CONFIG_ICELAKE || CONFIG_TIGERLAKE || CONFIG_SOF_ZEPHYR

Expected behavior

Only program registers that exists, regardless of the Zephyr uses

Metadata

Metadata

Assignees

Labels

P2Critical bugs or normal featuresbugSomething isn't working as expected

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions