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