12#include "dt/dt_spi_host.h"
21 uint32_t
base_addr[kDtSpiHostRegBlockCount];
40 [kDtSpiHostRegBlockCore] = 0x40060000,
50 [kDtSpiHostPeriphIoSck] = {
54 .periph_input_or_direct_pad = kTopEnglishbreakfastDirectPadsSpiHost0Sck,
58 [kDtSpiHostPeriphIoCsb] = {
62 .periph_input_or_direct_pad = kTopEnglishbreakfastDirectPadsSpiHost0Csb,
66 [kDtSpiHostPeriphIoSd0] = {
70 .periph_input_or_direct_pad = kTopEnglishbreakfastDirectPadsSpiHost0Sd0,
74 [kDtSpiHostPeriphIoSd1] = {
78 .periph_input_or_direct_pad = kTopEnglishbreakfastDirectPadsSpiHost0Sd1,
82 [kDtSpiHostPeriphIoSd2] = {
86 .periph_input_or_direct_pad = kTopEnglishbreakfastDirectPadsSpiHost0Sd2,
90 [kDtSpiHostPeriphIoSd3] = {
94 .periph_input_or_direct_pad = kTopEnglishbreakfastDirectPadsSpiHost0Sd3,
107#define TRY_GET_DT(dt, default) ({ if ((dt) < (dt_spi_host_t)0 || (dt) >= kDtSpiHostCount) return (default); &spi_host_desc[dt]; })
125 return TRY_GET_DT(dt, 0xdeadbeef)->base_addr[reg_block];
132 if (first_irq == kDtPlicIrqIdNone) {
133 return kDtPlicIrqIdNone;
143 if (first_irq == kDtPlicIrqIdNone) {
158 return TRY_GET_DT(dt, kDtPeriphIoConstantHighZ)->periph_io[sig];