12#include "dt/dt_spi_host.h"
46 [kDtSpiHostRegBlockCore] = 0x40300000,
57 [kDtSpiHostPeriphIoSck] = {
61 .periph_input_or_direct_pad = kTopEarlgreyDirectPadsSpiHost0Sck,
65 [kDtSpiHostPeriphIoCsb] = {
69 .periph_input_or_direct_pad = kTopEarlgreyDirectPadsSpiHost0Csb,
73 [kDtSpiHostPeriphIoSd0] = {
77 .periph_input_or_direct_pad = kTopEarlgreyDirectPadsSpiHost0Sd0,
81 [kDtSpiHostPeriphIoSd1] = {
85 .periph_input_or_direct_pad = kTopEarlgreyDirectPadsSpiHost0Sd1,
89 [kDtSpiHostPeriphIoSd2] = {
93 .periph_input_or_direct_pad = kTopEarlgreyDirectPadsSpiHost0Sd2,
97 [kDtSpiHostPeriphIoSd3] = {
101 .periph_input_or_direct_pad = kTopEarlgreyDirectPadsSpiHost0Sd3,
110 [kDtSpiHostRegBlockCore] = 0x40310000,
121 [kDtSpiHostPeriphIoSck] = {
125 .periph_input_or_direct_pad = 0,
129 [kDtSpiHostPeriphIoCsb] = {
133 .periph_input_or_direct_pad = 0,
137 [kDtSpiHostPeriphIoSd0] = {
145 [kDtSpiHostPeriphIoSd1] = {
153 [kDtSpiHostPeriphIoSd2] = {
161 [kDtSpiHostPeriphIoSd3] = {
178#define TRY_GET_DT(dt, default) ({ if ((dt) < (dt_spi_host_t)0 || (dt) >= kDtSpiHostCount) return (default); &spi_host_desc[dt]; })
196 return TRY_GET_DT(dt, 0xdeadbeef)->base_addr[reg_block];
203 if (first_irq == kDtPlicIrqIdNone) {
204 return kDtPlicIrqIdNone;
214 if (first_irq == kDtPlicIrqIdNone) {
227 return (
dt_alert_id_t)((uint32_t)spi_host_desc[dt].first_alert + (uint32_t)alert);
234 if (alert < spi_host_desc[dt].first_alert || alert >= spi_host_desc[dt].first_alert + (
dt_alert_id_t)count) {
245 return TRY_GET_DT(dt, kDtPeriphIoConstantHighZ)->periph_io[sig];