1 //***************************************************************************** 2 // 3 //! @file am_mcu_apollo.h 4 //! 5 //! @brief Top Include for Apollo3 class devices. 6 //! 7 //! This file provides all the includes necessary for an apollo device. 8 //! 9 //! @addtogroup hal Hardware Abstraction Layer (HAL) 10 // 11 //! @defgroup apollo3_hal apollo3 12 //! @ingroup hal 13 //! @{ 14 // 15 //***************************************************************************** 16 17 //***************************************************************************** 18 // 19 // Copyright (c) 2023, Ambiq Micro, Inc. 20 // All rights reserved. 21 // 22 // Redistribution and use in source and binary forms, with or without 23 // modification, are permitted provided that the following conditions are met: 24 // 25 // 1. Redistributions of source code must retain the above copyright notice, 26 // this list of conditions and the following disclaimer. 27 // 28 // 2. Redistributions in binary form must reproduce the above copyright 29 // notice, this list of conditions and the following disclaimer in the 30 // documentation and/or other materials provided with the distribution. 31 // 32 // 3. Neither the name of the copyright holder nor the names of its 33 // contributors may be used to endorse or promote products derived from this 34 // software without specific prior written permission. 35 // 36 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 37 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 38 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 39 // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 40 // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 41 // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 42 // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 43 // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 44 // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 45 // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 46 // POSSIBILITY OF SUCH DAMAGE. 47 // 48 // This is part of revision release_sdk_3_1_1-10cda4b5e0 of the AmbiqSuite Development Package. 49 // 50 //***************************************************************************** 51 52 #ifndef AM_MCU_APOLLO_H 53 #define AM_MCU_APOLLO_H 54 55 #ifdef __cplusplus 56 extern "C" 57 { 58 #endif 59 60 //***************************************************************************** 61 // 62 // AM_PART_APOLLO3_API indicates that this device uses the Apollo3 API. 63 // 64 //***************************************************************************** 65 #define AM_PART_APOLLO3_API 1 66 67 //***************************************************************************** 68 // 69 // Define AM_CMSIS_REGS to indicate that CMSIS registers are supported. 70 // 71 //***************************************************************************** 72 #define AM_CMSIS_REGS 1 73 74 //***************************************************************************** 75 // 76 // C99 77 // 78 //***************************************************************************** 79 #include <stdarg.h> 80 #include <stdbool.h> 81 #include <stddef.h> 82 #include <stdint.h> 83 #if AM_CMSIS_REGS 84 #include "apollo3.h" 85 #else // AM_CMSIS_REGS 86 #ifdef __IAR_SYSTEMS_ICC__ 87 #include "intrinsics.h" // __CLZ() and other intrinsics 88 #endif // AM_CMSIS_REGS 89 #endif 90 91 //***************************************************************************** 92 // 93 // Global HAL 94 // 95 //***************************************************************************** 96 // 97 // Define this macro to disable and remove parameter validation in functions 98 // throughout the HAL. 99 // 100 //#define AM_HAL_DISABLE_API_VALIDATION 101 102 // 103 // Define the following macro to disable assert messaging. 104 // Defining this macro will result in smaller, more efficient HAL code, but 105 // will eliminate debug messaging. 106 // 107 //#define AM_HAL_DEBUG_NO_ASSERT 108 109 //***************************************************************************** 110 // 111 // Registers 112 // 113 //***************************************************************************** 114 #include "regs/am_reg_base_addresses.h" 115 #include "regs/am_reg_macros.h" 116 #include "regs/am_reg.h" 117 #include "regs/am_reg_m4.h" 118 #include "regs/am_reg_jedec.h" 119 #include "regs/am_mcu_apollo3_info0.h" 120 121 //***************************************************************************** 122 // 123 // HAL 124 // 125 //***************************************************************************** 126 #include "hal/am_hal_status.h" 127 #include "hal/am_hal_sysctrl.h" 128 #include "hal/am_hal_adc.h" 129 #include "hal/am_hal_ble.h" 130 #include "hal/am_hal_ble_patch.h" 131 #include "hal/am_hal_burst.h" 132 #include "hal/am_hal_cachectrl.h" 133 #include "hal/am_hal_clkgen.h" 134 #include "hal/am_hal_cmdq.h" 135 #include "hal/am_hal_ctimer.h" 136 #include "hal/am_hal_entropy.h" 137 #include "hal/am_hal_debug.h" 138 #include "hal/am_hal_flash.h" 139 #include "hal/am_hal_global.h" 140 #include "hal/am_hal_gpio.h" 141 #include "hal/am_hal_interrupt.h" 142 #include "hal/am_hal_iom.h" 143 #include "hal/am_hal_ios.h" 144 #include "hal/am_hal_itm.h" 145 #include "hal/am_hal_mcuctrl.h" 146 #include "hal/am_hal_mspi.h" 147 #include "hal/am_hal_pdm.h" 148 #include "hal/am_hal_pin.h" 149 #include "hal/am_hal_pwrctrl.h" 150 #include "hal/am_hal_pwrctrl_internal.h" 151 #include "hal/am_hal_queue.h" 152 #include "hal/am_hal_reset.h" 153 #include "hal/am_hal_rtc.h" 154 #include "hal/am_hal_scard.h" 155 #include "hal/am_hal_secure_ota.h" 156 #include "hal/am_hal_stimer.h" 157 #include "hal/am_hal_security.h" 158 #include "hal/am_hal_systick.h" 159 #include "hal/am_hal_tpiu.h" 160 #include "hal/am_hal_uart.h" 161 #include "hal/am_hal_wdt.h" 162 163 #ifdef __cplusplus 164 } 165 #endif 166 167 #endif // AM_MCU_APOLLO_H 168 169 //***************************************************************************** 170 // 171 // End Doxygen group. 172 //! @} 173 // 174 //***************************************************************************** 175