1 /**************************************************************************//** 2 * @file 3 * @brief EFR32BG27 PDM register and bit field definitions 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 EFR32BG27_PDM_H 31 #define EFR32BG27_PDM_H 32 #define PDM_HAS_SET_CLEAR 33 34 /**************************************************************************//** 35 * @addtogroup Parts 36 * @{ 37 ******************************************************************************/ 38 /**************************************************************************//** 39 * @defgroup EFR32BG27_PDM PDM 40 * @{ 41 * @brief EFR32BG27 PDM Register Declaration. 42 *****************************************************************************/ 43 44 /** PDM Register Declaration. */ 45 typedef struct pdm_typedef{ 46 __IM uint32_t IPVERSION; /**< IP Version ID */ 47 __IOM uint32_t EN; /**< PDM Module enable Register */ 48 __IOM uint32_t CTRL; /**< PDM Core Control Register */ 49 __IOM uint32_t CMD; /**< PDM Core Command Register */ 50 __IM uint32_t STATUS; /**< PDM Status register */ 51 __IOM uint32_t CFG0; /**< PDM Core Configuration Register0 */ 52 __IOM uint32_t CFG1; /**< PDM Core Configuration Register1 */ 53 uint32_t RESERVED0[1U]; /**< Reserved for future use */ 54 __IM uint32_t RXDATA; /**< PDM Received Data Register */ 55 uint32_t RESERVED1[7U]; /**< Reserved for future use */ 56 __IOM uint32_t IF; /**< Interrupt Flag Register */ 57 __IOM uint32_t IEN; /**< Interrupt Flag Register */ 58 uint32_t RESERVED2[6U]; /**< Reserved for future use */ 59 __IM uint32_t SYNCBUSY; /**< Synchronization Busy Register */ 60 uint32_t RESERVED3[999U]; /**< Reserved for future use */ 61 __IM uint32_t IPVERSION_SET; /**< IP Version ID */ 62 __IOM uint32_t EN_SET; /**< PDM Module enable Register */ 63 __IOM uint32_t CTRL_SET; /**< PDM Core Control Register */ 64 __IOM uint32_t CMD_SET; /**< PDM Core Command Register */ 65 __IM uint32_t STATUS_SET; /**< PDM Status register */ 66 __IOM uint32_t CFG0_SET; /**< PDM Core Configuration Register0 */ 67 __IOM uint32_t CFG1_SET; /**< PDM Core Configuration Register1 */ 68 uint32_t RESERVED4[1U]; /**< Reserved for future use */ 69 __IM uint32_t RXDATA_SET; /**< PDM Received Data Register */ 70 uint32_t RESERVED5[7U]; /**< Reserved for future use */ 71 __IOM uint32_t IF_SET; /**< Interrupt Flag Register */ 72 __IOM uint32_t IEN_SET; /**< Interrupt Flag Register */ 73 uint32_t RESERVED6[6U]; /**< Reserved for future use */ 74 __IM uint32_t SYNCBUSY_SET; /**< Synchronization Busy Register */ 75 uint32_t RESERVED7[999U]; /**< Reserved for future use */ 76 __IM uint32_t IPVERSION_CLR; /**< IP Version ID */ 77 __IOM uint32_t EN_CLR; /**< PDM Module enable Register */ 78 __IOM uint32_t CTRL_CLR; /**< PDM Core Control Register */ 79 __IOM uint32_t CMD_CLR; /**< PDM Core Command Register */ 80 __IM uint32_t STATUS_CLR; /**< PDM Status register */ 81 __IOM uint32_t CFG0_CLR; /**< PDM Core Configuration Register0 */ 82 __IOM uint32_t CFG1_CLR; /**< PDM Core Configuration Register1 */ 83 uint32_t RESERVED8[1U]; /**< Reserved for future use */ 84 __IM uint32_t RXDATA_CLR; /**< PDM Received Data Register */ 85 uint32_t RESERVED9[7U]; /**< Reserved for future use */ 86 __IOM uint32_t IF_CLR; /**< Interrupt Flag Register */ 87 __IOM uint32_t IEN_CLR; /**< Interrupt Flag Register */ 88 uint32_t RESERVED10[6U]; /**< Reserved for future use */ 89 __IM uint32_t SYNCBUSY_CLR; /**< Synchronization Busy Register */ 90 uint32_t RESERVED11[999U]; /**< Reserved for future use */ 91 __IM uint32_t IPVERSION_TGL; /**< IP Version ID */ 92 __IOM uint32_t EN_TGL; /**< PDM Module enable Register */ 93 __IOM uint32_t CTRL_TGL; /**< PDM Core Control Register */ 94 __IOM uint32_t CMD_TGL; /**< PDM Core Command Register */ 95 __IM uint32_t STATUS_TGL; /**< PDM Status register */ 96 __IOM uint32_t CFG0_TGL; /**< PDM Core Configuration Register0 */ 97 __IOM uint32_t CFG1_TGL; /**< PDM Core Configuration Register1 */ 98 uint32_t RESERVED12[1U]; /**< Reserved for future use */ 99 __IM uint32_t RXDATA_TGL; /**< PDM Received Data Register */ 100 uint32_t RESERVED13[7U]; /**< Reserved for future use */ 101 __IOM uint32_t IF_TGL; /**< Interrupt Flag Register */ 102 __IOM uint32_t IEN_TGL; /**< Interrupt Flag Register */ 103 uint32_t RESERVED14[6U]; /**< Reserved for future use */ 104 __IM uint32_t SYNCBUSY_TGL; /**< Synchronization Busy Register */ 105 } PDM_TypeDef; 106 /** @} End of group EFR32BG27_PDM */ 107 108 /**************************************************************************//** 109 * @addtogroup EFR32BG27_PDM 110 * @{ 111 * @defgroup EFR32BG27_PDM_BitFields PDM Bit Fields 112 * @{ 113 *****************************************************************************/ 114 115 /* Bit fields for PDM IPVERSION */ 116 #define _PDM_IPVERSION_RESETVALUE 0x00000000UL /**< Default value for PDM_IPVERSION */ 117 #define _PDM_IPVERSION_MASK 0xFFFFFFFFUL /**< Mask for PDM_IPVERSION */ 118 #define _PDM_IPVERSION_IPVERSION_SHIFT 0 /**< Shift value for PDM_IPVERSION */ 119 #define _PDM_IPVERSION_IPVERSION_MASK 0xFFFFFFFFUL /**< Bit mask for PDM_IPVERSION */ 120 #define _PDM_IPVERSION_IPVERSION_DEFAULT 0x00000000UL /**< Mode DEFAULT for PDM_IPVERSION */ 121 #define PDM_IPVERSION_IPVERSION_DEFAULT (_PDM_IPVERSION_IPVERSION_DEFAULT << 0) /**< Shifted mode DEFAULT for PDM_IPVERSION */ 122 123 /* Bit fields for PDM EN */ 124 #define _PDM_EN_RESETVALUE 0x00000000UL /**< Default value for PDM_EN */ 125 #define _PDM_EN_MASK 0x00000001UL /**< Mask for PDM_EN */ 126 #define PDM_EN_EN (0x1UL << 0) /**< PDM enable */ 127 #define _PDM_EN_EN_SHIFT 0 /**< Shift value for PDM_EN */ 128 #define _PDM_EN_EN_MASK 0x1UL /**< Bit mask for PDM_EN */ 129 #define _PDM_EN_EN_DEFAULT 0x00000000UL /**< Mode DEFAULT for PDM_EN */ 130 #define _PDM_EN_EN_DISABLE 0x00000000UL /**< Mode DISABLE for PDM_EN */ 131 #define _PDM_EN_EN_ENABLE 0x00000001UL /**< Mode ENABLE for PDM_EN */ 132 #define PDM_EN_EN_DEFAULT (_PDM_EN_EN_DEFAULT << 0) /**< Shifted mode DEFAULT for PDM_EN */ 133 #define PDM_EN_EN_DISABLE (_PDM_EN_EN_DISABLE << 0) /**< Shifted mode DISABLE for PDM_EN */ 134 #define PDM_EN_EN_ENABLE (_PDM_EN_EN_ENABLE << 0) /**< Shifted mode ENABLE for PDM_EN */ 135 136 /* Bit fields for PDM CTRL */ 137 #define _PDM_CTRL_RESETVALUE 0x00000000UL /**< Default value for PDM_CTRL */ 138 #define _PDM_CTRL_MASK 0x000FFF1FUL /**< Mask for PDM_CTRL */ 139 #define _PDM_CTRL_GAIN_SHIFT 0 /**< Shift value for PDM_GAIN */ 140 #define _PDM_CTRL_GAIN_MASK 0x1FUL /**< Bit mask for PDM_GAIN */ 141 #define _PDM_CTRL_GAIN_DEFAULT 0x00000000UL /**< Mode DEFAULT for PDM_CTRL */ 142 #define PDM_CTRL_GAIN_DEFAULT (_PDM_CTRL_GAIN_DEFAULT << 0) /**< Shifted mode DEFAULT for PDM_CTRL */ 143 #define _PDM_CTRL_DSR_SHIFT 8 /**< Shift value for PDM_DSR */ 144 #define _PDM_CTRL_DSR_MASK 0xFFF00UL /**< Bit mask for PDM_DSR */ 145 #define _PDM_CTRL_DSR_DEFAULT 0x00000000UL /**< Mode DEFAULT for PDM_CTRL */ 146 #define PDM_CTRL_DSR_DEFAULT (_PDM_CTRL_DSR_DEFAULT << 8) /**< Shifted mode DEFAULT for PDM_CTRL */ 147 148 /* Bit fields for PDM CMD */ 149 #define _PDM_CMD_RESETVALUE 0x00000000UL /**< Default value for PDM_CMD */ 150 #define _PDM_CMD_MASK 0x00010111UL /**< Mask for PDM_CMD */ 151 #define PDM_CMD_START (0x1UL << 0) /**< Start DCF */ 152 #define _PDM_CMD_START_SHIFT 0 /**< Shift value for PDM_START */ 153 #define _PDM_CMD_START_MASK 0x1UL /**< Bit mask for PDM_START */ 154 #define _PDM_CMD_START_DEFAULT 0x00000000UL /**< Mode DEFAULT for PDM_CMD */ 155 #define PDM_CMD_START_DEFAULT (_PDM_CMD_START_DEFAULT << 0) /**< Shifted mode DEFAULT for PDM_CMD */ 156 #define PDM_CMD_STOP (0x1UL << 4) /**< Stop DCF */ 157 #define _PDM_CMD_STOP_SHIFT 4 /**< Shift value for PDM_STOP */ 158 #define _PDM_CMD_STOP_MASK 0x10UL /**< Bit mask for PDM_STOP */ 159 #define _PDM_CMD_STOP_DEFAULT 0x00000000UL /**< Mode DEFAULT for PDM_CMD */ 160 #define PDM_CMD_STOP_DEFAULT (_PDM_CMD_STOP_DEFAULT << 4) /**< Shifted mode DEFAULT for PDM_CMD */ 161 #define PDM_CMD_CLEAR (0x1UL << 8) /**< Clear DCF */ 162 #define _PDM_CMD_CLEAR_SHIFT 8 /**< Shift value for PDM_CLEAR */ 163 #define _PDM_CMD_CLEAR_MASK 0x100UL /**< Bit mask for PDM_CLEAR */ 164 #define _PDM_CMD_CLEAR_DEFAULT 0x00000000UL /**< Mode DEFAULT for PDM_CMD */ 165 #define PDM_CMD_CLEAR_DEFAULT (_PDM_CMD_CLEAR_DEFAULT << 8) /**< Shifted mode DEFAULT for PDM_CMD */ 166 #define PDM_CMD_FIFOFL (0x1UL << 16) /**< FIFO Flush */ 167 #define _PDM_CMD_FIFOFL_SHIFT 16 /**< Shift value for PDM_FIFOFL */ 168 #define _PDM_CMD_FIFOFL_MASK 0x10000UL /**< Bit mask for PDM_FIFOFL */ 169 #define _PDM_CMD_FIFOFL_DEFAULT 0x00000000UL /**< Mode DEFAULT for PDM_CMD */ 170 #define PDM_CMD_FIFOFL_DEFAULT (_PDM_CMD_FIFOFL_DEFAULT << 16) /**< Shifted mode DEFAULT for PDM_CMD */ 171 172 /* Bit fields for PDM STATUS */ 173 #define _PDM_STATUS_RESETVALUE 0x00000020UL /**< Default value for PDM_STATUS */ 174 #define _PDM_STATUS_MASK 0x00000731UL /**< Mask for PDM_STATUS */ 175 #define PDM_STATUS_ACT (0x1UL << 0) /**< PDM is active */ 176 #define _PDM_STATUS_ACT_SHIFT 0 /**< Shift value for PDM_ACT */ 177 #define _PDM_STATUS_ACT_MASK 0x1UL /**< Bit mask for PDM_ACT */ 178 #define _PDM_STATUS_ACT_DEFAULT 0x00000000UL /**< Mode DEFAULT for PDM_STATUS */ 179 #define PDM_STATUS_ACT_DEFAULT (_PDM_STATUS_ACT_DEFAULT << 0) /**< Shifted mode DEFAULT for PDM_STATUS */ 180 #define PDM_STATUS_FULL (0x1UL << 4) /**< FIFO FULL Status */ 181 #define _PDM_STATUS_FULL_SHIFT 4 /**< Shift value for PDM_FULL */ 182 #define _PDM_STATUS_FULL_MASK 0x10UL /**< Bit mask for PDM_FULL */ 183 #define _PDM_STATUS_FULL_DEFAULT 0x00000000UL /**< Mode DEFAULT for PDM_STATUS */ 184 #define PDM_STATUS_FULL_DEFAULT (_PDM_STATUS_FULL_DEFAULT << 4) /**< Shifted mode DEFAULT for PDM_STATUS */ 185 #define PDM_STATUS_EMPTY (0x1UL << 5) /**< FIFO EMPTY Status */ 186 #define _PDM_STATUS_EMPTY_SHIFT 5 /**< Shift value for PDM_EMPTY */ 187 #define _PDM_STATUS_EMPTY_MASK 0x20UL /**< Bit mask for PDM_EMPTY */ 188 #define _PDM_STATUS_EMPTY_DEFAULT 0x00000001UL /**< Mode DEFAULT for PDM_STATUS */ 189 #define PDM_STATUS_EMPTY_DEFAULT (_PDM_STATUS_EMPTY_DEFAULT << 5) /**< Shifted mode DEFAULT for PDM_STATUS */ 190 #define _PDM_STATUS_FIFOCNT_SHIFT 8 /**< Shift value for PDM_FIFOCNT */ 191 #define _PDM_STATUS_FIFOCNT_MASK 0x700UL /**< Bit mask for PDM_FIFOCNT */ 192 #define _PDM_STATUS_FIFOCNT_DEFAULT 0x00000000UL /**< Mode DEFAULT for PDM_STATUS */ 193 #define PDM_STATUS_FIFOCNT_DEFAULT (_PDM_STATUS_FIFOCNT_DEFAULT << 8) /**< Shifted mode DEFAULT for PDM_STATUS */ 194 195 /* Bit fields for PDM CFG0 */ 196 #define _PDM_CFG0_RESETVALUE 0x00000000UL /**< Default value for PDM_CFG0 */ 197 #define _PDM_CFG0_MASK 0x03013713UL /**< Mask for PDM_CFG0 */ 198 #define _PDM_CFG0_FORDER_SHIFT 0 /**< Shift value for PDM_FORDER */ 199 #define _PDM_CFG0_FORDER_MASK 0x3UL /**< Bit mask for PDM_FORDER */ 200 #define _PDM_CFG0_FORDER_DEFAULT 0x00000000UL /**< Mode DEFAULT for PDM_CFG0 */ 201 #define _PDM_CFG0_FORDER_SECOND 0x00000000UL /**< Mode SECOND for PDM_CFG0 */ 202 #define _PDM_CFG0_FORDER_THIRD 0x00000001UL /**< Mode THIRD for PDM_CFG0 */ 203 #define _PDM_CFG0_FORDER_FOURTH 0x00000002UL /**< Mode FOURTH for PDM_CFG0 */ 204 #define _PDM_CFG0_FORDER_FIFTH 0x00000003UL /**< Mode FIFTH for PDM_CFG0 */ 205 #define PDM_CFG0_FORDER_DEFAULT (_PDM_CFG0_FORDER_DEFAULT << 0) /**< Shifted mode DEFAULT for PDM_CFG0 */ 206 #define PDM_CFG0_FORDER_SECOND (_PDM_CFG0_FORDER_SECOND << 0) /**< Shifted mode SECOND for PDM_CFG0 */ 207 #define PDM_CFG0_FORDER_THIRD (_PDM_CFG0_FORDER_THIRD << 0) /**< Shifted mode THIRD for PDM_CFG0 */ 208 #define PDM_CFG0_FORDER_FOURTH (_PDM_CFG0_FORDER_FOURTH << 0) /**< Shifted mode FOURTH for PDM_CFG0 */ 209 #define PDM_CFG0_FORDER_FIFTH (_PDM_CFG0_FORDER_FIFTH << 0) /**< Shifted mode FIFTH for PDM_CFG0 */ 210 #define PDM_CFG0_NUMCH (0x1UL << 4) /**< Number of Channels */ 211 #define _PDM_CFG0_NUMCH_SHIFT 4 /**< Shift value for PDM_NUMCH */ 212 #define _PDM_CFG0_NUMCH_MASK 0x10UL /**< Bit mask for PDM_NUMCH */ 213 #define _PDM_CFG0_NUMCH_DEFAULT 0x00000000UL /**< Mode DEFAULT for PDM_CFG0 */ 214 #define _PDM_CFG0_NUMCH_ONE 0x00000000UL /**< Mode ONE for PDM_CFG0 */ 215 #define _PDM_CFG0_NUMCH_TWO 0x00000001UL /**< Mode TWO for PDM_CFG0 */ 216 #define PDM_CFG0_NUMCH_DEFAULT (_PDM_CFG0_NUMCH_DEFAULT << 4) /**< Shifted mode DEFAULT for PDM_CFG0 */ 217 #define PDM_CFG0_NUMCH_ONE (_PDM_CFG0_NUMCH_ONE << 4) /**< Shifted mode ONE for PDM_CFG0 */ 218 #define PDM_CFG0_NUMCH_TWO (_PDM_CFG0_NUMCH_TWO << 4) /**< Shifted mode TWO for PDM_CFG0 */ 219 #define _PDM_CFG0_DATAFORMAT_SHIFT 8 /**< Shift value for PDM_DATAFORMAT */ 220 #define _PDM_CFG0_DATAFORMAT_MASK 0x700UL /**< Bit mask for PDM_DATAFORMAT */ 221 #define _PDM_CFG0_DATAFORMAT_DEFAULT 0x00000000UL /**< Mode DEFAULT for PDM_CFG0 */ 222 #define _PDM_CFG0_DATAFORMAT_RIGHT16 0x00000000UL /**< Mode RIGHT16 for PDM_CFG0 */ 223 #define _PDM_CFG0_DATAFORMAT_DOUBLE16 0x00000001UL /**< Mode DOUBLE16 for PDM_CFG0 */ 224 #define _PDM_CFG0_DATAFORMAT_RIGHT24 0x00000002UL /**< Mode RIGHT24 for PDM_CFG0 */ 225 #define _PDM_CFG0_DATAFORMAT_FULL32BIT 0x00000003UL /**< Mode FULL32BIT for PDM_CFG0 */ 226 #define _PDM_CFG0_DATAFORMAT_LEFT16 0x00000004UL /**< Mode LEFT16 for PDM_CFG0 */ 227 #define _PDM_CFG0_DATAFORMAT_LEFT24 0x00000005UL /**< Mode LEFT24 for PDM_CFG0 */ 228 #define _PDM_CFG0_DATAFORMAT_RAW32BIT 0x00000006UL /**< Mode RAW32BIT for PDM_CFG0 */ 229 #define PDM_CFG0_DATAFORMAT_DEFAULT (_PDM_CFG0_DATAFORMAT_DEFAULT << 8) /**< Shifted mode DEFAULT for PDM_CFG0 */ 230 #define PDM_CFG0_DATAFORMAT_RIGHT16 (_PDM_CFG0_DATAFORMAT_RIGHT16 << 8) /**< Shifted mode RIGHT16 for PDM_CFG0 */ 231 #define PDM_CFG0_DATAFORMAT_DOUBLE16 (_PDM_CFG0_DATAFORMAT_DOUBLE16 << 8) /**< Shifted mode DOUBLE16 for PDM_CFG0 */ 232 #define PDM_CFG0_DATAFORMAT_RIGHT24 (_PDM_CFG0_DATAFORMAT_RIGHT24 << 8) /**< Shifted mode RIGHT24 for PDM_CFG0 */ 233 #define PDM_CFG0_DATAFORMAT_FULL32BIT (_PDM_CFG0_DATAFORMAT_FULL32BIT << 8) /**< Shifted mode FULL32BIT for PDM_CFG0 */ 234 #define PDM_CFG0_DATAFORMAT_LEFT16 (_PDM_CFG0_DATAFORMAT_LEFT16 << 8) /**< Shifted mode LEFT16 for PDM_CFG0 */ 235 #define PDM_CFG0_DATAFORMAT_LEFT24 (_PDM_CFG0_DATAFORMAT_LEFT24 << 8) /**< Shifted mode LEFT24 for PDM_CFG0 */ 236 #define PDM_CFG0_DATAFORMAT_RAW32BIT (_PDM_CFG0_DATAFORMAT_RAW32BIT << 8) /**< Shifted mode RAW32BIT for PDM_CFG0 */ 237 #define _PDM_CFG0_FIFODVL_SHIFT 12 /**< Shift value for PDM_FIFODVL */ 238 #define _PDM_CFG0_FIFODVL_MASK 0x3000UL /**< Bit mask for PDM_FIFODVL */ 239 #define _PDM_CFG0_FIFODVL_DEFAULT 0x00000000UL /**< Mode DEFAULT for PDM_CFG0 */ 240 #define _PDM_CFG0_FIFODVL_ONE 0x00000000UL /**< Mode ONE for PDM_CFG0 */ 241 #define _PDM_CFG0_FIFODVL_TWO 0x00000001UL /**< Mode TWO for PDM_CFG0 */ 242 #define _PDM_CFG0_FIFODVL_THREE 0x00000002UL /**< Mode THREE for PDM_CFG0 */ 243 #define _PDM_CFG0_FIFODVL_FOUR 0x00000003UL /**< Mode FOUR for PDM_CFG0 */ 244 #define PDM_CFG0_FIFODVL_DEFAULT (_PDM_CFG0_FIFODVL_DEFAULT << 12) /**< Shifted mode DEFAULT for PDM_CFG0 */ 245 #define PDM_CFG0_FIFODVL_ONE (_PDM_CFG0_FIFODVL_ONE << 12) /**< Shifted mode ONE for PDM_CFG0 */ 246 #define PDM_CFG0_FIFODVL_TWO (_PDM_CFG0_FIFODVL_TWO << 12) /**< Shifted mode TWO for PDM_CFG0 */ 247 #define PDM_CFG0_FIFODVL_THREE (_PDM_CFG0_FIFODVL_THREE << 12) /**< Shifted mode THREE for PDM_CFG0 */ 248 #define PDM_CFG0_FIFODVL_FOUR (_PDM_CFG0_FIFODVL_FOUR << 12) /**< Shifted mode FOUR for PDM_CFG0 */ 249 #define PDM_CFG0_STEREOMODECH01 (0x1UL << 16) /**< Stereo mode CH01 */ 250 #define _PDM_CFG0_STEREOMODECH01_SHIFT 16 /**< Shift value for PDM_STEREOMODECH01 */ 251 #define _PDM_CFG0_STEREOMODECH01_MASK 0x10000UL /**< Bit mask for PDM_STEREOMODECH01 */ 252 #define _PDM_CFG0_STEREOMODECH01_DEFAULT 0x00000000UL /**< Mode DEFAULT for PDM_CFG0 */ 253 #define _PDM_CFG0_STEREOMODECH01_DISABLE 0x00000000UL /**< Mode DISABLE for PDM_CFG0 */ 254 #define _PDM_CFG0_STEREOMODECH01_CH01ENABLE 0x00000001UL /**< Mode CH01ENABLE for PDM_CFG0 */ 255 #define PDM_CFG0_STEREOMODECH01_DEFAULT (_PDM_CFG0_STEREOMODECH01_DEFAULT << 16) /**< Shifted mode DEFAULT for PDM_CFG0 */ 256 #define PDM_CFG0_STEREOMODECH01_DISABLE (_PDM_CFG0_STEREOMODECH01_DISABLE << 16) /**< Shifted mode DISABLE for PDM_CFG0 */ 257 #define PDM_CFG0_STEREOMODECH01_CH01ENABLE (_PDM_CFG0_STEREOMODECH01_CH01ENABLE << 16) /**< Shifted mode CH01ENABLE for PDM_CFG0 */ 258 #define PDM_CFG0_CH0CLKPOL (0x1UL << 24) /**< CH0 CLK Polarity */ 259 #define _PDM_CFG0_CH0CLKPOL_SHIFT 24 /**< Shift value for PDM_CH0CLKPOL */ 260 #define _PDM_CFG0_CH0CLKPOL_MASK 0x1000000UL /**< Bit mask for PDM_CH0CLKPOL */ 261 #define _PDM_CFG0_CH0CLKPOL_DEFAULT 0x00000000UL /**< Mode DEFAULT for PDM_CFG0 */ 262 #define _PDM_CFG0_CH0CLKPOL_NORMAL 0x00000000UL /**< Mode NORMAL for PDM_CFG0 */ 263 #define _PDM_CFG0_CH0CLKPOL_INVERT 0x00000001UL /**< Mode INVERT for PDM_CFG0 */ 264 #define PDM_CFG0_CH0CLKPOL_DEFAULT (_PDM_CFG0_CH0CLKPOL_DEFAULT << 24) /**< Shifted mode DEFAULT for PDM_CFG0 */ 265 #define PDM_CFG0_CH0CLKPOL_NORMAL (_PDM_CFG0_CH0CLKPOL_NORMAL << 24) /**< Shifted mode NORMAL for PDM_CFG0 */ 266 #define PDM_CFG0_CH0CLKPOL_INVERT (_PDM_CFG0_CH0CLKPOL_INVERT << 24) /**< Shifted mode INVERT for PDM_CFG0 */ 267 #define PDM_CFG0_CH1CLKPOL (0x1UL << 25) /**< CH1 CLK Polarity */ 268 #define _PDM_CFG0_CH1CLKPOL_SHIFT 25 /**< Shift value for PDM_CH1CLKPOL */ 269 #define _PDM_CFG0_CH1CLKPOL_MASK 0x2000000UL /**< Bit mask for PDM_CH1CLKPOL */ 270 #define _PDM_CFG0_CH1CLKPOL_DEFAULT 0x00000000UL /**< Mode DEFAULT for PDM_CFG0 */ 271 #define _PDM_CFG0_CH1CLKPOL_NORMAL 0x00000000UL /**< Mode NORMAL for PDM_CFG0 */ 272 #define _PDM_CFG0_CH1CLKPOL_INVERT 0x00000001UL /**< Mode INVERT for PDM_CFG0 */ 273 #define PDM_CFG0_CH1CLKPOL_DEFAULT (_PDM_CFG0_CH1CLKPOL_DEFAULT << 25) /**< Shifted mode DEFAULT for PDM_CFG0 */ 274 #define PDM_CFG0_CH1CLKPOL_NORMAL (_PDM_CFG0_CH1CLKPOL_NORMAL << 25) /**< Shifted mode NORMAL for PDM_CFG0 */ 275 #define PDM_CFG0_CH1CLKPOL_INVERT (_PDM_CFG0_CH1CLKPOL_INVERT << 25) /**< Shifted mode INVERT for PDM_CFG0 */ 276 277 /* Bit fields for PDM CFG1 */ 278 #define _PDM_CFG1_RESETVALUE 0x00000000UL /**< Default value for PDM_CFG1 */ 279 #define _PDM_CFG1_MASK 0x030003FFUL /**< Mask for PDM_CFG1 */ 280 #define _PDM_CFG1_PRESC_SHIFT 0 /**< Shift value for PDM_PRESC */ 281 #define _PDM_CFG1_PRESC_MASK 0x3FFUL /**< Bit mask for PDM_PRESC */ 282 #define _PDM_CFG1_PRESC_DEFAULT 0x00000000UL /**< Mode DEFAULT for PDM_CFG1 */ 283 #define PDM_CFG1_PRESC_DEFAULT (_PDM_CFG1_PRESC_DEFAULT << 0) /**< Shifted mode DEFAULT for PDM_CFG1 */ 284 #define _PDM_CFG1_DLYMUXSEL_SHIFT 24 /**< Shift value for PDM_DLYMUXSEL */ 285 #define _PDM_CFG1_DLYMUXSEL_MASK 0x3000000UL /**< Bit mask for PDM_DLYMUXSEL */ 286 #define _PDM_CFG1_DLYMUXSEL_DEFAULT 0x00000000UL /**< Mode DEFAULT for PDM_CFG1 */ 287 #define PDM_CFG1_DLYMUXSEL_DEFAULT (_PDM_CFG1_DLYMUXSEL_DEFAULT << 24) /**< Shifted mode DEFAULT for PDM_CFG1 */ 288 289 /* Bit fields for PDM RXDATA */ 290 #define _PDM_RXDATA_RESETVALUE 0x00000000UL /**< Default value for PDM_RXDATA */ 291 #define _PDM_RXDATA_MASK 0xFFFFFFFFUL /**< Mask for PDM_RXDATA */ 292 #define _PDM_RXDATA_RXDATA_SHIFT 0 /**< Shift value for PDM_RXDATA */ 293 #define _PDM_RXDATA_RXDATA_MASK 0xFFFFFFFFUL /**< Bit mask for PDM_RXDATA */ 294 #define _PDM_RXDATA_RXDATA_DEFAULT 0x00000000UL /**< Mode DEFAULT for PDM_RXDATA */ 295 #define PDM_RXDATA_RXDATA_DEFAULT (_PDM_RXDATA_RXDATA_DEFAULT << 0) /**< Shifted mode DEFAULT for PDM_RXDATA */ 296 297 /* Bit fields for PDM IF */ 298 #define _PDM_IF_RESETVALUE 0x00000000UL /**< Default value for PDM_IF */ 299 #define _PDM_IF_MASK 0x0000000FUL /**< Mask for PDM_IF */ 300 #define PDM_IF_DV (0x1UL << 0) /**< Data Valid Interrupt Flag */ 301 #define _PDM_IF_DV_SHIFT 0 /**< Shift value for PDM_DV */ 302 #define _PDM_IF_DV_MASK 0x1UL /**< Bit mask for PDM_DV */ 303 #define _PDM_IF_DV_DEFAULT 0x00000000UL /**< Mode DEFAULT for PDM_IF */ 304 #define PDM_IF_DV_DEFAULT (_PDM_IF_DV_DEFAULT << 0) /**< Shifted mode DEFAULT for PDM_IF */ 305 #define PDM_IF_DVL (0x1UL << 1) /**< Data Valid Level Interrupt Flag */ 306 #define _PDM_IF_DVL_SHIFT 1 /**< Shift value for PDM_DVL */ 307 #define _PDM_IF_DVL_MASK 0x2UL /**< Bit mask for PDM_DVL */ 308 #define _PDM_IF_DVL_DEFAULT 0x00000000UL /**< Mode DEFAULT for PDM_IF */ 309 #define PDM_IF_DVL_DEFAULT (_PDM_IF_DVL_DEFAULT << 1) /**< Shifted mode DEFAULT for PDM_IF */ 310 #define PDM_IF_OF (0x1UL << 2) /**< FIFO Overflow Interrupt Flag */ 311 #define _PDM_IF_OF_SHIFT 2 /**< Shift value for PDM_OF */ 312 #define _PDM_IF_OF_MASK 0x4UL /**< Bit mask for PDM_OF */ 313 #define _PDM_IF_OF_DEFAULT 0x00000000UL /**< Mode DEFAULT for PDM_IF */ 314 #define PDM_IF_OF_DEFAULT (_PDM_IF_OF_DEFAULT << 2) /**< Shifted mode DEFAULT for PDM_IF */ 315 #define PDM_IF_UF (0x1UL << 3) /**< FIFO Undeflow Interrupt Flag */ 316 #define _PDM_IF_UF_SHIFT 3 /**< Shift value for PDM_UF */ 317 #define _PDM_IF_UF_MASK 0x8UL /**< Bit mask for PDM_UF */ 318 #define _PDM_IF_UF_DEFAULT 0x00000000UL /**< Mode DEFAULT for PDM_IF */ 319 #define PDM_IF_UF_DEFAULT (_PDM_IF_UF_DEFAULT << 3) /**< Shifted mode DEFAULT for PDM_IF */ 320 321 /* Bit fields for PDM IEN */ 322 #define _PDM_IEN_RESETVALUE 0x00000000UL /**< Default value for PDM_IEN */ 323 #define _PDM_IEN_MASK 0x0000000FUL /**< Mask for PDM_IEN */ 324 #define PDM_IEN_DV (0x1UL << 0) /**< Data Valid Interrupt Enable */ 325 #define _PDM_IEN_DV_SHIFT 0 /**< Shift value for PDM_DV */ 326 #define _PDM_IEN_DV_MASK 0x1UL /**< Bit mask for PDM_DV */ 327 #define _PDM_IEN_DV_DEFAULT 0x00000000UL /**< Mode DEFAULT for PDM_IEN */ 328 #define PDM_IEN_DV_DEFAULT (_PDM_IEN_DV_DEFAULT << 0) /**< Shifted mode DEFAULT for PDM_IEN */ 329 #define PDM_IEN_DVL (0x1UL << 1) /**< Data Valid Level Interrupt Enable */ 330 #define _PDM_IEN_DVL_SHIFT 1 /**< Shift value for PDM_DVL */ 331 #define _PDM_IEN_DVL_MASK 0x2UL /**< Bit mask for PDM_DVL */ 332 #define _PDM_IEN_DVL_DEFAULT 0x00000000UL /**< Mode DEFAULT for PDM_IEN */ 333 #define PDM_IEN_DVL_DEFAULT (_PDM_IEN_DVL_DEFAULT << 1) /**< Shifted mode DEFAULT for PDM_IEN */ 334 #define PDM_IEN_OF (0x1UL << 2) /**< FIFO Overflow Interrupt Enable */ 335 #define _PDM_IEN_OF_SHIFT 2 /**< Shift value for PDM_OF */ 336 #define _PDM_IEN_OF_MASK 0x4UL /**< Bit mask for PDM_OF */ 337 #define _PDM_IEN_OF_DEFAULT 0x00000000UL /**< Mode DEFAULT for PDM_IEN */ 338 #define PDM_IEN_OF_DEFAULT (_PDM_IEN_OF_DEFAULT << 2) /**< Shifted mode DEFAULT for PDM_IEN */ 339 #define PDM_IEN_UF (0x1UL << 3) /**< FIFO Undeflow Interrupt Enable */ 340 #define _PDM_IEN_UF_SHIFT 3 /**< Shift value for PDM_UF */ 341 #define _PDM_IEN_UF_MASK 0x8UL /**< Bit mask for PDM_UF */ 342 #define _PDM_IEN_UF_DEFAULT 0x00000000UL /**< Mode DEFAULT for PDM_IEN */ 343 #define PDM_IEN_UF_DEFAULT (_PDM_IEN_UF_DEFAULT << 3) /**< Shifted mode DEFAULT for PDM_IEN */ 344 345 /* Bit fields for PDM SYNCBUSY */ 346 #define _PDM_SYNCBUSY_RESETVALUE 0x00000000UL /**< Default value for PDM_SYNCBUSY */ 347 #define _PDM_SYNCBUSY_MASK 0x00000009UL /**< Mask for PDM_SYNCBUSY */ 348 #define PDM_SYNCBUSY_SYNCBUSY (0x1UL << 0) /**< sync busy */ 349 #define _PDM_SYNCBUSY_SYNCBUSY_SHIFT 0 /**< Shift value for PDM_SYNCBUSY */ 350 #define _PDM_SYNCBUSY_SYNCBUSY_MASK 0x1UL /**< Bit mask for PDM_SYNCBUSY */ 351 #define _PDM_SYNCBUSY_SYNCBUSY_DEFAULT 0x00000000UL /**< Mode DEFAULT for PDM_SYNCBUSY */ 352 #define PDM_SYNCBUSY_SYNCBUSY_DEFAULT (_PDM_SYNCBUSY_SYNCBUSY_DEFAULT << 0) /**< Shifted mode DEFAULT for PDM_SYNCBUSY */ 353 #define PDM_SYNCBUSY_FIFOFLBUSY (0x1UL << 3) /**< FIFO Flush Sync busy */ 354 #define _PDM_SYNCBUSY_FIFOFLBUSY_SHIFT 3 /**< Shift value for PDM_FIFOFLBUSY */ 355 #define _PDM_SYNCBUSY_FIFOFLBUSY_MASK 0x8UL /**< Bit mask for PDM_FIFOFLBUSY */ 356 #define _PDM_SYNCBUSY_FIFOFLBUSY_DEFAULT 0x00000000UL /**< Mode DEFAULT for PDM_SYNCBUSY */ 357 #define PDM_SYNCBUSY_FIFOFLBUSY_DEFAULT (_PDM_SYNCBUSY_FIFOFLBUSY_DEFAULT << 3) /**< Shifted mode DEFAULT for PDM_SYNCBUSY */ 358 359 /** @} End of group EFR32BG27_PDM_BitFields */ 360 /** @} End of group EFR32BG27_PDM */ 361 /** @} End of group Parts */ 362 363 #endif // EFR32BG27_PDM_H 364