46 [kDtI3cRegBlockCore] = 0x40330000,
59 [kDtI3cPeriphIoRstdetScl] = {
64 .outsel_or_dt_pad = 0,
67 [kDtI3cPeriphIoRstdetSda] = {
72 .outsel_or_dt_pad = 0,
75 [kDtI3cPeriphIoCtrlSdaPu] = {
79 .periph_input_or_direct_pad = 0,
83 [kDtI3cPeriphIoScl] = {
91 [kDtI3cPeriphIoSda] = {
104 [kDtI3cRegBlockCore] = 0x40340000,
117 [kDtI3cPeriphIoRstdetScl] = {
122 .outsel_or_dt_pad = 0,
125 [kDtI3cPeriphIoRstdetSda] = {
130 .outsel_or_dt_pad = 0,
133 [kDtI3cPeriphIoCtrlSdaPu] = {
137 .periph_input_or_direct_pad = 0,
141 [kDtI3cPeriphIoScl] = {
149 [kDtI3cPeriphIoSda] = {
166#define TRY_GET_DT(dt, default) ({ if ((dt) < (dt_i3c_t)0 || (int)(dt) >= kDtI3cCount) return (default); &i3c_desc[dt]; })
184 return TRY_GET_DT(dt, 0xdeadbeef)->reg_addr[reg_block];
191 if (first_irq == kDtPlicIrqIdNone) {
192 return kDtPlicIrqIdNone;
202 if (first_irq == kDtPlicIrqIdNone) {
215 return (
dt_alert_id_t)((uint32_t)i3c_desc[dt].first_alert + (uint32_t)alert);
222 if (alert < i3c_desc[dt].first_alert || alert >= i3c_desc[dt].first_alert + (
dt_alert_id_t)count) {
233 return TRY_GET_DT(dt, kDtPeriphIoConstantHighZ)->periph_io[sig];