switch-l4t-atf/plat/amlogic/common/aml_mhu.c
Carlo Caione cbaad533d1 amlogic: Fix prefixes in the MHU code
Make the MHU code AML specific adding a new aml_* prefix and remove the
GXBB prefix from the register names.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
Change-Id: I8f20918e29f08542bd71bd679f88e65b4efaa7d2
2019-09-05 10:39:30 +01:00

53 lines
925 B
C

/*
* 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);
}