46 [kDtSocProxyRegBlockCore] = 0x22030000,
47 [kDtSocProxyRegBlockCtn] = 0x40000000,
60 [kDtSocProxyPeriphIoSocGpi0] = {
64 .periph_input_or_direct_pad = kTopDarjeelingDirectPadsSocProxySocGpi0,
68 [kDtSocProxyPeriphIoSocGpi1] = {
72 .periph_input_or_direct_pad = kTopDarjeelingDirectPadsSocProxySocGpi1,
76 [kDtSocProxyPeriphIoSocGpi2] = {
80 .periph_input_or_direct_pad = kTopDarjeelingDirectPadsSocProxySocGpi2,
84 [kDtSocProxyPeriphIoSocGpi3] = {
88 .periph_input_or_direct_pad = kTopDarjeelingDirectPadsSocProxySocGpi3,
92 [kDtSocProxyPeriphIoSocGpi4] = {
96 .periph_input_or_direct_pad = kTopDarjeelingDirectPadsSocProxySocGpi4,
100 [kDtSocProxyPeriphIoSocGpi5] = {
104 .periph_input_or_direct_pad = kTopDarjeelingDirectPadsSocProxySocGpi5,
108 [kDtSocProxyPeriphIoSocGpi6] = {
112 .periph_input_or_direct_pad = kTopDarjeelingDirectPadsSocProxySocGpi6,
116 [kDtSocProxyPeriphIoSocGpi7] = {
120 .periph_input_or_direct_pad = kTopDarjeelingDirectPadsSocProxySocGpi7,
124 [kDtSocProxyPeriphIoSocGpi8] = {
128 .periph_input_or_direct_pad = kTopDarjeelingDirectPadsSocProxySocGpi8,
132 [kDtSocProxyPeriphIoSocGpi9] = {
136 .periph_input_or_direct_pad = kTopDarjeelingDirectPadsSocProxySocGpi9,
140 [kDtSocProxyPeriphIoSocGpi10] = {
144 .periph_input_or_direct_pad = kTopDarjeelingDirectPadsSocProxySocGpi10,
148 [kDtSocProxyPeriphIoSocGpi11] = {
152 .periph_input_or_direct_pad = kTopDarjeelingDirectPadsSocProxySocGpi11,
156 [kDtSocProxyPeriphIoSocGpi12] = {
161 .outsel_or_dt_pad = 0,
164 [kDtSocProxyPeriphIoSocGpi13] = {
169 .outsel_or_dt_pad = 0,
172 [kDtSocProxyPeriphIoSocGpi14] = {
177 .outsel_or_dt_pad = 0,
180 [kDtSocProxyPeriphIoSocGpi15] = {
185 .outsel_or_dt_pad = 0,
188 [kDtSocProxyPeriphIoSocGpo0] = {
192 .periph_input_or_direct_pad = kTopDarjeelingDirectPadsSocProxySocGpo0,
196 [kDtSocProxyPeriphIoSocGpo1] = {
200 .periph_input_or_direct_pad = kTopDarjeelingDirectPadsSocProxySocGpo1,
204 [kDtSocProxyPeriphIoSocGpo2] = {
208 .periph_input_or_direct_pad = kTopDarjeelingDirectPadsSocProxySocGpo2,
212 [kDtSocProxyPeriphIoSocGpo3] = {
216 .periph_input_or_direct_pad = kTopDarjeelingDirectPadsSocProxySocGpo3,
220 [kDtSocProxyPeriphIoSocGpo4] = {
224 .periph_input_or_direct_pad = kTopDarjeelingDirectPadsSocProxySocGpo4,
228 [kDtSocProxyPeriphIoSocGpo5] = {
232 .periph_input_or_direct_pad = kTopDarjeelingDirectPadsSocProxySocGpo5,
236 [kDtSocProxyPeriphIoSocGpo6] = {
240 .periph_input_or_direct_pad = kTopDarjeelingDirectPadsSocProxySocGpo6,
244 [kDtSocProxyPeriphIoSocGpo7] = {
248 .periph_input_or_direct_pad = kTopDarjeelingDirectPadsSocProxySocGpo7,
252 [kDtSocProxyPeriphIoSocGpo8] = {
256 .periph_input_or_direct_pad = kTopDarjeelingDirectPadsSocProxySocGpo8,
260 [kDtSocProxyPeriphIoSocGpo9] = {
264 .periph_input_or_direct_pad = kTopDarjeelingDirectPadsSocProxySocGpo9,
268 [kDtSocProxyPeriphIoSocGpo10] = {
272 .periph_input_or_direct_pad = kTopDarjeelingDirectPadsSocProxySocGpo10,
276 [kDtSocProxyPeriphIoSocGpo11] = {
280 .periph_input_or_direct_pad = kTopDarjeelingDirectPadsSocProxySocGpo11,
284 [kDtSocProxyPeriphIoSocGpo12] = {
288 .periph_input_or_direct_pad = 0,
292 [kDtSocProxyPeriphIoSocGpo13] = {
296 .periph_input_or_direct_pad = 0,
300 [kDtSocProxyPeriphIoSocGpo14] = {
304 .periph_input_or_direct_pad = 0,
308 [kDtSocProxyPeriphIoSocGpo15] = {
312 .periph_input_or_direct_pad = 0,
325#define TRY_GET_DT(dt, default) ({ if ((dt) < (dt_soc_proxy_t)0 || (dt) >= kDtSocProxyCount) return (default); &soc_proxy_desc[dt]; })
343 return TRY_GET_DT(dt, 0xdeadbeef)->base_addr[reg_block];
350 if (first_irq == kDtPlicIrqIdNone) {
351 return kDtPlicIrqIdNone;
361 if (first_irq == kDtPlicIrqIdNone) {
374 return (
dt_alert_id_t)((uint32_t)soc_proxy_desc[dt].first_alert + (uint32_t)alert);
381 if (alert < soc_proxy_desc[dt].first_alert || alert >= soc_proxy_desc[dt].first_alert + (
dt_alert_id_t)count) {
392 return TRY_GET_DT(dt, kDtPeriphIoConstantHighZ)->periph_io[sig];