1 /* 2 * Copyright (c) 2023, MediaTek Inc. All rights reserved. 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7 /* TF-A system header */ 8 #include <common/debug.h> 9 #include <lib/mmio.h> 10 11 /* Vendor header */ 12 #include "apusys_rv.h" 13 #include "apusys_rv_mbox_mpu.h" 14 15 void apusys_rv_mbox_mpu_init(void) 16 { 17 int i; 18 19 for (i = 0; i < APU_MBOX_NUM; i++) { 20 mmio_write_32(APU_MBOX_FUNC_CFG(i), 21 (MBOX_CTRL_LOCK | 22 (mbox_mpu_setting_tab[i].no_mpu << MBOX_NO_MPU_SHIFT))); 23 mmio_write_32(APU_MBOX_DOMAIN_CFG(i), 24 (MBOX_CTRL_LOCK | 25 (mbox_mpu_setting_tab[i].rx_ns << MBOX_RX_NS_SHIFT) | 26 (mbox_mpu_setting_tab[i].rx_domain << MBOX_RX_DOMAIN_SHIFT) | 27 (mbox_mpu_setting_tab[i].tx_ns << MBOX_TX_NS_SHIFT) | 28 (mbox_mpu_setting_tab[i].tx_domain << MBOX_TX_DOMAIN_SHIFT))); 29 } 30 } 31