1 /* 2 * Copyright (c) 2023, Arm Limited. All rights reserved. 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 * 6 */ 7 8 #include "platform_dcu.h" 9 #include <stdint.h> 10 #include "device_definition.h" 11 #include "lcm_drv.h" 12 13 static const uint32_t dcu_reg_lock_values[NUM_OF_DCU_REG] = { 14 DCU_LOCK_REG0_VALUE, 15 DCU_LOCK_REG1_VALUE, 16 DCU_LOCK_REG2_VALUE, 17 DCU_LOCK_REG3_VALUE 18 }; 19 tfm_plat_apply_debug_permissions(uint16_t zone)20int32_t tfm_plat_apply_debug_permissions(uint16_t zone) 21 { 22 uint32_t dcu_reg_values[NUM_OF_DCU_REG]; 23 24 /* TODO: Assign appropriate values based on selected zone */ 25 (void)zone; 26 /* Below values provide same access as when platform is in development 27 life cycle state */ 28 dcu_reg_values[0] = DCU_DEBUG_ENABLED_REG0_VALUE; 29 dcu_reg_values[1] = DCU_DEBUG_ENABLED_REG1_VALUE; 30 dcu_reg_values[2] = DCU_DEBUG_ENABLED_REG2_VALUE; 31 dcu_reg_values[3] = DCU_DEBUG_ENABLED_REG3_VALUE; 32 33 return lcm_dcu_set_enabled(&LCM_DEV_S, (uint8_t*)&dcu_reg_values[0]); 34 } 35 tfm_plat_lock_dcu(void)36int32_t tfm_plat_lock_dcu(void) 37 { 38 return lcm_dcu_set_locked(&LCM_DEV_S, (uint8_t*)&dcu_reg_lock_values[0]); 39 } 40