12#include "dt/dt_gpio.h"
40 [kDtGpioRegBlockCore] = 0x40040000,
50 [kDtGpioPeriphIoGpio0] = {
58 [kDtGpioPeriphIoGpio1] = {
66 [kDtGpioPeriphIoGpio2] = {
74 [kDtGpioPeriphIoGpio3] = {
82 [kDtGpioPeriphIoGpio4] = {
90 [kDtGpioPeriphIoGpio5] = {
98 [kDtGpioPeriphIoGpio6] = {
106 [kDtGpioPeriphIoGpio7] = {
114 [kDtGpioPeriphIoGpio8] = {
122 [kDtGpioPeriphIoGpio9] = {
130 [kDtGpioPeriphIoGpio10] = {
138 [kDtGpioPeriphIoGpio11] = {
146 [kDtGpioPeriphIoGpio12] = {
154 [kDtGpioPeriphIoGpio13] = {
162 [kDtGpioPeriphIoGpio14] = {
170 [kDtGpioPeriphIoGpio15] = {
178 [kDtGpioPeriphIoGpio16] = {
186 [kDtGpioPeriphIoGpio17] = {
194 [kDtGpioPeriphIoGpio18] = {
202 [kDtGpioPeriphIoGpio19] = {
210 [kDtGpioPeriphIoGpio20] = {
218 [kDtGpioPeriphIoGpio21] = {
226 [kDtGpioPeriphIoGpio22] = {
234 [kDtGpioPeriphIoGpio23] = {
242 [kDtGpioPeriphIoGpio24] = {
250 [kDtGpioPeriphIoGpio25] = {
258 [kDtGpioPeriphIoGpio26] = {
266 [kDtGpioPeriphIoGpio27] = {
274 [kDtGpioPeriphIoGpio28] = {
282 [kDtGpioPeriphIoGpio29] = {
290 [kDtGpioPeriphIoGpio30] = {
298 [kDtGpioPeriphIoGpio31] = {
315#define TRY_GET_DT(dt, default) ({ if ((dt) < (dt_gpio_t)0 || (dt) >= kDtGpioCount) return (default); &gpio_desc[dt]; })
333 return TRY_GET_DT(dt, 0xdeadbeef)->base_addr[reg_block];
340 if (first_irq == kDtPlicIrqIdNone) {
341 return kDtPlicIrqIdNone;
351 if (first_irq == kDtPlicIrqIdNone) {
366 return TRY_GET_DT(dt, kDtPeriphIoConstantHighZ)->periph_io[sig];