12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- /*
- * Copyright (c) 2023, MediaTek Inc. All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
- /* TF-A system header */
- #include <common/debug.h>
- #include <lib/mmio.h>
- /* Vendor header */
- #include "apusys_security_ctrl_plat.h"
- static void apusys_domain_remap_init(void)
- {
- const uint32_t remap_domains[] = {
- D0_REMAP_DOMAIN, D1_REMAP_DOMAIN, D2_REMAP_DOMAIN, D3_REMAP_DOMAIN,
- D4_REMAP_DOMAIN, D5_REMAP_DOMAIN, D6_REMAP_DOMAIN, D7_REMAP_DOMAIN,
- D8_REMAP_DOMAIN, D9_REMAP_DOMAIN, D10_REMAP_DOMAIN, D11_REMAP_DOMAIN,
- D12_REMAP_DOMAIN, D13_REMAP_DOMAIN, D14_REMAP_DOMAIN, D15_REMAP_DOMAIN
- };
- uint32_t lower_domain = 0;
- uint32_t higher_domain = 0;
- int i;
- for (i = 0; i < ARRAY_SIZE(remap_domains); i++) {
- if (i < REG_DOMAIN_NUM) {
- lower_domain |= (remap_domains[i] << (i * REG_DOMAIN_BITS));
- } else {
- higher_domain |= (remap_domains[i] <<
- ((i - REG_DOMAIN_NUM) * REG_DOMAIN_BITS));
- }
- }
- mmio_write_32(SOC2APU_SET1_0, lower_domain);
- mmio_write_32(SOC2APU_SET1_1, higher_domain);
- mmio_setbits_32(APU_SEC_CON, DOMAIN_REMAP_SEL);
- }
- void apusys_security_ctrl_init(void)
- {
- apusys_domain_remap_init();
- }
|