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