Commit 6f3b0dc4 authored by Carlo Caione's avatar Carlo Caione
Browse files

amlogic: Move MHU code to common directory



The MHU code is shared between all the supported platforms. Move it to
the common directory instead.
Signed-off-by: default avatarCarlo Caione <ccaione@baylibre.com>
Change-Id: Iaf53122866eae85c13f772927d16836dcfa877a3
parent d498d249
/*
* Copyright (c) 2018, ARM Limited and Contributors. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
#include <platform_def.h>
#include <lib/bakery_lock.h>
#include <lib/mmio.h>
static DEFINE_BAKERY_LOCK(mhu_lock);
void mhu_secure_message_start(void)
{
bakery_lock_get(&mhu_lock);
while (mmio_read_32(GXBB_HIU_MAILBOX_STAT_3) != 0)
;
}
void mhu_secure_message_send(uint32_t msg)
{
mmio_write_32(GXBB_HIU_MAILBOX_SET_3, msg);
while (mmio_read_32(GXBB_HIU_MAILBOX_STAT_3) != 0)
;
}
uint32_t mhu_secure_message_wait(void)
{
uint32_t val;
do {
val = mmio_read_32(GXBB_HIU_MAILBOX_STAT_0);
} while (val == 0);
return val;
}
void mhu_secure_message_end(void)
{
mmio_write_32(GXBB_HIU_MAILBOX_CLR_0, 0xFFFFFFFF);
bakery_lock_release(&mhu_lock);
}
void mhu_secure_init(void)
{
bakery_lock_init(&mhu_lock);
mmio_write_32(GXBB_HIU_MAILBOX_CLR_3, 0xFFFFFFFF);
}
...@@ -29,7 +29,7 @@ BL31_SOURCES += lib/cpus/aarch64/cortex_a53.S \ ...@@ -29,7 +29,7 @@ BL31_SOURCES += lib/cpus/aarch64/cortex_a53.S \
${AML_PLAT_COMMON}/aarch64/aml_helpers.S \ ${AML_PLAT_COMMON}/aarch64/aml_helpers.S \
${AML_PLAT_SOC}/gxbb_bl31_setup.c \ ${AML_PLAT_SOC}/gxbb_bl31_setup.c \
${AML_PLAT_COMMON}/aml_efuse.c \ ${AML_PLAT_COMMON}/aml_efuse.c \
${AML_PLAT_SOC}/gxbb_mhu.c \ ${AML_PLAT_COMMON}/aml_mhu.c \
${AML_PLAT_SOC}/gxbb_pm.c \ ${AML_PLAT_SOC}/gxbb_pm.c \
${AML_PLAT_COMMON}/aml_scpi.c \ ${AML_PLAT_COMMON}/aml_scpi.c \
${AML_PLAT_SOC}/gxbb_sip_svc.c \ ${AML_PLAT_SOC}/gxbb_sip_svc.c \
......
...@@ -32,7 +32,7 @@ BL31_SOURCES += lib/cpus/aarch64/cortex_a53.S \ ...@@ -32,7 +32,7 @@ BL31_SOURCES += lib/cpus/aarch64/cortex_a53.S \
${AML_PLAT_COMMON}/aarch64/aml_helpers.S \ ${AML_PLAT_COMMON}/aarch64/aml_helpers.S \
${AML_PLAT_SOC}/gxl_bl31_setup.c \ ${AML_PLAT_SOC}/gxl_bl31_setup.c \
${AML_PLAT_COMMON}/aml_efuse.c \ ${AML_PLAT_COMMON}/aml_efuse.c \
${AML_PLAT_SOC}/gxl_mhu.c \ ${AML_PLAT_COMMON}/aml_mhu.c \
${AML_PLAT_SOC}/gxl_pm.c \ ${AML_PLAT_SOC}/gxl_pm.c \
${AML_PLAT_COMMON}/aml_scpi.c \ ${AML_PLAT_COMMON}/aml_scpi.c \
${AML_PLAT_SOC}/gxl_sip_svc.c \ ${AML_PLAT_SOC}/gxl_sip_svc.c \
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment