46 [kDtPattgenRegBlockCore] = 0x400E0000,
57 [kDtPattgenPeriphIoPda0Tx] = {
61 .periph_input_or_direct_pad = 0,
65 [kDtPattgenPeriphIoPcl0Tx] = {
69 .periph_input_or_direct_pad = 0,
73 [kDtPattgenPeriphIoPda1Tx] = {
77 .periph_input_or_direct_pad = 0,
81 [kDtPattgenPeriphIoPcl1Tx] = {
85 .periph_input_or_direct_pad = 0,
98#define TRY_GET_DT(dt, default) ({ if ((dt) < (dt_pattgen_t)0 || (dt) >= kDtPattgenCount) return (default); &pattgen_desc[dt]; })
116 return TRY_GET_DT(dt, 0xdeadbeef)->base_addr[reg_block];
123 if (first_irq == kDtPlicIrqIdNone) {
124 return kDtPlicIrqIdNone;
134 if (first_irq == kDtPlicIrqIdNone) {
147 return (
dt_alert_id_t)((uint32_t)pattgen_desc[dt].first_alert + (uint32_t)alert);
154 if (alert < pattgen_desc[dt].first_alert || alert >= pattgen_desc[dt].first_alert + (
dt_alert_id_t)count) {
165 return TRY_GET_DT(dt, kDtPeriphIoConstantHighZ)->periph_io[sig];