1// SPDX-License-Identifier: GPL-2.0+ 2/* 3 * Copyright 2017 Texas Instruments, Inc. 4 */ 5 6#include <common.h> 7#include <linux/libfdt.h> 8#include <fdt_support.h> 9#include <malloc.h> 10 11#include <asm/omap_common.h> 12#include <asm/arch-am33xx/sys_proto.h> 13 14#ifdef CONFIG_TI_SECURE_DEVICE 15 16static void ft_hs_fixups(void *fdt, bd_t *bd) 17{ 18 /* Check we are running on an HS/EMU device type */ 19 if (GP_DEVICE != get_device_type()) { 20 if ((ft_hs_disable_rng(fdt, bd) == 0) && 21 (ft_hs_fixup_dram(fdt, bd) == 0) && 22 (ft_hs_add_tee(fdt, bd) == 0)) 23 return; 24 } else { 25 printf("ERROR: Incorrect device type (GP) detected!"); 26 } 27 /* Fixup failed or wrong device type */ 28 hang(); 29} 30#else 31static void ft_hs_fixups(void *fdt, bd_t *bd) { } 32#endif /* #ifdef CONFIG_TI_SECURE_DEVICE */ 33 34/* 35 * Place for general cpu/SoC FDT fixups. Board specific 36 * fixups should remain in the board files which is where 37 * this function should be called from. 38 */ 39void ft_cpu_setup(void *fdt, bd_t *bd) 40{ 41 ft_hs_fixups(fdt, bd); 42} 43