/* * Copyright (c) 2025, Mediatek Inc. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ #include #include #include #include #include #define AUDIO_PWR_ACK_BITS 0xC0000000 #define AFE_SE_DOMAIN_SIDEBAND0_VAL 0xCCCCCCCC #define AFE_SE_DOMAIN_SIDEBAND1_VAL 0xCCCCCCCC #define AFE_SE_DOMAIN_SIDEBAND2_VAL 0xCCCCCCCC #define AFE_SE_DOMAIN_SIDEBAND3_VAL 0xCCCCCCCC #define AFE_SE_DOMAIN_SIDEBAND4_VAL 0xCCCCCCCC #define AFE_SE_DOMAIN_SIDEBAND5_VAL 0xCCCCCCCC #define AFE_SE_DOMAIN_SIDEBAND6_VAL 0xCCCCCCCC #define AFE_SE_DOMAIN_SIDEBAND7_VAL 0xCCCCCCCC #define AFE_SE_DOMAIN_SIDEBAND8_VAL 0xCCCCCCCC #define AFE_SE_DOMAIN_SIDEBAND9_VAL 0xCCCCCCCC int32_t set_audio_domain_sidebands(void) { uint32_t val; val = mmio_read_32(SPM_AUDIO_PWR_CON); if ((val & AUDIO_PWR_ACK_BITS) != AUDIO_PWR_ACK_BITS) { ERROR("%s: %s, pwr_status=0x%x.\n", MODULE_TAG, __func__, val); return -EIO; } mmio_write_32(AFE_SE_DOMAIN_SIDEBAND0, AFE_SE_DOMAIN_SIDEBAND0_VAL); mmio_write_32(AFE_SE_DOMAIN_SIDEBAND1, AFE_SE_DOMAIN_SIDEBAND1_VAL); mmio_write_32(AFE_SE_DOMAIN_SIDEBAND2, AFE_SE_DOMAIN_SIDEBAND2_VAL); mmio_write_32(AFE_SE_DOMAIN_SIDEBAND3, AFE_SE_DOMAIN_SIDEBAND3_VAL); mmio_write_32(AFE_SE_DOMAIN_SIDEBAND4, AFE_SE_DOMAIN_SIDEBAND4_VAL); mmio_write_32(AFE_SE_DOMAIN_SIDEBAND5, AFE_SE_DOMAIN_SIDEBAND5_VAL); mmio_write_32(AFE_SE_DOMAIN_SIDEBAND6, AFE_SE_DOMAIN_SIDEBAND6_VAL); mmio_write_32(AFE_SE_DOMAIN_SIDEBAND7, AFE_SE_DOMAIN_SIDEBAND7_VAL); mmio_write_32(AFE_SE_DOMAIN_SIDEBAND8, AFE_SE_DOMAIN_SIDEBAND8_VAL); mmio_write_32(AFE_SE_DOMAIN_SIDEBAND9, AFE_SE_DOMAIN_SIDEBAND9_VAL); VERBOSE("%s: %s, SIDEBAND0 0x%x, SIDEBAND1 0x%x, SIDEBAND2 0x%x\n", MODULE_TAG, __func__, mmio_read_32(AFE_SE_DOMAIN_SIDEBAND0_MON), mmio_read_32(AFE_SE_DOMAIN_SIDEBAND1_MON), mmio_read_32(AFE_SE_DOMAIN_SIDEBAND2_MON)); return 0; }