1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * K3: Architecture common definitions
4  *
5  * Copyright (C) 2018 Texas Instruments Incorporated - http://www.ti.com/
6  *	Lokesh Vutla <lokeshvutla@ti.com>
7  */
8 
9 #include <asm/armv7_mpu.h>
10 #include <asm/hardware.h>
11 
12 #define J721E  0xbb64
13 #define J7200  0xbb6d
14 #define K3_BACKGROUND_FIREWALL_BIT BIT(8)
15 
16 struct fwl_data {
17 	const char *name;
18 	u16 fwl_id;
19 	u16 regions;
20 };
21 
22 enum k3_device_type {
23 	K3_DEVICE_TYPE_BAD,
24 	K3_DEVICE_TYPE_GP,
25 	K3_DEVICE_TYPE_TEST,
26 	K3_DEVICE_TYPE_EMU,
27 	K3_DEVICE_TYPE_HS_FS,
28 	K3_DEVICE_TYPE_HS_SE,
29 };
30 
31 void setup_k3_mpu_regions(void);
32 int early_console_init(void);
33 void disable_linefill_optimization(void);
34 void remove_fwl_configs(struct fwl_data *fwl_data, size_t fwl_data_size);
35 int load_firmware(char *name_fw, char *name_loadaddr, u32 *loadaddr);
36 void k3_sysfw_print_ver(void);
37 void spl_enable_dcache(void);
38 void mmr_unlock(phys_addr_t base, u32 partition);
39 bool is_rom_loaded_sysfw(struct rom_extended_boot_data *data);
40 enum k3_device_type get_device_type(void);
41 void ti_secure_image_post_process(void **p_image, size_t *p_size);
42 struct ti_sci_handle *get_ti_sci_handle(void);
43 void do_board_detect(void);
44 void ti_secure_image_check_binary(void **p_image, size_t *p_size);
45