31 lines
655 B
C
31 lines
655 B
C
/*
|
|
* Copyright (c) 2022 Intel Corporation.
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
#include <errno.h>
|
|
#include <stdbool.h>
|
|
#include <stdint.h>
|
|
|
|
#include "comm_widget.h"
|
|
#include "pmc_interface.h"
|
|
|
|
/*
|
|
* Report number of used HP-SRAM memory banks to the PMC, unit is 32 KB.
|
|
*/
|
|
int adsp_comm_widget_pmc_send_ipc(uint16_t banks)
|
|
{
|
|
if (!cw_upstream_ready())
|
|
return -EBUSY;
|
|
|
|
uint32_t iface = FIELD_PREP(CW_PMC_IPC_OP_CODE, CW_PMC_OPC_SRAM_CONFIG) |
|
|
FIELD_PREP(CW_PMC_IPC_SRAM_USED_BANKS, banks) |
|
|
CW_PMC_IPC_BUSY;
|
|
|
|
cw_sb_write(CW_PMC_DESTID_VALUE, 0, CW_PMC_MAILBOX3_INTERFACE_ADDRESS, iface);
|
|
|
|
cw_upstream_wait_for_sent();
|
|
return 0;
|
|
}
|