1 /****************************************************************************** 2 * Copyright (c) 2021-2023 Texas Instruments Incorporated. All rights reserved. 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions are met: 6 * 7 * 1) Redistributions of source code must retain the above copyright notice, 8 * this list of conditions and the following disclaimer. 9 * 10 * 2) Redistributions in binary form must reproduce the above copyright notice, 11 * this list of conditions and the following disclaimer in the documentation 12 * and/or other materials provided with the distribution. 13 * 14 * 3) Neither the name of the copyright holder nor the names of its contributors 15 * may be used to endorse or promote products derived from this software 16 * without specific prior written permission. 17 * 18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 19 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 20 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 21 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 22 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 23 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 24 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 25 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 26 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 27 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 28 * POSSIBILITY OF SUCH DAMAGE. 29 ******************************************************************************/ 30 #ifndef __HW_PLATFORM_H__ 31 #define __HW_PLATFORM_H__ 32 #include "hw_memmap.h" 33 #include "hw_pmctl.h" 34 35 //***************************************************************************** 36 // 37 // Address, offset and constant definitions 38 // 39 //***************************************************************************** 40 // --- ROM definitions --- 41 /// Address of ROM FW revision structure 42 #define ROM_FWREV_ADDR (ROM_BASE + 0x0048) 43 /// Base address of HAPI table in ROM 44 #define ROM_HAPI_BASE (ROM_BASE + 0x004C) 45 /// Address of CRC32 calculated over entire ROM 46 #define ROM_CRC_ADDR (ROM_BASE + ROM_SIZE - 4) 47 48 // --- SRAM definitions --- 49 /// Magic value used in Fcfg.criticalTrim.sramRepair.magicWord to 50 /// indicate that SRAM repair information is valid 51 #define SRAMREP_MAGICWORD 0x40008100 52 53 //***************************************************************************** 54 // 55 // Boot status definitions (available through PMCTL::BOOTSTA) in addition to 56 // the defines listed in hw_pmctl.h 57 // 58 //***************************************************************************** 59 /// Boot sequence completed 60 #define PMCTL_BOOTSTA_BOOT_COMPLETE (PMCTL_BOOTSTA_FLAG_MODE_BLDR) 61 /// Bootloader start initiated 62 #define PMCTL_BOOTSTA_BLDR_START_INIT (PMCTL_BOOTSTA_FLAG_MODE_BLDR | 0x02) 63 /// ROM serial bootloader complete 64 #define PMCTL_BOOTSTA_BLDR_COMPLETE (PMCTL_BOOTSTA_FLAG_MODE_APP) 65 /// Application start initiated 66 #define PMCTL_BOOTSTA_APP_START_INIT (PMCTL_BOOTSTA_FLAG_MODE_APP | 0x02) 67 68 #if !(defined(__ASM_INCLUDE__)) 69 // Only included in C files 70 71 /// Data type for passing flags to bootloader/application entry function 72 typedef union 73 { 74 uint32_t val32; ///< 32b value of word 75 struct 76 { 77 uint32_t bCcfgValid:1; ///< Is CCFG valid? 78 uint32_t bAppCanBoot:1; ///< Does a bootable application exist? 79 uint32_t bChipEraseAllowed:1; ///< Is ChipErase operation allowed? 80 uint32_t bParamsFromCcfg:1; ///< Entry function params argument is CCFG(1) or FCFG(0) 81 uint32_t bBldrAllowDbg:1; ///< Is debugging of bootloader allowed? 82 uint32_t res0:27; ///< (Reserved for future use) 83 } bldr; 84 } bldrEntryFlags_t; 85 86 #endif //!(defined(__ASM_INCLUDE__) 87 88 #endif // __HW_PLATFORM_H__ 89