| // Copyright lowRISC contributors. | |
| // Licensed under the Apache License, Version 2.0, see LICENSE for details. | |
| // SPDX-License-Identifier: Apache-2.0 | |
| #ifndef OPENTITAN_SW_DEVICE_LIB_TESTING_JSON_PINMUX_H_ | |
| #define OPENTITAN_SW_DEVICE_LIB_TESTING_JSON_PINMUX_H_ | |
| #include "sw/device/lib/ujson/ujson_derive.h" | |
| #ifdef __cplusplus | |
| extern "C" { | |
| #endif | |
| // Note: these definitions rely on constants from top_earlgrey.h | |
| // and therefore this library cannot be used with the `ujson_rust` | |
| // bazel rule. Instead, these constants are imported into rust | |
| // by way of a bindgen rule and recreated as Rust datatypes with | |
| // appropriate aliases to be used by other `ujson` libraries. | |
| #ifndef RUST_PREPROCESSOR_EMIT | |
| #include "hw/top_earlgrey/sw/autogen/top_earlgrey.h" | |
| #endif | |
| // clang-format off | |
| #define TOP_EARLGREY_PINMUX_PERIPHERAL_IN(_, value) \ | |
| value(_, GpioGpio0, kTopEarlgreyPinmuxPeripheralInGpioGpio0) \ | |
| value(_, GpioGpio1, kTopEarlgreyPinmuxPeripheralInGpioGpio1) \ | |
| value(_, GpioGpio2, kTopEarlgreyPinmuxPeripheralInGpioGpio2) \ | |
| value(_, GpioGpio3, kTopEarlgreyPinmuxPeripheralInGpioGpio3) \ | |
| value(_, GpioGpio4, kTopEarlgreyPinmuxPeripheralInGpioGpio4) \ | |
| value(_, GpioGpio5, kTopEarlgreyPinmuxPeripheralInGpioGpio5) \ | |
| value(_, GpioGpio6, kTopEarlgreyPinmuxPeripheralInGpioGpio6) \ | |
| value(_, GpioGpio7, kTopEarlgreyPinmuxPeripheralInGpioGpio7) \ | |
| value(_, GpioGpio8, kTopEarlgreyPinmuxPeripheralInGpioGpio8) \ | |
| value(_, GpioGpio9, kTopEarlgreyPinmuxPeripheralInGpioGpio9) \ | |
| value(_, GpioGpio10, kTopEarlgreyPinmuxPeripheralInGpioGpio10) \ | |
| value(_, GpioGpio11, kTopEarlgreyPinmuxPeripheralInGpioGpio11) \ | |
| value(_, GpioGpio12, kTopEarlgreyPinmuxPeripheralInGpioGpio12) \ | |
| value(_, GpioGpio13, kTopEarlgreyPinmuxPeripheralInGpioGpio13) \ | |
| value(_, GpioGpio14, kTopEarlgreyPinmuxPeripheralInGpioGpio14) \ | |
| value(_, GpioGpio15, kTopEarlgreyPinmuxPeripheralInGpioGpio15) \ | |
| value(_, GpioGpio16, kTopEarlgreyPinmuxPeripheralInGpioGpio16) \ | |
| value(_, GpioGpio17, kTopEarlgreyPinmuxPeripheralInGpioGpio17) \ | |
| value(_, GpioGpio18, kTopEarlgreyPinmuxPeripheralInGpioGpio18) \ | |
| value(_, GpioGpio19, kTopEarlgreyPinmuxPeripheralInGpioGpio19) \ | |
| value(_, GpioGpio20, kTopEarlgreyPinmuxPeripheralInGpioGpio20) \ | |
| value(_, GpioGpio21, kTopEarlgreyPinmuxPeripheralInGpioGpio21) \ | |
| value(_, GpioGpio22, kTopEarlgreyPinmuxPeripheralInGpioGpio22) \ | |
| value(_, GpioGpio23, kTopEarlgreyPinmuxPeripheralInGpioGpio23) \ | |
| value(_, GpioGpio24, kTopEarlgreyPinmuxPeripheralInGpioGpio24) \ | |
| value(_, GpioGpio25, kTopEarlgreyPinmuxPeripheralInGpioGpio25) \ | |
| value(_, GpioGpio26, kTopEarlgreyPinmuxPeripheralInGpioGpio26) \ | |
| value(_, GpioGpio27, kTopEarlgreyPinmuxPeripheralInGpioGpio27) \ | |
| value(_, GpioGpio28, kTopEarlgreyPinmuxPeripheralInGpioGpio28) \ | |
| value(_, GpioGpio29, kTopEarlgreyPinmuxPeripheralInGpioGpio29) \ | |
| value(_, GpioGpio30, kTopEarlgreyPinmuxPeripheralInGpioGpio30) \ | |
| value(_, GpioGpio31, kTopEarlgreyPinmuxPeripheralInGpioGpio31) \ | |
| value(_, I2c0Sda, kTopEarlgreyPinmuxPeripheralInI2c0Sda) \ | |
| value(_, I2c0Scl, kTopEarlgreyPinmuxPeripheralInI2c0Scl) \ | |
| value(_, I2c1Sda, kTopEarlgreyPinmuxPeripheralInI2c1Sda) \ | |
| value(_, I2c1Scl, kTopEarlgreyPinmuxPeripheralInI2c1Scl) \ | |
| value(_, I2c2Sda, kTopEarlgreyPinmuxPeripheralInI2c2Sda) \ | |
| value(_, I2c2Scl, kTopEarlgreyPinmuxPeripheralInI2c2Scl) \ | |
| value(_, SpiHost1Sd0, kTopEarlgreyPinmuxPeripheralInSpiHost1Sd0) \ | |
| value(_, SpiHost1Sd1, kTopEarlgreyPinmuxPeripheralInSpiHost1Sd1) \ | |
| value(_, SpiHost1Sd2, kTopEarlgreyPinmuxPeripheralInSpiHost1Sd2) \ | |
| value(_, SpiHost1Sd3, kTopEarlgreyPinmuxPeripheralInSpiHost1Sd3) \ | |
| value(_, Uart0Rx, kTopEarlgreyPinmuxPeripheralInUart0Rx) \ | |
| value(_, Uart1Rx, kTopEarlgreyPinmuxPeripheralInUart1Rx) \ | |
| value(_, Uart2Rx, kTopEarlgreyPinmuxPeripheralInUart2Rx) \ | |
| value(_, Uart3Rx, kTopEarlgreyPinmuxPeripheralInUart3Rx) \ | |
| value(_, SpiDeviceTpmCsb, kTopEarlgreyPinmuxPeripheralInSpiDeviceTpmCsb) \ | |
| value(_, FlashCtrlTck, kTopEarlgreyPinmuxPeripheralInFlashCtrlTck) \ | |
| value(_, FlashCtrlTms, kTopEarlgreyPinmuxPeripheralInFlashCtrlTms) \ | |
| value(_, FlashCtrlTdi, kTopEarlgreyPinmuxPeripheralInFlashCtrlTdi) \ | |
| value(_, SysrstCtrlAonAcPresent, kTopEarlgreyPinmuxPeripheralInSysrstCtrlAonAcPresent) \ | |
| value(_, SysrstCtrlAonKey0In, kTopEarlgreyPinmuxPeripheralInSysrstCtrlAonKey0In) \ | |
| value(_, SysrstCtrlAonKey1In, kTopEarlgreyPinmuxPeripheralInSysrstCtrlAonKey1In) \ | |
| value(_, SysrstCtrlAonKey2In, kTopEarlgreyPinmuxPeripheralInSysrstCtrlAonKey2In) \ | |
| value(_, SysrstCtrlAonPwrbIn, kTopEarlgreyPinmuxPeripheralInSysrstCtrlAonPwrbIn) \ | |
| value(_, SysrstCtrlAonLidOpen, kTopEarlgreyPinmuxPeripheralInSysrstCtrlAonLidOpen) \ | |
| value(_, UsbdevSense, kTopEarlgreyPinmuxPeripheralInUsbdevSense) \ | |
| value(_, End, kTopEarlgreyPinmuxPeripheralInLast + 1) | |
| C_ONLY(UJSON_SERDE_ENUM(PinmuxPeripheralIn, pinmux_peripheral_in_t, TOP_EARLGREY_PINMUX_PERIPHERAL_IN, WITH_UNKNOWN)); | |
| #define TOP_EARLGREY_PINMUX_INSEL(_, value) \ | |
| value(_, ConstantZero, kTopEarlgreyPinmuxInselConstantZero) \ | |
| value(_, ConstantOne, kTopEarlgreyPinmuxInselConstantOne) \ | |
| value(_, Ioa0, kTopEarlgreyPinmuxInselIoa0) \ | |
| value(_, Ioa1, kTopEarlgreyPinmuxInselIoa1) \ | |
| value(_, Ioa2, kTopEarlgreyPinmuxInselIoa2) \ | |
| value(_, Ioa3, kTopEarlgreyPinmuxInselIoa3) \ | |
| value(_, Ioa4, kTopEarlgreyPinmuxInselIoa4) \ | |
| value(_, Ioa5, kTopEarlgreyPinmuxInselIoa5) \ | |
| value(_, Ioa6, kTopEarlgreyPinmuxInselIoa6) \ | |
| value(_, Ioa7, kTopEarlgreyPinmuxInselIoa7) \ | |
| value(_, Ioa8, kTopEarlgreyPinmuxInselIoa8) \ | |
| value(_, Iob0, kTopEarlgreyPinmuxInselIob0) \ | |
| value(_, Iob1, kTopEarlgreyPinmuxInselIob1) \ | |
| value(_, Iob2, kTopEarlgreyPinmuxInselIob2) \ | |
| value(_, Iob3, kTopEarlgreyPinmuxInselIob3) \ | |
| value(_, Iob4, kTopEarlgreyPinmuxInselIob4) \ | |
| value(_, Iob5, kTopEarlgreyPinmuxInselIob5) \ | |
| value(_, Iob6, kTopEarlgreyPinmuxInselIob6) \ | |
| value(_, Iob7, kTopEarlgreyPinmuxInselIob7) \ | |
| value(_, Iob8, kTopEarlgreyPinmuxInselIob8) \ | |
| value(_, Iob9, kTopEarlgreyPinmuxInselIob9) \ | |
| value(_, Iob10, kTopEarlgreyPinmuxInselIob10) \ | |
| value(_, Iob11, kTopEarlgreyPinmuxInselIob11) \ | |
| value(_, Iob12, kTopEarlgreyPinmuxInselIob12) \ | |
| value(_, Ioc0, kTopEarlgreyPinmuxInselIoc0) \ | |
| value(_, Ioc1, kTopEarlgreyPinmuxInselIoc1) \ | |
| value(_, Ioc2, kTopEarlgreyPinmuxInselIoc2) \ | |
| value(_, Ioc3, kTopEarlgreyPinmuxInselIoc3) \ | |
| value(_, Ioc4, kTopEarlgreyPinmuxInselIoc4) \ | |
| value(_, Ioc5, kTopEarlgreyPinmuxInselIoc5) \ | |
| value(_, Ioc6, kTopEarlgreyPinmuxInselIoc6) \ | |
| value(_, Ioc7, kTopEarlgreyPinmuxInselIoc7) \ | |
| value(_, Ioc8, kTopEarlgreyPinmuxInselIoc8) \ | |
| value(_, Ioc9, kTopEarlgreyPinmuxInselIoc9) \ | |
| value(_, Ioc10, kTopEarlgreyPinmuxInselIoc10) \ | |
| value(_, Ioc11, kTopEarlgreyPinmuxInselIoc11) \ | |
| value(_, Ioc12, kTopEarlgreyPinmuxInselIoc12) \ | |
| value(_, Ior0, kTopEarlgreyPinmuxInselIor0) \ | |
| value(_, Ior1, kTopEarlgreyPinmuxInselIor1) \ | |
| value(_, Ior2, kTopEarlgreyPinmuxInselIor2) \ | |
| value(_, Ior3, kTopEarlgreyPinmuxInselIor3) \ | |
| value(_, Ior4, kTopEarlgreyPinmuxInselIor4) \ | |
| value(_, Ior5, kTopEarlgreyPinmuxInselIor5) \ | |
| value(_, Ior6, kTopEarlgreyPinmuxInselIor6) \ | |
| value(_, Ior7, kTopEarlgreyPinmuxInselIor7) \ | |
| value(_, Ior10, kTopEarlgreyPinmuxInselIor10) \ | |
| value(_, Ior11, kTopEarlgreyPinmuxInselIor11) \ | |
| value(_, Ior12, kTopEarlgreyPinmuxInselIor12) \ | |
| value(_, Ior13, kTopEarlgreyPinmuxInselIor13) \ | |
| value(_, End, kTopEarlgreyPinmuxInselLast + 1) | |
| C_ONLY(UJSON_SERDE_ENUM(PinmuxInsel, pinmux_insel_t, TOP_EARLGREY_PINMUX_INSEL, WITH_UNKNOWN)); | |
| #define TOP_EARLGREY_PINMUX_MIO_OUT(_, value) \ | |
| value(_, Ioa0, kTopEarlgreyPinmuxMioOutIoa0) \ | |
| value(_, Ioa1, kTopEarlgreyPinmuxMioOutIoa1) \ | |
| value(_, Ioa2, kTopEarlgreyPinmuxMioOutIoa2) \ | |
| value(_, Ioa3, kTopEarlgreyPinmuxMioOutIoa3) \ | |
| value(_, Ioa4, kTopEarlgreyPinmuxMioOutIoa4) \ | |
| value(_, Ioa5, kTopEarlgreyPinmuxMioOutIoa5) \ | |
| value(_, Ioa6, kTopEarlgreyPinmuxMioOutIoa6) \ | |
| value(_, Ioa7, kTopEarlgreyPinmuxMioOutIoa7) \ | |
| value(_, Ioa8, kTopEarlgreyPinmuxMioOutIoa8) \ | |
| value(_, Iob0, kTopEarlgreyPinmuxMioOutIob0) \ | |
| value(_, Iob1, kTopEarlgreyPinmuxMioOutIob1) \ | |
| value(_, Iob2, kTopEarlgreyPinmuxMioOutIob2) \ | |
| value(_, Iob3, kTopEarlgreyPinmuxMioOutIob3) \ | |
| value(_, Iob4, kTopEarlgreyPinmuxMioOutIob4) \ | |
| value(_, Iob5, kTopEarlgreyPinmuxMioOutIob5) \ | |
| value(_, Iob6, kTopEarlgreyPinmuxMioOutIob6) \ | |
| value(_, Iob7, kTopEarlgreyPinmuxMioOutIob7) \ | |
| value(_, Iob8, kTopEarlgreyPinmuxMioOutIob8) \ | |
| value(_, Iob9, kTopEarlgreyPinmuxMioOutIob9) \ | |
| value(_, Iob10, kTopEarlgreyPinmuxMioOutIob10) \ | |
| value(_, Iob11, kTopEarlgreyPinmuxMioOutIob11) \ | |
| value(_, Iob12, kTopEarlgreyPinmuxMioOutIob12) \ | |
| value(_, Ioc0, kTopEarlgreyPinmuxMioOutIoc0) \ | |
| value(_, Ioc1, kTopEarlgreyPinmuxMioOutIoc1) \ | |
| value(_, Ioc2, kTopEarlgreyPinmuxMioOutIoc2) \ | |
| value(_, Ioc3, kTopEarlgreyPinmuxMioOutIoc3) \ | |
| value(_, Ioc4, kTopEarlgreyPinmuxMioOutIoc4) \ | |
| value(_, Ioc5, kTopEarlgreyPinmuxMioOutIoc5) \ | |
| value(_, Ioc6, kTopEarlgreyPinmuxMioOutIoc6) \ | |
| value(_, Ioc7, kTopEarlgreyPinmuxMioOutIoc7) \ | |
| value(_, Ioc8, kTopEarlgreyPinmuxMioOutIoc8) \ | |
| value(_, Ioc9, kTopEarlgreyPinmuxMioOutIoc9) \ | |
| value(_, Ioc10, kTopEarlgreyPinmuxMioOutIoc10) \ | |
| value(_, Ioc11, kTopEarlgreyPinmuxMioOutIoc11) \ | |
| value(_, Ioc12, kTopEarlgreyPinmuxMioOutIoc12) \ | |
| value(_, Ior0, kTopEarlgreyPinmuxMioOutIor0) \ | |
| value(_, Ior1, kTopEarlgreyPinmuxMioOutIor1) \ | |
| value(_, Ior2, kTopEarlgreyPinmuxMioOutIor2) \ | |
| value(_, Ior3, kTopEarlgreyPinmuxMioOutIor3) \ | |
| value(_, Ior4, kTopEarlgreyPinmuxMioOutIor4) \ | |
| value(_, Ior5, kTopEarlgreyPinmuxMioOutIor5) \ | |
| value(_, Ior6, kTopEarlgreyPinmuxMioOutIor6) \ | |
| value(_, Ior7, kTopEarlgreyPinmuxMioOutIor7) \ | |
| value(_, Ior10, kTopEarlgreyPinmuxMioOutIor10) \ | |
| value(_, Ior11, kTopEarlgreyPinmuxMioOutIor11) \ | |
| value(_, Ior12, kTopEarlgreyPinmuxMioOutIor12) \ | |
| value(_, Ior13, kTopEarlgreyPinmuxMioOutIor13) \ | |
| value(_, End, kTopEarlgreyPinmuxMioOutLast + 1) | |
| C_ONLY(UJSON_SERDE_ENUM(PinmuxMioOut, pinmux_mio_out_t, TOP_EARLGREY_PINMUX_MIO_OUT, WITH_UNKNOWN)); | |
| #define TOP_EARLGREY_PINMUX_OUTSEL(_, value) \ | |
| value(_, ConstantZero, kTopEarlgreyPinmuxOutselConstantZero) \ | |
| value(_, ConstantOne, kTopEarlgreyPinmuxOutselConstantOne) \ | |
| value(_, ConstantHighZ, kTopEarlgreyPinmuxOutselConstantHighZ) \ | |
| value(_, GpioGpio0, kTopEarlgreyPinmuxOutselGpioGpio0) \ | |
| value(_, GpioGpio1, kTopEarlgreyPinmuxOutselGpioGpio1) \ | |
| value(_, GpioGpio2, kTopEarlgreyPinmuxOutselGpioGpio2) \ | |
| value(_, GpioGpio3, kTopEarlgreyPinmuxOutselGpioGpio3) \ | |
| value(_, GpioGpio4, kTopEarlgreyPinmuxOutselGpioGpio4) \ | |
| value(_, GpioGpio5, kTopEarlgreyPinmuxOutselGpioGpio5) \ | |
| value(_, GpioGpio6, kTopEarlgreyPinmuxOutselGpioGpio6) \ | |
| value(_, GpioGpio7, kTopEarlgreyPinmuxOutselGpioGpio7) \ | |
| value(_, GpioGpio8, kTopEarlgreyPinmuxOutselGpioGpio8) \ | |
| value(_, GpioGpio9, kTopEarlgreyPinmuxOutselGpioGpio9) \ | |
| value(_, GpioGpio10, kTopEarlgreyPinmuxOutselGpioGpio10) \ | |
| value(_, GpioGpio11, kTopEarlgreyPinmuxOutselGpioGpio11) \ | |
| value(_, GpioGpio12, kTopEarlgreyPinmuxOutselGpioGpio12) \ | |
| value(_, GpioGpio13, kTopEarlgreyPinmuxOutselGpioGpio13) \ | |
| value(_, GpioGpio14, kTopEarlgreyPinmuxOutselGpioGpio14) \ | |
| value(_, GpioGpio15, kTopEarlgreyPinmuxOutselGpioGpio15) \ | |
| value(_, GpioGpio16, kTopEarlgreyPinmuxOutselGpioGpio16) \ | |
| value(_, GpioGpio17, kTopEarlgreyPinmuxOutselGpioGpio17) \ | |
| value(_, GpioGpio18, kTopEarlgreyPinmuxOutselGpioGpio18) \ | |
| value(_, GpioGpio19, kTopEarlgreyPinmuxOutselGpioGpio19) \ | |
| value(_, GpioGpio20, kTopEarlgreyPinmuxOutselGpioGpio20) \ | |
| value(_, GpioGpio21, kTopEarlgreyPinmuxOutselGpioGpio21) \ | |
| value(_, GpioGpio22, kTopEarlgreyPinmuxOutselGpioGpio22) \ | |
| value(_, GpioGpio23, kTopEarlgreyPinmuxOutselGpioGpio23) \ | |
| value(_, GpioGpio24, kTopEarlgreyPinmuxOutselGpioGpio24) \ | |
| value(_, GpioGpio25, kTopEarlgreyPinmuxOutselGpioGpio25) \ | |
| value(_, GpioGpio26, kTopEarlgreyPinmuxOutselGpioGpio26) \ | |
| value(_, GpioGpio27, kTopEarlgreyPinmuxOutselGpioGpio27) \ | |
| value(_, GpioGpio28, kTopEarlgreyPinmuxOutselGpioGpio28) \ | |
| value(_, GpioGpio29, kTopEarlgreyPinmuxOutselGpioGpio29) \ | |
| value(_, GpioGpio30, kTopEarlgreyPinmuxOutselGpioGpio30) \ | |
| value(_, GpioGpio31, kTopEarlgreyPinmuxOutselGpioGpio31) \ | |
| value(_, I2c0Sda, kTopEarlgreyPinmuxOutselI2c0Sda) \ | |
| value(_, I2c0Scl, kTopEarlgreyPinmuxOutselI2c0Scl) \ | |
| value(_, I2c1Sda, kTopEarlgreyPinmuxOutselI2c1Sda) \ | |
| value(_, I2c1Scl, kTopEarlgreyPinmuxOutselI2c1Scl) \ | |
| value(_, I2c2Sda, kTopEarlgreyPinmuxOutselI2c2Sda) \ | |
| value(_, I2c2Scl, kTopEarlgreyPinmuxOutselI2c2Scl) \ | |
| value(_, SpiHost1Sd0, kTopEarlgreyPinmuxOutselSpiHost1Sd0) \ | |
| value(_, SpiHost1Sd1, kTopEarlgreyPinmuxOutselSpiHost1Sd1) \ | |
| value(_, SpiHost1Sd2, kTopEarlgreyPinmuxOutselSpiHost1Sd2) \ | |
| value(_, SpiHost1Sd3, kTopEarlgreyPinmuxOutselSpiHost1Sd3) \ | |
| value(_, Uart0Tx, kTopEarlgreyPinmuxOutselUart0Tx) \ | |
| value(_, Uart1Tx, kTopEarlgreyPinmuxOutselUart1Tx) \ | |
| value(_, Uart2Tx, kTopEarlgreyPinmuxOutselUart2Tx) \ | |
| value(_, Uart3Tx, kTopEarlgreyPinmuxOutselUart3Tx) \ | |
| value(_, PattgenPda0Tx, kTopEarlgreyPinmuxOutselPattgenPda0Tx) \ | |
| value(_, PattgenPcl0Tx, kTopEarlgreyPinmuxOutselPattgenPcl0Tx) \ | |
| value(_, PattgenPda1Tx, kTopEarlgreyPinmuxOutselPattgenPda1Tx) \ | |
| value(_, PattgenPcl1Tx, kTopEarlgreyPinmuxOutselPattgenPcl1Tx) \ | |
| value(_, SpiHost1Sck, kTopEarlgreyPinmuxOutselSpiHost1Sck) \ | |
| value(_, SpiHost1Csb, kTopEarlgreyPinmuxOutselSpiHost1Csb) \ | |
| value(_, FlashCtrlTdo, kTopEarlgreyPinmuxOutselFlashCtrlTdo) \ | |
| value(_, SensorCtrlAstDebugOut0, kTopEarlgreyPinmuxOutselSensorCtrlAstDebugOut0) \ | |
| value(_, SensorCtrlAstDebugOut1, kTopEarlgreyPinmuxOutselSensorCtrlAstDebugOut1) \ | |
| value(_, SensorCtrlAstDebugOut2, kTopEarlgreyPinmuxOutselSensorCtrlAstDebugOut2) \ | |
| value(_, SensorCtrlAstDebugOut3, kTopEarlgreyPinmuxOutselSensorCtrlAstDebugOut3) \ | |
| value(_, SensorCtrlAstDebugOut4, kTopEarlgreyPinmuxOutselSensorCtrlAstDebugOut4) \ | |
| value(_, SensorCtrlAstDebugOut5, kTopEarlgreyPinmuxOutselSensorCtrlAstDebugOut5) \ | |
| value(_, SensorCtrlAstDebugOut6, kTopEarlgreyPinmuxOutselSensorCtrlAstDebugOut6) \ | |
| value(_, SensorCtrlAstDebugOut7, kTopEarlgreyPinmuxOutselSensorCtrlAstDebugOut7) \ | |
| value(_, SensorCtrlAstDebugOut8, kTopEarlgreyPinmuxOutselSensorCtrlAstDebugOut8) \ | |
| value(_, PwmAonPwm0, kTopEarlgreyPinmuxOutselPwmAonPwm0) \ | |
| value(_, PwmAonPwm1, kTopEarlgreyPinmuxOutselPwmAonPwm1) \ | |
| value(_, PwmAonPwm2, kTopEarlgreyPinmuxOutselPwmAonPwm2) \ | |
| value(_, PwmAonPwm3, kTopEarlgreyPinmuxOutselPwmAonPwm3) \ | |
| value(_, PwmAonPwm4, kTopEarlgreyPinmuxOutselPwmAonPwm4) \ | |
| value(_, PwmAonPwm5, kTopEarlgreyPinmuxOutselPwmAonPwm5) \ | |
| value(_, OtpCtrlTest0, kTopEarlgreyPinmuxOutselOtpCtrlTest0) \ | |
| value(_, SysrstCtrlAonBatDisable, kTopEarlgreyPinmuxOutselSysrstCtrlAonBatDisable) \ | |
| value(_, SysrstCtrlAonKey0Out, kTopEarlgreyPinmuxOutselSysrstCtrlAonKey0Out) \ | |
| value(_, SysrstCtrlAonKey1Out, kTopEarlgreyPinmuxOutselSysrstCtrlAonKey1Out) \ | |
| value(_, SysrstCtrlAonKey2Out, kTopEarlgreyPinmuxOutselSysrstCtrlAonKey2Out) \ | |
| value(_, SysrstCtrlAonPwrbOut, kTopEarlgreyPinmuxOutselSysrstCtrlAonPwrbOut) \ | |
| value(_, SysrstCtrlAonZ3Wakeup, kTopEarlgreyPinmuxOutselSysrstCtrlAonZ3Wakeup) \ | |
| value(_, End, kTopEarlgreyPinmuxOutselLast + 1) | |
| C_ONLY(UJSON_SERDE_ENUM(PinmuxOutsel, pinmux_outsel_t, TOP_EARLGREY_PINMUX_OUTSEL, WITH_UNKNOWN)); | |
| #define TOP_EARLGREY_DIRECT_PADS(_, value) \ | |
| value(_, UsbdevUsbDp, kTopEarlgreyDirectPadsUsbdevUsbDp) \ | |
| value(_, UsbdevUsbDn, kTopEarlgreyDirectPadsUsbdevUsbDn) \ | |
| value(_, SpiHost0Sd0, kTopEarlgreyDirectPadsSpiHost0Sd0) \ | |
| value(_, SpiHost0Sd1, kTopEarlgreyDirectPadsSpiHost0Sd1) \ | |
| value(_, SpiHost0Sd2, kTopEarlgreyDirectPadsSpiHost0Sd2) \ | |
| value(_, SpiHost0Sd3, kTopEarlgreyDirectPadsSpiHost0Sd3) \ | |
| value(_, SpiDeviceSd0, kTopEarlgreyDirectPadsSpiDeviceSd0) \ | |
| value(_, SpiDeviceSd1, kTopEarlgreyDirectPadsSpiDeviceSd1) \ | |
| value(_, SpiDeviceSd2, kTopEarlgreyDirectPadsSpiDeviceSd2) \ | |
| value(_, SpiDeviceSd3, kTopEarlgreyDirectPadsSpiDeviceSd3) \ | |
| value(_, SysrstCtrlAonEcRstL, kTopEarlgreyDirectPadsSysrstCtrlAonEcRstL) \ | |
| value(_, SysrstCtrlAonFlashWpL, kTopEarlgreyDirectPadsSysrstCtrlAonFlashWpL) \ | |
| value(_, SpiDeviceSck, kTopEarlgreyDirectPadsSpiDeviceSck) \ | |
| value(_, SpiDeviceCsb, kTopEarlgreyDirectPadsSpiDeviceCsb) \ | |
| value(_, SpiHost0Sck, kTopEarlgreyDirectPadsSpiHost0Sck) \ | |
| value(_, SpiHost0Csb, kTopEarlgreyDirectPadsSpiHost0Csb) \ | |
| value(_, End, kTopEarlgreyDirectPadsLast + 1) | |
| C_ONLY(UJSON_SERDE_ENUM(DirectPads, direct_pads_t, TOP_EARLGREY_DIRECT_PADS, WITH_UNKNOWN)); | |
| #define TOP_EARLGREY_MUXED_PADS(_, value) \ | |
| value(_, Ioa0, kTopEarlgreyMuxedPadsIoa0) \ | |
| value(_, Ioa1, kTopEarlgreyMuxedPadsIoa1) \ | |
| value(_, Ioa2, kTopEarlgreyMuxedPadsIoa2) \ | |
| value(_, Ioa3, kTopEarlgreyMuxedPadsIoa3) \ | |
| value(_, Ioa4, kTopEarlgreyMuxedPadsIoa4) \ | |
| value(_, Ioa5, kTopEarlgreyMuxedPadsIoa5) \ | |
| value(_, Ioa6, kTopEarlgreyMuxedPadsIoa6) \ | |
| value(_, Ioa7, kTopEarlgreyMuxedPadsIoa7) \ | |
| value(_, Ioa8, kTopEarlgreyMuxedPadsIoa8) \ | |
| value(_, Iob0, kTopEarlgreyMuxedPadsIob0) \ | |
| value(_, Iob1, kTopEarlgreyMuxedPadsIob1) \ | |
| value(_, Iob2, kTopEarlgreyMuxedPadsIob2) \ | |
| value(_, Iob3, kTopEarlgreyMuxedPadsIob3) \ | |
| value(_, Iob4, kTopEarlgreyMuxedPadsIob4) \ | |
| value(_, Iob5, kTopEarlgreyMuxedPadsIob5) \ | |
| value(_, Iob6, kTopEarlgreyMuxedPadsIob6) \ | |
| value(_, Iob7, kTopEarlgreyMuxedPadsIob7) \ | |
| value(_, Iob8, kTopEarlgreyMuxedPadsIob8) \ | |
| value(_, Iob9, kTopEarlgreyMuxedPadsIob9) \ | |
| value(_, Iob10, kTopEarlgreyMuxedPadsIob10) \ | |
| value(_, Iob11, kTopEarlgreyMuxedPadsIob11) \ | |
| value(_, Iob12, kTopEarlgreyMuxedPadsIob12) \ | |
| value(_, Ioc0, kTopEarlgreyMuxedPadsIoc0) \ | |
| value(_, Ioc1, kTopEarlgreyMuxedPadsIoc1) \ | |
| value(_, Ioc2, kTopEarlgreyMuxedPadsIoc2) \ | |
| value(_, Ioc3, kTopEarlgreyMuxedPadsIoc3) \ | |
| value(_, Ioc4, kTopEarlgreyMuxedPadsIoc4) \ | |
| value(_, Ioc5, kTopEarlgreyMuxedPadsIoc5) \ | |
| value(_, Ioc6, kTopEarlgreyMuxedPadsIoc6) \ | |
| value(_, Ioc7, kTopEarlgreyMuxedPadsIoc7) \ | |
| value(_, Ioc8, kTopEarlgreyMuxedPadsIoc8) \ | |
| value(_, Ioc9, kTopEarlgreyMuxedPadsIoc9) \ | |
| value(_, Ioc10, kTopEarlgreyMuxedPadsIoc10) \ | |
| value(_, Ioc11, kTopEarlgreyMuxedPadsIoc11) \ | |
| value(_, Ioc12, kTopEarlgreyMuxedPadsIoc12) \ | |
| value(_, Ior0, kTopEarlgreyMuxedPadsIor0) \ | |
| value(_, Ior1, kTopEarlgreyMuxedPadsIor1) \ | |
| value(_, Ior2, kTopEarlgreyMuxedPadsIor2) \ | |
| value(_, Ior3, kTopEarlgreyMuxedPadsIor3) \ | |
| value(_, Ior4, kTopEarlgreyMuxedPadsIor4) \ | |
| value(_, Ior5, kTopEarlgreyMuxedPadsIor5) \ | |
| value(_, Ior6, kTopEarlgreyMuxedPadsIor6) \ | |
| value(_, Ior7, kTopEarlgreyMuxedPadsIor7) \ | |
| value(_, Ior10, kTopEarlgreyMuxedPadsIor10) \ | |
| value(_, Ior11, kTopEarlgreyMuxedPadsIor11) \ | |
| value(_, Ior12, kTopEarlgreyMuxedPadsIor12) \ | |
| value(_, Ior13, kTopEarlgreyMuxedPadsIor13) \ | |
| value(_, End, kTopEarlgreyMuxedPadsLast + 1) | |
| C_ONLY(UJSON_SERDE_ENUM(MuxedPads, muxed_pads_t, TOP_EARLGREY_MUXED_PADS, WITH_UNKNOWN)); | |
| // clang-format on | |
| #ifdef __cplusplus | |
| } | |
| #endif | |
| #endif // OPENTITAN_SW_DEVICE_LIB_TESTING_JSON_PINMUX_H_ |