diff --git a/core/arch/arm/plat-ti/conf.mk b/core/arch/arm/plat-ti/conf.mk index 1d704a232ad..06a56dd2480 100644 --- a/core/arch/arm/plat-ti/conf.mk +++ b/core/arch/arm/plat-ti/conf.mk @@ -15,6 +15,7 @@ $(call force,CFG_PL310_LOCKED,y) $(call force,CFG_SECURE_TIME_SOURCE_REE,y) arm32-platform-cpuarch := cortex-a9 else +$(call force,CFG_OTP_SUPPORT,y) $(call force,CFG_HWSUPP_MEM_PERM_PXN,y) $(call force,CFG_SECURE_TIME_SOURCE_CNTPCT,y) arm32-platform-cpuarch := cortex-a15 diff --git a/core/arch/arm/plat-ti/main.c b/core/arch/arm/plat-ti/main.c index d93aeb4e0e0..36699c27054 100644 --- a/core/arch/arm/plat-ti/main.c +++ b/core/arch/arm/plat-ti/main.c @@ -40,6 +40,7 @@ #include #include #include +#include #include #include #include @@ -175,3 +176,24 @@ void console_init(void) CONSOLE_UART_CLK_IN_HZ, CONSOLE_BAUDRATE); register_serial_console(&console_data.chip); } + +#if defined(CFG_OTP_SUPPORT) + +void tee_otp_get_hw_unique_key(struct tee_hw_unique_key *hwkey) +{ + memcpy(&hwkey->data[0], &plat_huk[0], sizeof(hwkey->data)); +} + +/* TODO */ +int tee_otp_get_die_id(uint8_t *buffer, size_t len) +{ + size_t i; + + char pattern[4] = { 'B', 'E', 'E', 'F' }; + for (i = 0; i < len; i++) + buffer[i] = pattern[i % 4]; + + return 0; +} + +#endif