Sinan Divarci
/
max4146x_comp
max4146x_comp
max4146x/Max41463_4_regs.h@0:0061165683ee, 2020-10-25 (annotated)
- Committer:
- sdivarci
- Date:
- Sun Oct 25 20:10:02 2020 +0000
- Revision:
- 0:0061165683ee
sdivarci
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
sdivarci | 0:0061165683ee | 1 | /******************************************************************************* |
sdivarci | 0:0061165683ee | 2 | * Copyright (C) 2019 Maxim Integrated Products, Inc., All rights Reserved. |
sdivarci | 0:0061165683ee | 3 | * |
sdivarci | 0:0061165683ee | 4 | * This software is protected by copyright laws of the United States and |
sdivarci | 0:0061165683ee | 5 | * of foreign countries. This material may also be protected by patent laws |
sdivarci | 0:0061165683ee | 6 | * and technology transfer regulations of the United States and of foreign |
sdivarci | 0:0061165683ee | 7 | * countries. This software is furnished under a license agreement and/or a |
sdivarci | 0:0061165683ee | 8 | * nondisclosure agreement and may only be used or reproduced in accordance |
sdivarci | 0:0061165683ee | 9 | * with the terms of those agreements. Dissemination of this information to |
sdivarci | 0:0061165683ee | 10 | * any party or parties not specified in the license agreement and/or |
sdivarci | 0:0061165683ee | 11 | * nondisclosure agreement is expressly prohibited. |
sdivarci | 0:0061165683ee | 12 | * |
sdivarci | 0:0061165683ee | 13 | * The above copyright notice and this permission notice shall be included |
sdivarci | 0:0061165683ee | 14 | * in all copies or substantial portions of the Software. |
sdivarci | 0:0061165683ee | 15 | * |
sdivarci | 0:0061165683ee | 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS |
sdivarci | 0:0061165683ee | 17 | * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF |
sdivarci | 0:0061165683ee | 18 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. |
sdivarci | 0:0061165683ee | 19 | * IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES |
sdivarci | 0:0061165683ee | 20 | * OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, |
sdivarci | 0:0061165683ee | 21 | * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR |
sdivarci | 0:0061165683ee | 22 | * OTHER DEALINGS IN THE SOFTWARE. |
sdivarci | 0:0061165683ee | 23 | * |
sdivarci | 0:0061165683ee | 24 | * Except as contained in this notice, the name of Maxim Integrated |
sdivarci | 0:0061165683ee | 25 | * Products, Inc. shall not be used except as stated in the Maxim Integrated |
sdivarci | 0:0061165683ee | 26 | * Products, Inc. Branding Policy. |
sdivarci | 0:0061165683ee | 27 | * |
sdivarci | 0:0061165683ee | 28 | * The mere transfer of this software does not imply any licenses |
sdivarci | 0:0061165683ee | 29 | * of trade secrets, proprietary technology, copyrights, patents, |
sdivarci | 0:0061165683ee | 30 | * trademarks, maskwork rights, or any other form of intellectual |
sdivarci | 0:0061165683ee | 31 | * property whatsoever. Maxim Integrated Products, Inc. retains all |
sdivarci | 0:0061165683ee | 32 | * ownership rights. |
sdivarci | 0:0061165683ee | 33 | ******************************************************************************* |
sdivarci | 0:0061165683ee | 34 | */ |
sdivarci | 0:0061165683ee | 35 | |
sdivarci | 0:0061165683ee | 36 | #ifndef MAX41463_4_REGS_H_ |
sdivarci | 0:0061165683ee | 37 | #define MAX41463_4_REGS_H_ |
sdivarci | 0:0061165683ee | 38 | |
sdivarci | 0:0061165683ee | 39 | /** |
sdivarci | 0:0061165683ee | 40 | * @brief CFG1 (0x00) |
sdivarci | 0:0061165683ee | 41 | * |
sdivarci | 0:0061165683ee | 42 | */ |
sdivarci | 0:0061165683ee | 43 | typedef union { |
sdivarci | 0:0061165683ee | 44 | unsigned char raw; |
sdivarci | 0:0061165683ee | 45 | struct { |
sdivarci | 0:0061165683ee | 46 | unsigned char modmode : 1; /**< Configures modulator mode */ |
sdivarci | 0:0061165683ee | 47 | unsigned char sync : 1; /**< Controls if clock output acts as an input. |
sdivarci | 0:0061165683ee | 48 | When an input, it will sample the DATA pin. */ |
sdivarci | 0:0061165683ee | 49 | unsigned char fskshape : 1; /**< Sets the state of FSK Gaussian Shaping */ |
sdivarci | 0:0061165683ee | 50 | unsigned char : 1; |
sdivarci | 0:0061165683ee | 51 | unsigned char xoclkdiv : 2; /**< XO clock division ratio for digital block */ |
sdivarci | 0:0061165683ee | 52 | unsigned char xoclkdelay : 2; /**< Start delay before enabling XO clock to digital block */ |
sdivarci | 0:0061165683ee | 53 | } bits; |
sdivarci | 0:0061165683ee | 54 | } max41463_4_reg_cfg1_t; |
sdivarci | 0:0061165683ee | 55 | |
sdivarci | 0:0061165683ee | 56 | /** |
sdivarci | 0:0061165683ee | 57 | * @brief CFG2 (0x01) |
sdivarci | 0:0061165683ee | 58 | * |
sdivarci | 0:0061165683ee | 59 | */ |
sdivarci | 0:0061165683ee | 60 | typedef union { |
sdivarci | 0:0061165683ee | 61 | unsigned char raw; |
sdivarci | 0:0061165683ee | 62 | struct { |
sdivarci | 0:0061165683ee | 63 | unsigned char bclk_postdiv : 3; /**< Select the Baud Clock Post Division Ratio. |
sdivarci | 0:0061165683ee | 64 | Valid values are from 1 to 5. */ |
sdivarci | 0:0061165683ee | 65 | unsigned char : 3; |
sdivarci | 0:0061165683ee | 66 | unsigned char clkout_delay : 2; /**< Selects the delay when CLKOUT starts toggling upon |
sdivarci | 0:0061165683ee | 67 | exiting SHUTDOWN mode, in divided XO clock cycles */ |
sdivarci | 0:0061165683ee | 68 | } bits; |
sdivarci | 0:0061165683ee | 69 | } max41463_4_reg_cfg2_t; |
sdivarci | 0:0061165683ee | 70 | |
sdivarci | 0:0061165683ee | 71 | /** |
sdivarci | 0:0061165683ee | 72 | * @brief CFG3 (0x02) |
sdivarci | 0:0061165683ee | 73 | * |
sdivarci | 0:0061165683ee | 74 | */ |
sdivarci | 0:0061165683ee | 75 | typedef union { |
sdivarci | 0:0061165683ee | 76 | unsigned char raw; |
sdivarci | 0:0061165683ee | 77 | struct { |
sdivarci | 0:0061165683ee | 78 | unsigned char bclk_prediv : 8; /**< Baud clock predivision ratio. Valid values are from 3 to 255 */ |
sdivarci | 0:0061165683ee | 79 | } bits; |
sdivarci | 0:0061165683ee | 80 | } max41463_4_reg_cfg3_t; |
sdivarci | 0:0061165683ee | 81 | |
sdivarci | 0:0061165683ee | 82 | /** |
sdivarci | 0:0061165683ee | 83 | * @brief CFG4 (0x03) |
sdivarci | 0:0061165683ee | 84 | * |
sdivarci | 0:0061165683ee | 85 | */ |
sdivarci | 0:0061165683ee | 86 | typedef union { |
sdivarci | 0:0061165683ee | 87 | unsigned char raw; |
sdivarci | 0:0061165683ee | 88 | struct { |
sdivarci | 0:0061165683ee | 89 | unsigned char pwdn_mode : 2; /**< Power Down Mode Select */ |
sdivarci | 0:0061165683ee | 90 | unsigned char : 6; |
sdivarci | 0:0061165683ee | 91 | } bits; |
sdivarci | 0:0061165683ee | 92 | } max41463_4_reg_cfg4_t; |
sdivarci | 0:0061165683ee | 93 | |
sdivarci | 0:0061165683ee | 94 | /** |
sdivarci | 0:0061165683ee | 95 | * @brief CFG5 (0x04) |
sdivarci | 0:0061165683ee | 96 | * |
sdivarci | 0:0061165683ee | 97 | */ |
sdivarci | 0:0061165683ee | 98 | typedef union { |
sdivarci | 0:0061165683ee | 99 | unsigned char raw; |
sdivarci | 0:0061165683ee | 100 | struct { |
sdivarci | 0:0061165683ee | 101 | unsigned char tstep : 6; /**< Controls GFSK shaping. See Digital FSK Modulation section. */ |
sdivarci | 0:0061165683ee | 102 | unsigned char : 2; |
sdivarci | 0:0061165683ee | 103 | } bits; |
sdivarci | 0:0061165683ee | 104 | } max41463_4_reg_cfg5_t; |
sdivarci | 0:0061165683ee | 105 | |
sdivarci | 0:0061165683ee | 106 | /** |
sdivarci | 0:0061165683ee | 107 | * @brief SHDN (0x05) |
sdivarci | 0:0061165683ee | 108 | * |
sdivarci | 0:0061165683ee | 109 | */ |
sdivarci | 0:0061165683ee | 110 | typedef union { |
sdivarci | 0:0061165683ee | 111 | unsigned char raw; |
sdivarci | 0:0061165683ee | 112 | struct { |
sdivarci | 0:0061165683ee | 113 | unsigned char pa_boost : 1; /**< Enables a boost in PA output power for frequencies above 850MHz. |
sdivarci | 0:0061165683ee | 114 | This requires a different PA match compared to normal operation. */ |
sdivarci | 0:0061165683ee | 115 | unsigned char : 7; |
sdivarci | 0:0061165683ee | 116 | } bits; |
sdivarci | 0:0061165683ee | 117 | } max41463_4_reg_shdn_t; |
sdivarci | 0:0061165683ee | 118 | |
sdivarci | 0:0061165683ee | 119 | /** |
sdivarci | 0:0061165683ee | 120 | * @brief PA1 (0x06) |
sdivarci | 0:0061165683ee | 121 | * |
sdivarci | 0:0061165683ee | 122 | */ |
sdivarci | 0:0061165683ee | 123 | typedef union { |
sdivarci | 0:0061165683ee | 124 | unsigned char raw; |
sdivarci | 0:0061165683ee | 125 | struct { |
sdivarci | 0:0061165683ee | 126 | unsigned char papwr : 3; /**< Controls the PA output power by enabling parallel drivers. */ |
sdivarci | 0:0061165683ee | 127 | unsigned char : 5; |
sdivarci | 0:0061165683ee | 128 | } bits; |
sdivarci | 0:0061165683ee | 129 | } max41463_4_reg_pa1_t; |
sdivarci | 0:0061165683ee | 130 | |
sdivarci | 0:0061165683ee | 131 | /** |
sdivarci | 0:0061165683ee | 132 | * @brief PA2 (0x07) |
sdivarci | 0:0061165683ee | 133 | * |
sdivarci | 0:0061165683ee | 134 | */ |
sdivarci | 0:0061165683ee | 135 | typedef union { |
sdivarci | 0:0061165683ee | 136 | unsigned char raw; |
sdivarci | 0:0061165683ee | 137 | struct { |
sdivarci | 0:0061165683ee | 138 | unsigned char pacap : 5; /**< Controls shunt capacitance on PA output in fF. */ |
sdivarci | 0:0061165683ee | 139 | unsigned char : 3; |
sdivarci | 0:0061165683ee | 140 | } bits; |
sdivarci | 0:0061165683ee | 141 | } max41463_4_reg_pa2_t; |
sdivarci | 0:0061165683ee | 142 | |
sdivarci | 0:0061165683ee | 143 | /** |
sdivarci | 0:0061165683ee | 144 | * @brief PLL1 (0x08) |
sdivarci | 0:0061165683ee | 145 | * |
sdivarci | 0:0061165683ee | 146 | */ |
sdivarci | 0:0061165683ee | 147 | typedef union { |
sdivarci | 0:0061165683ee | 148 | unsigned char raw; |
sdivarci | 0:0061165683ee | 149 | struct { |
sdivarci | 0:0061165683ee | 150 | unsigned char lomode : 1; /**< Sets LO generation. For lower power, choose LOWCURRENT. |
sdivarci | 0:0061165683ee | 151 | For higher performance, choose LOWNOISE. */ |
sdivarci | 0:0061165683ee | 152 | unsigned char lodiv : 2; /**< */ |
sdivarci | 0:0061165683ee | 153 | unsigned char loopbw : 2; /**< Write to 00 binary.Sets PLL loop bandwidth. */ |
sdivarci | 0:0061165683ee | 154 | unsigned char fracmode : 1; /**< Sets PLL between fractional-N and integer-N mode. */ |
sdivarci | 0:0061165683ee | 155 | unsigned char cplin : 2; /**< Sets the level of charge pump offset current for fractional N mode |
sdivarci | 0:0061165683ee | 156 | to improve close in phase noise. Set to DISABLED for integer N mode. */ |
sdivarci | 0:0061165683ee | 157 | } bits; |
sdivarci | 0:0061165683ee | 158 | } max41463_4_reg_pll1_t; |
sdivarci | 0:0061165683ee | 159 | |
sdivarci | 0:0061165683ee | 160 | /** |
sdivarci | 0:0061165683ee | 161 | * @brief PLL2 (0x09) |
sdivarci | 0:0061165683ee | 162 | * |
sdivarci | 0:0061165683ee | 163 | */ |
sdivarci | 0:0061165683ee | 164 | typedef union { |
sdivarci | 0:0061165683ee | 165 | unsigned char raw; |
sdivarci | 0:0061165683ee | 166 | struct { |
sdivarci | 0:0061165683ee | 167 | unsigned char cpval : 2; /**< Sets Charge Pump Current */ |
sdivarci | 0:0061165683ee | 168 | unsigned char : 4; |
sdivarci | 0:0061165683ee | 169 | unsigned char lcvco_fast_start : 1; /**< Write to 0 binary. |
sdivarci | 0:0061165683ee | 170 | Enables fast start of LC VCO because of bias filtering */ |
sdivarci | 0:0061165683ee | 171 | unsigned char lcvco_pwr : 1; /**< Write to 0 binary. Controls power in LC VCO */ |
sdivarci | 0:0061165683ee | 172 | } bits; |
sdivarci | 0:0061165683ee | 173 | } max41463_4_reg_pll2_t; |
sdivarci | 0:0061165683ee | 174 | |
sdivarci | 0:0061165683ee | 175 | /** |
sdivarci | 0:0061165683ee | 176 | * @brief CFG6 (0x0A) |
sdivarci | 0:0061165683ee | 177 | * |
sdivarci | 0:0061165683ee | 178 | */ |
sdivarci | 0:0061165683ee | 179 | typedef union { |
sdivarci | 0:0061165683ee | 180 | unsigned char raw; |
sdivarci | 0:0061165683ee | 181 | struct { |
sdivarci | 0:0061165683ee | 182 | unsigned char fourwire1 : 1; /**< */ |
sdivarci | 0:0061165683ee | 183 | unsigned char spi_txen1 : 1; /**< */ |
sdivarci | 0:0061165683ee | 184 | unsigned char i2c_txen1 : 1; /**< Enables DATA transmission in I2C mode. Aliased address for I2C_TXEN1 */ |
sdivarci | 0:0061165683ee | 185 | unsigned char : 5; |
sdivarci | 0:0061165683ee | 186 | } bits; |
sdivarci | 0:0061165683ee | 187 | } max41463_4_reg_cfg6_t; |
sdivarci | 0:0061165683ee | 188 | |
sdivarci | 0:0061165683ee | 189 | /** |
sdivarci | 0:0061165683ee | 190 | * @brief PLL3 (0x0B) |
sdivarci | 0:0061165683ee | 191 | * |
sdivarci | 0:0061165683ee | 192 | */ |
sdivarci | 0:0061165683ee | 193 | typedef union { |
sdivarci | 0:0061165683ee | 194 | unsigned char raw; |
sdivarci | 0:0061165683ee | 195 | struct { |
sdivarci | 0:0061165683ee | 196 | unsigned char freq_23_to_16 : 8; /**< FREQ value to PLL. LO frequency= FREQ<23:0>/2^16*fXTAL */ |
sdivarci | 0:0061165683ee | 197 | } bits; |
sdivarci | 0:0061165683ee | 198 | } max41463_4_reg_pll3_t; |
sdivarci | 0:0061165683ee | 199 | |
sdivarci | 0:0061165683ee | 200 | /** |
sdivarci | 0:0061165683ee | 201 | * @brief PLL4 (0x0C) |
sdivarci | 0:0061165683ee | 202 | * |
sdivarci | 0:0061165683ee | 203 | */ |
sdivarci | 0:0061165683ee | 204 | typedef union { |
sdivarci | 0:0061165683ee | 205 | unsigned char raw; |
sdivarci | 0:0061165683ee | 206 | struct { |
sdivarci | 0:0061165683ee | 207 | unsigned char freq_15_to_8 : 8; /**< FREQ value to PLL */ |
sdivarci | 0:0061165683ee | 208 | } bits; |
sdivarci | 0:0061165683ee | 209 | } max41463_4_reg_pll4_t; |
sdivarci | 0:0061165683ee | 210 | |
sdivarci | 0:0061165683ee | 211 | /** |
sdivarci | 0:0061165683ee | 212 | * @brief PLL5 (0x0D) |
sdivarci | 0:0061165683ee | 213 | * |
sdivarci | 0:0061165683ee | 214 | */ |
sdivarci | 0:0061165683ee | 215 | typedef union { |
sdivarci | 0:0061165683ee | 216 | unsigned char raw; |
sdivarci | 0:0061165683ee | 217 | struct { |
sdivarci | 0:0061165683ee | 218 | unsigned char freq_7_to_0 : 8; /**< FREQ value to PLL */ |
sdivarci | 0:0061165683ee | 219 | } bits; |
sdivarci | 0:0061165683ee | 220 | } max41463_4_reg_pll5_t; |
sdivarci | 0:0061165683ee | 221 | |
sdivarci | 0:0061165683ee | 222 | /** |
sdivarci | 0:0061165683ee | 223 | * @brief PLL6 (0x0E) |
sdivarci | 0:0061165683ee | 224 | * |
sdivarci | 0:0061165683ee | 225 | */ |
sdivarci | 0:0061165683ee | 226 | typedef union { |
sdivarci | 0:0061165683ee | 227 | unsigned char raw; |
sdivarci | 0:0061165683ee | 228 | struct { |
sdivarci | 0:0061165683ee | 229 | unsigned char deltaf : 7; /**< For FSK mode, MODMODE=1 and FSKSHAPE=0, sets the frequency deviation from the |
sdivarci | 0:0061165683ee | 230 | space frequency for the mark frequency. fDELTA = DELTAF[6:0] * fXTAL/ 8192 */ |
sdivarci | 0:0061165683ee | 231 | unsigned char : 1; |
sdivarci | 0:0061165683ee | 232 | } bits; |
sdivarci | 0:0061165683ee | 233 | } max41463_4_reg_pll6_t; |
sdivarci | 0:0061165683ee | 234 | |
sdivarci | 0:0061165683ee | 235 | /** |
sdivarci | 0:0061165683ee | 236 | * @brief PLL7 (0x0F) |
sdivarci | 0:0061165683ee | 237 | * |
sdivarci | 0:0061165683ee | 238 | */ |
sdivarci | 0:0061165683ee | 239 | typedef union { |
sdivarci | 0:0061165683ee | 240 | unsigned char raw; |
sdivarci | 0:0061165683ee | 241 | struct { |
sdivarci | 0:0061165683ee | 242 | unsigned char deltaf_shape : 4; /**< For FSK mode, MODMODE = 1 and FSKSHAPE = 1, sets the frequency deviation |
sdivarci | 0:0061165683ee | 243 | from the space frequency for the mark frequency. |
sdivarci | 0:0061165683ee | 244 | fDELTA = DELTAF_SHAPE[3:0] * fXTAL / 81920 */ |
sdivarci | 0:0061165683ee | 245 | unsigned char : 4; |
sdivarci | 0:0061165683ee | 246 | } bits; |
sdivarci | 0:0061165683ee | 247 | } max41463_4_reg_pll7_t; |
sdivarci | 0:0061165683ee | 248 | |
sdivarci | 0:0061165683ee | 249 | /** |
sdivarci | 0:0061165683ee | 250 | * @brief CFG7 (0x10) |
sdivarci | 0:0061165683ee | 251 | * |
sdivarci | 0:0061165683ee | 252 | */ |
sdivarci | 0:0061165683ee | 253 | typedef union { |
sdivarci | 0:0061165683ee | 254 | unsigned char raw; |
sdivarci | 0:0061165683ee | 255 | struct { |
sdivarci | 0:0061165683ee | 256 | unsigned char fourwire2 : 1; /**< */ |
sdivarci | 0:0061165683ee | 257 | unsigned char spi_txen2 : 1; /**< */ |
sdivarci | 0:0061165683ee | 258 | unsigned char i2c_txen2 : 1; /**< When set, enables DATA transmission in I2C mode. |
sdivarci | 0:0061165683ee | 259 | Aliased address for I2C_TXEN1 */ |
sdivarci | 0:0061165683ee | 260 | unsigned char : 5; |
sdivarci | 0:0061165683ee | 261 | } bits; |
sdivarci | 0:0061165683ee | 262 | } max41463_4_reg_cfg7_t; |
sdivarci | 0:0061165683ee | 263 | |
sdivarci | 0:0061165683ee | 264 | /** |
sdivarci | 0:0061165683ee | 265 | * @brief I2C1 (0x11) |
sdivarci | 0:0061165683ee | 266 | * |
sdivarci | 0:0061165683ee | 267 | */ |
sdivarci | 0:0061165683ee | 268 | typedef union { |
sdivarci | 0:0061165683ee | 269 | unsigned char raw; |
sdivarci | 0:0061165683ee | 270 | struct { |
sdivarci | 0:0061165683ee | 271 | unsigned char pktlen_14_to_8 : 7; /**< Packet Length */ |
sdivarci | 0:0061165683ee | 272 | unsigned char pktlen_mode : 1; /**< Packet Length Mode */ |
sdivarci | 0:0061165683ee | 273 | } bits; |
sdivarci | 0:0061165683ee | 274 | } max41463_4_reg_i2c1_t; |
sdivarci | 0:0061165683ee | 275 | |
sdivarci | 0:0061165683ee | 276 | /** |
sdivarci | 0:0061165683ee | 277 | * @brief I2C2 (0x12) |
sdivarci | 0:0061165683ee | 278 | * |
sdivarci | 0:0061165683ee | 279 | * Detailed explanation. |
sdivarci | 0:0061165683ee | 280 | */ |
sdivarci | 0:0061165683ee | 281 | typedef union { |
sdivarci | 0:0061165683ee | 282 | unsigned char raw; |
sdivarci | 0:0061165683ee | 283 | struct { |
sdivarci | 0:0061165683ee | 284 | unsigned char pktlen_7_to_0 : 8; /**< Packet Length */ |
sdivarci | 0:0061165683ee | 285 | } bits; |
sdivarci | 0:0061165683ee | 286 | } max41463_4_reg_i2c2_t; |
sdivarci | 0:0061165683ee | 287 | |
sdivarci | 0:0061165683ee | 288 | /** |
sdivarci | 0:0061165683ee | 289 | * @brief I2C3 (0x13) |
sdivarci | 0:0061165683ee | 290 | * |
sdivarci | 0:0061165683ee | 291 | */ |
sdivarci | 0:0061165683ee | 292 | typedef union { |
sdivarci | 0:0061165683ee | 293 | unsigned char raw; |
sdivarci | 0:0061165683ee | 294 | struct { |
sdivarci | 0:0061165683ee | 295 | unsigned char i2c_tx_data : 8; /**< Transmit data to be written into FIFO for I2C mode of operation. |
sdivarci | 0:0061165683ee | 296 | At this address, I2C register address will not auto increment within an |
sdivarci | 0:0061165683ee | 297 | I2C transaction burst, and subsequent writes will keep going to FIFO */ |
sdivarci | 0:0061165683ee | 298 | } bits; |
sdivarci | 0:0061165683ee | 299 | } max41463_4_reg_i2c3_t; |
sdivarci | 0:0061165683ee | 300 | |
sdivarci | 0:0061165683ee | 301 | /** |
sdivarci | 0:0061165683ee | 302 | * @brief I2C4 (0x14) |
sdivarci | 0:0061165683ee | 303 | * |
sdivarci | 0:0061165683ee | 304 | */ |
sdivarci | 0:0061165683ee | 305 | typedef union { |
sdivarci | 0:0061165683ee | 306 | unsigned char raw; |
sdivarci | 0:0061165683ee | 307 | struct { |
sdivarci | 0:0061165683ee | 308 | unsigned char tx_pktlen_14_to_8 : 7; /**< Provides status information of bits transmitted |
sdivarci | 0:0061165683ee | 309 | for the current packet */ |
sdivarci | 0:0061165683ee | 310 | unsigned char pktcomplete : 1; /**< Indicates if Packet transmission is completed */ |
sdivarci | 0:0061165683ee | 311 | } bits; |
sdivarci | 0:0061165683ee | 312 | } max41463_4_reg_i2c4_t; |
sdivarci | 0:0061165683ee | 313 | |
sdivarci | 0:0061165683ee | 314 | /** |
sdivarci | 0:0061165683ee | 315 | * @brief I2C5 (0x15) |
sdivarci | 0:0061165683ee | 316 | * |
sdivarci | 0:0061165683ee | 317 | */ |
sdivarci | 0:0061165683ee | 318 | typedef union { |
sdivarci | 0:0061165683ee | 319 | unsigned char raw; |
sdivarci | 0:0061165683ee | 320 | struct { |
sdivarci | 0:0061165683ee | 321 | unsigned char tx_pktlen_7_to_0 : 8; /**< Provides status information of bits transmitted |
sdivarci | 0:0061165683ee | 322 | for the current packet */ |
sdivarci | 0:0061165683ee | 323 | } bits; |
sdivarci | 0:0061165683ee | 324 | } max41463_4_reg_i2c5_t; |
sdivarci | 0:0061165683ee | 325 | |
sdivarci | 0:0061165683ee | 326 | /** |
sdivarci | 0:0061165683ee | 327 | * @brief I2C6 (0x16) |
sdivarci | 0:0061165683ee | 328 | * |
sdivarci | 0:0061165683ee | 329 | */ |
sdivarci | 0:0061165683ee | 330 | typedef union { |
sdivarci | 0:0061165683ee | 331 | unsigned char raw; |
sdivarci | 0:0061165683ee | 332 | struct { |
sdivarci | 0:0061165683ee | 333 | unsigned char fifo_words : 3; /**< This field captures the number of locations currently filled in FIFO. |
sdivarci | 0:0061165683ee | 334 | Each location corresponds to 8-bit data word */ |
sdivarci | 0:0061165683ee | 335 | unsigned char : 1; |
sdivarci | 0:0061165683ee | 336 | unsigned char fifo_full : 1; /**< FIFO Full Status */ |
sdivarci | 0:0061165683ee | 337 | unsigned char fifo_empty : 1; /**< FIFO Empty Status */ |
sdivarci | 0:0061165683ee | 338 | unsigned char oflow : 1; /**< FIFO Overflow status */ |
sdivarci | 0:0061165683ee | 339 | unsigned char uflow : 1; /**< FIFO Underflow status */ |
sdivarci | 0:0061165683ee | 340 | } bits; |
sdivarci | 0:0061165683ee | 341 | } max41463_4_reg_i2c6_t; |
sdivarci | 0:0061165683ee | 342 | |
sdivarci | 0:0061165683ee | 343 | /** |
sdivarci | 0:0061165683ee | 344 | * @brief CFG8 (0x17) |
sdivarci | 0:0061165683ee | 345 | * |
sdivarci | 0:0061165683ee | 346 | */ |
sdivarci | 0:0061165683ee | 347 | typedef union { |
sdivarci | 0:0061165683ee | 348 | unsigned char raw; |
sdivarci | 0:0061165683ee | 349 | struct { |
sdivarci | 0:0061165683ee | 350 | unsigned char softreset : 1; /**< Places DUT into software reset. */ |
sdivarci | 0:0061165683ee | 351 | unsigned char : 7; |
sdivarci | 0:0061165683ee | 352 | } bits; |
sdivarci | 0:0061165683ee | 353 | } max41463_4_reg_cfg8_t; |
sdivarci | 0:0061165683ee | 354 | |
sdivarci | 0:0061165683ee | 355 | /** |
sdivarci | 0:0061165683ee | 356 | * @brief CFG9 (0x18) |
sdivarci | 0:0061165683ee | 357 | * |
sdivarci | 0:0061165683ee | 358 | */ |
sdivarci | 0:0061165683ee | 359 | typedef union { |
sdivarci | 0:0061165683ee | 360 | unsigned char raw; |
sdivarci | 0:0061165683ee | 361 | struct { |
sdivarci | 0:0061165683ee | 362 | unsigned char xoen : 1; /**< Write to 0 binary.XO Enable register for test purpose */ |
sdivarci | 0:0061165683ee | 363 | unsigned char pllen : 1; /**< Write to 0 binary.PLL Enable register for test purpose */ |
sdivarci | 0:0061165683ee | 364 | unsigned char paen : 1; /**< Write to 0 binary.PA Enable register for test purpose */ |
sdivarci | 0:0061165683ee | 365 | unsigned char test_ana : 5; /**< Write to 0_0000 binary.Test modes for analog block */ |
sdivarci | 0:0061165683ee | 366 | } bits; |
sdivarci | 0:0061165683ee | 367 | } max41463_4_reg_cfg9_t; |
sdivarci | 0:0061165683ee | 368 | |
sdivarci | 0:0061165683ee | 369 | /** |
sdivarci | 0:0061165683ee | 370 | * @brief ADDL1 (0x19) |
sdivarci | 0:0061165683ee | 371 | * |
sdivarci | 0:0061165683ee | 372 | */ |
sdivarci | 0:0061165683ee | 373 | typedef union { |
sdivarci | 0:0061165683ee | 374 | unsigned char raw; |
sdivarci | 0:0061165683ee | 375 | struct { |
sdivarci | 0:0061165683ee | 376 | unsigned char ring_bias : 2; /**< Write to 00 binary. Controls the current mirror ratio in Ring Oscillator |
sdivarci | 0:0061165683ee | 377 | control. Â For lower frequencies, the number can be reduced for slightly |
sdivarci | 0:0061165683ee | 378 | better phase noise. */ |
sdivarci | 0:0061165683ee | 379 | unsigned char ring_trim : 2; /**< Write to 00 binary. |
sdivarci | 0:0061165683ee | 380 | Adjusts the current control value for ring oscillator. */ |
sdivarci | 0:0061165683ee | 381 | unsigned char bias_trim : 2; /**< Write to 00 binary. Adjusts bias current for PLL block. */ |
sdivarci | 0:0061165683ee | 382 | unsigned char xtal_gm : 2; /**< Write to 00 binary. |
sdivarci | 0:0061165683ee | 383 | Controls crystal oscillator GM current for startup time control */ |
sdivarci | 0:0061165683ee | 384 | } bits; |
sdivarci | 0:0061165683ee | 385 | } max41463_4_reg_addl1_t; |
sdivarci | 0:0061165683ee | 386 | |
sdivarci | 0:0061165683ee | 387 | /** |
sdivarci | 0:0061165683ee | 388 | * @brief ADLL2 (0x1A) |
sdivarci | 0:0061165683ee | 389 | * |
sdivarci | 0:0061165683ee | 390 | */ |
sdivarci | 0:0061165683ee | 391 | typedef union { |
sdivarci | 0:0061165683ee | 392 | unsigned char raw; |
sdivarci | 0:0061165683ee | 393 | struct { |
sdivarci | 0:0061165683ee | 394 | unsigned char addlctrl2 : 7; /**< Write to 000_0000 binary. Additional control fields for future use */ |
sdivarci | 0:0061165683ee | 395 | unsigned char scl_stretch_dly : 1; /**< Write to 1 binary. I2C SCL Stretch Release delay enable */ |
sdivarci | 0:0061165683ee | 396 | } bits; |
sdivarci | 0:0061165683ee | 397 | } max41463_4_reg_addl2_t; |
sdivarci | 0:0061165683ee | 398 | |
sdivarci | 0:0061165683ee | 399 | /** |
sdivarci | 0:0061165683ee | 400 | * @brief Register Set |
sdivarci | 0:0061165683ee | 401 | * |
sdivarci | 0:0061165683ee | 402 | */ |
sdivarci | 0:0061165683ee | 403 | typedef struct { |
sdivarci | 0:0061165683ee | 404 | max41463_4_reg_cfg1_t reg_cfg1; |
sdivarci | 0:0061165683ee | 405 | max41463_4_reg_cfg2_t reg_cfg2; |
sdivarci | 0:0061165683ee | 406 | max41463_4_reg_cfg3_t reg_cfg3; |
sdivarci | 0:0061165683ee | 407 | max41463_4_reg_cfg4_t reg_cfg4; |
sdivarci | 0:0061165683ee | 408 | max41463_4_reg_cfg5_t reg_cfg5; |
sdivarci | 0:0061165683ee | 409 | max41463_4_reg_shdn_t reg_shdn; |
sdivarci | 0:0061165683ee | 410 | max41463_4_reg_pa1_t reg_pa1; |
sdivarci | 0:0061165683ee | 411 | max41463_4_reg_pa2_t reg_pa2; |
sdivarci | 0:0061165683ee | 412 | max41463_4_reg_pll1_t reg_pll1; |
sdivarci | 0:0061165683ee | 413 | max41463_4_reg_pll2_t reg_pll2; |
sdivarci | 0:0061165683ee | 414 | max41463_4_reg_cfg6_t reg_cfg6; |
sdivarci | 0:0061165683ee | 415 | max41463_4_reg_pll3_t reg_pll3; |
sdivarci | 0:0061165683ee | 416 | max41463_4_reg_pll4_t reg_pll4; |
sdivarci | 0:0061165683ee | 417 | max41463_4_reg_pll5_t reg_pll5; |
sdivarci | 0:0061165683ee | 418 | max41463_4_reg_pll6_t reg_pll6; |
sdivarci | 0:0061165683ee | 419 | max41463_4_reg_pll7_t reg_pll7; |
sdivarci | 0:0061165683ee | 420 | max41463_4_reg_cfg7_t reg_cfg7; |
sdivarci | 0:0061165683ee | 421 | max41463_4_reg_i2c1_t reg_i2c1; |
sdivarci | 0:0061165683ee | 422 | max41463_4_reg_i2c2_t reg_i2c2; |
sdivarci | 0:0061165683ee | 423 | max41463_4_reg_i2c3_t reg_i2c3; |
sdivarci | 0:0061165683ee | 424 | max41463_4_reg_i2c4_t reg_i2c4; |
sdivarci | 0:0061165683ee | 425 | max41463_4_reg_i2c5_t reg_i2c5; |
sdivarci | 0:0061165683ee | 426 | max41463_4_reg_i2c6_t reg_i2c6; |
sdivarci | 0:0061165683ee | 427 | max41463_4_reg_cfg8_t reg_cfg8; |
sdivarci | 0:0061165683ee | 428 | max41463_4_reg_cfg9_t reg_cfg9; |
sdivarci | 0:0061165683ee | 429 | max41463_4_reg_addl1_t reg_addl1; |
sdivarci | 0:0061165683ee | 430 | max41463_4_reg_addl2_t reg_addl2; |
sdivarci | 0:0061165683ee | 431 | } max41463_4_reg_map_t; |
sdivarci | 0:0061165683ee | 432 | |
sdivarci | 0:0061165683ee | 433 | #endif /* MAX41463_4_REGS_H_ */ |