aboutsummaryrefslogtreecommitdiff
path: root/src/soc/rockchip
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc/rockchip')
-rw-r--r--src/soc/rockchip/rk3399/bootblock.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/soc/rockchip/rk3399/bootblock.c b/src/soc/rockchip/rk3399/bootblock.c
index 3291511aba..4f3d57c502 100644
--- a/src/soc/rockchip/rk3399/bootblock.c
+++ b/src/soc/rockchip/rk3399/bootblock.c
@@ -13,7 +13,9 @@
* GNU General Public License for more details.
*/
+#include <arch/io.h>
#include <bootblock_common.h>
+#include <soc/grf.h>
#include <soc/mmu_operations.h>
#include <soc/clock.h>
@@ -21,5 +23,18 @@ void bootblock_soc_init(void)
{
rkclk_init();
rkclk_configure_cpu(APLL_L_600_MHZ);
+
+ /* all ddr range non-secure */
+ write32(&rk3399_pmusgrf->ddr_rgn_con[16], 0xff << 16 | 0);
+
+ /* tzma_rosize = 0, all sram non-secure */
+ write32(&rk3399_pmusgrf->soc_con4, 0x3ff << 16 | 0);
+
+ /* emmc master secure */
+ write32(&rk3399_pmusgrf->soc_con7, 1 << 23 | 1 << 24 | 0 << 8 | 0 << 7);
+
+ /* glb_slv_secure_bypass */
+ write32(&rk3399_pmusgrf->pmu_slv_con0, 1 << 16 | 1);
+
rockchip_mmu_init();
}