mirror of
https://github.com/CTCaer/hekate
synced 2024-12-22 11:21:23 +00:00
bdk: mc: remove some redundant carveout cfg
This commit is contained in:
parent
cc50ed2051
commit
75543875e2
1 changed files with 22 additions and 71 deletions
93
bdk/mem/mc.c
93
bdk/mem/mc.c
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2018 naehrwert
|
* Copyright (c) 2018 naehrwert
|
||||||
* Copyright (c) 2018-2022 CTCaer
|
* Copyright (c) 2018-2024 CTCaer
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
* under the terms and conditions of the GNU General Public License,
|
* under the terms and conditions of the GNU General Public License,
|
||||||
|
@ -21,7 +21,7 @@
|
||||||
#include <soc/t210.h>
|
#include <soc/t210.h>
|
||||||
#include <soc/clock.h>
|
#include <soc/clock.h>
|
||||||
|
|
||||||
void mc_config_tsec_carveout(u32 bom, u32 size1mb, bool lock)
|
void mc_config_tzdram_carveout(u32 bom, u32 size1mb, bool lock)
|
||||||
{
|
{
|
||||||
MC(MC_SEC_CARVEOUT_BOM) = bom;
|
MC(MC_SEC_CARVEOUT_BOM) = bom;
|
||||||
MC(MC_SEC_CARVEOUT_SIZE_MB) = size1mb;
|
MC(MC_SEC_CARVEOUT_SIZE_MB) = size1mb;
|
||||||
|
@ -31,96 +31,47 @@ void mc_config_tsec_carveout(u32 bom, u32 size1mb, bool lock)
|
||||||
|
|
||||||
void mc_config_carveout()
|
void mc_config_carveout()
|
||||||
{
|
{
|
||||||
|
// Enable ACR GSR3.
|
||||||
*(vu32 *)0x8005FFFC = 0xC0EDBBCC;
|
*(vu32 *)0x8005FFFC = 0xC0EDBBCC;
|
||||||
MC(MC_VIDEO_PROTECT_GPU_OVERRIDE_0) = 1;
|
MC(MC_VIDEO_PROTECT_GPU_OVERRIDE_0) = 1;
|
||||||
MC(MC_VIDEO_PROTECT_GPU_OVERRIDE_1) = 0;
|
MC(MC_VIDEO_PROTECT_GPU_OVERRIDE_1) = 0;
|
||||||
MC(MC_VIDEO_PROTECT_BOM) = 0;
|
MC(MC_VIDEO_PROTECT_BOM) = 0;
|
||||||
MC(MC_VIDEO_PROTECT_SIZE_MB) = 0;
|
MC(MC_VIDEO_PROTECT_REG_CTRL) = VPR_CTRL_LOCKED;
|
||||||
MC(MC_VIDEO_PROTECT_REG_CTRL) = 1;
|
|
||||||
|
|
||||||
// Configure TSEC carveout @ 0x90000000, 1MB.
|
// Configure TZDRAM carveout @ 0x90000000, 1MB.
|
||||||
//mc_config_tsec_carveout(0x90000000, 1, false);
|
//mc_config_tzdram_carveout(0x90000000, 1, false);
|
||||||
mc_config_tsec_carveout(0, 0, true);
|
mc_config_tzdram_carveout(0, 0, true);
|
||||||
|
|
||||||
MC(MC_MTS_CARVEOUT_BOM) = 0;
|
MC(MC_MTS_CARVEOUT_BOM) = 0;
|
||||||
MC(MC_MTS_CARVEOUT_SIZE_MB) = 0;
|
|
||||||
MC(MC_MTS_CARVEOUT_ADR_HI) = 0;
|
|
||||||
MC(MC_MTS_CARVEOUT_REG_CTRL) = 1;
|
MC(MC_MTS_CARVEOUT_REG_CTRL) = 1;
|
||||||
|
|
||||||
MC(MC_SECURITY_CARVEOUT1_BOM) = 0;
|
|
||||||
MC(MC_SECURITY_CARVEOUT1_BOM_HI) = 0;
|
|
||||||
MC(MC_SECURITY_CARVEOUT1_SIZE_128KB) = 0;
|
MC(MC_SECURITY_CARVEOUT1_SIZE_128KB) = 0;
|
||||||
MC(MC_SECURITY_CARVEOUT1_CLIENT_ACCESS0) = 0;
|
|
||||||
MC(MC_SECURITY_CARVEOUT1_CLIENT_ACCESS1) = 0;
|
|
||||||
MC(MC_SECURITY_CARVEOUT1_CLIENT_ACCESS2) = 0;
|
MC(MC_SECURITY_CARVEOUT1_CLIENT_ACCESS2) = 0;
|
||||||
MC(MC_SECURITY_CARVEOUT1_CLIENT_ACCESS3) = 0;
|
MC(MC_SECURITY_CARVEOUT1_CLIENT_ACCESS3) = 0;
|
||||||
MC(MC_SECURITY_CARVEOUT1_CLIENT_ACCESS4) = 0;
|
MC(MC_SECURITY_CARVEOUT1_CFG0) = SEC_CARVEOUT_CFG_LOCKED |
|
||||||
MC(MC_SECURITY_CARVEOUT1_CLIENT_FORCE_INTERNAL_ACCESS0) = 0;
|
SEC_CARVEOUT_CFG_UNTRANSLATED_ONLY |
|
||||||
MC(MC_SECURITY_CARVEOUT1_CLIENT_FORCE_INTERNAL_ACCESS1) = 0;
|
SEC_CARVEOUT_CFG_APERTURE_ID(0) |
|
||||||
MC(MC_SECURITY_CARVEOUT1_CLIENT_FORCE_INTERNAL_ACCESS2) = 0;
|
SEC_CARVEOUT_CFG_FORCE_APERTURE_ID_MATCH;
|
||||||
MC(MC_SECURITY_CARVEOUT1_CLIENT_FORCE_INTERNAL_ACCESS3) = 0;
|
|
||||||
MC(MC_SECURITY_CARVEOUT1_CLIENT_FORCE_INTERNAL_ACCESS4) = 0;
|
|
||||||
MC(MC_SECURITY_CARVEOUT1_CFG0) = 0x4000006;
|
|
||||||
|
|
||||||
MC(MC_SECURITY_CARVEOUT2_BOM) = 0x80020000;
|
MC(MC_SECURITY_CARVEOUT2_BOM) = 0x80020000;
|
||||||
MC(MC_SECURITY_CARVEOUT2_BOM_HI) = 0;
|
MC(MC_SECURITY_CARVEOUT2_CLIENT_ACCESS2) = SEC_CARVEOUT_CA2_R_GPU | SEC_CARVEOUT_CA2_W_GPU | SEC_CARVEOUT_CA2_R_TSEC;
|
||||||
MC(MC_SECURITY_CARVEOUT2_SIZE_128KB) = 2;
|
|
||||||
MC(MC_SECURITY_CARVEOUT2_CLIENT_ACCESS0) = 0;
|
|
||||||
MC(MC_SECURITY_CARVEOUT2_CLIENT_ACCESS1) = 0;
|
|
||||||
MC(MC_SECURITY_CARVEOUT2_CLIENT_ACCESS2) = 0x3100000;
|
|
||||||
MC(MC_SECURITY_CARVEOUT2_CLIENT_ACCESS3) = 0;
|
|
||||||
MC(MC_SECURITY_CARVEOUT2_CLIENT_ACCESS4) = 0x300;
|
|
||||||
MC(MC_SECURITY_CARVEOUT2_CLIENT_FORCE_INTERNAL_ACCESS0) = 0;
|
|
||||||
MC(MC_SECURITY_CARVEOUT2_CLIENT_FORCE_INTERNAL_ACCESS1) = 0;
|
|
||||||
MC(MC_SECURITY_CARVEOUT2_CLIENT_FORCE_INTERNAL_ACCESS2) = 0;
|
|
||||||
MC(MC_SECURITY_CARVEOUT2_CLIENT_FORCE_INTERNAL_ACCESS3) = 0;
|
|
||||||
MC(MC_SECURITY_CARVEOUT2_CLIENT_FORCE_INTERNAL_ACCESS4) = 0;
|
|
||||||
MC(MC_SECURITY_CARVEOUT2_CFG0) = 0x440167E;
|
|
||||||
|
|
||||||
MC(MC_SECURITY_CARVEOUT3_BOM) = 0;
|
|
||||||
MC(MC_SECURITY_CARVEOUT3_BOM_HI) = 0;
|
|
||||||
MC(MC_SECURITY_CARVEOUT3_SIZE_128KB) = 0;
|
|
||||||
MC(MC_SECURITY_CARVEOUT3_CLIENT_ACCESS0) = 0;
|
|
||||||
MC(MC_SECURITY_CARVEOUT3_CLIENT_ACCESS1) = 0;
|
|
||||||
MC(MC_SECURITY_CARVEOUT3_CLIENT_ACCESS2) = 0x3000000;
|
|
||||||
MC(MC_SECURITY_CARVEOUT3_CLIENT_ACCESS3) = 0;
|
|
||||||
MC(MC_SECURITY_CARVEOUT3_CLIENT_ACCESS4) = 0x300;
|
|
||||||
MC(MC_SECURITY_CARVEOUT3_CLIENT_FORCE_INTERNAL_ACCESS0) = 0;
|
|
||||||
MC(MC_SECURITY_CARVEOUT3_CLIENT_FORCE_INTERNAL_ACCESS1) = 0;
|
|
||||||
MC(MC_SECURITY_CARVEOUT3_CLIENT_FORCE_INTERNAL_ACCESS2) = 0;
|
|
||||||
MC(MC_SECURITY_CARVEOUT3_CLIENT_FORCE_INTERNAL_ACCESS3) = 0;
|
|
||||||
MC(MC_SECURITY_CARVEOUT3_CLIENT_FORCE_INTERNAL_ACCESS4) = 0;
|
|
||||||
MC(MC_SECURITY_CARVEOUT3_CFG0) = 0x4401E7E;
|
|
||||||
|
|
||||||
MC(MC_SECURITY_CARVEOUT4_BOM) = 0;
|
|
||||||
MC(MC_SECURITY_CARVEOUT4_BOM_HI) = 0;
|
|
||||||
MC(MC_SECURITY_CARVEOUT4_SIZE_128KB) = 0;
|
MC(MC_SECURITY_CARVEOUT4_SIZE_128KB) = 0;
|
||||||
MC(MC_SECURITY_CARVEOUT4_CLIENT_ACCESS0) = 0;
|
|
||||||
MC(MC_SECURITY_CARVEOUT4_CLIENT_ACCESS1) = 0;
|
|
||||||
MC(MC_SECURITY_CARVEOUT4_CLIENT_ACCESS2) = 0;
|
MC(MC_SECURITY_CARVEOUT4_CLIENT_ACCESS2) = 0;
|
||||||
MC(MC_SECURITY_CARVEOUT4_CLIENT_ACCESS3) = 0;
|
|
||||||
MC(MC_SECURITY_CARVEOUT4_CLIENT_ACCESS4) = 0;
|
MC(MC_SECURITY_CARVEOUT4_CLIENT_ACCESS4) = 0;
|
||||||
MC(MC_SECURITY_CARVEOUT4_CLIENT_FORCE_INTERNAL_ACCESS0) = 0;
|
MC(MC_SECURITY_CARVEOUT4_CFG0) = SEC_CARVEOUT_CFG_TZ_SECURE |
|
||||||
MC(MC_SECURITY_CARVEOUT4_CLIENT_FORCE_INTERNAL_ACCESS1) = 0;
|
SEC_CARVEOUT_CFG_LOCKED |
|
||||||
MC(MC_SECURITY_CARVEOUT4_CLIENT_FORCE_INTERNAL_ACCESS2) = 0;
|
SEC_CARVEOUT_CFG_UNTRANSLATED_ONLY |
|
||||||
MC(MC_SECURITY_CARVEOUT4_CLIENT_FORCE_INTERNAL_ACCESS3) = 0;
|
SEC_CARVEOUT_CFG_RD_NS |
|
||||||
MC(MC_SECURITY_CARVEOUT4_CLIENT_FORCE_INTERNAL_ACCESS4) = 0;
|
SEC_CARVEOUT_CFG_WR_NS;
|
||||||
MC(MC_SECURITY_CARVEOUT4_CFG0) = 0x8F;
|
|
||||||
|
|
||||||
MC(MC_SECURITY_CARVEOUT5_BOM) = 0;
|
|
||||||
MC(MC_SECURITY_CARVEOUT5_BOM_HI) = 0;
|
|
||||||
MC(MC_SECURITY_CARVEOUT5_SIZE_128KB) = 0;
|
MC(MC_SECURITY_CARVEOUT5_SIZE_128KB) = 0;
|
||||||
MC(MC_SECURITY_CARVEOUT5_CLIENT_ACCESS0) = 0;
|
|
||||||
MC(MC_SECURITY_CARVEOUT5_CLIENT_ACCESS1) = 0;
|
|
||||||
MC(MC_SECURITY_CARVEOUT5_CLIENT_ACCESS2) = 0;
|
MC(MC_SECURITY_CARVEOUT5_CLIENT_ACCESS2) = 0;
|
||||||
MC(MC_SECURITY_CARVEOUT5_CLIENT_ACCESS3) = 0;
|
MC(MC_SECURITY_CARVEOUT5_CFG0) = SEC_CARVEOUT_CFG_TZ_SECURE |
|
||||||
MC(MC_SECURITY_CARVEOUT5_CLIENT_ACCESS4) = 0;
|
SEC_CARVEOUT_CFG_LOCKED |
|
||||||
MC(MC_SECURITY_CARVEOUT5_CLIENT_FORCE_INTERNAL_ACCESS0) = 0;
|
SEC_CARVEOUT_CFG_UNTRANSLATED_ONLY |
|
||||||
MC(MC_SECURITY_CARVEOUT5_CLIENT_FORCE_INTERNAL_ACCESS1) = 0;
|
SEC_CARVEOUT_CFG_RD_NS |
|
||||||
MC(MC_SECURITY_CARVEOUT5_CLIENT_FORCE_INTERNAL_ACCESS2) = 0;
|
SEC_CARVEOUT_CFG_WR_NS;
|
||||||
MC(MC_SECURITY_CARVEOUT5_CLIENT_FORCE_INTERNAL_ACCESS3) = 0;
|
|
||||||
MC(MC_SECURITY_CARVEOUT5_CLIENT_FORCE_INTERNAL_ACCESS4) = 0;
|
|
||||||
MC(MC_SECURITY_CARVEOUT5_CFG0) = 0x8F;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void mc_enable_ahb_redirect()
|
void mc_enable_ahb_redirect()
|
||||||
|
|
Loading…
Reference in a new issue