5 #ifndef OPENTITAN_SW_DEVICE_LIB_TESTING_JSON_PINMUX_H_
6 #define OPENTITAN_SW_DEVICE_LIB_TESTING_JSON_PINMUX_H_
7 #include "sw/device/lib/ujson/ujson_derive.h"
17 #ifndef RUST_PREPROCESSOR_EMIT
22 #define TOP_EARLGREY_PINMUX_PERIPHERAL_IN(_, value) \
23 value(_, GpioGpio0, kTopEarlgreyPinmuxPeripheralInGpioGpio0) \
24 value(_, GpioGpio1, kTopEarlgreyPinmuxPeripheralInGpioGpio1) \
25 value(_, GpioGpio2, kTopEarlgreyPinmuxPeripheralInGpioGpio2) \
26 value(_, GpioGpio3, kTopEarlgreyPinmuxPeripheralInGpioGpio3) \
27 value(_, GpioGpio4, kTopEarlgreyPinmuxPeripheralInGpioGpio4) \
28 value(_, GpioGpio5, kTopEarlgreyPinmuxPeripheralInGpioGpio5) \
29 value(_, GpioGpio6, kTopEarlgreyPinmuxPeripheralInGpioGpio6) \
30 value(_, GpioGpio7, kTopEarlgreyPinmuxPeripheralInGpioGpio7) \
31 value(_, GpioGpio8, kTopEarlgreyPinmuxPeripheralInGpioGpio8) \
32 value(_, GpioGpio9, kTopEarlgreyPinmuxPeripheralInGpioGpio9) \
33 value(_, GpioGpio10, kTopEarlgreyPinmuxPeripheralInGpioGpio10) \
34 value(_, GpioGpio11, kTopEarlgreyPinmuxPeripheralInGpioGpio11) \
35 value(_, GpioGpio12, kTopEarlgreyPinmuxPeripheralInGpioGpio12) \
36 value(_, GpioGpio13, kTopEarlgreyPinmuxPeripheralInGpioGpio13) \
37 value(_, GpioGpio14, kTopEarlgreyPinmuxPeripheralInGpioGpio14) \
38 value(_, GpioGpio15, kTopEarlgreyPinmuxPeripheralInGpioGpio15) \
39 value(_, GpioGpio16, kTopEarlgreyPinmuxPeripheralInGpioGpio16) \
40 value(_, GpioGpio17, kTopEarlgreyPinmuxPeripheralInGpioGpio17) \
41 value(_, GpioGpio18, kTopEarlgreyPinmuxPeripheralInGpioGpio18) \
42 value(_, GpioGpio19, kTopEarlgreyPinmuxPeripheralInGpioGpio19) \
43 value(_, GpioGpio20, kTopEarlgreyPinmuxPeripheralInGpioGpio20) \
44 value(_, GpioGpio21, kTopEarlgreyPinmuxPeripheralInGpioGpio21) \
45 value(_, GpioGpio22, kTopEarlgreyPinmuxPeripheralInGpioGpio22) \
46 value(_, GpioGpio23, kTopEarlgreyPinmuxPeripheralInGpioGpio23) \
47 value(_, GpioGpio24, kTopEarlgreyPinmuxPeripheralInGpioGpio24) \
48 value(_, GpioGpio25, kTopEarlgreyPinmuxPeripheralInGpioGpio25) \
49 value(_, GpioGpio26, kTopEarlgreyPinmuxPeripheralInGpioGpio26) \
50 value(_, GpioGpio27, kTopEarlgreyPinmuxPeripheralInGpioGpio27) \
51 value(_, GpioGpio28, kTopEarlgreyPinmuxPeripheralInGpioGpio28) \
52 value(_, GpioGpio29, kTopEarlgreyPinmuxPeripheralInGpioGpio29) \
53 value(_, GpioGpio30, kTopEarlgreyPinmuxPeripheralInGpioGpio30) \
54 value(_, GpioGpio31, kTopEarlgreyPinmuxPeripheralInGpioGpio31) \
55 value(_, I2c0Sda, kTopEarlgreyPinmuxPeripheralInI2c0Sda) \
56 value(_, I2c0Scl, kTopEarlgreyPinmuxPeripheralInI2c0Scl) \
57 value(_, I2c1Sda, kTopEarlgreyPinmuxPeripheralInI2c1Sda) \
58 value(_, I2c1Scl, kTopEarlgreyPinmuxPeripheralInI2c1Scl) \
59 value(_, I2c2Sda, kTopEarlgreyPinmuxPeripheralInI2c2Sda) \
60 value(_, I2c2Scl, kTopEarlgreyPinmuxPeripheralInI2c2Scl) \
61 value(_, SpiHost1Sd0, kTopEarlgreyPinmuxPeripheralInSpiHost1Sd0) \
62 value(_, SpiHost1Sd1, kTopEarlgreyPinmuxPeripheralInSpiHost1Sd1) \
63 value(_, SpiHost1Sd2, kTopEarlgreyPinmuxPeripheralInSpiHost1Sd2) \
64 value(_, SpiHost1Sd3, kTopEarlgreyPinmuxPeripheralInSpiHost1Sd3) \
65 value(_, Uart0Rx, kTopEarlgreyPinmuxPeripheralInUart0Rx) \
66 value(_, Uart1Rx, kTopEarlgreyPinmuxPeripheralInUart1Rx) \
67 value(_, Uart2Rx, kTopEarlgreyPinmuxPeripheralInUart2Rx) \
68 value(_, Uart3Rx, kTopEarlgreyPinmuxPeripheralInUart3Rx) \
69 value(_, SpiDeviceTpmCsb, kTopEarlgreyPinmuxPeripheralInSpiDeviceTpmCsb) \
70 value(_, FlashCtrlTck, kTopEarlgreyPinmuxPeripheralInFlashCtrlTck) \
71 value(_, FlashCtrlTms, kTopEarlgreyPinmuxPeripheralInFlashCtrlTms) \
72 value(_, FlashCtrlTdi, kTopEarlgreyPinmuxPeripheralInFlashCtrlTdi) \
73 value(_, SysrstCtrlAonAcPresent, kTopEarlgreyPinmuxPeripheralInSysrstCtrlAonAcPresent) \
74 value(_, SysrstCtrlAonKey0In, kTopEarlgreyPinmuxPeripheralInSysrstCtrlAonKey0In) \
75 value(_, SysrstCtrlAonKey1In, kTopEarlgreyPinmuxPeripheralInSysrstCtrlAonKey1In) \
76 value(_, SysrstCtrlAonKey2In, kTopEarlgreyPinmuxPeripheralInSysrstCtrlAonKey2In) \
77 value(_, SysrstCtrlAonPwrbIn, kTopEarlgreyPinmuxPeripheralInSysrstCtrlAonPwrbIn) \
78 value(_, SysrstCtrlAonLidOpen, kTopEarlgreyPinmuxPeripheralInSysrstCtrlAonLidOpen) \
79 value(_, UsbdevSense, kTopEarlgreyPinmuxPeripheralInUsbdevSense) \
80 value(_, End, kTopEarlgreyPinmuxPeripheralInLast + 1)
81 C_ONLY(UJSON_SERDE_ENUM(PinmuxPeripheralIn, pinmux_peripheral_in_t, TOP_EARLGREY_PINMUX_PERIPHERAL_IN, WITH_UNKNOWN));
83 #define TOP_EARLGREY_PINMUX_INSEL(_, value) \
84 value(_, ConstantZero, kTopEarlgreyPinmuxInselConstantZero) \
85 value(_, ConstantOne, kTopEarlgreyPinmuxInselConstantOne) \
86 value(_, Ioa0, kTopEarlgreyPinmuxInselIoa0) \
87 value(_, Ioa1, kTopEarlgreyPinmuxInselIoa1) \
88 value(_, Ioa2, kTopEarlgreyPinmuxInselIoa2) \
89 value(_, Ioa3, kTopEarlgreyPinmuxInselIoa3) \
90 value(_, Ioa4, kTopEarlgreyPinmuxInselIoa4) \
91 value(_, Ioa5, kTopEarlgreyPinmuxInselIoa5) \
92 value(_, Ioa6, kTopEarlgreyPinmuxInselIoa6) \
93 value(_, Ioa7, kTopEarlgreyPinmuxInselIoa7) \
94 value(_, Ioa8, kTopEarlgreyPinmuxInselIoa8) \
95 value(_, Iob0, kTopEarlgreyPinmuxInselIob0) \
96 value(_, Iob1, kTopEarlgreyPinmuxInselIob1) \
97 value(_, Iob2, kTopEarlgreyPinmuxInselIob2) \
98 value(_, Iob3, kTopEarlgreyPinmuxInselIob3) \
99 value(_, Iob4, kTopEarlgreyPinmuxInselIob4) \
100 value(_, Iob5, kTopEarlgreyPinmuxInselIob5) \
101 value(_, Iob6, kTopEarlgreyPinmuxInselIob6) \
102 value(_, Iob7, kTopEarlgreyPinmuxInselIob7) \
103 value(_, Iob8, kTopEarlgreyPinmuxInselIob8) \
104 value(_, Iob9, kTopEarlgreyPinmuxInselIob9) \
105 value(_, Iob10, kTopEarlgreyPinmuxInselIob10) \
106 value(_, Iob11, kTopEarlgreyPinmuxInselIob11) \
107 value(_, Iob12, kTopEarlgreyPinmuxInselIob12) \
108 value(_, Ioc0, kTopEarlgreyPinmuxInselIoc0) \
109 value(_, Ioc1, kTopEarlgreyPinmuxInselIoc1) \
110 value(_, Ioc2, kTopEarlgreyPinmuxInselIoc2) \
111 value(_, Ioc3, kTopEarlgreyPinmuxInselIoc3) \
112 value(_, Ioc4, kTopEarlgreyPinmuxInselIoc4) \
113 value(_, Ioc5, kTopEarlgreyPinmuxInselIoc5) \
114 value(_, Ioc6, kTopEarlgreyPinmuxInselIoc6) \
115 value(_, Ioc7, kTopEarlgreyPinmuxInselIoc7) \
116 value(_, Ioc8, kTopEarlgreyPinmuxInselIoc8) \
117 value(_, Ioc9, kTopEarlgreyPinmuxInselIoc9) \
118 value(_, Ioc10, kTopEarlgreyPinmuxInselIoc10) \
119 value(_, Ioc11, kTopEarlgreyPinmuxInselIoc11) \
120 value(_, Ioc12, kTopEarlgreyPinmuxInselIoc12) \
121 value(_, Ior0, kTopEarlgreyPinmuxInselIor0) \
122 value(_, Ior1, kTopEarlgreyPinmuxInselIor1) \
123 value(_, Ior2, kTopEarlgreyPinmuxInselIor2) \
124 value(_, Ior3, kTopEarlgreyPinmuxInselIor3) \
125 value(_, Ior4, kTopEarlgreyPinmuxInselIor4) \
126 value(_, Ior5, kTopEarlgreyPinmuxInselIor5) \
127 value(_, Ior6, kTopEarlgreyPinmuxInselIor6) \
128 value(_, Ior7, kTopEarlgreyPinmuxInselIor7) \
129 value(_, Ior10, kTopEarlgreyPinmuxInselIor10) \
130 value(_, Ior11, kTopEarlgreyPinmuxInselIor11) \
131 value(_, Ior12, kTopEarlgreyPinmuxInselIor12) \
132 value(_, Ior13, kTopEarlgreyPinmuxInselIor13) \
133 value(_, End, kTopEarlgreyPinmuxInselLast + 1)
134 C_ONLY(UJSON_SERDE_ENUM(PinmuxInsel, pinmux_insel_t, TOP_EARLGREY_PINMUX_INSEL, WITH_UNKNOWN));
136 #define TOP_EARLGREY_PINMUX_MIO_OUT(_, value) \
137 value(_, Ioa0, kTopEarlgreyPinmuxMioOutIoa0) \
138 value(_, Ioa1, kTopEarlgreyPinmuxMioOutIoa1) \
139 value(_, Ioa2, kTopEarlgreyPinmuxMioOutIoa2) \
140 value(_, Ioa3, kTopEarlgreyPinmuxMioOutIoa3) \
141 value(_, Ioa4, kTopEarlgreyPinmuxMioOutIoa4) \
142 value(_, Ioa5, kTopEarlgreyPinmuxMioOutIoa5) \
143 value(_, Ioa6, kTopEarlgreyPinmuxMioOutIoa6) \
144 value(_, Ioa7, kTopEarlgreyPinmuxMioOutIoa7) \
145 value(_, Ioa8, kTopEarlgreyPinmuxMioOutIoa8) \
146 value(_, Iob0, kTopEarlgreyPinmuxMioOutIob0) \
147 value(_, Iob1, kTopEarlgreyPinmuxMioOutIob1) \
148 value(_, Iob2, kTopEarlgreyPinmuxMioOutIob2) \
149 value(_, Iob3, kTopEarlgreyPinmuxMioOutIob3) \
150 value(_, Iob4, kTopEarlgreyPinmuxMioOutIob4) \
151 value(_, Iob5, kTopEarlgreyPinmuxMioOutIob5) \
152 value(_, Iob6, kTopEarlgreyPinmuxMioOutIob6) \
153 value(_, Iob7, kTopEarlgreyPinmuxMioOutIob7) \
154 value(_, Iob8, kTopEarlgreyPinmuxMioOutIob8) \
155 value(_, Iob9, kTopEarlgreyPinmuxMioOutIob9) \
156 value(_, Iob10, kTopEarlgreyPinmuxMioOutIob10) \
157 value(_, Iob11, kTopEarlgreyPinmuxMioOutIob11) \
158 value(_, Iob12, kTopEarlgreyPinmuxMioOutIob12) \
159 value(_, Ioc0, kTopEarlgreyPinmuxMioOutIoc0) \
160 value(_, Ioc1, kTopEarlgreyPinmuxMioOutIoc1) \
161 value(_, Ioc2, kTopEarlgreyPinmuxMioOutIoc2) \
162 value(_, Ioc3, kTopEarlgreyPinmuxMioOutIoc3) \
163 value(_, Ioc4, kTopEarlgreyPinmuxMioOutIoc4) \
164 value(_, Ioc5, kTopEarlgreyPinmuxMioOutIoc5) \
165 value(_, Ioc6, kTopEarlgreyPinmuxMioOutIoc6) \
166 value(_, Ioc7, kTopEarlgreyPinmuxMioOutIoc7) \
167 value(_, Ioc8, kTopEarlgreyPinmuxMioOutIoc8) \
168 value(_, Ioc9, kTopEarlgreyPinmuxMioOutIoc9) \
169 value(_, Ioc10, kTopEarlgreyPinmuxMioOutIoc10) \
170 value(_, Ioc11, kTopEarlgreyPinmuxMioOutIoc11) \
171 value(_, Ioc12, kTopEarlgreyPinmuxMioOutIoc12) \
172 value(_, Ior0, kTopEarlgreyPinmuxMioOutIor0) \
173 value(_, Ior1, kTopEarlgreyPinmuxMioOutIor1) \
174 value(_, Ior2, kTopEarlgreyPinmuxMioOutIor2) \
175 value(_, Ior3, kTopEarlgreyPinmuxMioOutIor3) \
176 value(_, Ior4, kTopEarlgreyPinmuxMioOutIor4) \
177 value(_, Ior5, kTopEarlgreyPinmuxMioOutIor5) \
178 value(_, Ior6, kTopEarlgreyPinmuxMioOutIor6) \
179 value(_, Ior7, kTopEarlgreyPinmuxMioOutIor7) \
180 value(_, Ior10, kTopEarlgreyPinmuxMioOutIor10) \
181 value(_, Ior11, kTopEarlgreyPinmuxMioOutIor11) \
182 value(_, Ior12, kTopEarlgreyPinmuxMioOutIor12) \
183 value(_, Ior13, kTopEarlgreyPinmuxMioOutIor13) \
184 value(_, End, kTopEarlgreyPinmuxMioOutLast + 1)
185 C_ONLY(UJSON_SERDE_ENUM(PinmuxMioOut, pinmux_mio_out_t, TOP_EARLGREY_PINMUX_MIO_OUT, WITH_UNKNOWN));
187 #define TOP_EARLGREY_PINMUX_OUTSEL(_, value) \
188 value(_, ConstantZero, kTopEarlgreyPinmuxOutselConstantZero) \
189 value(_, ConstantOne, kTopEarlgreyPinmuxOutselConstantOne) \
190 value(_, ConstantHighZ, kTopEarlgreyPinmuxOutselConstantHighZ) \
191 value(_, GpioGpio0, kTopEarlgreyPinmuxOutselGpioGpio0) \
192 value(_, GpioGpio1, kTopEarlgreyPinmuxOutselGpioGpio1) \
193 value(_, GpioGpio2, kTopEarlgreyPinmuxOutselGpioGpio2) \
194 value(_, GpioGpio3, kTopEarlgreyPinmuxOutselGpioGpio3) \
195 value(_, GpioGpio4, kTopEarlgreyPinmuxOutselGpioGpio4) \
196 value(_, GpioGpio5, kTopEarlgreyPinmuxOutselGpioGpio5) \
197 value(_, GpioGpio6, kTopEarlgreyPinmuxOutselGpioGpio6) \
198 value(_, GpioGpio7, kTopEarlgreyPinmuxOutselGpioGpio7) \
199 value(_, GpioGpio8, kTopEarlgreyPinmuxOutselGpioGpio8) \
200 value(_, GpioGpio9, kTopEarlgreyPinmuxOutselGpioGpio9) \
201 value(_, GpioGpio10, kTopEarlgreyPinmuxOutselGpioGpio10) \
202 value(_, GpioGpio11, kTopEarlgreyPinmuxOutselGpioGpio11) \
203 value(_, GpioGpio12, kTopEarlgreyPinmuxOutselGpioGpio12) \
204 value(_, GpioGpio13, kTopEarlgreyPinmuxOutselGpioGpio13) \
205 value(_, GpioGpio14, kTopEarlgreyPinmuxOutselGpioGpio14) \
206 value(_, GpioGpio15, kTopEarlgreyPinmuxOutselGpioGpio15) \
207 value(_, GpioGpio16, kTopEarlgreyPinmuxOutselGpioGpio16) \
208 value(_, GpioGpio17, kTopEarlgreyPinmuxOutselGpioGpio17) \
209 value(_, GpioGpio18, kTopEarlgreyPinmuxOutselGpioGpio18) \
210 value(_, GpioGpio19, kTopEarlgreyPinmuxOutselGpioGpio19) \
211 value(_, GpioGpio20, kTopEarlgreyPinmuxOutselGpioGpio20) \
212 value(_, GpioGpio21, kTopEarlgreyPinmuxOutselGpioGpio21) \
213 value(_, GpioGpio22, kTopEarlgreyPinmuxOutselGpioGpio22) \
214 value(_, GpioGpio23, kTopEarlgreyPinmuxOutselGpioGpio23) \
215 value(_, GpioGpio24, kTopEarlgreyPinmuxOutselGpioGpio24) \
216 value(_, GpioGpio25, kTopEarlgreyPinmuxOutselGpioGpio25) \
217 value(_, GpioGpio26, kTopEarlgreyPinmuxOutselGpioGpio26) \
218 value(_, GpioGpio27, kTopEarlgreyPinmuxOutselGpioGpio27) \
219 value(_, GpioGpio28, kTopEarlgreyPinmuxOutselGpioGpio28) \
220 value(_, GpioGpio29, kTopEarlgreyPinmuxOutselGpioGpio29) \
221 value(_, GpioGpio30, kTopEarlgreyPinmuxOutselGpioGpio30) \
222 value(_, GpioGpio31, kTopEarlgreyPinmuxOutselGpioGpio31) \
223 value(_, I2c0Sda, kTopEarlgreyPinmuxOutselI2c0Sda) \
224 value(_, I2c0Scl, kTopEarlgreyPinmuxOutselI2c0Scl) \
225 value(_, I2c1Sda, kTopEarlgreyPinmuxOutselI2c1Sda) \
226 value(_, I2c1Scl, kTopEarlgreyPinmuxOutselI2c1Scl) \
227 value(_, I2c2Sda, kTopEarlgreyPinmuxOutselI2c2Sda) \
228 value(_, I2c2Scl, kTopEarlgreyPinmuxOutselI2c2Scl) \
229 value(_, SpiHost1Sd0, kTopEarlgreyPinmuxOutselSpiHost1Sd0) \
230 value(_, SpiHost1Sd1, kTopEarlgreyPinmuxOutselSpiHost1Sd1) \
231 value(_, SpiHost1Sd2, kTopEarlgreyPinmuxOutselSpiHost1Sd2) \
232 value(_, SpiHost1Sd3, kTopEarlgreyPinmuxOutselSpiHost1Sd3) \
233 value(_, Uart0Tx, kTopEarlgreyPinmuxOutselUart0Tx) \
234 value(_, Uart1Tx, kTopEarlgreyPinmuxOutselUart1Tx) \
235 value(_, Uart2Tx, kTopEarlgreyPinmuxOutselUart2Tx) \
236 value(_, Uart3Tx, kTopEarlgreyPinmuxOutselUart3Tx) \
237 value(_, PattgenPda0Tx, kTopEarlgreyPinmuxOutselPattgenPda0Tx) \
238 value(_, PattgenPcl0Tx, kTopEarlgreyPinmuxOutselPattgenPcl0Tx) \
239 value(_, PattgenPda1Tx, kTopEarlgreyPinmuxOutselPattgenPda1Tx) \
240 value(_, PattgenPcl1Tx, kTopEarlgreyPinmuxOutselPattgenPcl1Tx) \
241 value(_, SpiHost1Sck, kTopEarlgreyPinmuxOutselSpiHost1Sck) \
242 value(_, SpiHost1Csb, kTopEarlgreyPinmuxOutselSpiHost1Csb) \
243 value(_, FlashCtrlTdo, kTopEarlgreyPinmuxOutselFlashCtrlTdo) \
244 value(_, SensorCtrlAstDebugOut0, kTopEarlgreyPinmuxOutselSensorCtrlAonAstDebugOut0) \
245 value(_, SensorCtrlAstDebugOut1, kTopEarlgreyPinmuxOutselSensorCtrlAonAstDebugOut1) \
246 value(_, SensorCtrlAstDebugOut2, kTopEarlgreyPinmuxOutselSensorCtrlAonAstDebugOut2) \
247 value(_, SensorCtrlAstDebugOut3, kTopEarlgreyPinmuxOutselSensorCtrlAonAstDebugOut3) \
248 value(_, SensorCtrlAstDebugOut4, kTopEarlgreyPinmuxOutselSensorCtrlAonAstDebugOut4) \
249 value(_, SensorCtrlAstDebugOut5, kTopEarlgreyPinmuxOutselSensorCtrlAonAstDebugOut5) \
250 value(_, SensorCtrlAstDebugOut6, kTopEarlgreyPinmuxOutselSensorCtrlAonAstDebugOut6) \
251 value(_, SensorCtrlAstDebugOut7, kTopEarlgreyPinmuxOutselSensorCtrlAonAstDebugOut7) \
252 value(_, SensorCtrlAstDebugOut8, kTopEarlgreyPinmuxOutselSensorCtrlAonAstDebugOut8) \
253 value(_, PwmAonPwm0, kTopEarlgreyPinmuxOutselPwmAonPwm0) \
254 value(_, PwmAonPwm1, kTopEarlgreyPinmuxOutselPwmAonPwm1) \
255 value(_, PwmAonPwm2, kTopEarlgreyPinmuxOutselPwmAonPwm2) \
256 value(_, PwmAonPwm3, kTopEarlgreyPinmuxOutselPwmAonPwm3) \
257 value(_, PwmAonPwm4, kTopEarlgreyPinmuxOutselPwmAonPwm4) \
258 value(_, PwmAonPwm5, kTopEarlgreyPinmuxOutselPwmAonPwm5) \
259 value(_, OtpCtrlTest0, kTopEarlgreyPinmuxOutselOtpCtrlTest0) \
260 value(_, SysrstCtrlAonBatDisable, kTopEarlgreyPinmuxOutselSysrstCtrlAonBatDisable) \
261 value(_, SysrstCtrlAonKey0Out, kTopEarlgreyPinmuxOutselSysrstCtrlAonKey0Out) \
262 value(_, SysrstCtrlAonKey1Out, kTopEarlgreyPinmuxOutselSysrstCtrlAonKey1Out) \
263 value(_, SysrstCtrlAonKey2Out, kTopEarlgreyPinmuxOutselSysrstCtrlAonKey2Out) \
264 value(_, SysrstCtrlAonPwrbOut, kTopEarlgreyPinmuxOutselSysrstCtrlAonPwrbOut) \
265 value(_, SysrstCtrlAonZ3Wakeup, kTopEarlgreyPinmuxOutselSysrstCtrlAonZ3Wakeup) \
266 value(_, End, kTopEarlgreyPinmuxOutselLast + 1)
267 C_ONLY(UJSON_SERDE_ENUM(PinmuxOutsel, pinmux_outsel_t, TOP_EARLGREY_PINMUX_OUTSEL, WITH_UNKNOWN));
269 #define TOP_EARLGREY_DIRECT_PADS(_, value) \
270 value(_, UsbdevUsbDp, kTopEarlgreyDirectPadsUsbdevUsbDp) \
271 value(_, UsbdevUsbDn, kTopEarlgreyDirectPadsUsbdevUsbDn) \
272 value(_, SpiHost0Sd0, kTopEarlgreyDirectPadsSpiHost0Sd0) \
273 value(_, SpiHost0Sd1, kTopEarlgreyDirectPadsSpiHost0Sd1) \
274 value(_, SpiHost0Sd2, kTopEarlgreyDirectPadsSpiHost0Sd2) \
275 value(_, SpiHost0Sd3, kTopEarlgreyDirectPadsSpiHost0Sd3) \
276 value(_, SpiDeviceSd0, kTopEarlgreyDirectPadsSpiDeviceSd0) \
277 value(_, SpiDeviceSd1, kTopEarlgreyDirectPadsSpiDeviceSd1) \
278 value(_, SpiDeviceSd2, kTopEarlgreyDirectPadsSpiDeviceSd2) \
279 value(_, SpiDeviceSd3, kTopEarlgreyDirectPadsSpiDeviceSd3) \
280 value(_, SysrstCtrlAonEcRstL, kTopEarlgreyDirectPadsSysrstCtrlAonEcRstL) \
281 value(_, SysrstCtrlAonFlashWpL, kTopEarlgreyDirectPadsSysrstCtrlAonFlashWpL) \
282 value(_, SpiDeviceSck, kTopEarlgreyDirectPadsSpiDeviceSck) \
283 value(_, SpiDeviceCsb, kTopEarlgreyDirectPadsSpiDeviceCsb) \
284 value(_, SpiHost0Sck, kTopEarlgreyDirectPadsSpiHost0Sck) \
285 value(_, SpiHost0Csb, kTopEarlgreyDirectPadsSpiHost0Csb) \
286 value(_, End, kTopEarlgreyDirectPadsLast + 1)
287 C_ONLY(UJSON_SERDE_ENUM(DirectPads, direct_pads_t, TOP_EARLGREY_DIRECT_PADS, WITH_UNKNOWN));
289 #define TOP_EARLGREY_MUXED_PADS(_, value) \
290 value(_, Ioa0, kTopEarlgreyMuxedPadsIoa0) \
291 value(_, Ioa1, kTopEarlgreyMuxedPadsIoa1) \
292 value(_, Ioa2, kTopEarlgreyMuxedPadsIoa2) \
293 value(_, Ioa3, kTopEarlgreyMuxedPadsIoa3) \
294 value(_, Ioa4, kTopEarlgreyMuxedPadsIoa4) \
295 value(_, Ioa5, kTopEarlgreyMuxedPadsIoa5) \
296 value(_, Ioa6, kTopEarlgreyMuxedPadsIoa6) \
297 value(_, Ioa7, kTopEarlgreyMuxedPadsIoa7) \
298 value(_, Ioa8, kTopEarlgreyMuxedPadsIoa8) \
299 value(_, Iob0, kTopEarlgreyMuxedPadsIob0) \
300 value(_, Iob1, kTopEarlgreyMuxedPadsIob1) \
301 value(_, Iob2, kTopEarlgreyMuxedPadsIob2) \
302 value(_, Iob3, kTopEarlgreyMuxedPadsIob3) \
303 value(_, Iob4, kTopEarlgreyMuxedPadsIob4) \
304 value(_, Iob5, kTopEarlgreyMuxedPadsIob5) \
305 value(_, Iob6, kTopEarlgreyMuxedPadsIob6) \
306 value(_, Iob7, kTopEarlgreyMuxedPadsIob7) \
307 value(_, Iob8, kTopEarlgreyMuxedPadsIob8) \
308 value(_, Iob9, kTopEarlgreyMuxedPadsIob9) \
309 value(_, Iob10, kTopEarlgreyMuxedPadsIob10) \
310 value(_, Iob11, kTopEarlgreyMuxedPadsIob11) \
311 value(_, Iob12, kTopEarlgreyMuxedPadsIob12) \
312 value(_, Ioc0, kTopEarlgreyMuxedPadsIoc0) \
313 value(_, Ioc1, kTopEarlgreyMuxedPadsIoc1) \
314 value(_, Ioc2, kTopEarlgreyMuxedPadsIoc2) \
315 value(_, Ioc3, kTopEarlgreyMuxedPadsIoc3) \
316 value(_, Ioc4, kTopEarlgreyMuxedPadsIoc4) \
317 value(_, Ioc5, kTopEarlgreyMuxedPadsIoc5) \
318 value(_, Ioc6, kTopEarlgreyMuxedPadsIoc6) \
319 value(_, Ioc7, kTopEarlgreyMuxedPadsIoc7) \
320 value(_, Ioc8, kTopEarlgreyMuxedPadsIoc8) \
321 value(_, Ioc9, kTopEarlgreyMuxedPadsIoc9) \
322 value(_, Ioc10, kTopEarlgreyMuxedPadsIoc10) \
323 value(_, Ioc11, kTopEarlgreyMuxedPadsIoc11) \
324 value(_, Ioc12, kTopEarlgreyMuxedPadsIoc12) \
325 value(_, Ior0, kTopEarlgreyMuxedPadsIor0) \
326 value(_, Ior1, kTopEarlgreyMuxedPadsIor1) \
327 value(_, Ior2, kTopEarlgreyMuxedPadsIor2) \
328 value(_, Ior3, kTopEarlgreyMuxedPadsIor3) \
329 value(_, Ior4, kTopEarlgreyMuxedPadsIor4) \
330 value(_, Ior5, kTopEarlgreyMuxedPadsIor5) \
331 value(_, Ior6, kTopEarlgreyMuxedPadsIor6) \
332 value(_, Ior7, kTopEarlgreyMuxedPadsIor7) \
333 value(_, Ior10, kTopEarlgreyMuxedPadsIor10) \
334 value(_, Ior11, kTopEarlgreyMuxedPadsIor11) \
335 value(_, Ior12, kTopEarlgreyMuxedPadsIor12) \
336 value(_, Ior13, kTopEarlgreyMuxedPadsIor13) \
337 value(_, End, kTopEarlgreyMuxedPadsLast + 1)
338 C_ONLY(UJSON_SERDE_ENUM(MuxedPads, muxed_pads_t, TOP_EARLGREY_MUXED_PADS, WITH_UNKNOWN));