4 #ifndef OPENTITAN_SW_DEVICE_LIB_TESTING_JSON_GPIO_H_
5 #define OPENTITAN_SW_DEVICE_LIB_TESTING_JSON_GPIO_H_
7 #include "sw/device/lib/ujson/ujson_derive.h"
13 #define MODULE_ID MAKE_MODULE_ID('j', 'g', 'h')
15 #define ENUM_GPIO_SET_ACTION(_, value) \
18 value(_, WriteMasked) \
19 value(_, SetEnabled) \
20 value(_, SetEnabledAll) \
21 value(_, SetEnabledMasked) \
22 value(_, SetInputNoiseFilter) \
23 value(_, IrqRestoreAll) \
24 value(_, IrqDisableAll) \
25 value(_, IrqAcknowledgeAll) \
26 value(_, IrqSetTriggerRisingEdge) \
27 value(_, IrqSetTriggerFallingEdge) \
28 value(_, IrqSetTriggerHigh) \
29 value(_, IrqSetTriggerLow)
31 UJSON_SERDE_ENUM(GpioAction, gpio_action_t, ENUM_GPIO_SET_ACTION);
33 #define STRUCT_GPIO_SET(field, string) \
34 field(action, gpio_action_t) \
35 field(pin_mask, uint32_t) \
36 field(state, uint32_t)
37 UJSON_SERDE_STRUCT(GpioSet, gpio_set_t, STRUCT_GPIO_SET);
39 #define STRUCT_GPIO_GET(field, string) \
40 field(state, uint32_t)
41 UJSON_SERDE_STRUCT(GpioGet, gpio_get_t, STRUCT_GPIO_GET);
43 #ifndef RUST_PREPROCESSOR_EMIT