5 #include "sw/device/lib/testing/spi_host_testutils.h"
8 #include "sw/device/lib/testing/pinmux_testutils.h"
9 #include "sw/device/lib/testing/test_framework/check.h"
11 status_t spi_host_testutils_configure_host0_pad_attrs(dif_pinmux_t *pinmux) {
18 .flags = kDifPinmuxPadAttrPullResistorEnable |
19 kDifPinmuxPadAttrPullResistorUp};
21 for (uint32_t i = 0; i < kDtSpiHostPeriphIoCount; ++i) {
22 dt_periph_io_t periph_io =
23 dt_spi_host_periph_io(kDtSpiHost0, (dt_spi_host_periph_io_t)i);
24 dt_pad_t pad = dt_periph_io_dio_pad(periph_io);
32 "Specified slew rate not supported, trying supported slew rate");
37 "Specified drive strength not supported, trying supported drive "
52 extern status_t spi_host_testutils_is_active(dif_spi_host_t *spi_host);
54 status_t spi_host_testutils_flush(dif_spi_host_t *spi_host) {
56 uint8_t dummy[
sizeof(uint32_t)];
65 #if defined(OPENTITAN_IS_EARLGREY)
69 typedef struct spi_host1_pinmux_pads {
75 } spi_host1_pinmux_pads_t;
81 static const spi_host1_pinmux_pads_t kSpiHost1PinmuxMap[] = {
82 [kSpiPinmuxPlatformIdCw310] =
90 [kSpiPinmuxPlatformIdCw340] =
98 [kSpiPinmuxPlatformIdTeacup] =
108 status_t spi_host1_pinmux_connect_to_bob(
const dif_pinmux_t *pinmux,
110 spi_pinmux_platform_id_t platform_id) {
111 TRY_CHECK(platform_id < kSpiPinmuxPlatformIdCount);
112 const spi_host1_pinmux_pads_t *platform = &kSpiHost1PinmuxMap[platform_id];
116 dt_spi_host_periph_io(kDtSpiHost1, kDtSpiHostPeriphIoCsb);
120 dt_spi_host_periph_io(kDtSpiHost1, kDtSpiHostPeriphIoSck);
124 dt_spi_host_periph_io(kDtSpiHost1, kDtSpiHostPeriphIoSd0);
129 dt_spi_host_periph_io(kDtSpiHost1, kDtSpiHostPeriphIoSd1);
134 dt_spi_host_periph_io(kDtSpiHost1, kDtSpiHostPeriphIoSd2);
139 dt_spi_host_periph_io(kDtSpiHost1, kDtSpiHostPeriphIoSd3);
144 #elif defined(OPENTITAN_IS_DARJEELING)
147 #error "spi_host_testutils does not support this top"