1 /* 2 * Copyright (C) 2025 Texas Instruments Incorporated - http://www.ti.com/ 3 * k3low SoC specific bl31_setup 4 * 5 * SPDX-License-Identifier: BSD-3-Clause 6 */ 7 8 #include <common/debug.h> 9 #include <ti_sci.h> 10 #include <ti_sci_transport.h> 11 12 #include <plat_private.h> 13 14 /* Table of regions to map using the MMU */ 15 const mmap_region_t plat_k3_mmap[] = { 16 K3_MAP_REGION_FLAT(K3_USART_BASE, K3_USART_SIZE, MT_DEVICE | MT_RW | MT_SECURE), 17 K3_MAP_REGION_FLAT(K3_GIC_BASE, K3_GIC_SIZE, MT_DEVICE | MT_RW | MT_SECURE), 18 K3_MAP_REGION_FLAT(K3_GTC_BASE, K3_GTC_SIZE, MT_DEVICE | MT_RW | MT_SECURE), 19 K3_MAP_REGION_FLAT(TI_MAILBOX_TX_BASE, TI_MAILBOX_RX_TX_SIZE, MT_DEVICE | MT_RW | MT_SECURE), 20 K3_MAP_REGION_FLAT(WKUP_CTRL_MMR0_BASE, WKUP_CTRL_MMR0_SIZE, MT_DEVICE | MT_RW | MT_SECURE), 21 K3_MAP_REGION_FLAT(MAILBOX_SHMEM_REGION_BASE, MAILBOX_SHMEM_REGION_SIZE, MT_DEVICE | MT_RW | MT_SECURE), 22 { /* sentinel */ } 23 }; 24 25 int ti_soc_init(void) 26 { 27 struct ti_sci_msg_version version; 28 int ret; 29 30 generic_delay_timer_init(); 31 32 ret = ti_sci_boot_notification(); 33 if (ret != 0) { 34 ERROR("%s: Failed to receive boot notification (%d)\n", __func__, ret); 35 return ret; 36 } 37 38 ret = ti_sci_get_revision(&version); 39 if (ret != 0) { 40 ERROR("%s: Failed to get revision (%d)\n", __func__, ret); 41 return ret; 42 } 43 44 NOTICE("SYSFW ABI: %d.%d (firmware rev 0x%04x '%s')\n", 45 version.abi_major, version.abi_minor, 46 version.firmware_revision, 47 version.firmware_description); 48 49 return 0; 50 } 51