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 16 static 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 31 static 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 */ 39 void ft_cpu_setup(void *fdt, bd_t *bd) 40 { 41 ft_hs_fixups(fdt, bd); 42 } 43