GK SDK 源码库: XMIPCLinuxV100R005C00SPC030 (kernel/tools/open_source excluded)

This commit is contained in:
lai
2026-09-06 03:52:57 +08:00
commit b1928b41c0
21813 changed files with 4413081 additions and 0 deletions
@@ -0,0 +1,52 @@
/*
* Copyright (c) 2018-2019, ARM Limited and Contributors. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
#include <lib/bakery_lock.h>
#include <lib/mmio.h>
#include <platform_def.h>
static DEFINE_BAKERY_LOCK(mhu_lock);
void aml_mhu_secure_message_start(void)
{
bakery_lock_get(&mhu_lock);
while (mmio_read_32(AML_HIU_MAILBOX_STAT_3) != 0)
;
}
void aml_mhu_secure_message_send(uint32_t msg)
{
mmio_write_32(AML_HIU_MAILBOX_SET_3, msg);
while (mmio_read_32(AML_HIU_MAILBOX_STAT_3) != 0)
;
}
uint32_t aml_mhu_secure_message_wait(void)
{
uint32_t val;
do {
val = mmio_read_32(AML_HIU_MAILBOX_STAT_0);
} while (val == 0);
return val;
}
void aml_mhu_secure_message_end(void)
{
mmio_write_32(AML_HIU_MAILBOX_CLR_0, 0xFFFFFFFF);
bakery_lock_release(&mhu_lock);
}
void aml_mhu_secure_init(void)
{
bakery_lock_init(&mhu_lock);
mmio_write_32(AML_HIU_MAILBOX_CLR_3, 0xFFFFFFFF);
}