1 /** 2 * SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 #pragma once 7 8 #include <stdint.h> 9 #include "soc/soc.h" 10 #ifdef __cplusplus 11 extern "C" { 12 #endif 13 14 #define I2C_MST_I2C0_CTRL_REG (DR_REG_I2C_ANA_MST_BASE + 0x0) 15 /* I2C_MST_I2C0_CTRL : R/W; bitpos: [24:0]; default: 0;*/ 16 /* description: .*/ 17 #define I2C_MST_I2C0_CTRL 0x01FFFFFFU 18 #define I2C_MST_I2C0_CTRL_M (I2C_MST_I2C0_CTRL_V << I2C_MST_I2C0_CTRL_S) 19 #define I2C_MST_I2C0_CTRL_V 0x01FFFFFFU 20 #define I2C_MST_I2C0_CTRL_S 0 21 /* I2C_MST_I2C0_BUSY : RO; bitpos: [25]; default: 0;*/ 22 /* description: .*/ 23 #define I2C_MST_I2C0_BUSY (BIT(25)) 24 #define I2C_MST_I2C0_BUSY_M (I2C_MST_I2C0_BUSY_V << I2C_MST_I2C0_BUSY_S) 25 #define I2C_MST_I2C0_BUSY_V 0x00000001U 26 #define I2C_MST_I2C0_BUSY_S 25 27 28 #define I2C_MST_I2C1_CTRL_REG (DR_REG_I2C_ANA_MST_BASE + 0x4) 29 /* I2C_MST_I2C1_CTRL : R/W; bitpos: [24:0]; default: 0;*/ 30 /* description: .*/ 31 #define I2C_MST_I2C1_CTRL 0x01FFFFFFU 32 #define I2C_MST_I2C1_CTRL_M (I2C_MST_I2C1_CTRL_V << I2C_MST_I2C1_CTRL_S) 33 #define I2C_MST_I2C1_CTRL_V 0x01FFFFFFU 34 #define I2C_MST_I2C1_CTRL_S 0 35 /* I2C_MST_I2C1_BUSY : RO; bitpos: [25]; default: 0;*/ 36 /* description: .*/ 37 #define I2C_MST_I2C1_BUSY (BIT(25)) 38 #define I2C_MST_I2C1_BUSY_M (I2C_MST_I2C1_BUSY_V << I2C_MST_I2C1_BUSY_S) 39 #define I2C_MST_I2C1_BUSY_V 0x00000001U 40 #define I2C_MST_I2C1_BUSY_S 25 41 42 #define I2C_MST_I2C0_CONF_REG (DR_REG_I2C_ANA_MST_BASE + 0x8) 43 /* I2C_MST_I2C0_CONF : R/W; bitpos: [23:0]; default: 0;*/ 44 /* description: .*/ 45 #define I2C_MST_I2C0_CONF 0x00FFFFFFU 46 #define I2C_MST_I2C0_CONF_M (I2C_MST_I2C0_CONF_V << I2C_MST_I2C0_CONF_S) 47 #define I2C_MST_I2C0_CONF_V 0x00FFFFFFU 48 #define I2C_MST_I2C0_CONF_S 0 49 /* I2C_MST_I2C0_STATUS : RO; bitpos: [31:24]; default: 0;*/ 50 /* description: .*/ 51 #define I2C_MST_I2C0_STATUS 0x000000FFU 52 #define I2C_MST_I2C0_STATUS_M (I2C_MST_I2C0_STATUS_V << I2C_MST_I2C0_STATUS_S) 53 #define I2C_MST_I2C0_STATUS_V 0x000000FFU 54 #define I2C_MST_I2C0_STATUS_S 24 55 56 #define I2C_MST_I2C1_CONF_REG (DR_REG_I2C_ANA_MST_BASE + 0xc) 57 /* I2C_MST_I2C1_CONF : R/W; bitpos: [23:0]; default: 0;*/ 58 /* description: .*/ 59 #define I2C_MST_I2C1_CONF 0x00FFFFFFU 60 #define I2C_MST_I2C1_CONF_M (I2C_MST_I2C1_CONF_V << I2C_MST_I2C1_CONF_S) 61 #define I2C_MST_I2C1_CONF_V 0x00FFFFFFU 62 #define I2C_MST_I2C1_CONF_S 0 63 /* I2C_MST_I2C1_STATUS : RO; bitpos: [31:24]; default: 0;*/ 64 /* description: .*/ 65 #define I2C_MST_I2C1_STATUS 0x000000FFU 66 #define I2C_MST_I2C1_STATUS_M (I2C_MST_I2C1_STATUS_V << I2C_MST_I2C1_STATUS_S) 67 #define I2C_MST_I2C1_STATUS_V 0x000000FFU 68 #define I2C_MST_I2C1_STATUS_S 24 69 70 #define I2C_MST_I2C_BURST_CONF_REG (DR_REG_I2C_ANA_MST_BASE + 0x10) 71 /* I2C_MST_BURST_CTRL : R/W; bitpos: [31:0]; default: 0;*/ 72 /* description: .*/ 73 #define I2C_MST_BURST_CTRL 0xFFFFFFFFU 74 #define I2C_MST_BURST_CTRL_M (I2C_MST_BURST_CTRL_V << I2C_MST_BURST_CTRL_S) 75 #define I2C_MST_BURST_CTRL_V 0xFFFFFFFFU 76 #define I2C_MST_BURST_CTRL_S 0 77 78 #define I2C_MST_I2C_BURST_STATUS_REG (DR_REG_I2C_ANA_MST_BASE + 0x14) 79 /* I2C_MST_I2C_MST_BURST_DONE : RO; bitpos: [0]; default: 0;*/ 80 /* description: .*/ 81 #define I2C_MST_I2C_MST_BURST_DONE (BIT(0)) 82 #define I2C_MST_I2C_MST_BURST_DONE_M (I2C_MST_I2C_MST_BURST_DONE_V << I2C_MST_I2C_MST_BURST_DONE_S) 83 #define I2C_MST_I2C_MST_BURST_DONE_V 0x00000001U 84 #define I2C_MST_I2C_MST_BURST_DONE_S 0 85 /* I2C_MST_I2C_MST0_BURST_ERR_FLAG : RO; bitpos: [1]; default: 0;*/ 86 /* description: .*/ 87 #define I2C_MST_I2C_MST0_BURST_ERR_FLAG (BIT(1)) 88 #define I2C_MST_I2C_MST0_BURST_ERR_FLAG_M (I2C_MST_I2C_MST0_BURST_ERR_FLAG_V << I2C_MST_I2C_MST0_BURST_ERR_FLAG_S) 89 #define I2C_MST_I2C_MST0_BURST_ERR_FLAG_V 0x00000001U 90 #define I2C_MST_I2C_MST0_BURST_ERR_FLAG_S 1 91 /* I2C_MST_I2C_MST1_BURST_ERR_FLAG : RO; bitpos: [2]; default: 0;*/ 92 /* description: .*/ 93 #define I2C_MST_I2C_MST1_BURST_ERR_FLAG (BIT(2)) 94 #define I2C_MST_I2C_MST1_BURST_ERR_FLAG_M (I2C_MST_I2C_MST1_BURST_ERR_FLAG_V << I2C_MST_I2C_MST1_BURST_ERR_FLAG_S) 95 #define I2C_MST_I2C_MST1_BURST_ERR_FLAG_V 0x00000001U 96 #define I2C_MST_I2C_MST1_BURST_ERR_FLAG_S 2 97 /* I2C_MST_BURST_TIMEOUT_CNT : RO; bitpos: [19:3]; default: 0;*/ 98 /* description: .*/ 99 #define I2C_MST_BURST_TIMEOUT_CNT 0x0001FFFFU 100 #define I2C_MST_BURST_TIMEOUT_CNT_M (I2C_MST_BURST_TIMEOUT_CNT_V << I2C_MST_BURST_TIMEOUT_CNT_S) 101 #define I2C_MST_BURST_TIMEOUT_CNT_V 0x0001FFFFU 102 #define I2C_MST_BURST_TIMEOUT_CNT_S 3 103 104 #define I2C_MST_ANA_CONF0_REG (DR_REG_I2C_ANA_MST_BASE + 0x18) 105 /* I2C_MST_ANA_CONF0 : R/W; bitpos: [23:0]; default: 0;*/ 106 /* description: .*/ 107 #define I2C_MST_ANA_CONF0 0x00FFFFFFU 108 #define I2C_MST_ANA_CONF0_M (I2C_MST_ANA_CONF0_V << I2C_MST_ANA_CONF0_S) 109 #define I2C_MST_ANA_CONF0_V 0x00FFFFFFU 110 #define I2C_MST_ANA_CONF0_S 0 111 /* I2C_MST_ANA_STATUS0 : RO; bitpos: [31:24]; default: 0;*/ 112 /* description: .*/ 113 #define I2C_MST_ANA_STATUS0 0x000000FFU 114 #define I2C_MST_ANA_STATUS0_M (I2C_MST_ANA_STATUS0_V << I2C_MST_ANA_STATUS0_S) 115 #define I2C_MST_ANA_STATUS0_V 0x000000FFU 116 #define I2C_MST_ANA_STATUS0_S 24 117 118 #define I2C_MST_ANA_CONF1_REG (DR_REG_I2C_ANA_MST_BASE + 0x1c) 119 /* I2C_MST_ANA_CONF1 : R/W; bitpos: [23:0]; default: 0;*/ 120 /* description: .*/ 121 #define I2C_MST_ANA_CONF1 0x00FFFFFFU 122 #define I2C_MST_ANA_CONF1_M (I2C_MST_ANA_CONF1_V << I2C_MST_ANA_CONF1_S) 123 #define I2C_MST_ANA_CONF1_V 0x00FFFFFFU 124 #define I2C_MST_ANA_CONF1_S 0 125 /* I2C_MST_ANA_STATUS1 : RO; bitpos: [31:24]; default: 0;*/ 126 /* description: .*/ 127 #define I2C_MST_ANA_STATUS1 0x000000FFU 128 #define I2C_MST_ANA_STATUS1_M (I2C_MST_ANA_STATUS1_V << I2C_MST_ANA_STATUS1_S) 129 #define I2C_MST_ANA_STATUS1_V 0x000000FFU 130 #define I2C_MST_ANA_STATUS1_S 24 131 132 #define I2C_MST_ANA_CONF2_REG (DR_REG_I2C_ANA_MST_BASE + 0x20) 133 /* I2C_MST_ANA_CONF2 : R/W; bitpos: [23:0]; default: 0;*/ 134 /* description: .*/ 135 #define I2C_MST_ANA_CONF2 0x00FFFFFFU 136 #define I2C_MST_ANA_CONF2_M (I2C_MST_ANA_CONF2_V << I2C_MST_ANA_CONF2_S) 137 #define I2C_MST_ANA_CONF2_V 0x00FFFFFFU 138 #define I2C_MST_ANA_CONF2_S 0 139 /* I2C_MST_ANA_STATUS2 : RO; bitpos: [31:24]; default: 0;*/ 140 /* description: .*/ 141 #define I2C_MST_ANA_STATUS2 0x000000FFU 142 #define I2C_MST_ANA_STATUS2_M (I2C_MST_ANA_STATUS2_V << I2C_MST_ANA_STATUS2_S) 143 #define I2C_MST_ANA_STATUS2_V 0x000000FFU 144 #define I2C_MST_ANA_STATUS2_S 24 145 146 #define I2C_MST_I2C0_CTRL1_REG (DR_REG_I2C_ANA_MST_BASE + 0x24) 147 /* I2C_MST_I2C0_SCL_PULSE_DUR : R/W; bitpos: [5:0]; default: 2;*/ 148 /* description: .*/ 149 #define I2C_MST_I2C0_SCL_PULSE_DUR 0x0000003FU 150 #define I2C_MST_I2C0_SCL_PULSE_DUR_M (I2C_MST_I2C0_SCL_PULSE_DUR_V << I2C_MST_I2C0_SCL_PULSE_DUR_S) 151 #define I2C_MST_I2C0_SCL_PULSE_DUR_V 0x0000003FU 152 #define I2C_MST_I2C0_SCL_PULSE_DUR_S 0 153 /* I2C_MST_I2C0_SDA_SIDE_GUARD : R/W; bitpos: [10:6]; default: 1;*/ 154 /* description: .*/ 155 #define I2C_MST_I2C0_SDA_SIDE_GUARD 0x0000001FU 156 #define I2C_MST_I2C0_SDA_SIDE_GUARD_M (I2C_MST_I2C0_SDA_SIDE_GUARD_V << I2C_MST_I2C0_SDA_SIDE_GUARD_S) 157 #define I2C_MST_I2C0_SDA_SIDE_GUARD_V 0x0000001FU 158 #define I2C_MST_I2C0_SDA_SIDE_GUARD_S 6 159 160 #define I2C_MST_I2C1_CTRL1_REG (DR_REG_I2C_ANA_MST_BASE + 0x28) 161 /* I2C_MST_I2C1_SCL_PULSE_DUR : R/W; bitpos: [5:0]; default: 2;*/ 162 /* description: .*/ 163 #define I2C_MST_I2C1_SCL_PULSE_DUR 0x0000003FU 164 #define I2C_MST_I2C1_SCL_PULSE_DUR_M (I2C_MST_I2C1_SCL_PULSE_DUR_V << I2C_MST_I2C1_SCL_PULSE_DUR_S) 165 #define I2C_MST_I2C1_SCL_PULSE_DUR_V 0x0000003FU 166 #define I2C_MST_I2C1_SCL_PULSE_DUR_S 0 167 /* I2C_MST_I2C1_SDA_SIDE_GUARD : R/W; bitpos: [10:6]; default: 1;*/ 168 /* description: .*/ 169 #define I2C_MST_I2C1_SDA_SIDE_GUARD 0x0000001FU 170 #define I2C_MST_I2C1_SDA_SIDE_GUARD_M (I2C_MST_I2C1_SDA_SIDE_GUARD_V << I2C_MST_I2C1_SDA_SIDE_GUARD_S) 171 #define I2C_MST_I2C1_SDA_SIDE_GUARD_V 0x0000001FU 172 #define I2C_MST_I2C1_SDA_SIDE_GUARD_S 6 173 174 #define I2C_MST_HW_I2C_CTRL_REG (DR_REG_I2C_ANA_MST_BASE + 0x2c) 175 /* I2C_MST_HW_I2C_SCL_PULSE_DUR : R/W; bitpos: [5:0]; default: 2;*/ 176 /* description: .*/ 177 #define I2C_MST_HW_I2C_SCL_PULSE_DUR 0x0000003FU 178 #define I2C_MST_HW_I2C_SCL_PULSE_DUR_M (I2C_MST_HW_I2C_SCL_PULSE_DUR_V << I2C_MST_HW_I2C_SCL_PULSE_DUR_S) 179 #define I2C_MST_HW_I2C_SCL_PULSE_DUR_V 0x0000003FU 180 #define I2C_MST_HW_I2C_SCL_PULSE_DUR_S 0 181 /* I2C_MST_HW_I2C_SDA_SIDE_GUARD : R/W; bitpos: [10:6]; default: 1;*/ 182 /* description: .*/ 183 #define I2C_MST_HW_I2C_SDA_SIDE_GUARD 0x0000001FU 184 #define I2C_MST_HW_I2C_SDA_SIDE_GUARD_M (I2C_MST_HW_I2C_SDA_SIDE_GUARD_V << I2C_MST_HW_I2C_SDA_SIDE_GUARD_S) 185 #define I2C_MST_HW_I2C_SDA_SIDE_GUARD_V 0x0000001FU 186 #define I2C_MST_HW_I2C_SDA_SIDE_GUARD_S 6 187 /* I2C_MST_ARBITER_DIS : R/W; bitpos: [11]; default: 0;*/ 188 /* description: .*/ 189 #define I2C_MST_ARBITER_DIS (BIT(11)) 190 #define I2C_MST_ARBITER_DIS_M (I2C_MST_ARBITER_DIS_V << I2C_MST_ARBITER_DIS_S) 191 #define I2C_MST_ARBITER_DIS_V 0x00000001U 192 #define I2C_MST_ARBITER_DIS_S 11 193 194 #define I2C_MST_NOUSE_REG (DR_REG_I2C_ANA_MST_BASE + 0x30) 195 /* I2C_MST_NOUSE : R/W; bitpos: [31:0]; default: 0;*/ 196 /* description: .*/ 197 #define I2C_MST_NOUSE 0xFFFFFFFFU 198 #define I2C_MST_NOUSE_M (I2C_MST_NOUSE_V << I2C_MST_NOUSE_S) 199 #define I2C_MST_NOUSE_V 0xFFFFFFFFU 200 #define I2C_MST_NOUSE_S 0 201 202 #define I2C_MST_DATE_REG (DR_REG_I2C_ANA_MST_BASE + 0x34) 203 /* I2C_MST_DATE : R/W; bitpos: [27:0]; default: 35656448;*/ 204 /* description: .*/ 205 #define I2C_MST_DATE 0x0FFFFFFFU 206 #define I2C_MST_DATE_M (I2C_MST_DATE_V << I2C_MST_DATE_S) 207 #define I2C_MST_DATE_V 0x0FFFFFFFU 208 #define I2C_MST_DATE_S 0 209 /* I2C_MST_CLK_EN : R/W; bitpos: [28]; default: 0;*/ 210 /* description: .*/ 211 #define I2C_MST_CLK_EN (BIT(28)) 212 #define I2C_MST_CLK_EN_M (I2C_MST_CLK_EN_V << I2C_MST_CLK_EN_S) 213 #define I2C_MST_CLK_EN_V 0x00000001U 214 #define I2C_MST_CLK_EN_S 28 215 216 #ifdef __cplusplus 217 } 218 #endif 219