/* * Copyright (c) 2022, Mediatek Inc. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ #include #include #include #include #include #include #include #define MODULE_TAG "[AUDIO_DOMAIN]" int32_t set_audio_domain_sidebands(void) { uint32_t val = mmio_read_32(PWR_STATUS); if ((val & BIT(SPM_PWR_STATUS_AUDIO_BIT)) == 0) { ERROR("%s: %s, pwr_status=0x%x, w/o [%d]AUDIO!\n", MODULE_TAG, __func__, val, SPM_PWR_STATUS_AUDIO_BIT); return -EIO; } mmio_write_32(AFE_SE_SECURE_CON, 0x0); mmio_write_32(AFE_SECURE_SIDEBAND0, 0x0); mmio_write_32(AFE_SECURE_SIDEBAND1, 0x0); mmio_write_32(AFE_SECURE_SIDEBAND2, 0x0); mmio_write_32(AFE_SECURE_SIDEBAND3, 0x0); VERBOSE("%s: %s, SE_SECURE_CON=0x%x, SIDEBAND0/1/2/3=0x%x/0x%x/0x%x/0x%x\n", MODULE_TAG, __func__, mmio_read_32(AFE_SE_SECURE_CON), mmio_read_32(AFE_SECURE_SIDEBAND0), mmio_read_32(AFE_SECURE_SIDEBAND1), mmio_read_32(AFE_SECURE_SIDEBAND2), mmio_read_32(AFE_SECURE_SIDEBAND3)); return 0; }