1 /**************************************************************************//** 2 * @file 3 * @brief Device Manager API Definition 4 ****************************************************************************** 5 * # License 6 * <b>Copyright 2024 Silicon Laboratories, Inc. www.silabs.com</b> 7 ****************************************************************************** 8 * 9 * SPDX-License-Identifier: Zlib 10 * 11 * The licensor of this software is Silicon Laboratories Inc. 12 * 13 * This software is provided 'as-is', without any express or implied 14 * warranty. In no event will the authors be held liable for any damages 15 * arising from the use of this software. 16 * 17 * Permission is granted to anyone to use this software for any purpose, 18 * including commercial applications, and to alter it and redistribute it 19 * freely, subject to the following restrictions: 20 * 21 * 1. The origin of this software must not be misrepresented; you must not 22 * claim that you wrote the original software. If you use this software 23 * in a product, an acknowledgment in the product documentation would be 24 * appreciated but is not required. 25 * 2. Altered source versions must be plainly marked as such, and must not be 26 * misrepresented as being the original software. 27 * 3. This notice may not be removed or altered from any source distribution. 28 * 29 *****************************************************************************/ 30 #ifndef SL_DEVICE_PERIPHERAL_TYPES_H 31 #define SL_DEVICE_PERIPHERAL_TYPES_H 32 33 #include "sl_device_clock.h" 34 #include <stdint.h> 35 36 #ifdef __cplusplus 37 extern "C" { 38 #endif 39 40 /***************************************************************************//** 41 * @addtogroup device_peripheral Device Abstraction Peripheral 42 * 43 * @{ 44 ******************************************************************************/ 45 46 // ---------------------------------------------------------------------------- 47 // TYPEDEFS 48 49 /// Define peripheral structure. 50 typedef struct sl_peripheral { 51 uint32_t base; ///< Peripheral base address. 52 sl_clock_branch_t clk_branch; ///< Peripheral clock branch. 53 sl_bus_clock_t bus_clock; ///< Peripheral bus clock. 54 } sl_peripheral_val_t; 55 56 /// Define peripheral typedef. 57 typedef const sl_peripheral_val_t* sl_peripheral_t; 58 59 /** @} (end addtogroup device_peripheral) */ 60 61 #ifdef __cplusplus 62 } 63 #endif 64 65 #endif // SL_DEVICE_PERIPHERAL_TYPES_H 66