OLD | NEW |
(Empty) | |
| 1 /* |
| 2 * Copyright (c) 2009 NVIDIA Corporation. |
| 3 * All rights reserved. |
| 4 * |
| 5 * Redistribution and use in source and binary forms, with or without |
| 6 * modification, are permitted provided that the following conditions are met: |
| 7 * |
| 8 * Redistributions of source code must retain the above copyright notice, |
| 9 * this list of conditions and the following disclaimer. |
| 10 * |
| 11 * Redistributions in binary form must reproduce the above copyright notice, |
| 12 * this list of conditions and the following disclaimer in the documentation |
| 13 * and/or other materials provided with the distribution. |
| 14 * |
| 15 * Neither the name of the NVIDIA Corporation nor the names of its contributors |
| 16 * may be used to endorse or promote products derived from this software |
| 17 * without specific prior written permission. |
| 18 * |
| 19 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
| 20 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
| 21 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
| 22 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE |
| 23 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
| 24 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
| 25 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
| 26 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
| 27 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
| 28 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
| 29 * POSSIBILITY OF SUCH DAMAGE. |
| 30 * |
| 31 */ |
| 32 // |
| 33 // DO NOT EDIT - generated by simspec! |
| 34 // |
| 35 |
| 36 #ifndef ___ARI2C_H_INC_ |
| 37 #define ___ARI2C_H_INC_ |
| 38 |
| 39 // Register I2C_I2C_CNFG_0 |
| 40 #define I2C_I2C_CNFG_0 _MK_ADDR_CONST(0x0) |
| 41 #define I2C_I2C_CNFG_0_SECURE 0x0 |
| 42 #define I2C_I2C_CNFG_0_WORD_COUNT 0x1 |
| 43 #define I2C_I2C_CNFG_0_RESET_VAL _MK_MASK_CONST(0x0) |
| 44 #define I2C_I2C_CNFG_0_RESET_MASK _MK_MASK_CONST(0x7fff) |
| 45 #define I2C_I2C_CNFG_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0) |
| 46 #define I2C_I2C_CNFG_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0) |
| 47 #define I2C_I2C_CNFG_0_READ_MASK _MK_MASK_CONST(0x7fff) |
| 48 #define I2C_I2C_CNFG_0_WRITE_MASK _MK_MASK_CONST(0x7fff) |
| 49 // Debounce period for sda and scl lines |
| 50 // 0 = No debounce |
| 51 // 1 = 2T |
| 52 // 2 = 4T |
| 53 // 3 = 6T etc |
| 54 // where T is the period of the fix PLL |
| 55 //clk source coming to i2c. |
| 56 //Maximum debounce period programmable is |
| 57 //14T.A debounce period of >50ns is desirable |
| 58 #define I2C_I2C_CNFG_0_DEBOUNCE_CNT_SHIFT _MK_SHIFT_CONST(
12) |
| 59 #define I2C_I2C_CNFG_0_DEBOUNCE_CNT_FIELD (_MK_MASK_CONST(
0x7) << I2C_I2C_CNFG_0_DEBOUNCE_CNT_SHIFT) |
| 60 #define I2C_I2C_CNFG_0_DEBOUNCE_CNT_RANGE 14:12 |
| 61 #define I2C_I2C_CNFG_0_DEBOUNCE_CNT_WOFFSET 0x0 |
| 62 #define I2C_I2C_CNFG_0_DEBOUNCE_CNT_DEFAULT _MK_MASK_CONST(0
x0) |
| 63 #define I2C_I2C_CNFG_0_DEBOUNCE_CNT_DEFAULT_MASK _MK_MASK
_CONST(0x7) |
| 64 #define I2C_I2C_CNFG_0_DEBOUNCE_CNT_SW_DEFAULT _MK_MASK_CONST(0
x0) |
| 65 #define I2C_I2C_CNFG_0_DEBOUNCE_CNT_SW_DEFAULT_MASK _MK_MASK
_CONST(0x0) |
| 66 |
| 67 // Write 1 to enable new master fsm |
| 68 // 0 = old fsm |
| 69 #define I2C_I2C_CNFG_0_NEW_MASTER_FSM_SHIFT _MK_SHIFT_CONST(
11) |
| 70 #define I2C_I2C_CNFG_0_NEW_MASTER_FSM_FIELD (_MK_MASK_CONST(
0x1) << I2C_I2C_CNFG_0_NEW_MASTER_FSM_SHIFT) |
| 71 #define I2C_I2C_CNFG_0_NEW_MASTER_FSM_RANGE 11:11 |
| 72 #define I2C_I2C_CNFG_0_NEW_MASTER_FSM_WOFFSET 0x0 |
| 73 #define I2C_I2C_CNFG_0_NEW_MASTER_FSM_DEFAULT _MK_MASK_CONST(0
x0) |
| 74 #define I2C_I2C_CNFG_0_NEW_MASTER_FSM_DEFAULT_MASK _MK_MASK
_CONST(0x1) |
| 75 #define I2C_I2C_CNFG_0_NEW_MASTER_FSM_SW_DEFAULT _MK_MASK
_CONST(0x0) |
| 76 #define I2C_I2C_CNFG_0_NEW_MASTER_FSM_SW_DEFAULT_MASK _MK_MASK
_CONST(0x0) |
| 77 #define I2C_I2C_CNFG_0_NEW_MASTER_FSM_DISABLE _MK_ENUM_CONST(0
) |
| 78 #define I2C_I2C_CNFG_0_NEW_MASTER_FSM_ENABLE _MK_ENUM_CONST(1
) |
| 79 |
| 80 // Write 1 to initiate transfer in packet mode. |
| 81 #define I2C_I2C_CNFG_0_PACKET_MODE_EN_SHIFT _MK_SHIFT_CONST(
10) |
| 82 #define I2C_I2C_CNFG_0_PACKET_MODE_EN_FIELD (_MK_MASK_CONST(
0x1) << I2C_I2C_CNFG_0_PACKET_MODE_EN_SHIFT) |
| 83 #define I2C_I2C_CNFG_0_PACKET_MODE_EN_RANGE 10:10 |
| 84 #define I2C_I2C_CNFG_0_PACKET_MODE_EN_WOFFSET 0x0 |
| 85 #define I2C_I2C_CNFG_0_PACKET_MODE_EN_DEFAULT _MK_MASK_CONST(0
x0) |
| 86 #define I2C_I2C_CNFG_0_PACKET_MODE_EN_DEFAULT_MASK _MK_MASK
_CONST(0x1) |
| 87 #define I2C_I2C_CNFG_0_PACKET_MODE_EN_SW_DEFAULT _MK_MASK
_CONST(0x0) |
| 88 #define I2C_I2C_CNFG_0_PACKET_MODE_EN_SW_DEFAULT_MASK _MK_MASK
_CONST(0x0) |
| 89 #define I2C_I2C_CNFG_0_PACKET_MODE_EN_NOP _MK_ENUM_CONST(0
) |
| 90 #define I2C_I2C_CNFG_0_PACKET_MODE_EN_GO _MK_ENUM_CONST(1
) |
| 91 |
| 92 // Writing a 1 causes the master to initiate the |
| 93 // transaction in normal mode. Values of other bits are not |
| 94 // affected when this bit is 1,Cleared by |
| 95 // hardware. Other bits of the register are |
| 96 // masked for writes when this bit is programmed |
| 97 // to one.hence,firware should first configure |
| 98 // all other registrs and bits [8:0] of |
| 99 // I2C_CNFG register before the bit |
| 100 // I2C_CNFG[9] is programmed to Zero. |
| 101 #define I2C_I2C_CNFG_0_SEND_SHIFT _MK_SHIFT_CONST(9) |
| 102 #define I2C_I2C_CNFG_0_SEND_FIELD (_MK_MASK_CONST(0x1) <<
I2C_I2C_CNFG_0_SEND_SHIFT) |
| 103 #define I2C_I2C_CNFG_0_SEND_RANGE 9:9 |
| 104 #define I2C_I2C_CNFG_0_SEND_WOFFSET 0x0 |
| 105 #define I2C_I2C_CNFG_0_SEND_DEFAULT _MK_MASK_CONST(0x0) |
| 106 #define I2C_I2C_CNFG_0_SEND_DEFAULT_MASK _MK_MASK_CONST(0
x1) |
| 107 #define I2C_I2C_CNFG_0_SEND_SW_DEFAULT _MK_MASK_CONST(0x0) |
| 108 #define I2C_I2C_CNFG_0_SEND_SW_DEFAULT_MASK _MK_MASK_CONST(0
x0) |
| 109 #define I2C_I2C_CNFG_0_SEND_NOP _MK_ENUM_CONST(0) |
| 110 #define I2C_I2C_CNFG_0_SEND_GO _MK_ENUM_CONST(1) |
| 111 |
| 112 // Enable mode to handle devices that do not generate ACK. |
| 113 // 1 - dont look for an ack at the end of the Enable |
| 114 #define I2C_I2C_CNFG_0_NOACK_SHIFT _MK_SHIFT_CONST(8) |
| 115 #define I2C_I2C_CNFG_0_NOACK_FIELD (_MK_MASK_CONST(0x1) <<
I2C_I2C_CNFG_0_NOACK_SHIFT) |
| 116 #define I2C_I2C_CNFG_0_NOACK_RANGE 8:8 |
| 117 #define I2C_I2C_CNFG_0_NOACK_WOFFSET 0x0 |
| 118 #define I2C_I2C_CNFG_0_NOACK_DEFAULT _MK_MASK_CONST(0x0) |
| 119 #define I2C_I2C_CNFG_0_NOACK_DEFAULT_MASK _MK_MASK_CONST(0
x1) |
| 120 #define I2C_I2C_CNFG_0_NOACK_SW_DEFAULT _MK_MASK_CONST(0x0) |
| 121 #define I2C_I2C_CNFG_0_NOACK_SW_DEFAULT_MASK _MK_MASK_CONST(0
x0) |
| 122 #define I2C_I2C_CNFG_0_NOACK_DISABLE _MK_ENUM_CONST(0) |
| 123 #define I2C_I2C_CNFG_0_NOACK_ENABLE _MK_ENUM_CONST(1) |
| 124 |
| 125 // Read/Write Command for Slave 2: |
| 126 // 1 - Read Transaction; 0 - write Transaction. |
| 127 // For a 7-bit slave address,this bit must match |
| 128 // with the LSB of address byte for slave 2. |
| 129 // Valid only when bit-4 of this register is |
| 130 // set |
| 131 #define I2C_I2C_CNFG_0_CMD2_SHIFT _MK_SHIFT_CONST(7) |
| 132 #define I2C_I2C_CNFG_0_CMD2_FIELD (_MK_MASK_CONST(0x1) <<
I2C_I2C_CNFG_0_CMD2_SHIFT) |
| 133 #define I2C_I2C_CNFG_0_CMD2_RANGE 7:7 |
| 134 #define I2C_I2C_CNFG_0_CMD2_WOFFSET 0x0 |
| 135 #define I2C_I2C_CNFG_0_CMD2_DEFAULT _MK_MASK_CONST(0x0) |
| 136 #define I2C_I2C_CNFG_0_CMD2_DEFAULT_MASK _MK_MASK_CONST(0
x1) |
| 137 #define I2C_I2C_CNFG_0_CMD2_SW_DEFAULT _MK_MASK_CONST(0x0) |
| 138 #define I2C_I2C_CNFG_0_CMD2_SW_DEFAULT_MASK _MK_MASK_CONST(0
x0) |
| 139 #define I2C_I2C_CNFG_0_CMD2_DISABLE _MK_ENUM_CONST(0) |
| 140 #define I2C_I2C_CNFG_0_CMD2_ENABLE _MK_ENUM_CONST(1) |
| 141 |
| 142 // Read/Write Command for Slave 1: |
| 143 // 1 - Read Transaction; 0 - write Transaction. |
| 144 // Command for Slave 1: For a 7-bit slave address |
| 145 // this bit must match with the LSB of address |
| 146 // byte for slave1. |
| 147 #define I2C_I2C_CNFG_0_CMD1_SHIFT _MK_SHIFT_CONST(6) |
| 148 #define I2C_I2C_CNFG_0_CMD1_FIELD (_MK_MASK_CONST(0x1) <<
I2C_I2C_CNFG_0_CMD1_SHIFT) |
| 149 #define I2C_I2C_CNFG_0_CMD1_RANGE 6:6 |
| 150 #define I2C_I2C_CNFG_0_CMD1_WOFFSET 0x0 |
| 151 #define I2C_I2C_CNFG_0_CMD1_DEFAULT _MK_MASK_CONST(0x0) |
| 152 #define I2C_I2C_CNFG_0_CMD1_DEFAULT_MASK _MK_MASK_CONST(0
x1) |
| 153 #define I2C_I2C_CNFG_0_CMD1_SW_DEFAULT _MK_MASK_CONST(0x0) |
| 154 #define I2C_I2C_CNFG_0_CMD1_SW_DEFAULT_MASK _MK_MASK_CONST(0
x0) |
| 155 #define I2C_I2C_CNFG_0_CMD1_DISABLE _MK_ENUM_CONST(0) |
| 156 #define I2C_I2C_CNFG_0_CMD1_ENABLE _MK_ENUM_CONST(1) |
| 157 |
| 158 // 1 = Yes, a Start byte needs to be sent. |
| 159 #define I2C_I2C_CNFG_0_START_SHIFT _MK_SHIFT_CONST(5) |
| 160 #define I2C_I2C_CNFG_0_START_FIELD (_MK_MASK_CONST(0x1) <<
I2C_I2C_CNFG_0_START_SHIFT) |
| 161 #define I2C_I2C_CNFG_0_START_RANGE 5:5 |
| 162 #define I2C_I2C_CNFG_0_START_WOFFSET 0x0 |
| 163 #define I2C_I2C_CNFG_0_START_DEFAULT _MK_MASK_CONST(0x0) |
| 164 #define I2C_I2C_CNFG_0_START_DEFAULT_MASK _MK_MASK_CONST(0
x1) |
| 165 #define I2C_I2C_CNFG_0_START_SW_DEFAULT _MK_MASK_CONST(0x0) |
| 166 #define I2C_I2C_CNFG_0_START_SW_DEFAULT_MASK _MK_MASK_CONST(0
x0) |
| 167 #define I2C_I2C_CNFG_0_START_DISABLE _MK_ENUM_CONST(0) |
| 168 #define I2C_I2C_CNFG_0_START_ENABLE _MK_ENUM_CONST(1) |
| 169 |
| 170 // 1 - Enables a two slave transaction ; |
| 171 // 0 = No command for Slave 2 present. |
| 172 #define I2C_I2C_CNFG_0_SLV2_SHIFT _MK_SHIFT_CONST(4) |
| 173 #define I2C_I2C_CNFG_0_SLV2_FIELD (_MK_MASK_CONST(0x1) <<
I2C_I2C_CNFG_0_SLV2_SHIFT) |
| 174 #define I2C_I2C_CNFG_0_SLV2_RANGE 4:4 |
| 175 #define I2C_I2C_CNFG_0_SLV2_WOFFSET 0x0 |
| 176 #define I2C_I2C_CNFG_0_SLV2_DEFAULT _MK_MASK_CONST(0x0) |
| 177 #define I2C_I2C_CNFG_0_SLV2_DEFAULT_MASK _MK_MASK_CONST(0
x1) |
| 178 #define I2C_I2C_CNFG_0_SLV2_SW_DEFAULT _MK_MASK_CONST(0x0) |
| 179 #define I2C_I2C_CNFG_0_SLV2_SW_DEFAULT_MASK _MK_MASK_CONST(0
x0) |
| 180 #define I2C_I2C_CNFG_0_SLV2_DISABLE _MK_ENUM_CONST(0) |
| 181 #define I2C_I2C_CNFG_0_SLV2_ENABLE _MK_ENUM_CONST(1) |
| 182 |
| 183 // The Number of bytes to be transmitted per |
| 184 // transaction 000= 1byte ... 111 = 8bytes; |
| 185 // In a two slave transaction number of bytes |
| 186 // should be programmed less than 011. |
| 187 #define I2C_I2C_CNFG_0_LENGTH_SHIFT _MK_SHIFT_CONST(1) |
| 188 #define I2C_I2C_CNFG_0_LENGTH_FIELD (_MK_MASK_CONST(0x7) <<
I2C_I2C_CNFG_0_LENGTH_SHIFT) |
| 189 #define I2C_I2C_CNFG_0_LENGTH_RANGE 3:1 |
| 190 #define I2C_I2C_CNFG_0_LENGTH_WOFFSET 0x0 |
| 191 #define I2C_I2C_CNFG_0_LENGTH_DEFAULT _MK_MASK_CONST(0x0) |
| 192 #define I2C_I2C_CNFG_0_LENGTH_DEFAULT_MASK _MK_MASK_CONST(0
x7) |
| 193 #define I2C_I2C_CNFG_0_LENGTH_SW_DEFAULT _MK_MASK_CONST(0
x0) |
| 194 #define I2C_I2C_CNFG_0_LENGTH_SW_DEFAULT_MASK _MK_MASK_CONST(0
x0) |
| 195 |
| 196 // Address mode defines whether a 7-bit or a |
| 197 // 10-bit slave address is programmed. 1 = 10-bit |
| 198 // device address 0 = 7-bit device address |
| 199 #define I2C_I2C_CNFG_0_A_MOD_SHIFT _MK_SHIFT_CONST(0) |
| 200 #define I2C_I2C_CNFG_0_A_MOD_FIELD (_MK_MASK_CONST(0x1) <<
I2C_I2C_CNFG_0_A_MOD_SHIFT) |
| 201 #define I2C_I2C_CNFG_0_A_MOD_RANGE 0:0 |
| 202 #define I2C_I2C_CNFG_0_A_MOD_WOFFSET 0x0 |
| 203 #define I2C_I2C_CNFG_0_A_MOD_DEFAULT _MK_MASK_CONST(0x0) |
| 204 #define I2C_I2C_CNFG_0_A_MOD_DEFAULT_MASK _MK_MASK_CONST(0
x1) |
| 205 #define I2C_I2C_CNFG_0_A_MOD_SW_DEFAULT _MK_MASK_CONST(0x0) |
| 206 #define I2C_I2C_CNFG_0_A_MOD_SW_DEFAULT_MASK _MK_MASK_CONST(0
x0) |
| 207 #define I2C_I2C_CNFG_0_A_MOD_SEVEN_BIT_DEVICE_ADDRESS _MK_ENUM
_CONST(0) |
| 208 #define I2C_I2C_CNFG_0_A_MOD_TEN_BIT_DEVICE_ADDRESS _MK_ENUM
_CONST(1) |
| 209 |
| 210 |
| 211 // Register I2C_I2C_CMD_ADDR0_0 |
| 212 #define I2C_I2C_CMD_ADDR0_0 _MK_ADDR_CONST(0x4) |
| 213 #define I2C_I2C_CMD_ADDR0_0_SECURE 0x0 |
| 214 #define I2C_I2C_CMD_ADDR0_0_WORD_COUNT 0x1 |
| 215 #define I2C_I2C_CMD_ADDR0_0_RESET_VAL _MK_MASK_CONST(0x0) |
| 216 #define I2C_I2C_CMD_ADDR0_0_RESET_MASK _MK_MASK_CONST(0x3ff) |
| 217 #define I2C_I2C_CMD_ADDR0_0_SW_DEFAULT_VAL _MK_MASK_CONST(0
x0) |
| 218 #define I2C_I2C_CMD_ADDR0_0_SW_DEFAULT_MASK _MK_MASK_CONST(0
x0) |
| 219 #define I2C_I2C_CMD_ADDR0_0_READ_MASK _MK_MASK_CONST(0x3ff) |
| 220 #define I2C_I2C_CMD_ADDR0_0_WRITE_MASK _MK_MASK_CONST(0x3ff) |
| 221 // In case of 7-Bit mode address is written in the |
| 222 // I2C_CMD_ADDR0[7:1] and I2C_CMD_ADDR0[0] indicates the |
| 223 // read/write transaction.I2C_CMD_ADDR0[0] bit must match |
| 224 // with the I2C_CNFG[6]. |
| 225 // In case of 10-Bit mode addess is written in |
| 226 // I2C_CMD_ADDR0[9:0] and I2C_CNFG[6] indicates the |
| 227 // read/write transaction. |
| 228 #define I2C_I2C_CMD_ADDR0_0_ADDR0_SHIFT _MK_SHIFT_CONST(0) |
| 229 #define I2C_I2C_CMD_ADDR0_0_ADDR0_FIELD (_MK_MASK_CONST(0x3ff) <
< I2C_I2C_CMD_ADDR0_0_ADDR0_SHIFT) |
| 230 #define I2C_I2C_CMD_ADDR0_0_ADDR0_RANGE 9:0 |
| 231 #define I2C_I2C_CMD_ADDR0_0_ADDR0_WOFFSET 0x0 |
| 232 #define I2C_I2C_CMD_ADDR0_0_ADDR0_DEFAULT _MK_MASK_CONST(0
x0) |
| 233 #define I2C_I2C_CMD_ADDR0_0_ADDR0_DEFAULT_MASK _MK_MASK_CONST(0
x3ff) |
| 234 #define I2C_I2C_CMD_ADDR0_0_ADDR0_SW_DEFAULT _MK_MASK_CONST(0
x0) |
| 235 #define I2C_I2C_CMD_ADDR0_0_ADDR0_SW_DEFAULT_MASK _MK_MASK
_CONST(0x0) |
| 236 |
| 237 |
| 238 // Register I2C_I2C_CMD_ADDR1_0 |
| 239 #define I2C_I2C_CMD_ADDR1_0 _MK_ADDR_CONST(0x8) |
| 240 #define I2C_I2C_CMD_ADDR1_0_SECURE 0x0 |
| 241 #define I2C_I2C_CMD_ADDR1_0_WORD_COUNT 0x1 |
| 242 #define I2C_I2C_CMD_ADDR1_0_RESET_VAL _MK_MASK_CONST(0x0) |
| 243 #define I2C_I2C_CMD_ADDR1_0_RESET_MASK _MK_MASK_CONST(0x3ff) |
| 244 #define I2C_I2C_CMD_ADDR1_0_SW_DEFAULT_VAL _MK_MASK_CONST(0
x0) |
| 245 #define I2C_I2C_CMD_ADDR1_0_SW_DEFAULT_MASK _MK_MASK_CONST(0
x0) |
| 246 #define I2C_I2C_CMD_ADDR1_0_READ_MASK _MK_MASK_CONST(0x3ff) |
| 247 #define I2C_I2C_CMD_ADDR1_0_WRITE_MASK _MK_MASK_CONST(0x3ff) |
| 248 // In case of 7-Bit mode address is written in the |
| 249 // I2C_CMD_ADDR0[7:1] and I2C_CMD_ADDR0[0] indicates the |
| 250 // read/write transaction.I2C_CMD_ADDR0[0] bit must match |
| 251 // with the I2C_CNFG[7]. |
| 252 // In case of 10-Bit mode addess is written in |
| 253 // I2C_CMD_ADDR0[9:0] and I2C_CNFG[7] indicates the |
| 254 // read/write transaction. |
| 255 #define I2C_I2C_CMD_ADDR1_0_ADDR1_SHIFT _MK_SHIFT_CONST(0) |
| 256 #define I2C_I2C_CMD_ADDR1_0_ADDR1_FIELD (_MK_MASK_CONST(0x3ff) <
< I2C_I2C_CMD_ADDR1_0_ADDR1_SHIFT) |
| 257 #define I2C_I2C_CMD_ADDR1_0_ADDR1_RANGE 9:0 |
| 258 #define I2C_I2C_CMD_ADDR1_0_ADDR1_WOFFSET 0x0 |
| 259 #define I2C_I2C_CMD_ADDR1_0_ADDR1_DEFAULT _MK_MASK_CONST(0
x0) |
| 260 #define I2C_I2C_CMD_ADDR1_0_ADDR1_DEFAULT_MASK _MK_MASK_CONST(0
x3ff) |
| 261 #define I2C_I2C_CMD_ADDR1_0_ADDR1_SW_DEFAULT _MK_MASK_CONST(0
x0) |
| 262 #define I2C_I2C_CMD_ADDR1_0_ADDR1_SW_DEFAULT_MASK _MK_MASK
_CONST(0x0) |
| 263 |
| 264 |
| 265 // Register I2C_I2C_CMD_DATA1_0 |
| 266 #define I2C_I2C_CMD_DATA1_0 _MK_ADDR_CONST(0xc) |
| 267 #define I2C_I2C_CMD_DATA1_0_SECURE 0x0 |
| 268 #define I2C_I2C_CMD_DATA1_0_WORD_COUNT 0x1 |
| 269 #define I2C_I2C_CMD_DATA1_0_RESET_VAL _MK_MASK_CONST(0x0) |
| 270 #define I2C_I2C_CMD_DATA1_0_RESET_MASK _MK_MASK_CONST(0xfffffff
f) |
| 271 #define I2C_I2C_CMD_DATA1_0_SW_DEFAULT_VAL _MK_MASK_CONST(0
x0) |
| 272 #define I2C_I2C_CMD_DATA1_0_SW_DEFAULT_MASK _MK_MASK_CONST(0
x0) |
| 273 #define I2C_I2C_CMD_DATA1_0_READ_MASK _MK_MASK_CONST(0xfffffff
f) |
| 274 #define I2C_I2C_CMD_DATA1_0_WRITE_MASK _MK_MASK_CONST(0xfffffff
f) |
| 275 // Fourth data byte to be sent/received |
| 276 #define I2C_I2C_CMD_DATA1_0_DATA4_SHIFT _MK_SHIFT_CONST(24) |
| 277 #define I2C_I2C_CMD_DATA1_0_DATA4_FIELD (_MK_MASK_CONST(0xff) <<
I2C_I2C_CMD_DATA1_0_DATA4_SHIFT) |
| 278 #define I2C_I2C_CMD_DATA1_0_DATA4_RANGE 31:24 |
| 279 #define I2C_I2C_CMD_DATA1_0_DATA4_WOFFSET 0x0 |
| 280 #define I2C_I2C_CMD_DATA1_0_DATA4_DEFAULT _MK_MASK_CONST(0
x0) |
| 281 #define I2C_I2C_CMD_DATA1_0_DATA4_DEFAULT_MASK _MK_MASK_CONST(0
xff) |
| 282 #define I2C_I2C_CMD_DATA1_0_DATA4_SW_DEFAULT _MK_MASK_CONST(0
x0) |
| 283 #define I2C_I2C_CMD_DATA1_0_DATA4_SW_DEFAULT_MASK _MK_MASK
_CONST(0x0) |
| 284 |
| 285 // Third data byte to be sent/received |
| 286 #define I2C_I2C_CMD_DATA1_0_DATA3_SHIFT _MK_SHIFT_CONST(16) |
| 287 #define I2C_I2C_CMD_DATA1_0_DATA3_FIELD (_MK_MASK_CONST(0xff) <<
I2C_I2C_CMD_DATA1_0_DATA3_SHIFT) |
| 288 #define I2C_I2C_CMD_DATA1_0_DATA3_RANGE 23:16 |
| 289 #define I2C_I2C_CMD_DATA1_0_DATA3_WOFFSET 0x0 |
| 290 #define I2C_I2C_CMD_DATA1_0_DATA3_DEFAULT _MK_MASK_CONST(0
x0) |
| 291 #define I2C_I2C_CMD_DATA1_0_DATA3_DEFAULT_MASK _MK_MASK_CONST(0
xff) |
| 292 #define I2C_I2C_CMD_DATA1_0_DATA3_SW_DEFAULT _MK_MASK_CONST(0
x0) |
| 293 #define I2C_I2C_CMD_DATA1_0_DATA3_SW_DEFAULT_MASK _MK_MASK
_CONST(0x0) |
| 294 |
| 295 // Second data byte to be sent/received |
| 296 #define I2C_I2C_CMD_DATA1_0_DATA2_SHIFT _MK_SHIFT_CONST(8) |
| 297 #define I2C_I2C_CMD_DATA1_0_DATA2_FIELD (_MK_MASK_CONST(0xff) <<
I2C_I2C_CMD_DATA1_0_DATA2_SHIFT) |
| 298 #define I2C_I2C_CMD_DATA1_0_DATA2_RANGE 15:8 |
| 299 #define I2C_I2C_CMD_DATA1_0_DATA2_WOFFSET 0x0 |
| 300 #define I2C_I2C_CMD_DATA1_0_DATA2_DEFAULT _MK_MASK_CONST(0
x0) |
| 301 #define I2C_I2C_CMD_DATA1_0_DATA2_DEFAULT_MASK _MK_MASK_CONST(0
xff) |
| 302 #define I2C_I2C_CMD_DATA1_0_DATA2_SW_DEFAULT _MK_MASK_CONST(0
x0) |
| 303 #define I2C_I2C_CMD_DATA1_0_DATA2_SW_DEFAULT_MASK _MK_MASK
_CONST(0x0) |
| 304 |
| 305 // This register contains the first data byte to be sent/received. |
| 306 #define I2C_I2C_CMD_DATA1_0_DATA1_SHIFT _MK_SHIFT_CONST(0) |
| 307 #define I2C_I2C_CMD_DATA1_0_DATA1_FIELD (_MK_MASK_CONST(0xff) <<
I2C_I2C_CMD_DATA1_0_DATA1_SHIFT) |
| 308 #define I2C_I2C_CMD_DATA1_0_DATA1_RANGE 7:0 |
| 309 #define I2C_I2C_CMD_DATA1_0_DATA1_WOFFSET 0x0 |
| 310 #define I2C_I2C_CMD_DATA1_0_DATA1_DEFAULT _MK_MASK_CONST(0
x0) |
| 311 #define I2C_I2C_CMD_DATA1_0_DATA1_DEFAULT_MASK _MK_MASK_CONST(0
xff) |
| 312 #define I2C_I2C_CMD_DATA1_0_DATA1_SW_DEFAULT _MK_MASK_CONST(0
x0) |
| 313 #define I2C_I2C_CMD_DATA1_0_DATA1_SW_DEFAULT_MASK _MK_MASK
_CONST(0x0) |
| 314 |
| 315 |
| 316 // Register I2C_I2C_CMD_DATA2_0 |
| 317 #define I2C_I2C_CMD_DATA2_0 _MK_ADDR_CONST(0x10) |
| 318 #define I2C_I2C_CMD_DATA2_0_SECURE 0x0 |
| 319 #define I2C_I2C_CMD_DATA2_0_WORD_COUNT 0x1 |
| 320 #define I2C_I2C_CMD_DATA2_0_RESET_VAL _MK_MASK_CONST(0x0) |
| 321 #define I2C_I2C_CMD_DATA2_0_RESET_MASK _MK_MASK_CONST(0xfffffff
f) |
| 322 #define I2C_I2C_CMD_DATA2_0_SW_DEFAULT_VAL _MK_MASK_CONST(0
x0) |
| 323 #define I2C_I2C_CMD_DATA2_0_SW_DEFAULT_MASK _MK_MASK_CONST(0
x0) |
| 324 #define I2C_I2C_CMD_DATA2_0_READ_MASK _MK_MASK_CONST(0xfffffff
f) |
| 325 #define I2C_I2C_CMD_DATA2_0_WRITE_MASK _MK_MASK_CONST(0xfffffff
f) |
| 326 // Eighth data byte to be sent/received |
| 327 #define I2C_I2C_CMD_DATA2_0_DATA8_SHIFT _MK_SHIFT_CONST(24) |
| 328 #define I2C_I2C_CMD_DATA2_0_DATA8_FIELD (_MK_MASK_CONST(0xff) <<
I2C_I2C_CMD_DATA2_0_DATA8_SHIFT) |
| 329 #define I2C_I2C_CMD_DATA2_0_DATA8_RANGE 31:24 |
| 330 #define I2C_I2C_CMD_DATA2_0_DATA8_WOFFSET 0x0 |
| 331 #define I2C_I2C_CMD_DATA2_0_DATA8_DEFAULT _MK_MASK_CONST(0
x0) |
| 332 #define I2C_I2C_CMD_DATA2_0_DATA8_DEFAULT_MASK _MK_MASK_CONST(0
xff) |
| 333 #define I2C_I2C_CMD_DATA2_0_DATA8_SW_DEFAULT _MK_MASK_CONST(0
x0) |
| 334 #define I2C_I2C_CMD_DATA2_0_DATA8_SW_DEFAULT_MASK _MK_MASK
_CONST(0x0) |
| 335 |
| 336 // Seventh data byte to be sent/received |
| 337 #define I2C_I2C_CMD_DATA2_0_DATA7_SHIFT _MK_SHIFT_CONST(16) |
| 338 #define I2C_I2C_CMD_DATA2_0_DATA7_FIELD (_MK_MASK_CONST(0xff) <<
I2C_I2C_CMD_DATA2_0_DATA7_SHIFT) |
| 339 #define I2C_I2C_CMD_DATA2_0_DATA7_RANGE 23:16 |
| 340 #define I2C_I2C_CMD_DATA2_0_DATA7_WOFFSET 0x0 |
| 341 #define I2C_I2C_CMD_DATA2_0_DATA7_DEFAULT _MK_MASK_CONST(0
x0) |
| 342 #define I2C_I2C_CMD_DATA2_0_DATA7_DEFAULT_MASK _MK_MASK_CONST(0
xff) |
| 343 #define I2C_I2C_CMD_DATA2_0_DATA7_SW_DEFAULT _MK_MASK_CONST(0
x0) |
| 344 #define I2C_I2C_CMD_DATA2_0_DATA7_SW_DEFAULT_MASK _MK_MASK
_CONST(0x0) |
| 345 |
| 346 // Sixth data byte to be sent/received |
| 347 #define I2C_I2C_CMD_DATA2_0_DATA6_SHIFT _MK_SHIFT_CONST(8) |
| 348 #define I2C_I2C_CMD_DATA2_0_DATA6_FIELD (_MK_MASK_CONST(0xff) <<
I2C_I2C_CMD_DATA2_0_DATA6_SHIFT) |
| 349 #define I2C_I2C_CMD_DATA2_0_DATA6_RANGE 15:8 |
| 350 #define I2C_I2C_CMD_DATA2_0_DATA6_WOFFSET 0x0 |
| 351 #define I2C_I2C_CMD_DATA2_0_DATA6_DEFAULT _MK_MASK_CONST(0
x0) |
| 352 #define I2C_I2C_CMD_DATA2_0_DATA6_DEFAULT_MASK _MK_MASK_CONST(0
xff) |
| 353 #define I2C_I2C_CMD_DATA2_0_DATA6_SW_DEFAULT _MK_MASK_CONST(0
x0) |
| 354 #define I2C_I2C_CMD_DATA2_0_DATA6_SW_DEFAULT_MASK _MK_MASK
_CONST(0x0) |
| 355 |
| 356 // This register contains the Fifth data byte to be sent/received. |
| 357 #define I2C_I2C_CMD_DATA2_0_DATA5_SHIFT _MK_SHIFT_CONST(0) |
| 358 #define I2C_I2C_CMD_DATA2_0_DATA5_FIELD (_MK_MASK_CONST(0xff) <<
I2C_I2C_CMD_DATA2_0_DATA5_SHIFT) |
| 359 #define I2C_I2C_CMD_DATA2_0_DATA5_RANGE 7:0 |
| 360 #define I2C_I2C_CMD_DATA2_0_DATA5_WOFFSET 0x0 |
| 361 #define I2C_I2C_CMD_DATA2_0_DATA5_DEFAULT _MK_MASK_CONST(0
x0) |
| 362 #define I2C_I2C_CMD_DATA2_0_DATA5_DEFAULT_MASK _MK_MASK_CONST(0
xff) |
| 363 #define I2C_I2C_CMD_DATA2_0_DATA5_SW_DEFAULT _MK_MASK_CONST(0
x0) |
| 364 #define I2C_I2C_CMD_DATA2_0_DATA5_SW_DEFAULT_MASK _MK_MASK
_CONST(0x0) |
| 365 |
| 366 |
| 367 // Reserved address 20 [0x14] |
| 368 |
| 369 // Reserved address 24 [0x18] |
| 370 |
| 371 // Register I2C_I2C_STATUS_0 |
| 372 #define I2C_I2C_STATUS_0 _MK_ADDR_CONST(0x1c) |
| 373 #define I2C_I2C_STATUS_0_SECURE 0x0 |
| 374 #define I2C_I2C_STATUS_0_WORD_COUNT 0x1 |
| 375 #define I2C_I2C_STATUS_0_RESET_VAL _MK_MASK_CONST(0x0) |
| 376 #define I2C_I2C_STATUS_0_RESET_MASK _MK_MASK_CONST(0x1ff) |
| 377 #define I2C_I2C_STATUS_0_SW_DEFAULT_VAL _MK_MASK_CONST(0
x0) |
| 378 #define I2C_I2C_STATUS_0_SW_DEFAULT_MASK _MK_MASK_CONST(0
x0) |
| 379 #define I2C_I2C_STATUS_0_READ_MASK _MK_MASK_CONST(0x1ff) |
| 380 #define I2C_I2C_STATUS_0_WRITE_MASK _MK_MASK_CONST(0x0) |
| 381 // 1 = Busy. |
| 382 #define I2C_I2C_STATUS_0_BUSY_SHIFT _MK_SHIFT_CONST(8) |
| 383 #define I2C_I2C_STATUS_0_BUSY_FIELD (_MK_MASK_CONST(0x1) <<
I2C_I2C_STATUS_0_BUSY_SHIFT) |
| 384 #define I2C_I2C_STATUS_0_BUSY_RANGE 8:8 |
| 385 #define I2C_I2C_STATUS_0_BUSY_WOFFSET 0x0 |
| 386 #define I2C_I2C_STATUS_0_BUSY_DEFAULT _MK_MASK_CONST(0x0) |
| 387 #define I2C_I2C_STATUS_0_BUSY_DEFAULT_MASK _MK_MASK_CONST(0
x1) |
| 388 #define I2C_I2C_STATUS_0_BUSY_SW_DEFAULT _MK_MASK_CONST(0
x0) |
| 389 #define I2C_I2C_STATUS_0_BUSY_SW_DEFAULT_MASK _MK_MASK_CONST(0
x0) |
| 390 #define I2C_I2C_STATUS_0_BUSY_NOT_BUSY _MK_ENUM_CONST(0) |
| 391 #define I2C_I2C_STATUS_0_BUSY_BUSY _MK_ENUM_CONST(1) |
| 392 |
| 393 // Transaction for Slave2 for x byte failed. x is 'h0 to 'ha. |
| 394 // all others invalid |
| 395 #define I2C_I2C_STATUS_0_CMD2_STAT_SHIFT _MK_SHIFT_CONST(
4) |
| 396 #define I2C_I2C_STATUS_0_CMD2_STAT_FIELD (_MK_MASK_CONST(
0xf) << I2C_I2C_STATUS_0_CMD2_STAT_SHIFT) |
| 397 #define I2C_I2C_STATUS_0_CMD2_STAT_RANGE 7:4 |
| 398 #define I2C_I2C_STATUS_0_CMD2_STAT_WOFFSET 0x0 |
| 399 #define I2C_I2C_STATUS_0_CMD2_STAT_DEFAULT _MK_MASK_CONST(0
x0) |
| 400 #define I2C_I2C_STATUS_0_CMD2_STAT_DEFAULT_MASK _MK_MASK_CONST(0
xf) |
| 401 #define I2C_I2C_STATUS_0_CMD2_STAT_SW_DEFAULT _MK_MASK_CONST(0
x0) |
| 402 #define I2C_I2C_STATUS_0_CMD2_STAT_SW_DEFAULT_MASK _MK_MASK
_CONST(0x0) |
| 403 #define I2C_I2C_STATUS_0_CMD2_STAT_SL2_XFER_SUCCESSFUL _MK_ENUM
_CONST(0) |
| 404 #define I2C_I2C_STATUS_0_CMD2_STAT_SL2_NOACK_FOR_BYTE1 _MK_ENUM
_CONST(1) |
| 405 #define I2C_I2C_STATUS_0_CMD2_STAT_SL2_NOACK_FOR_BYTE2 _MK_ENUM
_CONST(2) |
| 406 #define I2C_I2C_STATUS_0_CMD2_STAT_SL2_NOACK_FOR_BYTE3 _MK_ENUM
_CONST(3) |
| 407 #define I2C_I2C_STATUS_0_CMD2_STAT_SL2_NOACK_FOR_BYTE4 _MK_ENUM
_CONST(4) |
| 408 #define I2C_I2C_STATUS_0_CMD2_STAT_SL2_NOACK_FOR_BYTE5 _MK_ENUM
_CONST(5) |
| 409 #define I2C_I2C_STATUS_0_CMD2_STAT_SL2_NOACK_FOR_BYTE6 _MK_ENUM
_CONST(6) |
| 410 #define I2C_I2C_STATUS_0_CMD2_STAT_SL2_NOACK_FOR_BYTE7 _MK_ENUM
_CONST(7) |
| 411 #define I2C_I2C_STATUS_0_CMD2_STAT_SL2_NOACK_FOR_BYTE8 _MK_ENUM
_CONST(8) |
| 412 #define I2C_I2C_STATUS_0_CMD2_STAT_SL2_NOACK_FOR_BYTE9 _MK_ENUM
_CONST(9) |
| 413 #define I2C_I2C_STATUS_0_CMD2_STAT_SL2_NOACK_FOR_BYTE10 _MK_ENUM
_CONST(10) |
| 414 |
| 415 // Transaction for Slave1 for x byte failed. x is 'h0 to 'ha. |
| 416 // all others invalid |
| 417 #define I2C_I2C_STATUS_0_CMD1_STAT_SHIFT _MK_SHIFT_CONST(
0) |
| 418 #define I2C_I2C_STATUS_0_CMD1_STAT_FIELD (_MK_MASK_CONST(
0xf) << I2C_I2C_STATUS_0_CMD1_STAT_SHIFT) |
| 419 #define I2C_I2C_STATUS_0_CMD1_STAT_RANGE 3:0 |
| 420 #define I2C_I2C_STATUS_0_CMD1_STAT_WOFFSET 0x0 |
| 421 #define I2C_I2C_STATUS_0_CMD1_STAT_DEFAULT _MK_MASK_CONST(0
x0) |
| 422 #define I2C_I2C_STATUS_0_CMD1_STAT_DEFAULT_MASK _MK_MASK_CONST(0
xf) |
| 423 #define I2C_I2C_STATUS_0_CMD1_STAT_SW_DEFAULT _MK_MASK_CONST(0
x0) |
| 424 #define I2C_I2C_STATUS_0_CMD1_STAT_SW_DEFAULT_MASK _MK_MASK
_CONST(0x0) |
| 425 #define I2C_I2C_STATUS_0_CMD1_STAT_SL1_XFER_SUCCESSFUL _MK_ENUM
_CONST(0) |
| 426 #define I2C_I2C_STATUS_0_CMD1_STAT_SL1_NOACK_FOR_BYTE1 _MK_ENUM
_CONST(1) |
| 427 #define I2C_I2C_STATUS_0_CMD1_STAT_SL1_NOACK_FOR_BYTE2 _MK_ENUM
_CONST(2) |
| 428 #define I2C_I2C_STATUS_0_CMD1_STAT_SL1_NOACK_FOR_BYTE3 _MK_ENUM
_CONST(3) |
| 429 #define I2C_I2C_STATUS_0_CMD1_STAT_SL1_NOACK_FOR_BYTE4 _MK_ENUM
_CONST(4) |
| 430 #define I2C_I2C_STATUS_0_CMD1_STAT_SL1_NOACK_FOR_BYTE5 _MK_ENUM
_CONST(5) |
| 431 #define I2C_I2C_STATUS_0_CMD1_STAT_SL1_NOACK_FOR_BYTE6 _MK_ENUM
_CONST(6) |
| 432 #define I2C_I2C_STATUS_0_CMD1_STAT_SL1_NOACK_FOR_BYTE7 _MK_ENUM
_CONST(7) |
| 433 #define I2C_I2C_STATUS_0_CMD1_STAT_SL1_NOACK_FOR_BYTE8 _MK_ENUM
_CONST(8) |
| 434 #define I2C_I2C_STATUS_0_CMD1_STAT_SL1_NOACK_FOR_BYTE9 _MK_ENUM
_CONST(9) |
| 435 #define I2C_I2C_STATUS_0_CMD1_STAT_SL1_NOACK_FOR_BYTE10 _MK_ENUM
_CONST(10) |
| 436 |
| 437 |
| 438 // Register I2C_I2C_SL_CNFG_0 |
| 439 #define I2C_I2C_SL_CNFG_0 _MK_ADDR_CONST(0x20) |
| 440 #define I2C_I2C_SL_CNFG_0_SECURE 0x0 |
| 441 #define I2C_I2C_SL_CNFG_0_WORD_COUNT 0x1 |
| 442 #define I2C_I2C_SL_CNFG_0_RESET_VAL _MK_MASK_CONST(0x0) |
| 443 #define I2C_I2C_SL_CNFG_0_RESET_MASK _MK_MASK_CONST(0x7) |
| 444 #define I2C_I2C_SL_CNFG_0_SW_DEFAULT_VAL _MK_MASK_CONST(0
x0) |
| 445 #define I2C_I2C_SL_CNFG_0_SW_DEFAULT_MASK _MK_MASK_CONST(0
x0) |
| 446 #define I2C_I2C_SL_CNFG_0_READ_MASK _MK_MASK_CONST(0x7) |
| 447 #define I2C_I2C_SL_CNFG_0_WRITE_MASK _MK_MASK_CONST(0x7) |
| 448 // New Slave |
| 449 // 1 - use new slave |
| 450 #define I2C_I2C_SL_CNFG_0_NEWSL_SHIFT _MK_SHIFT_CONST(2) |
| 451 #define I2C_I2C_SL_CNFG_0_NEWSL_FIELD (_MK_MASK_CONST(0x1) <<
I2C_I2C_SL_CNFG_0_NEWSL_SHIFT) |
| 452 #define I2C_I2C_SL_CNFG_0_NEWSL_RANGE 2:2 |
| 453 #define I2C_I2C_SL_CNFG_0_NEWSL_WOFFSET 0x0 |
| 454 #define I2C_I2C_SL_CNFG_0_NEWSL_DEFAULT _MK_MASK_CONST(0x0) |
| 455 #define I2C_I2C_SL_CNFG_0_NEWSL_DEFAULT_MASK _MK_MASK_CONST(0
x1) |
| 456 #define I2C_I2C_SL_CNFG_0_NEWSL_SW_DEFAULT _MK_MASK_CONST(0
x0) |
| 457 #define I2C_I2C_SL_CNFG_0_NEWSL_SW_DEFAULT_MASK _MK_MASK_CONST(0
x0) |
| 458 #define I2C_I2C_SL_CNFG_0_NEWSL_DISABLE _MK_ENUM_CONST(0) |
| 459 #define I2C_I2C_SL_CNFG_0_NEWSL_ENABLE _MK_ENUM_CONST(1) |
| 460 |
| 461 // Disable Slave Ack. |
| 462 // 1 - slave will not ack reception of address or data byte. |
| 463 #define I2C_I2C_SL_CNFG_0_NACK_SHIFT _MK_SHIFT_CONST(1) |
| 464 #define I2C_I2C_SL_CNFG_0_NACK_FIELD (_MK_MASK_CONST(0x1) <<
I2C_I2C_SL_CNFG_0_NACK_SHIFT) |
| 465 #define I2C_I2C_SL_CNFG_0_NACK_RANGE 1:1 |
| 466 #define I2C_I2C_SL_CNFG_0_NACK_WOFFSET 0x0 |
| 467 #define I2C_I2C_SL_CNFG_0_NACK_DEFAULT _MK_MASK_CONST(0x0) |
| 468 #define I2C_I2C_SL_CNFG_0_NACK_DEFAULT_MASK _MK_MASK_CONST(0
x1) |
| 469 #define I2C_I2C_SL_CNFG_0_NACK_SW_DEFAULT _MK_MASK_CONST(0
x0) |
| 470 #define I2C_I2C_SL_CNFG_0_NACK_SW_DEFAULT_MASK _MK_MASK_CONST(0
x0) |
| 471 #define I2C_I2C_SL_CNFG_0_NACK_DISABLE _MK_ENUM_CONST(0) |
| 472 #define I2C_I2C_SL_CNFG_0_NACK_ENABLE _MK_ENUM_CONST(1) |
| 473 |
| 474 // Slave response to general call address (zero address) |
| 475 // 1 - Enable. |
| 476 #define I2C_I2C_SL_CNFG_0_RESP_SHIFT _MK_SHIFT_CONST(0) |
| 477 #define I2C_I2C_SL_CNFG_0_RESP_FIELD (_MK_MASK_CONST(0x1) <<
I2C_I2C_SL_CNFG_0_RESP_SHIFT) |
| 478 #define I2C_I2C_SL_CNFG_0_RESP_RANGE 0:0 |
| 479 #define I2C_I2C_SL_CNFG_0_RESP_WOFFSET 0x0 |
| 480 #define I2C_I2C_SL_CNFG_0_RESP_DEFAULT _MK_MASK_CONST(0x0) |
| 481 #define I2C_I2C_SL_CNFG_0_RESP_DEFAULT_MASK _MK_MASK_CONST(0
x1) |
| 482 #define I2C_I2C_SL_CNFG_0_RESP_SW_DEFAULT _MK_MASK_CONST(0
x0) |
| 483 #define I2C_I2C_SL_CNFG_0_RESP_SW_DEFAULT_MASK _MK_MASK_CONST(0
x0) |
| 484 #define I2C_I2C_SL_CNFG_0_RESP_DISABLE _MK_ENUM_CONST(0) |
| 485 #define I2C_I2C_SL_CNFG_0_RESP_ENABLE _MK_ENUM_CONST(1) |
| 486 |
| 487 |
| 488 // Register I2C_I2C_SL_RCVD_0 |
| 489 #define I2C_I2C_SL_RCVD_0 _MK_ADDR_CONST(0x24) |
| 490 #define I2C_I2C_SL_RCVD_0_SECURE 0x0 |
| 491 #define I2C_I2C_SL_RCVD_0_WORD_COUNT 0x1 |
| 492 #define I2C_I2C_SL_RCVD_0_RESET_VAL _MK_MASK_CONST(0x0) |
| 493 #define I2C_I2C_SL_RCVD_0_RESET_MASK _MK_MASK_CONST(0xff) |
| 494 #define I2C_I2C_SL_RCVD_0_SW_DEFAULT_VAL _MK_MASK_CONST(0
x0) |
| 495 #define I2C_I2C_SL_RCVD_0_SW_DEFAULT_MASK _MK_MASK_CONST(0
x0) |
| 496 #define I2C_I2C_SL_RCVD_0_READ_MASK _MK_MASK_CONST(0xff) |
| 497 #define I2C_I2C_SL_RCVD_0_WRITE_MASK _MK_MASK_CONST(0xff) |
| 498 //slave Received data |
| 499 #define I2C_I2C_SL_RCVD_0_SL_DATA_SHIFT _MK_SHIFT_CONST(0) |
| 500 #define I2C_I2C_SL_RCVD_0_SL_DATA_FIELD (_MK_MASK_CONST(0xff) <<
I2C_I2C_SL_RCVD_0_SL_DATA_SHIFT) |
| 501 #define I2C_I2C_SL_RCVD_0_SL_DATA_RANGE 7:0 |
| 502 #define I2C_I2C_SL_RCVD_0_SL_DATA_WOFFSET 0x0 |
| 503 #define I2C_I2C_SL_RCVD_0_SL_DATA_DEFAULT _MK_MASK_CONST(0
x0) |
| 504 #define I2C_I2C_SL_RCVD_0_SL_DATA_DEFAULT_MASK _MK_MASK_CONST(0
xff) |
| 505 #define I2C_I2C_SL_RCVD_0_SL_DATA_SW_DEFAULT _MK_MASK_CONST(0
x0) |
| 506 #define I2C_I2C_SL_RCVD_0_SL_DATA_SW_DEFAULT_MASK _MK_MASK
_CONST(0x0) |
| 507 |
| 508 |
| 509 // Register I2C_I2C_SL_STATUS_0 |
| 510 #define I2C_I2C_SL_STATUS_0 _MK_ADDR_CONST(0x28) |
| 511 #define I2C_I2C_SL_STATUS_0_SECURE 0x0 |
| 512 #define I2C_I2C_SL_STATUS_0_WORD_COUNT 0x1 |
| 513 #define I2C_I2C_SL_STATUS_0_RESET_VAL _MK_MASK_CONST(0x0) |
| 514 #define I2C_I2C_SL_STATUS_0_RESET_MASK _MK_MASK_CONST(0x7fff) |
| 515 #define I2C_I2C_SL_STATUS_0_SW_DEFAULT_VAL _MK_MASK_CONST(0
x0) |
| 516 #define I2C_I2C_SL_STATUS_0_SW_DEFAULT_MASK _MK_MASK_CONST(0
x0) |
| 517 #define I2C_I2C_SL_STATUS_0_READ_MASK _MK_MASK_CONST(0x7fff) |
| 518 #define I2C_I2C_SL_STATUS_0_WRITE_MASK _MK_MASK_CONST(0x0) |
| 519 // HW master addr received via general call addressing. |
| 520 // This field is meaningful only if HW_MSTR_INT is set. |
| 521 #define I2C_I2C_SL_STATUS_0_HW_MSTR_ADR_SHIFT _MK_SHIFT_CONST(
8) |
| 522 #define I2C_I2C_SL_STATUS_0_HW_MSTR_ADR_FIELD (_MK_MASK_CONST(
0x7f) << I2C_I2C_SL_STATUS_0_HW_MSTR_ADR_SHIFT) |
| 523 #define I2C_I2C_SL_STATUS_0_HW_MSTR_ADR_RANGE 14:8 |
| 524 #define I2C_I2C_SL_STATUS_0_HW_MSTR_ADR_WOFFSET 0x0 |
| 525 #define I2C_I2C_SL_STATUS_0_HW_MSTR_ADR_DEFAULT _MK_MASK_CONST(0
x0) |
| 526 #define I2C_I2C_SL_STATUS_0_HW_MSTR_ADR_DEFAULT_MASK _MK_MASK
_CONST(0x7f) |
| 527 #define I2C_I2C_SL_STATUS_0_HW_MSTR_ADR_SW_DEFAULT _MK_MASK
_CONST(0x0) |
| 528 #define I2C_I2C_SL_STATUS_0_HW_MSTR_ADR_SW_DEFAULT_MASK _MK_MASK
_CONST(0x0) |
| 529 |
| 530 // 1 = Interrupt has been generated by slave |
| 531 // Hardware Master Address is received after |
| 532 // General Call Address. |
| 533 // 1 = Received HW Master Address |
| 534 // 0 = No event. |
| 535 #define I2C_I2C_SL_STATUS_0_HW_MSTR_INT_SHIFT _MK_SHIFT_CONST(
7) |
| 536 #define I2C_I2C_SL_STATUS_0_HW_MSTR_INT_FIELD (_MK_MASK_CONST(
0x1) << I2C_I2C_SL_STATUS_0_HW_MSTR_INT_SHIFT) |
| 537 #define I2C_I2C_SL_STATUS_0_HW_MSTR_INT_RANGE 7:7 |
| 538 #define I2C_I2C_SL_STATUS_0_HW_MSTR_INT_WOFFSET 0x0 |
| 539 #define I2C_I2C_SL_STATUS_0_HW_MSTR_INT_DEFAULT _MK_MASK_CONST(0
x0) |
| 540 #define I2C_I2C_SL_STATUS_0_HW_MSTR_INT_DEFAULT_MASK _MK_MASK
_CONST(0x1) |
| 541 #define I2C_I2C_SL_STATUS_0_HW_MSTR_INT_SW_DEFAULT _MK_MASK
_CONST(0x0) |
| 542 #define I2C_I2C_SL_STATUS_0_HW_MSTR_INT_SW_DEFAULT_MASK _MK_MASK
_CONST(0x0) |
| 543 |
| 544 // 1 = Interrupt has been generated by slave |
| 545 // By after General Call Address is 0x04. |
| 546 // 1 = Reprogram slave address. |
| 547 // 0 = No action. |
| 548 #define I2C_I2C_SL_STATUS_0_REPROG_SL_SHIFT _MK_SHIFT_CONST(
6) |
| 549 #define I2C_I2C_SL_STATUS_0_REPROG_SL_FIELD (_MK_MASK_CONST(
0x1) << I2C_I2C_SL_STATUS_0_REPROG_SL_SHIFT) |
| 550 #define I2C_I2C_SL_STATUS_0_REPROG_SL_RANGE 6:6 |
| 551 #define I2C_I2C_SL_STATUS_0_REPROG_SL_WOFFSET 0x0 |
| 552 #define I2C_I2C_SL_STATUS_0_REPROG_SL_DEFAULT _MK_MASK_CONST(0
x0) |
| 553 #define I2C_I2C_SL_STATUS_0_REPROG_SL_DEFAULT_MASK _MK_MASK
_CONST(0x1) |
| 554 #define I2C_I2C_SL_STATUS_0_REPROG_SL_SW_DEFAULT _MK_MASK
_CONST(0x0) |
| 555 #define I2C_I2C_SL_STATUS_0_REPROG_SL_SW_DEFAULT_MASK _MK_MASK
_CONST(0x0) |
| 556 |
| 557 // 1 = Interrupt has been generated by slave |
| 558 // By after General Call Address is 0x06. |
| 559 // 1 = Reset and reprogram slave address. |
| 560 // 0 = No action. |
| 561 #define I2C_I2C_SL_STATUS_0_RST_SL_SHIFT _MK_SHIFT_CONST(
5) |
| 562 #define I2C_I2C_SL_STATUS_0_RST_SL_FIELD (_MK_MASK_CONST(
0x1) << I2C_I2C_SL_STATUS_0_RST_SL_SHIFT) |
| 563 #define I2C_I2C_SL_STATUS_0_RST_SL_RANGE 5:5 |
| 564 #define I2C_I2C_SL_STATUS_0_RST_SL_WOFFSET 0x0 |
| 565 #define I2C_I2C_SL_STATUS_0_RST_SL_DEFAULT _MK_MASK_CONST(0
x0) |
| 566 #define I2C_I2C_SL_STATUS_0_RST_SL_DEFAULT_MASK _MK_MASK_CONST(0
x1) |
| 567 #define I2C_I2C_SL_STATUS_0_RST_SL_SW_DEFAULT _MK_MASK_CONST(0
x0) |
| 568 #define I2C_I2C_SL_STATUS_0_RST_SL_SW_DEFAULT_MASK _MK_MASK
_CONST(0x0) |
| 569 |
| 570 // 1 = Interrupt has been generated by slave |
| 571 // Transaction completed as indicated by stop/repeat start condition. |
| 572 // 1 = Transaction completed. |
| 573 // 0 = No transaction occurred or transaction in progress. |
| 574 #define I2C_I2C_SL_STATUS_0_END_TRANS_SHIFT _MK_SHIFT_CONST(
4) |
| 575 #define I2C_I2C_SL_STATUS_0_END_TRANS_FIELD (_MK_MASK_CONST(
0x1) << I2C_I2C_SL_STATUS_0_END_TRANS_SHIFT) |
| 576 #define I2C_I2C_SL_STATUS_0_END_TRANS_RANGE 4:4 |
| 577 #define I2C_I2C_SL_STATUS_0_END_TRANS_WOFFSET 0x0 |
| 578 #define I2C_I2C_SL_STATUS_0_END_TRANS_DEFAULT _MK_MASK_CONST(0
x0) |
| 579 #define I2C_I2C_SL_STATUS_0_END_TRANS_DEFAULT_MASK _MK_MASK
_CONST(0x1) |
| 580 #define I2C_I2C_SL_STATUS_0_END_TRANS_SW_DEFAULT _MK_MASK
_CONST(0x0) |
| 581 #define I2C_I2C_SL_STATUS_0_END_TRANS_SW_DEFAULT_MASK _MK_MASK
_CONST(0x0) |
| 582 |
| 583 // 1 = Interrupt has been generated by slave |
| 584 // 0 = No interrupt generated |
| 585 #define I2C_I2C_SL_STATUS_0_SL_IRQ_SHIFT _MK_SHIFT_CONST(
3) |
| 586 #define I2C_I2C_SL_STATUS_0_SL_IRQ_FIELD (_MK_MASK_CONST(
0x1) << I2C_I2C_SL_STATUS_0_SL_IRQ_SHIFT) |
| 587 #define I2C_I2C_SL_STATUS_0_SL_IRQ_RANGE 3:3 |
| 588 #define I2C_I2C_SL_STATUS_0_SL_IRQ_WOFFSET 0x0 |
| 589 #define I2C_I2C_SL_STATUS_0_SL_IRQ_DEFAULT _MK_MASK_CONST(0
x0) |
| 590 #define I2C_I2C_SL_STATUS_0_SL_IRQ_DEFAULT_MASK _MK_MASK_CONST(0
x1) |
| 591 #define I2C_I2C_SL_STATUS_0_SL_IRQ_SW_DEFAULT _MK_MASK_CONST(0
x0) |
| 592 #define I2C_I2C_SL_STATUS_0_SL_IRQ_SW_DEFAULT_MASK _MK_MASK
_CONST(0x0) |
| 593 #define I2C_I2C_SL_STATUS_0_SL_IRQ_UNSET _MK_ENUM_CONST(0
) |
| 594 #define I2C_I2C_SL_STATUS_0_SL_IRQ_SET _MK_ENUM_CONST(1) |
| 595 |
| 596 // New Transaction Receieved status |
| 597 // 1 = Transaction occurred. |
| 598 // 0 = No transaction occurred |
| 599 #define I2C_I2C_SL_STATUS_0_RCVD_SHIFT _MK_SHIFT_CONST(2) |
| 600 #define I2C_I2C_SL_STATUS_0_RCVD_FIELD (_MK_MASK_CONST(0x1) <<
I2C_I2C_SL_STATUS_0_RCVD_SHIFT) |
| 601 #define I2C_I2C_SL_STATUS_0_RCVD_RANGE 2:2 |
| 602 #define I2C_I2C_SL_STATUS_0_RCVD_WOFFSET 0x0 |
| 603 #define I2C_I2C_SL_STATUS_0_RCVD_DEFAULT _MK_MASK_CONST(0
x0) |
| 604 #define I2C_I2C_SL_STATUS_0_RCVD_DEFAULT_MASK _MK_MASK_CONST(0
x1) |
| 605 #define I2C_I2C_SL_STATUS_0_RCVD_SW_DEFAULT _MK_MASK_CONST(0
x0) |
| 606 #define I2C_I2C_SL_STATUS_0_RCVD_SW_DEFAULT_MASK _MK_MASK
_CONST(0x0) |
| 607 #define I2C_I2C_SL_STATUS_0_RCVD_NO_TRANSACTION_OCCURED _MK_ENUM
_CONST(0) |
| 608 #define I2C_I2C_SL_STATUS_0_RCVD_TRANSACTION_OCCURED _MK_ENUM
_CONST(1) |
| 609 |
| 610 // Slave Transaction status |
| 611 // 0 = Write |
| 612 // 1=Read |
| 613 #define I2C_I2C_SL_STATUS_0_RNW_SHIFT _MK_SHIFT_CONST(1) |
| 614 #define I2C_I2C_SL_STATUS_0_RNW_FIELD (_MK_MASK_CONST(0x1) <<
I2C_I2C_SL_STATUS_0_RNW_SHIFT) |
| 615 #define I2C_I2C_SL_STATUS_0_RNW_RANGE 1:1 |
| 616 #define I2C_I2C_SL_STATUS_0_RNW_WOFFSET 0x0 |
| 617 #define I2C_I2C_SL_STATUS_0_RNW_DEFAULT _MK_MASK_CONST(0x0) |
| 618 #define I2C_I2C_SL_STATUS_0_RNW_DEFAULT_MASK _MK_MASK_CONST(0
x1) |
| 619 #define I2C_I2C_SL_STATUS_0_RNW_SW_DEFAULT _MK_MASK_CONST(0
x0) |
| 620 #define I2C_I2C_SL_STATUS_0_RNW_SW_DEFAULT_MASK _MK_MASK_CONST(0
x0) |
| 621 #define I2C_I2C_SL_STATUS_0_RNW_WRITE _MK_ENUM_CONST(0) |
| 622 #define I2C_I2C_SL_STATUS_0_RNW_READ _MK_ENUM_CONST(1) |
| 623 |
| 624 // Zero Address Status |
| 625 // 1 = Yes, slave responded |
| 626 // 0 = No, slave did not respond |
| 627 #define I2C_I2C_SL_STATUS_0_ZA_SHIFT _MK_SHIFT_CONST(0) |
| 628 #define I2C_I2C_SL_STATUS_0_ZA_FIELD (_MK_MASK_CONST(0x1) <<
I2C_I2C_SL_STATUS_0_ZA_SHIFT) |
| 629 #define I2C_I2C_SL_STATUS_0_ZA_RANGE 0:0 |
| 630 #define I2C_I2C_SL_STATUS_0_ZA_WOFFSET 0x0 |
| 631 #define I2C_I2C_SL_STATUS_0_ZA_DEFAULT _MK_MASK_CONST(0x0) |
| 632 #define I2C_I2C_SL_STATUS_0_ZA_DEFAULT_MASK _MK_MASK_CONST(0
x1) |
| 633 #define I2C_I2C_SL_STATUS_0_ZA_SW_DEFAULT _MK_MASK_CONST(0
x0) |
| 634 #define I2C_I2C_SL_STATUS_0_ZA_SW_DEFAULT_MASK _MK_MASK_CONST(0
x0) |
| 635 #define I2C_I2C_SL_STATUS_0_ZA_NO_SLAVE_RESPONSE _MK_ENUM
_CONST(0) |
| 636 #define I2C_I2C_SL_STATUS_0_ZA_SLAVE_RESPONSE _MK_ENUM_CONST(1
) |
| 637 |
| 638 |
| 639 // Register I2C_I2C_SL_ADDR1_0 |
| 640 #define I2C_I2C_SL_ADDR1_0 _MK_ADDR_CONST(0x2c) |
| 641 #define I2C_I2C_SL_ADDR1_0_SECURE 0x0 |
| 642 #define I2C_I2C_SL_ADDR1_0_WORD_COUNT 0x1 |
| 643 #define I2C_I2C_SL_ADDR1_0_RESET_VAL _MK_MASK_CONST(0x0) |
| 644 #define I2C_I2C_SL_ADDR1_0_RESET_MASK _MK_MASK_CONST(0xff) |
| 645 #define I2C_I2C_SL_ADDR1_0_SW_DEFAULT_VAL _MK_MASK_CONST(0
x0) |
| 646 #define I2C_I2C_SL_ADDR1_0_SW_DEFAULT_MASK _MK_MASK_CONST(0
x0) |
| 647 #define I2C_I2C_SL_ADDR1_0_READ_MASK _MK_MASK_CONST(0xff) |
| 648 #define I2C_I2C_SL_ADDR1_0_WRITE_MASK _MK_MASK_CONST(0xff) |
| 649 // For a 10-bit slave address, this field is the least significant 8 bits. |
| 650 #define I2C_I2C_SL_ADDR1_0_SL_ADDR0_SHIFT _MK_SHIFT_CONST(
0) |
| 651 #define I2C_I2C_SL_ADDR1_0_SL_ADDR0_FIELD (_MK_MASK_CONST(
0xff) << I2C_I2C_SL_ADDR1_0_SL_ADDR0_SHIFT) |
| 652 #define I2C_I2C_SL_ADDR1_0_SL_ADDR0_RANGE 7:0 |
| 653 #define I2C_I2C_SL_ADDR1_0_SL_ADDR0_WOFFSET 0x0 |
| 654 #define I2C_I2C_SL_ADDR1_0_SL_ADDR0_DEFAULT _MK_MASK_CONST(0
x0) |
| 655 #define I2C_I2C_SL_ADDR1_0_SL_ADDR0_DEFAULT_MASK _MK_MASK
_CONST(0xff) |
| 656 #define I2C_I2C_SL_ADDR1_0_SL_ADDR0_SW_DEFAULT _MK_MASK_CONST(0
x0) |
| 657 #define I2C_I2C_SL_ADDR1_0_SL_ADDR0_SW_DEFAULT_MASK _MK_MASK
_CONST(0x0) |
| 658 |
| 659 |
| 660 // Register I2C_I2C_SL_ADDR2_0 |
| 661 #define I2C_I2C_SL_ADDR2_0 _MK_ADDR_CONST(0x30) |
| 662 #define I2C_I2C_SL_ADDR2_0_SECURE 0x0 |
| 663 #define I2C_I2C_SL_ADDR2_0_WORD_COUNT 0x1 |
| 664 #define I2C_I2C_SL_ADDR2_0_RESET_VAL _MK_MASK_CONST(0x0) |
| 665 #define I2C_I2C_SL_ADDR2_0_RESET_MASK _MK_MASK_CONST(0x7) |
| 666 #define I2C_I2C_SL_ADDR2_0_SW_DEFAULT_VAL _MK_MASK_CONST(0
x0) |
| 667 #define I2C_I2C_SL_ADDR2_0_SW_DEFAULT_MASK _MK_MASK_CONST(0
x0) |
| 668 #define I2C_I2C_SL_ADDR2_0_READ_MASK _MK_MASK_CONST(0x7) |
| 669 #define I2C_I2C_SL_ADDR2_0_WRITE_MASK _MK_MASK_CONST(0x7) |
| 670 // In 7 bit address mode these bits are dont care; |
| 671 // In 10 bit address mode they represent the 2 MSB of the address. |
| 672 #define I2C_I2C_SL_ADDR2_0_SL_ADDR_HI_SHIFT _MK_SHIFT_CONST(
1) |
| 673 #define I2C_I2C_SL_ADDR2_0_SL_ADDR_HI_FIELD (_MK_MASK_CONST(
0x3) << I2C_I2C_SL_ADDR2_0_SL_ADDR_HI_SHIFT) |
| 674 #define I2C_I2C_SL_ADDR2_0_SL_ADDR_HI_RANGE 2:1 |
| 675 #define I2C_I2C_SL_ADDR2_0_SL_ADDR_HI_WOFFSET 0x0 |
| 676 #define I2C_I2C_SL_ADDR2_0_SL_ADDR_HI_DEFAULT _MK_MASK_CONST(0
x0) |
| 677 #define I2C_I2C_SL_ADDR2_0_SL_ADDR_HI_DEFAULT_MASK _MK_MASK
_CONST(0x3) |
| 678 #define I2C_I2C_SL_ADDR2_0_SL_ADDR_HI_SW_DEFAULT _MK_MASK
_CONST(0x0) |
| 679 #define I2C_I2C_SL_ADDR2_0_SL_ADDR_HI_SW_DEFAULT_MASK _MK_MASK
_CONST(0x0) |
| 680 |
| 681 // 0 = 7-bit addressing. |
| 682 // 1 - 10 bit addressing. |
| 683 #define I2C_I2C_SL_ADDR2_0_VLD_SHIFT _MK_SHIFT_CONST(0) |
| 684 #define I2C_I2C_SL_ADDR2_0_VLD_FIELD (_MK_MASK_CONST(0x1) <<
I2C_I2C_SL_ADDR2_0_VLD_SHIFT) |
| 685 #define I2C_I2C_SL_ADDR2_0_VLD_RANGE 0:0 |
| 686 #define I2C_I2C_SL_ADDR2_0_VLD_WOFFSET 0x0 |
| 687 #define I2C_I2C_SL_ADDR2_0_VLD_DEFAULT _MK_MASK_CONST(0x0) |
| 688 #define I2C_I2C_SL_ADDR2_0_VLD_DEFAULT_MASK _MK_MASK_CONST(0
x1) |
| 689 #define I2C_I2C_SL_ADDR2_0_VLD_SW_DEFAULT _MK_MASK_CONST(0
x0) |
| 690 #define I2C_I2C_SL_ADDR2_0_VLD_SW_DEFAULT_MASK _MK_MASK_CONST(0
x0) |
| 691 #define I2C_I2C_SL_ADDR2_0_VLD_SEVEN_BIT_ADDR_MODE _MK_ENUM
_CONST(0) |
| 692 #define I2C_I2C_SL_ADDR2_0_VLD_TEN_BIT_ADDR_MODE _MK_ENUM
_CONST(1) |
| 693 |
| 694 |
| 695 // Reserved address 52 [0x34] |
| 696 |
| 697 // Reserved address 56 [0x38] |
| 698 |
| 699 // Register I2C_I2C_SL_DELAY_COUNT_0 |
| 700 #define I2C_I2C_SL_DELAY_COUNT_0 _MK_ADDR_CONST(0x3c) |
| 701 #define I2C_I2C_SL_DELAY_COUNT_0_SECURE 0x0 |
| 702 #define I2C_I2C_SL_DELAY_COUNT_0_WORD_COUNT 0x1 |
| 703 #define I2C_I2C_SL_DELAY_COUNT_0_RESET_VAL _MK_MASK_CONST(0
x1e) |
| 704 #define I2C_I2C_SL_DELAY_COUNT_0_RESET_MASK _MK_MASK_CONST(0
xffff) |
| 705 #define I2C_I2C_SL_DELAY_COUNT_0_SW_DEFAULT_VAL _MK_MASK
_CONST(0x0) |
| 706 #define I2C_I2C_SL_DELAY_COUNT_0_SW_DEFAULT_MASK _MK_MASK
_CONST(0x0) |
| 707 #define I2C_I2C_SL_DELAY_COUNT_0_READ_MASK _MK_MASK_CONST(0
xffff) |
| 708 #define I2C_I2C_SL_DELAY_COUNT_0_WRITE_MASK _MK_MASK_CONST(0
xffff) |
| 709 // The value determines the timing between an address |
| 710 // cycle and a subsequent data cycle or two consecutive |
| 711 // data cycles on the bus.The I2C_SL_DELAY_COUNT is valid |
| 712 // only when internal slave is accessed. |
| 713 // I2C_SL_DELAY_COUNT has to be programmed such that |
| 714 // TIMING = T * DLY where T is period of clock source |
| 715 // selected for I2c; and DLY is I2C_SL_DELAY_COUNT ; |
| 716 // TIMING is the desired timing, A value of >= 1250 ns is |
| 717 // advisable. |
| 718 #define I2C_I2C_SL_DELAY_COUNT_0_SL_DELAY_COUNT_SHIFT _MK_SHIF
T_CONST(0) |
| 719 #define I2C_I2C_SL_DELAY_COUNT_0_SL_DELAY_COUNT_FIELD (_MK_MAS
K_CONST(0xffff) << I2C_I2C_SL_DELAY_COUNT_0_SL_DELAY_COUNT_SHIFT) |
| 720 #define I2C_I2C_SL_DELAY_COUNT_0_SL_DELAY_COUNT_RANGE 15:0 |
| 721 #define I2C_I2C_SL_DELAY_COUNT_0_SL_DELAY_COUNT_WOFFSET 0x0 |
| 722 #define I2C_I2C_SL_DELAY_COUNT_0_SL_DELAY_COUNT_DEFAULT _MK_MASK
_CONST(0x1e) |
| 723 #define I2C_I2C_SL_DELAY_COUNT_0_SL_DELAY_COUNT_DEFAULT_MASK
_MK_MASK_CONST(0xffff) |
| 724 #define I2C_I2C_SL_DELAY_COUNT_0_SL_DELAY_COUNT_SW_DEFAULT
_MK_MASK_CONST(0x0) |
| 725 #define I2C_I2C_SL_DELAY_COUNT_0_SL_DELAY_COUNT_SW_DEFAULT_MASK
_MK_MASK_CONST(0x0) |
| 726 |
| 727 |
| 728 // Reserved address 64 [0x40] |
| 729 |
| 730 // Reserved address 68 [0x44] |
| 731 |
| 732 // Reserved address 72 [0x48] |
| 733 |
| 734 // Reserved address 76 [0x4c] |
| 735 |
| 736 // Packet I2C_IO_PACKET_HEADER_0 |
| 737 #define I2C_IO_PACKET_HEADER_0_SIZE 32 |
| 738 |
| 739 #define I2C_IO_PACKET_HEADER_0_RESERVED0_3_SHIFT _MK_SHIF
T_CONST(30) |
| 740 #define I2C_IO_PACKET_HEADER_0_RESERVED0_3_FIELD (_MK_MAS
K_CONST(0x3) << I2C_IO_PACKET_HEADER_0_RESERVED0_3_SHIFT) |
| 741 #define I2C_IO_PACKET_HEADER_0_RESERVED0_3_RANGE _MK_SHIF
T_CONST(31):_MK_SHIFT_CONST(30) |
| 742 #define I2C_IO_PACKET_HEADER_0_RESERVED0_3_ROW 0 |
| 743 |
| 744 #define I2C_IO_PACKET_HEADER_0_HDRSZ_SHIFT _MK_SHIFT_CONST(
28) |
| 745 #define I2C_IO_PACKET_HEADER_0_HDRSZ_FIELD (_MK_MASK_CONST(
0x3) << I2C_IO_PACKET_HEADER_0_HDRSZ_SHIFT) |
| 746 #define I2C_IO_PACKET_HEADER_0_HDRSZ_RANGE _MK_SHIFT_CONST(
29):_MK_SHIFT_CONST(28) |
| 747 #define I2C_IO_PACKET_HEADER_0_HDRSZ_ROW 0 |
| 748 #define I2C_IO_PACKET_HEADER_0_HDRSZ_ONE _MK_ENUM_CONST(0
) |
| 749 #define I2C_IO_PACKET_HEADER_0_HDRSZ_TWO _MK_ENUM_CONST(1
) |
| 750 #define I2C_IO_PACKET_HEADER_0_HDRSZ_THREE _MK_ENUM_CONST(2
) |
| 751 #define I2C_IO_PACKET_HEADER_0_HDRSZ_FOUR _MK_ENUM_CONST(3
) |
| 752 |
| 753 #define I2C_IO_PACKET_HEADER_0_RESERVED0_2_SHIFT _MK_SHIF
T_CONST(24) |
| 754 #define I2C_IO_PACKET_HEADER_0_RESERVED0_2_FIELD (_MK_MAS
K_CONST(0xf) << I2C_IO_PACKET_HEADER_0_RESERVED0_2_SHIFT) |
| 755 #define I2C_IO_PACKET_HEADER_0_RESERVED0_2_RANGE _MK_SHIF
T_CONST(27):_MK_SHIFT_CONST(24) |
| 756 #define I2C_IO_PACKET_HEADER_0_RESERVED0_2_ROW 0 |
| 757 |
| 758 #define I2C_IO_PACKET_HEADER_0_PKTID_SHIFT _MK_SHIFT_CONST(
16) |
| 759 #define I2C_IO_PACKET_HEADER_0_PKTID_FIELD (_MK_MASK_CONST(
0xff) << I2C_IO_PACKET_HEADER_0_PKTID_SHIFT) |
| 760 #define I2C_IO_PACKET_HEADER_0_PKTID_RANGE _MK_SHIFT_CONST(
23):_MK_SHIFT_CONST(16) |
| 761 #define I2C_IO_PACKET_HEADER_0_PKTID_ROW 0 |
| 762 |
| 763 #define I2C_IO_PACKET_HEADER_0_CONTROLLER_ID_SHIFT _MK_SHIF
T_CONST(12) |
| 764 #define I2C_IO_PACKET_HEADER_0_CONTROLLER_ID_FIELD (_MK_MAS
K_CONST(0xf) << I2C_IO_PACKET_HEADER_0_CONTROLLER_ID_SHIFT) |
| 765 #define I2C_IO_PACKET_HEADER_0_CONTROLLER_ID_RANGE _MK_SHIF
T_CONST(15):_MK_SHIFT_CONST(12) |
| 766 #define I2C_IO_PACKET_HEADER_0_CONTROLLER_ID_ROW 0 |
| 767 #define I2C_IO_PACKET_HEADER_0_CONTROLLER_ID_I2C1 _MK_ENUM
_CONST(0) |
| 768 #define I2C_IO_PACKET_HEADER_0_CONTROLLER_ID_I2C2 _MK_ENUM
_CONST(1) |
| 769 #define I2C_IO_PACKET_HEADER_0_CONTROLLER_ID_I2C3 _MK_ENUM
_CONST(2) |
| 770 #define I2C_IO_PACKET_HEADER_0_CONTROLLER_ID_DVC_I2C _MK_ENUM
_CONST(3) |
| 771 |
| 772 #define I2C_IO_PACKET_HEADER_0_RESERVED0_1_SHIFT _MK_SHIF
T_CONST(8) |
| 773 #define I2C_IO_PACKET_HEADER_0_RESERVED0_1_FIELD (_MK_MAS
K_CONST(0xf) << I2C_IO_PACKET_HEADER_0_RESERVED0_1_SHIFT) |
| 774 #define I2C_IO_PACKET_HEADER_0_RESERVED0_1_RANGE _MK_SHIF
T_CONST(11):_MK_SHIFT_CONST(8) |
| 775 #define I2C_IO_PACKET_HEADER_0_RESERVED0_1_ROW 0 |
| 776 |
| 777 #define I2C_IO_PACKET_HEADER_0_PROTOCOL_SHIFT _MK_SHIFT_CONST(
4) |
| 778 #define I2C_IO_PACKET_HEADER_0_PROTOCOL_FIELD (_MK_MASK_CONST(
0xf) << I2C_IO_PACKET_HEADER_0_PROTOCOL_SHIFT) |
| 779 #define I2C_IO_PACKET_HEADER_0_PROTOCOL_RANGE _MK_SHIFT_CONST(
7):_MK_SHIFT_CONST(4) |
| 780 #define I2C_IO_PACKET_HEADER_0_PROTOCOL_ROW 0 |
| 781 #define I2C_IO_PACKET_HEADER_0_PROTOCOL_RESERVED _MK_ENUM
_CONST(0) |
| 782 #define I2C_IO_PACKET_HEADER_0_PROTOCOL_I2C _MK_ENUM_CONST(1
) |
| 783 |
| 784 #define I2C_IO_PACKET_HEADER_0_RESERVED0_0_SHIFT _MK_SHIF
T_CONST(3) |
| 785 #define I2C_IO_PACKET_HEADER_0_RESERVED0_0_FIELD (_MK_MAS
K_CONST(0x1) << I2C_IO_PACKET_HEADER_0_RESERVED0_0_SHIFT) |
| 786 #define I2C_IO_PACKET_HEADER_0_RESERVED0_0_RANGE _MK_SHIF
T_CONST(3):_MK_SHIFT_CONST(3) |
| 787 #define I2C_IO_PACKET_HEADER_0_RESERVED0_0_ROW 0 |
| 788 |
| 789 #define I2C_IO_PACKET_HEADER_0_PKTTYPE_SHIFT _MK_SHIFT_CONST(
0) |
| 790 #define I2C_IO_PACKET_HEADER_0_PKTTYPE_FIELD (_MK_MASK_CONST(
0x7) << I2C_IO_PACKET_HEADER_0_PKTTYPE_SHIFT) |
| 791 #define I2C_IO_PACKET_HEADER_0_PKTTYPE_RANGE _MK_SHIFT_CONST(
2):_MK_SHIFT_CONST(0) |
| 792 #define I2C_IO_PACKET_HEADER_0_PKTTYPE_ROW 0 |
| 793 |
| 794 #define I2C_IO_PACKET_HEADER_0_RESERVED1_0_SHIFT _MK_SHIF
T_CONST(12) |
| 795 #define I2C_IO_PACKET_HEADER_0_RESERVED1_0_FIELD (_MK_MAS
K_CONST(0xfffff) << I2C_IO_PACKET_HEADER_0_RESERVED1_0_SHIFT) |
| 796 #define I2C_IO_PACKET_HEADER_0_RESERVED1_0_RANGE _MK_SHIF
T_CONST(31):_MK_SHIFT_CONST(12) |
| 797 #define I2C_IO_PACKET_HEADER_0_RESERVED1_0_ROW 1 |
| 798 |
| 799 #define I2C_IO_PACKET_HEADER_0_PAYLOADSIZE_SHIFT _MK_SHIF
T_CONST(0) |
| 800 #define I2C_IO_PACKET_HEADER_0_PAYLOADSIZE_FIELD (_MK_MAS
K_CONST(0xfff) << I2C_IO_PACKET_HEADER_0_PAYLOADSIZE_SHIFT) |
| 801 #define I2C_IO_PACKET_HEADER_0_PAYLOADSIZE_RANGE _MK_SHIF
T_CONST(11):_MK_SHIFT_CONST(0) |
| 802 #define I2C_IO_PACKET_HEADER_0_PAYLOADSIZE_ROW 1 |
| 803 |
| 804 #define I2C_IO_PACKET_HEADER_0_RESERVED2_0_SHIFT _MK_SHIF
T_CONST(23) |
| 805 #define I2C_IO_PACKET_HEADER_0_RESERVED2_0_FIELD (_MK_MAS
K_CONST(0x1ff) << I2C_IO_PACKET_HEADER_0_RESERVED2_0_SHIFT) |
| 806 #define I2C_IO_PACKET_HEADER_0_RESERVED2_0_RANGE _MK_SHIF
T_CONST(31):_MK_SHIFT_CONST(23) |
| 807 #define I2C_IO_PACKET_HEADER_0_RESERVED2_0_ROW 2 |
| 808 |
| 809 #define I2C_IO_PACKET_HEADER_0_HS_MODE_SHIFT _MK_SHIFT_CONST(
22) |
| 810 #define I2C_IO_PACKET_HEADER_0_HS_MODE_FIELD (_MK_MASK_CONST(
0x1) << I2C_IO_PACKET_HEADER_0_HS_MODE_SHIFT) |
| 811 #define I2C_IO_PACKET_HEADER_0_HS_MODE_RANGE _MK_SHIFT_CONST(
22):_MK_SHIFT_CONST(22) |
| 812 #define I2C_IO_PACKET_HEADER_0_HS_MODE_ROW 2 |
| 813 #define I2C_IO_PACKET_HEADER_0_HS_MODE_DISABLE _MK_ENUM_CONST(0
) |
| 814 #define I2C_IO_PACKET_HEADER_0_HS_MODE_ENABLE _MK_ENUM_CONST(1
) |
| 815 |
| 816 #define I2C_IO_PACKET_HEADER_0_CONTUNE_ON_NACK_SHIFT _MK_SHIF
T_CONST(21) |
| 817 #define I2C_IO_PACKET_HEADER_0_CONTUNE_ON_NACK_FIELD (_MK_MAS
K_CONST(0x1) << I2C_IO_PACKET_HEADER_0_CONTUNE_ON_NACK_SHIFT) |
| 818 #define I2C_IO_PACKET_HEADER_0_CONTUNE_ON_NACK_RANGE _MK_SHIF
T_CONST(21):_MK_SHIFT_CONST(21) |
| 819 #define I2C_IO_PACKET_HEADER_0_CONTUNE_ON_NACK_ROW 2 |
| 820 #define I2C_IO_PACKET_HEADER_0_CONTUNE_ON_NACK_DISABLE _MK_ENUM
_CONST(0) |
| 821 #define I2C_IO_PACKET_HEADER_0_CONTUNE_ON_NACK_ENABLE _MK_ENUM
_CONST(1) |
| 822 |
| 823 #define I2C_IO_PACKET_HEADER_0_SEND_START_BYTE_SHIFT _MK_SHIF
T_CONST(20) |
| 824 #define I2C_IO_PACKET_HEADER_0_SEND_START_BYTE_FIELD (_MK_MAS
K_CONST(0x1) << I2C_IO_PACKET_HEADER_0_SEND_START_BYTE_SHIFT) |
| 825 #define I2C_IO_PACKET_HEADER_0_SEND_START_BYTE_RANGE _MK_SHIF
T_CONST(20):_MK_SHIFT_CONST(20) |
| 826 #define I2C_IO_PACKET_HEADER_0_SEND_START_BYTE_ROW 2 |
| 827 #define I2C_IO_PACKET_HEADER_0_SEND_START_BYTE_DISABLE _MK_ENUM
_CONST(0) |
| 828 #define I2C_IO_PACKET_HEADER_0_SEND_START_BYTE_ENABLE _MK_ENUM
_CONST(1) |
| 829 |
| 830 #define I2C_IO_PACKET_HEADER_0_READ_SHIFT _MK_SHIFT_CONST(
19) |
| 831 #define I2C_IO_PACKET_HEADER_0_READ_FIELD (_MK_MASK_CONST(
0x1) << I2C_IO_PACKET_HEADER_0_READ_SHIFT) |
| 832 #define I2C_IO_PACKET_HEADER_0_READ_RANGE _MK_SHIFT_CONST(
19):_MK_SHIFT_CONST(19) |
| 833 #define I2C_IO_PACKET_HEADER_0_READ_ROW 2 |
| 834 #define I2C_IO_PACKET_HEADER_0_READ_WRITE _MK_ENUM_CONST(0
) |
| 835 #define I2C_IO_PACKET_HEADER_0_READ_READ _MK_ENUM_CONST(1
) |
| 836 |
| 837 #define I2C_IO_PACKET_HEADER_0_ADDR_MODE_SHIFT _MK_SHIFT_CONST(
18) |
| 838 #define I2C_IO_PACKET_HEADER_0_ADDR_MODE_FIELD (_MK_MASK_CONST(
0x1) << I2C_IO_PACKET_HEADER_0_ADDR_MODE_SHIFT) |
| 839 #define I2C_IO_PACKET_HEADER_0_ADDR_MODE_RANGE _MK_SHIFT_CONST(
18):_MK_SHIFT_CONST(18) |
| 840 #define I2C_IO_PACKET_HEADER_0_ADDR_MODE_ROW 2 |
| 841 #define I2C_IO_PACKET_HEADER_0_ADDR_MODE_SEVEN_BIT _MK_ENUM
_CONST(0) |
| 842 #define I2C_IO_PACKET_HEADER_0_ADDR_MODE_TEN_BIT _MK_ENUM
_CONST(1) |
| 843 |
| 844 #define I2C_IO_PACKET_HEADER_0_IE_SHIFT _MK_SHIFT_CONST(17) |
| 845 #define I2C_IO_PACKET_HEADER_0_IE_FIELD (_MK_MASK_CONST(0x1) <<
I2C_IO_PACKET_HEADER_0_IE_SHIFT) |
| 846 #define I2C_IO_PACKET_HEADER_0_IE_RANGE _MK_SHIFT_CONST(17):_MK_
SHIFT_CONST(17) |
| 847 #define I2C_IO_PACKET_HEADER_0_IE_ROW 2 |
| 848 #define I2C_IO_PACKET_HEADER_0_IE_DISABLE _MK_ENUM_CONST(0
) |
| 849 #define I2C_IO_PACKET_HEADER_0_IE_ENABLE _MK_ENUM_CONST(1
) |
| 850 |
| 851 #define I2C_IO_PACKET_HEADER_0_REPEAT_START_SHIFT _MK_SHIF
T_CONST(16) |
| 852 #define I2C_IO_PACKET_HEADER_0_REPEAT_START_FIELD (_MK_MAS
K_CONST(0x1) << I2C_IO_PACKET_HEADER_0_REPEAT_START_SHIFT) |
| 853 #define I2C_IO_PACKET_HEADER_0_REPEAT_START_RANGE _MK_SHIF
T_CONST(16):_MK_SHIFT_CONST(16) |
| 854 #define I2C_IO_PACKET_HEADER_0_REPEAT_START_ROW 2 |
| 855 #define I2C_IO_PACKET_HEADER_0_REPEAT_START_STOP _MK_ENUM
_CONST(0) |
| 856 #define I2C_IO_PACKET_HEADER_0_REPEAT_START_REPEAT_START
_MK_ENUM_CONST(1) |
| 857 |
| 858 #define I2C_IO_PACKET_HEADER_0_RESERVED2_1_SHIFT _MK_SHIF
T_CONST(15) |
| 859 #define I2C_IO_PACKET_HEADER_0_RESERVED2_1_FIELD (_MK_MAS
K_CONST(0x1) << I2C_IO_PACKET_HEADER_0_RESERVED2_1_SHIFT) |
| 860 #define I2C_IO_PACKET_HEADER_0_RESERVED2_1_RANGE _MK_SHIF
T_CONST(15):_MK_SHIFT_CONST(15) |
| 861 #define I2C_IO_PACKET_HEADER_0_RESERVED2_1_ROW 2 |
| 862 |
| 863 #define I2C_IO_PACKET_HEADER_0_HS_MASTER_ADDR_SHIFT _MK_SHIF
T_CONST(12) |
| 864 #define I2C_IO_PACKET_HEADER_0_HS_MASTER_ADDR_FIELD (_MK_MAS
K_CONST(0x7) << I2C_IO_PACKET_HEADER_0_HS_MASTER_ADDR_SHIFT) |
| 865 #define I2C_IO_PACKET_HEADER_0_HS_MASTER_ADDR_RANGE _MK_SHIF
T_CONST(14):_MK_SHIFT_CONST(12) |
| 866 #define I2C_IO_PACKET_HEADER_0_HS_MASTER_ADDR_ROW 2 |
| 867 |
| 868 #define I2C_IO_PACKET_HEADER_0_RESERVED2_2_SHIFT _MK_SHIF
T_CONST(10) |
| 869 #define I2C_IO_PACKET_HEADER_0_RESERVED2_2_FIELD (_MK_MAS
K_CONST(0x3) << I2C_IO_PACKET_HEADER_0_RESERVED2_2_SHIFT) |
| 870 #define I2C_IO_PACKET_HEADER_0_RESERVED2_2_RANGE _MK_SHIF
T_CONST(11):_MK_SHIFT_CONST(10) |
| 871 #define I2C_IO_PACKET_HEADER_0_RESERVED2_2_ROW 2 |
| 872 |
| 873 #define I2C_IO_PACKET_HEADER_0_SLAVE_ADDR_SHIFT _MK_SHIFT_CONST(
0) |
| 874 #define I2C_IO_PACKET_HEADER_0_SLAVE_ADDR_FIELD (_MK_MASK_CONST(
0x3ff) << I2C_IO_PACKET_HEADER_0_SLAVE_ADDR_SHIFT) |
| 875 #define I2C_IO_PACKET_HEADER_0_SLAVE_ADDR_RANGE _MK_SHIFT_CONST(
9):_MK_SHIFT_CONST(0) |
| 876 #define I2C_IO_PACKET_HEADER_0_SLAVE_ADDR_ROW 2 |
| 877 |
| 878 |
| 879 // Register I2C_I2C_TX_PACKET_FIFO_0 |
| 880 #define I2C_I2C_TX_PACKET_FIFO_0 _MK_ADDR_CONST(0x50) |
| 881 #define I2C_I2C_TX_PACKET_FIFO_0_SECURE 0x0 |
| 882 #define I2C_I2C_TX_PACKET_FIFO_0_WORD_COUNT 0x1 |
| 883 #define I2C_I2C_TX_PACKET_FIFO_0_RESET_VAL _MK_MASK_CONST(0
x0) |
| 884 #define I2C_I2C_TX_PACKET_FIFO_0_RESET_MASK _MK_MASK_CONST(0
xffffffff) |
| 885 #define I2C_I2C_TX_PACKET_FIFO_0_SW_DEFAULT_VAL _MK_MASK
_CONST(0x0) |
| 886 #define I2C_I2C_TX_PACKET_FIFO_0_SW_DEFAULT_MASK _MK_MASK
_CONST(0x0) |
| 887 #define I2C_I2C_TX_PACKET_FIFO_0_READ_MASK _MK_MASK_CONST(0
xffffffff) |
| 888 #define I2C_I2C_TX_PACKET_FIFO_0_WRITE_MASK _MK_MASK_CONST(0
xffffffff) |
| 889 //SW writes packets into this register |
| 890 //A packet may contain generic |
| 891 #define I2C_I2C_TX_PACKET_FIFO_0_TX_PACKET_SHIFT _MK_SHIF
T_CONST(0) |
| 892 #define I2C_I2C_TX_PACKET_FIFO_0_TX_PACKET_FIELD (_MK_MAS
K_CONST(0xffffffff) << I2C_I2C_TX_PACKET_FIFO_0_TX_PACKET_SHIFT) |
| 893 #define I2C_I2C_TX_PACKET_FIFO_0_TX_PACKET_RANGE 31:0 |
| 894 #define I2C_I2C_TX_PACKET_FIFO_0_TX_PACKET_WOFFSET 0x0 |
| 895 #define I2C_I2C_TX_PACKET_FIFO_0_TX_PACKET_DEFAULT _MK_MASK
_CONST(0x0) |
| 896 #define I2C_I2C_TX_PACKET_FIFO_0_TX_PACKET_DEFAULT_MASK _MK_MASK
_CONST(0xffffffff) |
| 897 #define I2C_I2C_TX_PACKET_FIFO_0_TX_PACKET_SW_DEFAULT _MK_MASK
_CONST(0x0) |
| 898 #define I2C_I2C_TX_PACKET_FIFO_0_TX_PACKET_SW_DEFAULT_MASK
_MK_MASK_CONST(0x0) |
| 899 |
| 900 |
| 901 // Register I2C_I2C_RX_FIFO_0 |
| 902 #define I2C_I2C_RX_FIFO_0 _MK_ADDR_CONST(0x54) |
| 903 #define I2C_I2C_RX_FIFO_0_SECURE 0x0 |
| 904 #define I2C_I2C_RX_FIFO_0_WORD_COUNT 0x1 |
| 905 #define I2C_I2C_RX_FIFO_0_RESET_VAL _MK_MASK_CONST(0x0) |
| 906 #define I2C_I2C_RX_FIFO_0_RESET_MASK _MK_MASK_CONST(0xfffffff
f) |
| 907 #define I2C_I2C_RX_FIFO_0_SW_DEFAULT_VAL _MK_MASK_CONST(0
x0) |
| 908 #define I2C_I2C_RX_FIFO_0_SW_DEFAULT_MASK _MK_MASK_CONST(0
x0) |
| 909 #define I2C_I2C_RX_FIFO_0_READ_MASK _MK_MASK_CONST(0xfffffff
f) |
| 910 #define I2C_I2C_RX_FIFO_0_WRITE_MASK _MK_MASK_CONST(0x0) |
| 911 //SW Reads data from this register,causes pop |
| 912 #define I2C_I2C_RX_FIFO_0_RD_DATA_SHIFT _MK_SHIFT_CONST(0) |
| 913 #define I2C_I2C_RX_FIFO_0_RD_DATA_FIELD (_MK_MASK_CONST(0xffffff
ff) << I2C_I2C_RX_FIFO_0_RD_DATA_SHIFT) |
| 914 #define I2C_I2C_RX_FIFO_0_RD_DATA_RANGE 31:0 |
| 915 #define I2C_I2C_RX_FIFO_0_RD_DATA_WOFFSET 0x0 |
| 916 #define I2C_I2C_RX_FIFO_0_RD_DATA_DEFAULT _MK_MASK_CONST(0
x0) |
| 917 #define I2C_I2C_RX_FIFO_0_RD_DATA_DEFAULT_MASK _MK_MASK_CONST(0
xffffffff) |
| 918 #define I2C_I2C_RX_FIFO_0_RD_DATA_SW_DEFAULT _MK_MASK_CONST(0
x0) |
| 919 #define I2C_I2C_RX_FIFO_0_RD_DATA_SW_DEFAULT_MASK _MK_MASK
_CONST(0x0) |
| 920 |
| 921 |
| 922 // Register I2C_PACKET_TRANSFER_STATUS_0 |
| 923 #define I2C_PACKET_TRANSFER_STATUS_0 _MK_ADDR_CONST(0x58) |
| 924 #define I2C_PACKET_TRANSFER_STATUS_0_SECURE 0x0 |
| 925 #define I2C_PACKET_TRANSFER_STATUS_0_WORD_COUNT 0x1 |
| 926 #define I2C_PACKET_TRANSFER_STATUS_0_RESET_VAL _MK_MASK_CONST(0
x0) |
| 927 #define I2C_PACKET_TRANSFER_STATUS_0_RESET_MASK _MK_MASK
_CONST(0x1ffffff) |
| 928 #define I2C_PACKET_TRANSFER_STATUS_0_SW_DEFAULT_VAL _MK_MASK
_CONST(0x0) |
| 929 #define I2C_PACKET_TRANSFER_STATUS_0_SW_DEFAULT_MASK _MK_MASK
_CONST(0x0) |
| 930 #define I2C_PACKET_TRANSFER_STATUS_0_READ_MASK _MK_MASK_CONST(0
x1ffffff) |
| 931 #define I2C_PACKET_TRANSFER_STATUS_0_WRITE_MASK _MK_MASK
_CONST(0x0) |
| 932 //The packet transfer for which last packet is set has been |
| 933 //completed |
| 934 #define I2C_PACKET_TRANSFER_STATUS_0_TRANSFER_COMPLETE_SHIFT
_MK_SHIFT_CONST(24) |
| 935 #define I2C_PACKET_TRANSFER_STATUS_0_TRANSFER_COMPLETE_FIELD
(_MK_MASK_CONST(0x1) << I2C_PACKET_TRANSFER_STATUS_0_TRANSFER_COMPLETE_SHIFT) |
| 936 #define I2C_PACKET_TRANSFER_STATUS_0_TRANSFER_COMPLETE_RANGE
24:24 |
| 937 #define I2C_PACKET_TRANSFER_STATUS_0_TRANSFER_COMPLETE_WOFFSET
0x0 |
| 938 #define I2C_PACKET_TRANSFER_STATUS_0_TRANSFER_COMPLETE_DEFAULT
_MK_MASK_CONST(0x0) |
| 939 #define I2C_PACKET_TRANSFER_STATUS_0_TRANSFER_COMPLETE_DEFAULT_MASK
_MK_MASK_CONST(0x1) |
| 940 #define I2C_PACKET_TRANSFER_STATUS_0_TRANSFER_COMPLETE_SW_DEFAULT
_MK_MASK_CONST(0x0) |
| 941 #define I2C_PACKET_TRANSFER_STATUS_0_TRANSFER_COMPLETE_SW_DEFAULT_MASK
_MK_MASK_CONST(0x0) |
| 942 #define I2C_PACKET_TRANSFER_STATUS_0_TRANSFER_COMPLETE_UNSET
_MK_ENUM_CONST(0) |
| 943 #define I2C_PACKET_TRANSFER_STATUS_0_TRANSFER_COMPLETE_SET
_MK_ENUM_CONST(1) |
| 944 |
| 945 //The current packet id for which the transaction is |
| 946 //happening on the bus |
| 947 #define I2C_PACKET_TRANSFER_STATUS_0_TRANSFER_PKT_ID_SHIFT
_MK_SHIFT_CONST(16) |
| 948 #define I2C_PACKET_TRANSFER_STATUS_0_TRANSFER_PKT_ID_FIELD
(_MK_MASK_CONST(0xff) << I2C_PACKET_TRANSFER_STATUS_0_TRANSFER_PKT_ID_SHIFT) |
| 949 #define I2C_PACKET_TRANSFER_STATUS_0_TRANSFER_PKT_ID_RANGE
23:16 |
| 950 #define I2C_PACKET_TRANSFER_STATUS_0_TRANSFER_PKT_ID_WOFFSET
0x0 |
| 951 #define I2C_PACKET_TRANSFER_STATUS_0_TRANSFER_PKT_ID_DEFAULT
_MK_MASK_CONST(0x0) |
| 952 #define I2C_PACKET_TRANSFER_STATUS_0_TRANSFER_PKT_ID_DEFAULT_MASK
_MK_MASK_CONST(0xff) |
| 953 #define I2C_PACKET_TRANSFER_STATUS_0_TRANSFER_PKT_ID_SW_DEFAULT
_MK_MASK_CONST(0x0) |
| 954 #define I2C_PACKET_TRANSFER_STATUS_0_TRANSFER_PKT_ID_SW_DEFAULT_MASK
_MK_MASK_CONST(0x0) |
| 955 |
| 956 //The number of bytes transferred in the current packet |
| 957 #define I2C_PACKET_TRANSFER_STATUS_0_TRANSFER_BYTENUM_SHIFT
_MK_SHIFT_CONST(4) |
| 958 #define I2C_PACKET_TRANSFER_STATUS_0_TRANSFER_BYTENUM_FIELD
(_MK_MASK_CONST(0xfff) << I2C_PACKET_TRANSFER_STATUS_0_TRANSFER_BYTENUM_SHIFT) |
| 959 #define I2C_PACKET_TRANSFER_STATUS_0_TRANSFER_BYTENUM_RANGE
15:4 |
| 960 #define I2C_PACKET_TRANSFER_STATUS_0_TRANSFER_BYTENUM_WOFFSET
0x0 |
| 961 #define I2C_PACKET_TRANSFER_STATUS_0_TRANSFER_BYTENUM_DEFAULT
_MK_MASK_CONST(0x0) |
| 962 #define I2C_PACKET_TRANSFER_STATUS_0_TRANSFER_BYTENUM_DEFAULT_MASK
_MK_MASK_CONST(0xfff) |
| 963 #define I2C_PACKET_TRANSFER_STATUS_0_TRANSFER_BYTENUM_SW_DEFAULT
_MK_MASK_CONST(0x0) |
| 964 #define I2C_PACKET_TRANSFER_STATUS_0_TRANSFER_BYTENUM_SW_DEFAULT_MASK
_MK_MASK_CONST(0x0) |
| 965 |
| 966 //No ack recieved for the addr byte |
| 967 #define I2C_PACKET_TRANSFER_STATUS_0_NOACK_FOR_ADDR_SHIFT
_MK_SHIFT_CONST(3) |
| 968 #define I2C_PACKET_TRANSFER_STATUS_0_NOACK_FOR_ADDR_FIELD
(_MK_MASK_CONST(0x1) << I2C_PACKET_TRANSFER_STATUS_0_NOACK_FOR_ADDR_SHIFT) |
| 969 #define I2C_PACKET_TRANSFER_STATUS_0_NOACK_FOR_ADDR_RANGE
3:3 |
| 970 #define I2C_PACKET_TRANSFER_STATUS_0_NOACK_FOR_ADDR_WOFFSET
0x0 |
| 971 #define I2C_PACKET_TRANSFER_STATUS_0_NOACK_FOR_ADDR_DEFAULT
_MK_MASK_CONST(0x0) |
| 972 #define I2C_PACKET_TRANSFER_STATUS_0_NOACK_FOR_ADDR_DEFAULT_MASK
_MK_MASK_CONST(0x1) |
| 973 #define I2C_PACKET_TRANSFER_STATUS_0_NOACK_FOR_ADDR_SW_DEFAULT
_MK_MASK_CONST(0x0) |
| 974 #define I2C_PACKET_TRANSFER_STATUS_0_NOACK_FOR_ADDR_SW_DEFAULT_MASK
_MK_MASK_CONST(0x0) |
| 975 #define I2C_PACKET_TRANSFER_STATUS_0_NOACK_FOR_ADDR_UNSET
_MK_ENUM_CONST(0) |
| 976 #define I2C_PACKET_TRANSFER_STATUS_0_NOACK_FOR_ADDR_SET _MK_ENUM
_CONST(1) |
| 977 |
| 978 //No ack recieved for the data byte |
| 979 #define I2C_PACKET_TRANSFER_STATUS_0_NOACK_FOR_DATA_SHIFT
_MK_SHIFT_CONST(2) |
| 980 #define I2C_PACKET_TRANSFER_STATUS_0_NOACK_FOR_DATA_FIELD
(_MK_MASK_CONST(0x1) << I2C_PACKET_TRANSFER_STATUS_0_NOACK_FOR_DATA_SHIFT) |
| 981 #define I2C_PACKET_TRANSFER_STATUS_0_NOACK_FOR_DATA_RANGE
2:2 |
| 982 #define I2C_PACKET_TRANSFER_STATUS_0_NOACK_FOR_DATA_WOFFSET
0x0 |
| 983 #define I2C_PACKET_TRANSFER_STATUS_0_NOACK_FOR_DATA_DEFAULT
_MK_MASK_CONST(0x0) |
| 984 #define I2C_PACKET_TRANSFER_STATUS_0_NOACK_FOR_DATA_DEFAULT_MASK
_MK_MASK_CONST(0x1) |
| 985 #define I2C_PACKET_TRANSFER_STATUS_0_NOACK_FOR_DATA_SW_DEFAULT
_MK_MASK_CONST(0x0) |
| 986 #define I2C_PACKET_TRANSFER_STATUS_0_NOACK_FOR_DATA_SW_DEFAULT_MASK
_MK_MASK_CONST(0x0) |
| 987 #define I2C_PACKET_TRANSFER_STATUS_0_NOACK_FOR_DATA_UNSET
_MK_ENUM_CONST(0) |
| 988 #define I2C_PACKET_TRANSFER_STATUS_0_NOACK_FOR_DATA_SET _MK_ENUM
_CONST(1) |
| 989 |
| 990 //Arbitration lost for the current byte |
| 991 #define I2C_PACKET_TRANSFER_STATUS_0_ARB_LOST_SHIFT _MK_SHIF
T_CONST(1) |
| 992 #define I2C_PACKET_TRANSFER_STATUS_0_ARB_LOST_FIELD (_MK_MAS
K_CONST(0x1) << I2C_PACKET_TRANSFER_STATUS_0_ARB_LOST_SHIFT) |
| 993 #define I2C_PACKET_TRANSFER_STATUS_0_ARB_LOST_RANGE 1:1 |
| 994 #define I2C_PACKET_TRANSFER_STATUS_0_ARB_LOST_WOFFSET 0x0 |
| 995 #define I2C_PACKET_TRANSFER_STATUS_0_ARB_LOST_DEFAULT _MK_MASK
_CONST(0x0) |
| 996 #define I2C_PACKET_TRANSFER_STATUS_0_ARB_LOST_DEFAULT_MASK
_MK_MASK_CONST(0x1) |
| 997 #define I2C_PACKET_TRANSFER_STATUS_0_ARB_LOST_SW_DEFAULT
_MK_MASK_CONST(0x0) |
| 998 #define I2C_PACKET_TRANSFER_STATUS_0_ARB_LOST_SW_DEFAULT_MASK
_MK_MASK_CONST(0x0) |
| 999 #define I2C_PACKET_TRANSFER_STATUS_0_ARB_LOST_UNSET _MK_ENUM
_CONST(0) |
| 1000 #define I2C_PACKET_TRANSFER_STATUS_0_ARB_LOST_SET _MK_ENUM
_CONST(1) |
| 1001 |
| 1002 //1 = Controller is busy |
| 1003 #define I2C_PACKET_TRANSFER_STATUS_0_CONTROLLER_BUSY_SHIFT
_MK_SHIFT_CONST(0) |
| 1004 #define I2C_PACKET_TRANSFER_STATUS_0_CONTROLLER_BUSY_FIELD
(_MK_MASK_CONST(0x1) << I2C_PACKET_TRANSFER_STATUS_0_CONTROLLER_BUSY_SHIFT) |
| 1005 #define I2C_PACKET_TRANSFER_STATUS_0_CONTROLLER_BUSY_RANGE
0:0 |
| 1006 #define I2C_PACKET_TRANSFER_STATUS_0_CONTROLLER_BUSY_WOFFSET
0x0 |
| 1007 #define I2C_PACKET_TRANSFER_STATUS_0_CONTROLLER_BUSY_DEFAULT
_MK_MASK_CONST(0x0) |
| 1008 #define I2C_PACKET_TRANSFER_STATUS_0_CONTROLLER_BUSY_DEFAULT_MASK
_MK_MASK_CONST(0x1) |
| 1009 #define I2C_PACKET_TRANSFER_STATUS_0_CONTROLLER_BUSY_SW_DEFAULT
_MK_MASK_CONST(0x0) |
| 1010 #define I2C_PACKET_TRANSFER_STATUS_0_CONTROLLER_BUSY_SW_DEFAULT_MASK
_MK_MASK_CONST(0x0) |
| 1011 #define I2C_PACKET_TRANSFER_STATUS_0_CONTROLLER_BUSY_UNSET
_MK_ENUM_CONST(0) |
| 1012 #define I2C_PACKET_TRANSFER_STATUS_0_CONTROLLER_BUSY_SET
_MK_ENUM_CONST(1) |
| 1013 |
| 1014 |
| 1015 // Register I2C_FIFO_CONTROL_0 |
| 1016 #define I2C_FIFO_CONTROL_0 _MK_ADDR_CONST(0x5c) |
| 1017 #define I2C_FIFO_CONTROL_0_SECURE 0x0 |
| 1018 #define I2C_FIFO_CONTROL_0_WORD_COUNT 0x1 |
| 1019 #define I2C_FIFO_CONTROL_0_RESET_VAL _MK_MASK_CONST(0x0) |
| 1020 #define I2C_FIFO_CONTROL_0_RESET_MASK _MK_MASK_CONST(0xff) |
| 1021 #define I2C_FIFO_CONTROL_0_SW_DEFAULT_VAL _MK_MASK_CONST(0
x0) |
| 1022 #define I2C_FIFO_CONTROL_0_SW_DEFAULT_MASK _MK_MASK_CONST(0
x0) |
| 1023 #define I2C_FIFO_CONTROL_0_READ_MASK _MK_MASK_CONST(0xff) |
| 1024 #define I2C_FIFO_CONTROL_0_WRITE_MASK _MK_MASK_CONST(0xff) |
| 1025 //Transmit fifo trigger level |
| 1026 //000 = 1 word, Dma trigger is asserted when |
| 1027 //at least one word empty in the fifo |
| 1028 //010 = 2 word, Dma trigger is asserted when |
| 1029 //at least 2 words empty in the fifo |
| 1030 #define I2C_FIFO_CONTROL_0_TX_FIFO_TRIG_SHIFT _MK_SHIFT_CONST(
5) |
| 1031 #define I2C_FIFO_CONTROL_0_TX_FIFO_TRIG_FIELD (_MK_MASK_CONST(
0x7) << I2C_FIFO_CONTROL_0_TX_FIFO_TRIG_SHIFT) |
| 1032 #define I2C_FIFO_CONTROL_0_TX_FIFO_TRIG_RANGE 7:5 |
| 1033 #define I2C_FIFO_CONTROL_0_TX_FIFO_TRIG_WOFFSET 0x0 |
| 1034 #define I2C_FIFO_CONTROL_0_TX_FIFO_TRIG_DEFAULT _MK_MASK_CONST(0
x0) |
| 1035 #define I2C_FIFO_CONTROL_0_TX_FIFO_TRIG_DEFAULT_MASK _MK_MASK
_CONST(0x7) |
| 1036 #define I2C_FIFO_CONTROL_0_TX_FIFO_TRIG_SW_DEFAULT _MK_MASK
_CONST(0x0) |
| 1037 #define I2C_FIFO_CONTROL_0_TX_FIFO_TRIG_SW_DEFAULT_MASK _MK_MASK
_CONST(0x0) |
| 1038 |
| 1039 //Receive fifo trigger level |
| 1040 //000 = 1 word Dma trigger is asserted when |
| 1041 //at least one word full in the fifo |
| 1042 //010 = 2 word Dma trigger is asserted when |
| 1043 //at least 2 word full in the fifo |
| 1044 #define I2C_FIFO_CONTROL_0_RX_FIFO_TRIG_SHIFT _MK_SHIFT_CONST(
2) |
| 1045 #define I2C_FIFO_CONTROL_0_RX_FIFO_TRIG_FIELD (_MK_MASK_CONST(
0x7) << I2C_FIFO_CONTROL_0_RX_FIFO_TRIG_SHIFT) |
| 1046 #define I2C_FIFO_CONTROL_0_RX_FIFO_TRIG_RANGE 4:2 |
| 1047 #define I2C_FIFO_CONTROL_0_RX_FIFO_TRIG_WOFFSET 0x0 |
| 1048 #define I2C_FIFO_CONTROL_0_RX_FIFO_TRIG_DEFAULT _MK_MASK_CONST(0
x0) |
| 1049 #define I2C_FIFO_CONTROL_0_RX_FIFO_TRIG_DEFAULT_MASK _MK_MASK
_CONST(0x7) |
| 1050 #define I2C_FIFO_CONTROL_0_RX_FIFO_TRIG_SW_DEFAULT _MK_MASK
_CONST(0x0) |
| 1051 #define I2C_FIFO_CONTROL_0_RX_FIFO_TRIG_SW_DEFAULT_MASK _MK_MASK
_CONST(0x0) |
| 1052 |
| 1053 //1= flush the tx fifo,cleared after fifo is flushed |
| 1054 #define I2C_FIFO_CONTROL_0_TX_FIFO_FLUSH_SHIFT _MK_SHIFT_CONST(
1) |
| 1055 #define I2C_FIFO_CONTROL_0_TX_FIFO_FLUSH_FIELD (_MK_MASK_CONST(
0x1) << I2C_FIFO_CONTROL_0_TX_FIFO_FLUSH_SHIFT) |
| 1056 #define I2C_FIFO_CONTROL_0_TX_FIFO_FLUSH_RANGE 1:1 |
| 1057 #define I2C_FIFO_CONTROL_0_TX_FIFO_FLUSH_WOFFSET 0x0 |
| 1058 #define I2C_FIFO_CONTROL_0_TX_FIFO_FLUSH_DEFAULT _MK_MASK
_CONST(0x0) |
| 1059 #define I2C_FIFO_CONTROL_0_TX_FIFO_FLUSH_DEFAULT_MASK _MK_MASK
_CONST(0x1) |
| 1060 #define I2C_FIFO_CONTROL_0_TX_FIFO_FLUSH_SW_DEFAULT _MK_MASK
_CONST(0x0) |
| 1061 #define I2C_FIFO_CONTROL_0_TX_FIFO_FLUSH_SW_DEFAULT_MASK
_MK_MASK_CONST(0x0) |
| 1062 #define I2C_FIFO_CONTROL_0_TX_FIFO_FLUSH_UNSET _MK_ENUM_CONST(0
) |
| 1063 #define I2C_FIFO_CONTROL_0_TX_FIFO_FLUSH_SET _MK_ENUM_CONST(1
) |
| 1064 |
| 1065 //1= flush the rx fifo,cleared after fifo is flushed |
| 1066 #define I2C_FIFO_CONTROL_0_RX_FIFO_FLUSH_SHIFT _MK_SHIFT_CONST(
0) |
| 1067 #define I2C_FIFO_CONTROL_0_RX_FIFO_FLUSH_FIELD (_MK_MASK_CONST(
0x1) << I2C_FIFO_CONTROL_0_RX_FIFO_FLUSH_SHIFT) |
| 1068 #define I2C_FIFO_CONTROL_0_RX_FIFO_FLUSH_RANGE 0:0 |
| 1069 #define I2C_FIFO_CONTROL_0_RX_FIFO_FLUSH_WOFFSET 0x0 |
| 1070 #define I2C_FIFO_CONTROL_0_RX_FIFO_FLUSH_DEFAULT _MK_MASK
_CONST(0x0) |
| 1071 #define I2C_FIFO_CONTROL_0_RX_FIFO_FLUSH_DEFAULT_MASK _MK_MASK
_CONST(0x1) |
| 1072 #define I2C_FIFO_CONTROL_0_RX_FIFO_FLUSH_SW_DEFAULT _MK_MASK
_CONST(0x0) |
| 1073 #define I2C_FIFO_CONTROL_0_RX_FIFO_FLUSH_SW_DEFAULT_MASK
_MK_MASK_CONST(0x0) |
| 1074 #define I2C_FIFO_CONTROL_0_RX_FIFO_FLUSH_UNSET _MK_ENUM_CONST(0
) |
| 1075 #define I2C_FIFO_CONTROL_0_RX_FIFO_FLUSH_SET _MK_ENUM_CONST(1
) |
| 1076 |
| 1077 |
| 1078 // Register I2C_FIFO_STATUS_0 |
| 1079 #define I2C_FIFO_STATUS_0 _MK_ADDR_CONST(0x60) |
| 1080 #define I2C_FIFO_STATUS_0_SECURE 0x0 |
| 1081 #define I2C_FIFO_STATUS_0_WORD_COUNT 0x1 |
| 1082 #define I2C_FIFO_STATUS_0_RESET_VAL _MK_MASK_CONST(0x0) |
| 1083 #define I2C_FIFO_STATUS_0_RESET_MASK _MK_MASK_CONST(0xff) |
| 1084 #define I2C_FIFO_STATUS_0_SW_DEFAULT_VAL _MK_MASK_CONST(0
x0) |
| 1085 #define I2C_FIFO_STATUS_0_SW_DEFAULT_MASK _MK_MASK_CONST(0
x0) |
| 1086 #define I2C_FIFO_STATUS_0_READ_MASK _MK_MASK_CONST(0xff) |
| 1087 #define I2C_FIFO_STATUS_0_WRITE_MASK _MK_MASK_CONST(0x0) |
| 1088 //The number of slots that can be written to the tx fifo |
| 1089 //0000 = tx_fifo full |
| 1090 //0001 = 1 slot empty |
| 1091 //0010 = 2 slots empty |
| 1092 #define I2C_FIFO_STATUS_0_TX_FIFO_EMPTY_CNT_SHIFT _MK_SHIF
T_CONST(4) |
| 1093 #define I2C_FIFO_STATUS_0_TX_FIFO_EMPTY_CNT_FIELD (_MK_MAS
K_CONST(0xf) << I2C_FIFO_STATUS_0_TX_FIFO_EMPTY_CNT_SHIFT) |
| 1094 #define I2C_FIFO_STATUS_0_TX_FIFO_EMPTY_CNT_RANGE 7:4 |
| 1095 #define I2C_FIFO_STATUS_0_TX_FIFO_EMPTY_CNT_WOFFSET 0x0 |
| 1096 #define I2C_FIFO_STATUS_0_TX_FIFO_EMPTY_CNT_DEFAULT _MK_MASK
_CONST(0x0) |
| 1097 #define I2C_FIFO_STATUS_0_TX_FIFO_EMPTY_CNT_DEFAULT_MASK
_MK_MASK_CONST(0xf) |
| 1098 #define I2C_FIFO_STATUS_0_TX_FIFO_EMPTY_CNT_SW_DEFAULT _MK_MASK
_CONST(0x0) |
| 1099 #define I2C_FIFO_STATUS_0_TX_FIFO_EMPTY_CNT_SW_DEFAULT_MASK
_MK_MASK_CONST(0x0) |
| 1100 |
| 1101 //The number of slots to be read from the rx fifo |
| 1102 //0000 = rx_fifo empty |
| 1103 //0001 = 1 slot full |
| 1104 //0010 = 2 slots full |
| 1105 #define I2C_FIFO_STATUS_0_RX_FIFO_FULL_CNT_SHIFT _MK_SHIF
T_CONST(0) |
| 1106 #define I2C_FIFO_STATUS_0_RX_FIFO_FULL_CNT_FIELD (_MK_MAS
K_CONST(0xf) << I2C_FIFO_STATUS_0_RX_FIFO_FULL_CNT_SHIFT) |
| 1107 #define I2C_FIFO_STATUS_0_RX_FIFO_FULL_CNT_RANGE 3:0 |
| 1108 #define I2C_FIFO_STATUS_0_RX_FIFO_FULL_CNT_WOFFSET 0x0 |
| 1109 #define I2C_FIFO_STATUS_0_RX_FIFO_FULL_CNT_DEFAULT _MK_MASK
_CONST(0x0) |
| 1110 #define I2C_FIFO_STATUS_0_RX_FIFO_FULL_CNT_DEFAULT_MASK _MK_MASK
_CONST(0xf) |
| 1111 #define I2C_FIFO_STATUS_0_RX_FIFO_FULL_CNT_SW_DEFAULT _MK_MASK
_CONST(0x0) |
| 1112 #define I2C_FIFO_STATUS_0_RX_FIFO_FULL_CNT_SW_DEFAULT_MASK
_MK_MASK_CONST(0x0) |
| 1113 |
| 1114 |
| 1115 // Register I2C_INTERRUPT_MASK_REGISTER_0 |
| 1116 #define I2C_INTERRUPT_MASK_REGISTER_0 _MK_ADDR_CONST(0x64) |
| 1117 #define I2C_INTERRUPT_MASK_REGISTER_0_SECURE 0x0 |
| 1118 #define I2C_INTERRUPT_MASK_REGISTER_0_WORD_COUNT 0x1 |
| 1119 #define I2C_INTERRUPT_MASK_REGISTER_0_RESET_VAL _MK_MASK
_CONST(0x0) |
| 1120 #define I2C_INTERRUPT_MASK_REGISTER_0_RESET_MASK _MK_MASK
_CONST(0x7f) |
| 1121 #define I2C_INTERRUPT_MASK_REGISTER_0_SW_DEFAULT_VAL _MK_MASK
_CONST(0x0) |
| 1122 #define I2C_INTERRUPT_MASK_REGISTER_0_SW_DEFAULT_MASK _MK_MASK
_CONST(0x0) |
| 1123 #define I2C_INTERRUPT_MASK_REGISTER_0_READ_MASK _MK_MASK
_CONST(0x7f) |
| 1124 #define I2C_INTERRUPT_MASK_REGISTER_0_WRITE_MASK _MK_MASK
_CONST(0x7f) |
| 1125 #define I2C_INTERRUPT_MASK_REGISTER_0_ALL_PACKETS_XFER_COMPLETE_INT_EN_SHIFT
_MK_SHIFT_CONST(6) |
| 1126 #define I2C_INTERRUPT_MASK_REGISTER_0_ALL_PACKETS_XFER_COMPLETE_INT_EN_FIELD
(_MK_MASK_CONST(0x1) << I2C_INTERRUPT_MASK_REGISTER_0_ALL_PACKET
S_XFER_COMPLETE_INT_EN_SHIFT) |
| 1127 #define I2C_INTERRUPT_MASK_REGISTER_0_ALL_PACKETS_XFER_COMPLETE_INT_EN_RANGE
6:6 |
| 1128 #define I2C_INTERRUPT_MASK_REGISTER_0_ALL_PACKETS_XFER_COMPLETE_INT_EN_WOFFSET
0x0 |
| 1129 #define I2C_INTERRUPT_MASK_REGISTER_0_ALL_PACKETS_XFER_COMPLETE_INT_EN_DEFAULT
_MK_MASK_CONST(0x0) |
| 1130 #define I2C_INTERRUPT_MASK_REGISTER_0_ALL_PACKETS_XFER_COMPLETE_INT_EN_DEFAULT_M
ASK _MK_MASK_CONST(0x1) |
| 1131 #define I2C_INTERRUPT_MASK_REGISTER_0_ALL_PACKETS_XFER_COMPLETE_INT_EN_SW_DEFAUL
T _MK_MASK_CONST(0x0) |
| 1132 #define I2C_INTERRUPT_MASK_REGISTER_0_ALL_PACKETS_XFER_COMPLETE_INT_EN_SW_DEFAUL
T_MASK _MK_MASK_CONST(0x0) |
| 1133 #define I2C_INTERRUPT_MASK_REGISTER_0_ALL_PACKETS_XFER_COMPLETE_INT_EN_DISABLE
_MK_ENUM_CONST(0) |
| 1134 #define I2C_INTERRUPT_MASK_REGISTER_0_ALL_PACKETS_XFER_COMPLETE_INT_EN_ENABLE
_MK_ENUM_CONST(1) |
| 1135 |
| 1136 #define I2C_INTERRUPT_MASK_REGISTER_0_TFIFO_OVF_INT_EN_SHIFT
_MK_SHIFT_CONST(5) |
| 1137 #define I2C_INTERRUPT_MASK_REGISTER_0_TFIFO_OVF_INT_EN_FIELD
(_MK_MASK_CONST(0x1) << I2C_INTERRUPT_MASK_REGISTER_0_TFIFO_OVF_INT_EN_SHIFT) |
| 1138 #define I2C_INTERRUPT_MASK_REGISTER_0_TFIFO_OVF_INT_EN_RANGE
5:5 |
| 1139 #define I2C_INTERRUPT_MASK_REGISTER_0_TFIFO_OVF_INT_EN_WOFFSET
0x0 |
| 1140 #define I2C_INTERRUPT_MASK_REGISTER_0_TFIFO_OVF_INT_EN_DEFAULT
_MK_MASK_CONST(0x0) |
| 1141 #define I2C_INTERRUPT_MASK_REGISTER_0_TFIFO_OVF_INT_EN_DEFAULT_MASK
_MK_MASK_CONST(0x1) |
| 1142 #define I2C_INTERRUPT_MASK_REGISTER_0_TFIFO_OVF_INT_EN_SW_DEFAULT
_MK_MASK_CONST(0x0) |
| 1143 #define I2C_INTERRUPT_MASK_REGISTER_0_TFIFO_OVF_INT_EN_SW_DEFAULT_MASK
_MK_MASK_CONST(0x0) |
| 1144 #define I2C_INTERRUPT_MASK_REGISTER_0_TFIFO_OVF_INT_EN_DISABLE
_MK_ENUM_CONST(0) |
| 1145 #define I2C_INTERRUPT_MASK_REGISTER_0_TFIFO_OVF_INT_EN_ENABLE
_MK_ENUM_CONST(1) |
| 1146 |
| 1147 #define I2C_INTERRUPT_MASK_REGISTER_0_RFIFO_UNF_INT_EN_SHIFT
_MK_SHIFT_CONST(4) |
| 1148 #define I2C_INTERRUPT_MASK_REGISTER_0_RFIFO_UNF_INT_EN_FIELD
(_MK_MASK_CONST(0x1) << I2C_INTERRUPT_MASK_REGISTER_0_RFIFO_UNF_INT_EN_SHIFT) |
| 1149 #define I2C_INTERRUPT_MASK_REGISTER_0_RFIFO_UNF_INT_EN_RANGE
4:4 |
| 1150 #define I2C_INTERRUPT_MASK_REGISTER_0_RFIFO_UNF_INT_EN_WOFFSET
0x0 |
| 1151 #define I2C_INTERRUPT_MASK_REGISTER_0_RFIFO_UNF_INT_EN_DEFAULT
_MK_MASK_CONST(0x0) |
| 1152 #define I2C_INTERRUPT_MASK_REGISTER_0_RFIFO_UNF_INT_EN_DEFAULT_MASK
_MK_MASK_CONST(0x1) |
| 1153 #define I2C_INTERRUPT_MASK_REGISTER_0_RFIFO_UNF_INT_EN_SW_DEFAULT
_MK_MASK_CONST(0x0) |
| 1154 #define I2C_INTERRUPT_MASK_REGISTER_0_RFIFO_UNF_INT_EN_SW_DEFAULT_MASK
_MK_MASK_CONST(0x0) |
| 1155 #define I2C_INTERRUPT_MASK_REGISTER_0_RFIFO_UNF_INT_EN_DISABLE
_MK_ENUM_CONST(0) |
| 1156 #define I2C_INTERRUPT_MASK_REGISTER_0_RFIFO_UNF_INT_EN_ENABLE
_MK_ENUM_CONST(1) |
| 1157 |
| 1158 #define I2C_INTERRUPT_MASK_REGISTER_0_NOACK_INT_EN_SHIFT
_MK_SHIFT_CONST(3) |
| 1159 #define I2C_INTERRUPT_MASK_REGISTER_0_NOACK_INT_EN_FIELD
(_MK_MASK_CONST(0x1) << I2C_INTERRUPT_MASK_REGISTER_0_NOACK_INT_EN_SHIFT) |
| 1160 #define I2C_INTERRUPT_MASK_REGISTER_0_NOACK_INT_EN_RANGE
3:3 |
| 1161 #define I2C_INTERRUPT_MASK_REGISTER_0_NOACK_INT_EN_WOFFSET
0x0 |
| 1162 #define I2C_INTERRUPT_MASK_REGISTER_0_NOACK_INT_EN_DEFAULT
_MK_MASK_CONST(0x0) |
| 1163 #define I2C_INTERRUPT_MASK_REGISTER_0_NOACK_INT_EN_DEFAULT_MASK
_MK_MASK_CONST(0x1) |
| 1164 #define I2C_INTERRUPT_MASK_REGISTER_0_NOACK_INT_EN_SW_DEFAULT
_MK_MASK_CONST(0x0) |
| 1165 #define I2C_INTERRUPT_MASK_REGISTER_0_NOACK_INT_EN_SW_DEFAULT_MASK
_MK_MASK_CONST(0x0) |
| 1166 #define I2C_INTERRUPT_MASK_REGISTER_0_NOACK_INT_EN_DISABLE
_MK_ENUM_CONST(0) |
| 1167 #define I2C_INTERRUPT_MASK_REGISTER_0_NOACK_INT_EN_ENABLE
_MK_ENUM_CONST(1) |
| 1168 |
| 1169 #define I2C_INTERRUPT_MASK_REGISTER_0_ARB_LOST_INT_EN_SHIFT
_MK_SHIFT_CONST(2) |
| 1170 #define I2C_INTERRUPT_MASK_REGISTER_0_ARB_LOST_INT_EN_FIELD
(_MK_MASK_CONST(0x1) << I2C_INTERRUPT_MASK_REGISTER_0_ARB_LOST_INT_EN_SHIFT) |
| 1171 #define I2C_INTERRUPT_MASK_REGISTER_0_ARB_LOST_INT_EN_RANGE
2:2 |
| 1172 #define I2C_INTERRUPT_MASK_REGISTER_0_ARB_LOST_INT_EN_WOFFSET
0x0 |
| 1173 #define I2C_INTERRUPT_MASK_REGISTER_0_ARB_LOST_INT_EN_DEFAULT
_MK_MASK_CONST(0x0) |
| 1174 #define I2C_INTERRUPT_MASK_REGISTER_0_ARB_LOST_INT_EN_DEFAULT_MASK
_MK_MASK_CONST(0x1) |
| 1175 #define I2C_INTERRUPT_MASK_REGISTER_0_ARB_LOST_INT_EN_SW_DEFAULT
_MK_MASK_CONST(0x0) |
| 1176 #define I2C_INTERRUPT_MASK_REGISTER_0_ARB_LOST_INT_EN_SW_DEFAULT_MASK
_MK_MASK_CONST(0x0) |
| 1177 #define I2C_INTERRUPT_MASK_REGISTER_0_ARB_LOST_INT_EN_DISABLE
_MK_ENUM_CONST(0) |
| 1178 #define I2C_INTERRUPT_MASK_REGISTER_0_ARB_LOST_INT_EN_ENABLE
_MK_ENUM_CONST(1) |
| 1179 |
| 1180 #define I2C_INTERRUPT_MASK_REGISTER_0_TFIFO_DATA_REQ_INT_EN_SHIFT
_MK_SHIFT_CONST(1) |
| 1181 #define I2C_INTERRUPT_MASK_REGISTER_0_TFIFO_DATA_REQ_INT_EN_FIELD
(_MK_MASK_CONST(0x1) << I2C_INTERRUPT_MASK_REGISTER_0_TFIFO_DATA_REQ_INT
_EN_SHIFT) |
| 1182 #define I2C_INTERRUPT_MASK_REGISTER_0_TFIFO_DATA_REQ_INT_EN_RANGE
1:1 |
| 1183 #define I2C_INTERRUPT_MASK_REGISTER_0_TFIFO_DATA_REQ_INT_EN_WOFFSET
0x0 |
| 1184 #define I2C_INTERRUPT_MASK_REGISTER_0_TFIFO_DATA_REQ_INT_EN_DEFAULT
_MK_MASK_CONST(0x0) |
| 1185 #define I2C_INTERRUPT_MASK_REGISTER_0_TFIFO_DATA_REQ_INT_EN_DEFAULT_MASK
_MK_MASK_CONST(0x1) |
| 1186 #define I2C_INTERRUPT_MASK_REGISTER_0_TFIFO_DATA_REQ_INT_EN_SW_DEFAULT
_MK_MASK_CONST(0x0) |
| 1187 #define I2C_INTERRUPT_MASK_REGISTER_0_TFIFO_DATA_REQ_INT_EN_SW_DEFAULT_MASK
_MK_MASK_CONST(0x0) |
| 1188 #define I2C_INTERRUPT_MASK_REGISTER_0_TFIFO_DATA_REQ_INT_EN_DISABLE
_MK_ENUM_CONST(0) |
| 1189 #define I2C_INTERRUPT_MASK_REGISTER_0_TFIFO_DATA_REQ_INT_EN_ENABLE
_MK_ENUM_CONST(1) |
| 1190 |
| 1191 #define I2C_INTERRUPT_MASK_REGISTER_0_RFIFO_DATA_REQ_INT_EN_SHIFT
_MK_SHIFT_CONST(0) |
| 1192 #define I2C_INTERRUPT_MASK_REGISTER_0_RFIFO_DATA_REQ_INT_EN_FIELD
(_MK_MASK_CONST(0x1) << I2C_INTERRUPT_MASK_REGISTER_0_RFIFO_DATA_REQ_INT
_EN_SHIFT) |
| 1193 #define I2C_INTERRUPT_MASK_REGISTER_0_RFIFO_DATA_REQ_INT_EN_RANGE
0:0 |
| 1194 #define I2C_INTERRUPT_MASK_REGISTER_0_RFIFO_DATA_REQ_INT_EN_WOFFSET
0x0 |
| 1195 #define I2C_INTERRUPT_MASK_REGISTER_0_RFIFO_DATA_REQ_INT_EN_DEFAULT
_MK_MASK_CONST(0x0) |
| 1196 #define I2C_INTERRUPT_MASK_REGISTER_0_RFIFO_DATA_REQ_INT_EN_DEFAULT_MASK
_MK_MASK_CONST(0x1) |
| 1197 #define I2C_INTERRUPT_MASK_REGISTER_0_RFIFO_DATA_REQ_INT_EN_SW_DEFAULT
_MK_MASK_CONST(0x0) |
| 1198 #define I2C_INTERRUPT_MASK_REGISTER_0_RFIFO_DATA_REQ_INT_EN_SW_DEFAULT_MASK
_MK_MASK_CONST(0x0) |
| 1199 #define I2C_INTERRUPT_MASK_REGISTER_0_RFIFO_DATA_REQ_INT_EN_DISABLE
_MK_ENUM_CONST(0) |
| 1200 #define I2C_INTERRUPT_MASK_REGISTER_0_RFIFO_DATA_REQ_INT_EN_ENABLE
_MK_ENUM_CONST(1) |
| 1201 |
| 1202 |
| 1203 // Register I2C_INTERRUPT_STATUS_REGISTER_0 //This register indicates the statu
s bit for which the interrupt is set.If set,Write 1 to clear it |
| 1204 //However TFIFO_DATA_REQ,RFIFO_DATA_REQ fields depend on the fifo trigger levels
and cannot be cleared. |
| 1205 #define I2C_INTERRUPT_STATUS_REGISTER_0 _MK_ADDR_CONST(0x68) |
| 1206 #define I2C_INTERRUPT_STATUS_REGISTER_0_SECURE 0x0 |
| 1207 #define I2C_INTERRUPT_STATUS_REGISTER_0_WORD_COUNT 0x1 |
| 1208 #define I2C_INTERRUPT_STATUS_REGISTER_0_RESET_VAL _MK_MASK
_CONST(0x0) |
| 1209 #define I2C_INTERRUPT_STATUS_REGISTER_0_RESET_MASK _MK_MASK
_CONST(0xff) |
| 1210 #define I2C_INTERRUPT_STATUS_REGISTER_0_SW_DEFAULT_VAL _MK_MASK
_CONST(0x0) |
| 1211 #define I2C_INTERRUPT_STATUS_REGISTER_0_SW_DEFAULT_MASK
_MK_MASK_CONST(0x0) |
| 1212 #define I2C_INTERRUPT_STATUS_REGISTER_0_READ_MASK _MK_MASK
_CONST(0xff) |
| 1213 #define I2C_INTERRUPT_STATUS_REGISTER_0_WRITE_MASK _MK_MASK
_CONST(0xff) |
| 1214 //A packet has been transferred succesfully. |
| 1215 //TRANSFER_PKT_ID filed can be used to know the |
| 1216 //current byte under transfer.This bit can be |
| 1217 //masked by the IE field in the i2c specific header |
| 1218 #define I2C_INTERRUPT_STATUS_REGISTER_0_PACKET_XFER_COMPLETE_SHIFT
_MK_SHIFT_CONST(7) |
| 1219 #define I2C_INTERRUPT_STATUS_REGISTER_0_PACKET_XFER_COMPLETE_FIELD
(_MK_MASK_CONST(0x1) << I2C_INTERRUPT_STATUS_REGISTER_0_PACKET_XFER_COMP
LETE_SHIFT) |
| 1220 #define I2C_INTERRUPT_STATUS_REGISTER_0_PACKET_XFER_COMPLETE_RANGE
7:7 |
| 1221 #define I2C_INTERRUPT_STATUS_REGISTER_0_PACKET_XFER_COMPLETE_WOFFSET
0x0 |
| 1222 #define I2C_INTERRUPT_STATUS_REGISTER_0_PACKET_XFER_COMPLETE_DEFAULT
_MK_MASK_CONST(0x0) |
| 1223 #define I2C_INTERRUPT_STATUS_REGISTER_0_PACKET_XFER_COMPLETE_DEFAULT_MASK
_MK_MASK_CONST(0x1) |
| 1224 #define I2C_INTERRUPT_STATUS_REGISTER_0_PACKET_XFER_COMPLETE_SW_DEFAULT
_MK_MASK_CONST(0x0) |
| 1225 #define I2C_INTERRUPT_STATUS_REGISTER_0_PACKET_XFER_COMPLETE_SW_DEFAULT_MASK
_MK_MASK_CONST(0x0) |
| 1226 #define I2C_INTERRUPT_STATUS_REGISTER_0_PACKET_XFER_COMPLETE_UNSET
_MK_ENUM_CONST(0) |
| 1227 #define I2C_INTERRUPT_STATUS_REGISTER_0_PACKET_XFER_COMPLETE_SET
_MK_ENUM_CONST(1) |
| 1228 |
| 1229 //All the packets transferred succesfully |
| 1230 #define I2C_INTERRUPT_STATUS_REGISTER_0_ALL_PACKETS_XFER_COMPLETE_SHIFT
_MK_SHIFT_CONST(6) |
| 1231 #define I2C_INTERRUPT_STATUS_REGISTER_0_ALL_PACKETS_XFER_COMPLETE_FIELD
(_MK_MASK_CONST(0x1) << I2C_INTERRUPT_STATUS_REGISTER_0_ALL_PACKETS_XFER
_COMPLETE_SHIFT) |
| 1232 #define I2C_INTERRUPT_STATUS_REGISTER_0_ALL_PACKETS_XFER_COMPLETE_RANGE
6:6 |
| 1233 #define I2C_INTERRUPT_STATUS_REGISTER_0_ALL_PACKETS_XFER_COMPLETE_WOFFSET
0x0 |
| 1234 #define I2C_INTERRUPT_STATUS_REGISTER_0_ALL_PACKETS_XFER_COMPLETE_DEFAULT
_MK_MASK_CONST(0x0) |
| 1235 #define I2C_INTERRUPT_STATUS_REGISTER_0_ALL_PACKETS_XFER_COMPLETE_DEFAULT_MASK
_MK_MASK_CONST(0x1) |
| 1236 #define I2C_INTERRUPT_STATUS_REGISTER_0_ALL_PACKETS_XFER_COMPLETE_SW_DEFAULT
_MK_MASK_CONST(0x0) |
| 1237 #define I2C_INTERRUPT_STATUS_REGISTER_0_ALL_PACKETS_XFER_COMPLETE_SW_DEFAULT_MAS
K _MK_MASK_CONST(0x0) |
| 1238 #define I2C_INTERRUPT_STATUS_REGISTER_0_ALL_PACKETS_XFER_COMPLETE_UNSET
_MK_ENUM_CONST(0) |
| 1239 #define I2C_INTERRUPT_STATUS_REGISTER_0_ALL_PACKETS_XFER_COMPLETE_SET
_MK_ENUM_CONST(1) |
| 1240 |
| 1241 //Tx fifo overflow |
| 1242 #define I2C_INTERRUPT_STATUS_REGISTER_0_TFIFO_OVF_SHIFT _MK_SHIF
T_CONST(5) |
| 1243 #define I2C_INTERRUPT_STATUS_REGISTER_0_TFIFO_OVF_FIELD (_MK_MAS
K_CONST(0x1) << I2C_INTERRUPT_STATUS_REGISTER_0_TFIFO_OVF_SHIFT) |
| 1244 #define I2C_INTERRUPT_STATUS_REGISTER_0_TFIFO_OVF_RANGE 5:5 |
| 1245 #define I2C_INTERRUPT_STATUS_REGISTER_0_TFIFO_OVF_WOFFSET
0x0 |
| 1246 #define I2C_INTERRUPT_STATUS_REGISTER_0_TFIFO_OVF_DEFAULT
_MK_MASK_CONST(0x0) |
| 1247 #define I2C_INTERRUPT_STATUS_REGISTER_0_TFIFO_OVF_DEFAULT_MASK
_MK_MASK_CONST(0x1) |
| 1248 #define I2C_INTERRUPT_STATUS_REGISTER_0_TFIFO_OVF_SW_DEFAULT
_MK_MASK_CONST(0x0) |
| 1249 #define I2C_INTERRUPT_STATUS_REGISTER_0_TFIFO_OVF_SW_DEFAULT_MASK
_MK_MASK_CONST(0x0) |
| 1250 #define I2C_INTERRUPT_STATUS_REGISTER_0_TFIFO_OVF_UNSET _MK_ENUM
_CONST(0) |
| 1251 #define I2C_INTERRUPT_STATUS_REGISTER_0_TFIFO_OVF_SET _MK_ENUM
_CONST(1) |
| 1252 |
| 1253 //rx fifo underflow |
| 1254 #define I2C_INTERRUPT_STATUS_REGISTER_0_RFIFO_UNF_SHIFT _MK_SHIF
T_CONST(4) |
| 1255 #define I2C_INTERRUPT_STATUS_REGISTER_0_RFIFO_UNF_FIELD (_MK_MAS
K_CONST(0x1) << I2C_INTERRUPT_STATUS_REGISTER_0_RFIFO_UNF_SHIFT) |
| 1256 #define I2C_INTERRUPT_STATUS_REGISTER_0_RFIFO_UNF_RANGE 4:4 |
| 1257 #define I2C_INTERRUPT_STATUS_REGISTER_0_RFIFO_UNF_WOFFSET
0x0 |
| 1258 #define I2C_INTERRUPT_STATUS_REGISTER_0_RFIFO_UNF_DEFAULT
_MK_MASK_CONST(0x0) |
| 1259 #define I2C_INTERRUPT_STATUS_REGISTER_0_RFIFO_UNF_DEFAULT_MASK
_MK_MASK_CONST(0x1) |
| 1260 #define I2C_INTERRUPT_STATUS_REGISTER_0_RFIFO_UNF_SW_DEFAULT
_MK_MASK_CONST(0x0) |
| 1261 #define I2C_INTERRUPT_STATUS_REGISTER_0_RFIFO_UNF_SW_DEFAULT_MASK
_MK_MASK_CONST(0x0) |
| 1262 #define I2C_INTERRUPT_STATUS_REGISTER_0_RFIFO_UNF_UNSET _MK_ENUM
_CONST(0) |
| 1263 #define I2C_INTERRUPT_STATUS_REGISTER_0_RFIFO_UNF_SET _MK_ENUM
_CONST(1) |
| 1264 |
| 1265 //No ACK from slave |
| 1266 #define I2C_INTERRUPT_STATUS_REGISTER_0_NOACK_SHIFT _MK_SHIF
T_CONST(3) |
| 1267 #define I2C_INTERRUPT_STATUS_REGISTER_0_NOACK_FIELD (_MK_MAS
K_CONST(0x1) << I2C_INTERRUPT_STATUS_REGISTER_0_NOACK_SHIFT) |
| 1268 #define I2C_INTERRUPT_STATUS_REGISTER_0_NOACK_RANGE 3:3 |
| 1269 #define I2C_INTERRUPT_STATUS_REGISTER_0_NOACK_WOFFSET 0x0 |
| 1270 #define I2C_INTERRUPT_STATUS_REGISTER_0_NOACK_DEFAULT _MK_MASK
_CONST(0x0) |
| 1271 #define I2C_INTERRUPT_STATUS_REGISTER_0_NOACK_DEFAULT_MASK
_MK_MASK_CONST(0x1) |
| 1272 #define I2C_INTERRUPT_STATUS_REGISTER_0_NOACK_SW_DEFAULT
_MK_MASK_CONST(0x0) |
| 1273 #define I2C_INTERRUPT_STATUS_REGISTER_0_NOACK_SW_DEFAULT_MASK
_MK_MASK_CONST(0x0) |
| 1274 #define I2C_INTERRUPT_STATUS_REGISTER_0_NOACK_UNSET _MK_ENUM
_CONST(0) |
| 1275 #define I2C_INTERRUPT_STATUS_REGISTER_0_NOACK_SET _MK_ENUM
_CONST(1) |
| 1276 |
| 1277 //Arbitration lost |
| 1278 #define I2C_INTERRUPT_STATUS_REGISTER_0_ARB_LOST_SHIFT _MK_SHIF
T_CONST(2) |
| 1279 #define I2C_INTERRUPT_STATUS_REGISTER_0_ARB_LOST_FIELD (_MK_MAS
K_CONST(0x1) << I2C_INTERRUPT_STATUS_REGISTER_0_ARB_LOST_SHIFT) |
| 1280 #define I2C_INTERRUPT_STATUS_REGISTER_0_ARB_LOST_RANGE 2:2 |
| 1281 #define I2C_INTERRUPT_STATUS_REGISTER_0_ARB_LOST_WOFFSET
0x0 |
| 1282 #define I2C_INTERRUPT_STATUS_REGISTER_0_ARB_LOST_DEFAULT
_MK_MASK_CONST(0x0) |
| 1283 #define I2C_INTERRUPT_STATUS_REGISTER_0_ARB_LOST_DEFAULT_MASK
_MK_MASK_CONST(0x1) |
| 1284 #define I2C_INTERRUPT_STATUS_REGISTER_0_ARB_LOST_SW_DEFAULT
_MK_MASK_CONST(0x0) |
| 1285 #define I2C_INTERRUPT_STATUS_REGISTER_0_ARB_LOST_SW_DEFAULT_MASK
_MK_MASK_CONST(0x0) |
| 1286 #define I2C_INTERRUPT_STATUS_REGISTER_0_ARB_LOST_UNSET _MK_ENUM
_CONST(0) |
| 1287 #define I2C_INTERRUPT_STATUS_REGISTER_0_ARB_LOST_SET _MK_ENUM
_CONST(1) |
| 1288 |
| 1289 //Tx fifo data req |
| 1290 #define I2C_INTERRUPT_STATUS_REGISTER_0_TFIFO_DATA_REQ_SHIFT
_MK_SHIFT_CONST(1) |
| 1291 #define I2C_INTERRUPT_STATUS_REGISTER_0_TFIFO_DATA_REQ_FIELD
(_MK_MASK_CONST(0x1) << I2C_INTERRUPT_STATUS_REGISTER_0_TFIFO_DATA_REQ_SHIFT) |
| 1292 #define I2C_INTERRUPT_STATUS_REGISTER_0_TFIFO_DATA_REQ_RANGE
1:1 |
| 1293 #define I2C_INTERRUPT_STATUS_REGISTER_0_TFIFO_DATA_REQ_WOFFSET
0x0 |
| 1294 #define I2C_INTERRUPT_STATUS_REGISTER_0_TFIFO_DATA_REQ_DEFAULT
_MK_MASK_CONST(0x0) |
| 1295 #define I2C_INTERRUPT_STATUS_REGISTER_0_TFIFO_DATA_REQ_DEFAULT_MASK
_MK_MASK_CONST(0x1) |
| 1296 #define I2C_INTERRUPT_STATUS_REGISTER_0_TFIFO_DATA_REQ_SW_DEFAULT
_MK_MASK_CONST(0x0) |
| 1297 #define I2C_INTERRUPT_STATUS_REGISTER_0_TFIFO_DATA_REQ_SW_DEFAULT_MASK
_MK_MASK_CONST(0x0) |
| 1298 #define I2C_INTERRUPT_STATUS_REGISTER_0_TFIFO_DATA_REQ_UNSET
_MK_ENUM_CONST(0) |
| 1299 #define I2C_INTERRUPT_STATUS_REGISTER_0_TFIFO_DATA_REQ_SET
_MK_ENUM_CONST(1) |
| 1300 |
| 1301 //rx fifo data req |
| 1302 #define I2C_INTERRUPT_STATUS_REGISTER_0_RFIFO_DATA_REQ_SHIFT
_MK_SHIFT_CONST(0) |
| 1303 #define I2C_INTERRUPT_STATUS_REGISTER_0_RFIFO_DATA_REQ_FIELD
(_MK_MASK_CONST(0x1) << I2C_INTERRUPT_STATUS_REGISTER_0_RFIFO_DATA_REQ_SHIFT) |
| 1304 #define I2C_INTERRUPT_STATUS_REGISTER_0_RFIFO_DATA_REQ_RANGE
0:0 |
| 1305 #define I2C_INTERRUPT_STATUS_REGISTER_0_RFIFO_DATA_REQ_WOFFSET
0x0 |
| 1306 #define I2C_INTERRUPT_STATUS_REGISTER_0_RFIFO_DATA_REQ_DEFAULT
_MK_MASK_CONST(0x0) |
| 1307 #define I2C_INTERRUPT_STATUS_REGISTER_0_RFIFO_DATA_REQ_DEFAULT_MASK
_MK_MASK_CONST(0x1) |
| 1308 #define I2C_INTERRUPT_STATUS_REGISTER_0_RFIFO_DATA_REQ_SW_DEFAULT
_MK_MASK_CONST(0x0) |
| 1309 #define I2C_INTERRUPT_STATUS_REGISTER_0_RFIFO_DATA_REQ_SW_DEFAULT_MASK
_MK_MASK_CONST(0x0) |
| 1310 #define I2C_INTERRUPT_STATUS_REGISTER_0_RFIFO_DATA_REQ_UNSET
_MK_ENUM_CONST(0) |
| 1311 #define I2C_INTERRUPT_STATUS_REGISTER_0_RFIFO_DATA_REQ_SET
_MK_ENUM_CONST(1) |
| 1312 |
| 1313 |
| 1314 // Register I2C_I2C_CLK_DIVISOR_REGISTER_0 |
| 1315 #define I2C_I2C_CLK_DIVISOR_REGISTER_0 _MK_ADDR_CONST(0x6c) |
| 1316 #define I2C_I2C_CLK_DIVISOR_REGISTER_0_SECURE 0x0 |
| 1317 #define I2C_I2C_CLK_DIVISOR_REGISTER_0_WORD_COUNT 0x1 |
| 1318 #define I2C_I2C_CLK_DIVISOR_REGISTER_0_RESET_VAL _MK_MASK
_CONST(0x0) |
| 1319 #define I2C_I2C_CLK_DIVISOR_REGISTER_0_RESET_MASK _MK_MASK
_CONST(0xffff) |
| 1320 #define I2C_I2C_CLK_DIVISOR_REGISTER_0_SW_DEFAULT_VAL _MK_MASK
_CONST(0x0) |
| 1321 #define I2C_I2C_CLK_DIVISOR_REGISTER_0_SW_DEFAULT_MASK _MK_MASK
_CONST(0x0) |
| 1322 #define I2C_I2C_CLK_DIVISOR_REGISTER_0_READ_MASK _MK_MASK
_CONST(0xffff) |
| 1323 #define I2C_I2C_CLK_DIVISOR_REGISTER_0_WRITE_MASK _MK_MASK
_CONST(0xffff) |
| 1324 //N= divide by n+1 |
| 1325 #define I2C_I2C_CLK_DIVISOR_REGISTER_0_I2C_CLK_DIVISOR_HSMODE_SHIFT
_MK_SHIFT_CONST(0) |
| 1326 #define I2C_I2C_CLK_DIVISOR_REGISTER_0_I2C_CLK_DIVISOR_HSMODE_FIELD
(_MK_MASK_CONST(0xffff) << I2C_I2C_CLK_DIVISOR_REGISTER_0_I2C_CLK_DIVISO
R_HSMODE_SHIFT) |
| 1327 #define I2C_I2C_CLK_DIVISOR_REGISTER_0_I2C_CLK_DIVISOR_HSMODE_RANGE
15:0 |
| 1328 #define I2C_I2C_CLK_DIVISOR_REGISTER_0_I2C_CLK_DIVISOR_HSMODE_WOFFSET
0x0 |
| 1329 #define I2C_I2C_CLK_DIVISOR_REGISTER_0_I2C_CLK_DIVISOR_HSMODE_DEFAULT
_MK_MASK_CONST(0x0) |
| 1330 #define I2C_I2C_CLK_DIVISOR_REGISTER_0_I2C_CLK_DIVISOR_HSMODE_DEFAULT_MASK
_MK_MASK_CONST(0xffff) |
| 1331 #define I2C_I2C_CLK_DIVISOR_REGISTER_0_I2C_CLK_DIVISOR_HSMODE_SW_DEFAULT
_MK_MASK_CONST(0x0) |
| 1332 #define I2C_I2C_CLK_DIVISOR_REGISTER_0_I2C_CLK_DIVISOR_HSMODE_SW_DEFAULT_MASK
_MK_MASK_CONST(0x0) |
| 1333 |
| 1334 |
| 1335 // |
| 1336 // REGISTER LIST |
| 1337 // |
| 1338 #define LIST_ARI2C_REGS(_op_) \ |
| 1339 _op_(I2C_I2C_CNFG_0) \ |
| 1340 _op_(I2C_I2C_CMD_ADDR0_0) \ |
| 1341 _op_(I2C_I2C_CMD_ADDR1_0) \ |
| 1342 _op_(I2C_I2C_CMD_DATA1_0) \ |
| 1343 _op_(I2C_I2C_CMD_DATA2_0) \ |
| 1344 _op_(I2C_I2C_STATUS_0) \ |
| 1345 _op_(I2C_I2C_SL_CNFG_0) \ |
| 1346 _op_(I2C_I2C_SL_RCVD_0) \ |
| 1347 _op_(I2C_I2C_SL_STATUS_0) \ |
| 1348 _op_(I2C_I2C_SL_ADDR1_0) \ |
| 1349 _op_(I2C_I2C_SL_ADDR2_0) \ |
| 1350 _op_(I2C_I2C_SL_DELAY_COUNT_0) \ |
| 1351 _op_(I2C_I2C_TX_PACKET_FIFO_0) \ |
| 1352 _op_(I2C_I2C_RX_FIFO_0) \ |
| 1353 _op_(I2C_PACKET_TRANSFER_STATUS_0) \ |
| 1354 _op_(I2C_FIFO_CONTROL_0) \ |
| 1355 _op_(I2C_FIFO_STATUS_0) \ |
| 1356 _op_(I2C_INTERRUPT_MASK_REGISTER_0) \ |
| 1357 _op_(I2C_INTERRUPT_STATUS_REGISTER_0) \ |
| 1358 _op_(I2C_I2C_CLK_DIVISOR_REGISTER_0) |
| 1359 |
| 1360 |
| 1361 // |
| 1362 // ADDRESS SPACES |
| 1363 // |
| 1364 |
| 1365 #define BASE_ADDRESS_I2C 0x00000000 |
| 1366 |
| 1367 // |
| 1368 // ARI2C REGISTER BANKS |
| 1369 // |
| 1370 |
| 1371 #define I2C0_FIRST_REG 0x0000 // I2C_I2C_CNFG_0 |
| 1372 #define I2C0_LAST_REG 0x0010 // I2C_I2C_CMD_DATA2_0 |
| 1373 #define I2C1_FIRST_REG 0x001c // I2C_I2C_STATUS_0 |
| 1374 #define I2C1_LAST_REG 0x0030 // I2C_I2C_SL_ADDR2_0 |
| 1375 #define I2C2_FIRST_REG 0x003c // I2C_I2C_SL_DELAY_COUNT_0 |
| 1376 #define I2C2_LAST_REG 0x003c // I2C_I2C_SL_DELAY_COUNT_0 |
| 1377 #define I2C3_FIRST_REG 0x0050 // I2C_I2C_TX_PACKET_FIFO_0 |
| 1378 #define I2C3_LAST_REG 0x006c // I2C_I2C_CLK_DIVISOR_REGISTER_0 |
| 1379 |
| 1380 #ifndef _MK_SHIFT_CONST |
| 1381 #define _MK_SHIFT_CONST(_constant_) _constant_ |
| 1382 #endif |
| 1383 #ifndef _MK_MASK_CONST |
| 1384 #define _MK_MASK_CONST(_constant_) _constant_ |
| 1385 #endif |
| 1386 #ifndef _MK_ENUM_CONST |
| 1387 #define _MK_ENUM_CONST(_constant_) (_constant_ ## UL) |
| 1388 #endif |
| 1389 #ifndef _MK_ADDR_CONST |
| 1390 #define _MK_ADDR_CONST(_constant_) _constant_ |
| 1391 #endif |
| 1392 |
| 1393 #endif // ifndef ___ARI2C_H_INC_ |
OLD | NEW |