Software APIs
command.h
1 // Copyright lowRISC contributors (OpenTitan project).
2 // Licensed under the Apache License, Version 2.0, see LICENSE for details.
3 // SPDX-License-Identifier: Apache-2.0
4 #ifndef OPENTITAN_SW_DEVICE_LIB_TESTING_JSON_COMMAND_H_
5 #define OPENTITAN_SW_DEVICE_LIB_TESTING_JSON_COMMAND_H_
6 
7 #include "sw/device/lib/ujson/ujson_derive.h"
8 #ifdef __cplusplus
9 extern "C" {
10 #endif
11 // clang-format off
12 
13 #define ENUM_TEST_COMMAND(_, value) \
14  value(_, ChipStartup) \
15  value(_, GpioSet) \
16  value(_, GpioGet) \
17  value(_, EnterNormalSleep) \
18  value(_, EnterDeepSleep) \
19  value(_, I2cTargetAddress) \
20  value(_, I2cStartTransferWrite) \
21  value(_, I2cStartTransferWriteSlow) \
22  value(_, I2cStartTransferRead) \
23  value(_, I2cStartTransferWriteRead) \
24  value(_, I2cTestConfig) \
25  value(_, MemRead) \
26  value(_, MemRead32) \
27  value(_, MemWrite) \
28  value(_, MemWrite32) \
29  value(_, PinmuxConfig) \
30  value(_, SpiConfigureJedecId) \
31  value(_, SpiReadStatus) \
32  value(_, SpiWaitForUpload) \
33  value(_, SpiWriteStatus) \
34  value(_, SpiWriteSfdp) \
35  value(_, SpiFlashReadId) \
36  value(_, SpiFlashReadSfdp) \
37  value(_, SpiFlashEraseSector) \
38  value(_, SpiFlashEmulator) \
39  value(_, SpiFlashWrite) \
40  value(_, SpiMailboxMap) \
41  value(_, SpiMailboxUnmap) \
42  value(_, SpiMailboxWrite) \
43  value(_, SpiPassthruSetAddressMap) \
44  value(_, SwStrapRead)
45 UJSON_SERDE_ENUM(TestCommand, test_command_t, ENUM_TEST_COMMAND);
46 
47 // clang-format on
48 #ifdef __cplusplus
49 }
50 #endif
51 #endif // OPENTITAN_SW_DEVICE_LIB_TESTING_JSON_COMMAND_H_