1 /**************************************************************************//**
2  * @file     psio_reg.h
3  * @version  V3.00
4  * @brief    PSIO register definition header file
5  *
6  * @copyright SPDX-License-Identifier: Apache-2.0
7  * @copyright Copyright (C) 2021 Nuvoton Technology Corp. All rights reserved.
8  *****************************************************************************/
9 
10 #ifndef __PSIO_REG_H__
11 #define __PSIO_REG_H__
12 
13 #if defined ( __CC_ARM   )
14     #pragma anon_unions
15 #endif
16 
17 /**
18    @addtogroup REGISTER Control Register
19    @{
20 */
21 
22 /**
23     @addtogroup PSIO Programmable Serial IO (PSIO)
24     Memory Mapped Structure for PSIO Controller
25 @{ */
26 
27 typedef struct
28 {
29     /**
30     * @var SCCT_T::SCCTL
31      * Offset: 0x20/0x28/0x30/0x38  PSIO Slot Controller n Control Register
32      * ---------------------------------------------------------------------------------------------------
33      * |Bits    |Field     |Descriptions
34      * | :----: | :----:   | :---- |
35      * |[3:0]   |INISLOT   |Initial Slot Period
36      * |        |          |The initial slot of the repeat period.
37      * |        |          |0000 = No use.
38      * |        |          |0001 = SLOT0.
39      * |        |          |0010 = SLOT1.
40      * |        |          |0011 = SLOT2.
41      * |        |          |0100 = SLOT3.
42      * |        |          |0101 = SLOT4.
43      * |        |          |0110 = SLOT5.
44      * |        |          |0111 = SLOT6.
45      * |        |          |1000 = SLOT7.
46      * |        |          |Others = Reserved.
47      * |[7:4]   |ENDSLOT   |End Slot Period
48      * |        |          |The end slot of the repeat period.
49      * |        |          |0000 = No use.
50      * |        |          |0001 = SLOT0.
51      * |        |          |0010 = SLOT1.
52      * |        |          |0011 = SLOT2.
53      * |        |          |0100 = SLOT3.
54      * |        |          |0101 = SLOT4.
55      * |        |          |0110 = SLOT5.
56      * |        |          |0111 = SLOT6.
57      * |        |          |1000 = SLOT7.
58      * |        |          |Others = Reserved.
59      * |[13:8]  |SPLCNT    |Slot Period Loop Count
60      * |        |          |000000 ~ 111110 is loop count.
61      * |        |          |000000 = Slot period loop count function is disable.
62      * |        |          |000001 = Repeat selection loop once, which means total go through selected repeat slots 2 times.
63      * |        |          |111111 = Loop until stop PSIO slot controller.
64      * |        |          |Note 1: If setting this register 111111 with PDMA mode and OUTPUT mode, it will stop automatically when PDMA is finish and output data in shift register is finished.
65      * |        |          |Note 2: If setting this register 111111 with PDMA mode and INPUT mode, it will stop automatically when PDMA is finish.
66      * |        |          |Note 3: If PSIO receives stop instruction during repeat mode, it will stop only when the current loop is finished.
67      * |[15:14] |TRIGSRC   |PSIO_SCn Trigger Source
68      * |        |          |00 = Trigger by software.
69      * |        |          |01 = Trigger PSIO_SCn when related PSIO_PIN occurred falling edge.
70      * |        |          |10 = Trigger PSIO_SCn when related PSIO_PIN occurred rising edge.
71      * |        |          |11 = Trigger PSIO_SCn when related PSIO_PIN occurred rising edge or falling edge.
72      * |        |          |Note 1: PSIO slot controller pin can only be trigger by related pins which is setting from SCSEL(PSIOn_GENCTL[25:24]).
73      * |        |          |Note 2: Configuring rising or falling signal trigger PSIO, the signal need to hold for at least two PSIO_CLK for de-bounce or PSIO will not be triggered.
74      * |[16]    |START     |PSIO_SCn Start
75      * |        |          |0 = No use.
76      * |        |          |1 = Start PSIO_SCn to count and active related PSIO_PIN.
77      * |        |          |Note: this bit is always read as 0.
78      * |[17]    |REPEAT    |Whole Repeat Mode
79      * |        |          |Slot controller repeats counting forever.
80      * |        |          |0 = Repeat mode disabled.
81      * |        |          |1 = Repeat mode enabled.
82      * |        |          |Note 1: If this bit is enabled with PDMA mode, slot controller will stop automatically when the PDMA finish transferring number of data.
83      * |        |          |Note 2: If PSIO receives stop instruction during repeat mode, it will stop only when the current loop is finished.
84      * |[18]    |STOP      |PSIO_SCn Stop
85      * |        |          |0 = No use.
86      * |        |          |1 = Stop PSIO_SCn.
87      * |        |          |Note: This bit is always read as 0.
88      * |[24]    |BUSY      |PSIO_SCn Busy Flag
89      * |        |          |0 = PSIO_SCn is not busy.
90      * |        |          |1 = PSIO_SCn is busy.
91      * |        |          |Note: This bit will be set to 1 when slot controller starts to count automatically and it will be cleared to 0 automatically when slot controller stops counting, too.
92      * |[25]    |IDLE      |PSIO_SCn Idle Flag
93      * |        |          |0 = PSIO_SCn is not IDLE.
94      * |        |          |1 = PSIO_SCn is IDLE.
95      * |        |          |Note 1: This bit will be cleared to 0 when slot controller starts to count automatically.
96      * |        |          |Note 2: This bit will be set to 1 when configuring it 1 by software.
97      * |        |          |Note 3: This bit is set to distinguish INTERVAL(PSIOn_GENCTL[5:4]) and INITIAL(PSIOn_GENCTL[3:2]).
98      * @var SCCT_T::SCSLOT
99      * Offset: 0x24/0x2C/0x34/0x3C  PSIO Slot Controller n Slot Register
100      * ---------------------------------------------------------------------------------------------------
101      * |Bits    |Field     |Descriptions
102      * | :----: | :----:   | :---- |
103      * |[3:0]   |SLOT0     |PSIO Slot Controller Slot0 Tick Count
104      * |        |          |0 to 15.
105      * |        |          |Note 1: Filling in all 0 to this field indicates to disable this slot.
106      * |        |          |Note 2: The disabled slot should not be set between the enabled slots, or the order of enabled slot which is after the disabled slot will not be enabled.
107      * |        |          |Note 3: The shortest slot length is 6 when I/O mode is switched from output mode to input mode.
108      * |[7:4]   |SLOT1     |PSIO Slot Controller Slot1 Tick Count
109      * |        |          |0 to 15.
110      * |        |          |Note 1: Filling in all 0 to this field indicates to disable this slot.
111      * |        |          |Note 2: The disabled slot should not be set between the enabled slots, or the order of enabled slot which is after the disabled slot will not be enabled.
112      * |        |          |Note 3: The shortest slot length is 6 when I/O mode is switched from output mode to input mode.
113      * |[11:8]  |SLOT2     |PSIO Slot Controller Slot2 Tick Count
114      * |        |          |0 to 15.
115      * |        |          |Note 1: Filling in all 0 to this field indicates to disable this slot.
116      * |        |          |Note 2: The disabled slot should not be set between the enabled slots, or the order of enabled slot which is after the disabled slot will not be enabled.
117      * |        |          |Note 3: The shortest slot length is 6 when I/O mode is switched from output mode to input mode.
118      * |[15:12] |SLOT3     |PSIO Slot Controller Slot3 Tick Count
119      * |        |          |0 to 15.
120      * |        |          |Note1: Filling in all 0 to this field indicates to disable this slot.
121      * |        |          |Note2: The disabled slot should not be set between the enabled slots, or the order of enabled slot which is after the disabled slot will not be enabled.
122      * |        |          |Note3: The shortest slot length is 6 when I/O mode is switched from output mode to input mode.
123      * |[19:16] |SLOT4     |PSIO Slot Controller Slot4 Tick Count
124      * |        |          |0 to 15.
125      * |        |          |Note 1: Filling in all 0 to this field indicates to disable this slot.
126      * |        |          |Note 2: The disabled slot should not be set between the enabled slots, or the order of enabled slot which is after the disabled slot will not be enabled.
127      * |        |          |Note 3: The shortest slot length is 6 when I/O mode is switched from output mode to input mode.
128      * |[23:20] |SLOT5     |PSIO Slot Controller Slot5 Tick Count
129      * |        |          |0 to 15
130      * |        |          |Note 1: Filling in all 0 to this field indicates to disable this slot.
131      * |        |          |Note 2: The disabled slot should not be set between the enabled slots, or the order of enabled slot which is after the disabled slot will not be enabled.
132      * |        |          |Note 3: The shortest slot length is 6 when I/O mode is switched from output mode to input mode.
133      * |[27:24] |SLOT6     |PSIO Slot Controller Slot6 Tick Count
134      * |        |          |0 to 15
135      * |        |          |Note 1: Filling in all 0 to this field indicates to disable this slot.
136      * |        |          |Note 2: The disabled slot should not be set between the enabled slots, or the order of enabled slot which is after the disabled slot will not be enabled.
137      * |        |          |Note 3: The shortest slot length is 6 when I/O mode is switched from output mode to input mode.
138      * |[31:28] |SLOT7     |PSIO Slot Controller Slot7 Tick Count
139      * |        |          |0 to 15.
140      * |        |          |Note 1: Filling in all 0 to this field indicates to disable this slot.
141      * |        |          |Note 2: The disabled slot should not be set between the enabled slots, or the order of enabled slot which is after the disabled slot will not be enabled.
142      * |        |          |Note 3: The shortest slot length is 6 when I/O mode is switched from output mode to input mode.
143      */
144     __IO uint32_t SCCTL;                 /*!< PSIO Slot Counter n Control register                                     */
145     __IO uint32_t SCSLOT;                /*!< PSIO Slot Counter n Slot Register                                        */
146 
147 } SCCT_T;
148 
149 typedef struct
150 {
151     /**
152     * @var GNCT_T::GENCTL
153     * Offset: 0x40/0x60/0x80/0xA0/0xC0/0xE0/0x100/0x120  PSIOn General Control Register
154     * ---------------------------------------------------------------------------------------------------
155     * |Bits    |Field     |Descriptions
156     * | :----: | :----:   | :---- |
157     * |[1:0]   |IOMODE    |IO Mode
158     * |        |          |I/O mode state represent the I/O state when slot controller has not started counting or slot controller has started counting but has not cross the switch I/O mode check point.
159     * |        |          |00 = Input mode.
160     * |        |          |01 = Output mode.
161     * |        |          |10 = Open-drain mode.
162     * |        |          |11 = Quasi-bidirectional mode.
163     * |        |          |Note 1: When slot controller stops counting, it will switch to the current I/O mode setting.
164     * |        |          |Note 2: When PSIO uses quasi-bidirectional mode or open-drain mode to trigger slot controller, the initial or interval output state need to be set output high level, or the pin will not be trigger.
165     * |[3:2]   |INITIAL   |Initial Output
166     * |        |          |The output state of PSIO when slot controller stops counting and IDLE (PSIO_SCnCTL[25]) is 1.
167     * |        |          |00 = Low level.
168     * |        |          |01 = High level.
169     * |        |          |10 = Last output.
170     * |        |          |11 = Toggle.
171     * |        |          |Note 1: Only when IOMODE is not input mode, then this register is effective.
172     * |        |          |Note 2: This bit is effective only when IDLE(PSIO_SCnCTL[25]) is high.
173     * |[5:4]   |INTERVAL  |Interval Output
174     * |        |          |The output of PSIO when slot controller stops counting and IDLE (PSIO_SCnCTL[25]) is 0.
175     * |        |          |00 = Low level.
176     * |        |          |01 = High level.
177     * |        |          |10 = Last output.
178     * |        |          |11 = Toggle.
179     * |        |          |Note 1: Only when IOMODE is not input mode, then this register is effective.
180     * |        |          |Note 2: This bit is effective only when IDLE(PSIO_SCnCTL[25]) is low.
181     * |[11:8]  |SW0CP     |Switch0 Check Point
182     * |        |          |0000 = No use.
183     * |        |          |0001 = CHECK POINT 0.
184     * |        |          |0010 = CHECK POINT 1.
185     * |        |          |0011 = CHECK POINT 2.
186     * |        |          |0100 = CHECK POINT 3.
187     * |        |          |0101 = CHECK POINT 4.
188     * |        |          |0110 = CHECK POINT 5.
189     * |        |          |0111 = CHECK POINT 6.
190     * |        |          |1000 = CHECK POINT 7.
191     * |        |          |Others = Reserved.
192     * |[15:12] |SW1CP     |Switch1 Check Point
193     * |        |          |0000 = No use.
194     * |        |          |0001 = CHECK POINT 0.
195     * |        |          |0010 = CHECK POINT 1.
196     * |        |          |0011 = CHECK POINT 2.
197     * |        |          |0100 = CHECK POINT 3.
198     * |        |          |0101 = CHECK POINT 4.
199     * |        |          |0110 = CHECK POINT 5.
200     * |        |          |0111 = CHECK POINT 6.
201     * |        |          |1000 = CHECK POINT 7.
202     * |        |          |Others = Reserved.
203     * |[17:16] |MODESW0   |Mode Switch0 Point
204     * |        |          |Mode at the switch0 point
205     * |        |          |00 = Input mode.
206     * |        |          |01 = Output mode.
207     * |        |          |10 = Open-drain mode.
208     * |        |          |11 = Quasi-bidirectional mode.
209     * |[19:18] |MODESW1   |Mode Switch1 Point
210     * |        |          |Mode at the switch1 point
211     * |        |          |00 = Input mode.
212     * |        |          |01 = Output mode.
213     * |        |          |10 = Open-drain mode.
214     * |        |          |11 = Quasi-bidirectional mode.
215     * |[25:24] |SCSEL     |Slot Controller Selection
216     * |        |          |Select slot controller for check point.
217     * |        |          |00 = SLOT CONTROLLER0.
218     * |        |          |01 = SLOT CONTROLLER1.
219     * |        |          |10 = SLOT CONTROLLER2.
220     * |        |          |11 = SLOT CONTROLLER3.
221     * |[26]    |PINEN     |Pin Enable Bit
222     * |        |          |0 = Pin Disabled.
223     * |        |          |1 = Pin Enabled.
224     * @var GNCT_T::DATCTL
225     * Offset: 0x44/0x64/0x84/0xA4/0xC4/0xE4/0x104/0x124  PSIOn Data Control Register
226     * ---------------------------------------------------------------------------------------------------
227     * |Bits    |Field     |Descriptions
228     * | :----: | :----:   | :---- |
229     * |[4:0]   |OUTDATWD  |Output Data Width
230     * |        |          |Indicate the data width of OUTPUT DATA register.
231     * |        |          |Output data size = OUTDATWD +1.
232     * |        |          |e.g.
233     * |        |          |5'b00000 = 1 bit.
234     * |        |          |5'b11111 = 32 bit.
235     * |[12:8]  |INDATWD   |Input Data Width
236     * |        |          |Indicate the data width of INPUT DATA register.
237     * |        |          |Input data size = INDATWD +1.
238     * |        |          |e.g.
239     * |        |          |5'b00000 = 1 bit.
240     * |        |          |5'b11111 = 32 bit.
241     * |[16]    |ORDER     |Order
242     * |        |          |The order of output data and input data.
243     * |        |          |0 = Data transfer start form LSB.
244     * |        |          |1 = Data transfer start form MSB.
245     * |[25:24] |OUTDEPTH  |Output Data Depth
246     * |        |          |Represent the data depth of the output buffer, when data width is larger than 16-bit, this setting can be ignored.
247     * |        |          |When the data width is between 9-bit and 16 bit,
248     * |        |          |0 = OUTDEPTH [0], the data depth is 1.
249     * |        |          |1 = OUTDEPTH [0], the data depth is 2.
250     * |        |          |When the data width is less than or equal to 8-bit,
251     * |        |          |0 = OUTDEPTH, the data depth is 1.
252     * |        |          |1 = OUTDEPTH, the data depth is 2.
253     * |        |          |2 = OUTDEPTH, the data depth is 3.
254     * |        |          |3 = OUTDEPTH, the data depth is 4.
255     * |        |          |Note 1: The output data depth impacts when the output data empty flag and output under flow data flag is set to 1.
256     * |        |          |Note 2: There is no difference of data depth no matter using software program data or PDMA program data.
257     * |[29:28] |INDEPTH   |Input Data Depth
258     * |        |          |Represent the data depth of the input buffer, when data width is larger than 16-bit, this setting can be ignored.
259     * |        |          |When the data width is between 9-bit and 16 bit,
260     * |        |          |0 = INDEPTH[0], the data depth is 1.
261     * |        |          |1 = INDEPTH[0], the data depth is 2.
262     * |        |          |When the data width is less than or equal to 8-bit,
263     * |        |          |0 = INDEPTH, the data depth is 1.
264     * |        |          |1 = INDEPTH, the data depth is 2.
265     * |        |          |2 = INDEPTH, the data depth is 3.
266     * |        |          |3 = INDEPTH, the data depth is 4.
267     * |        |          |Note 1: The input data depth impacts when the input data full flag and input data over flow flag is set to 1.
268     * |        |          |Note 2: There is no difference of data depth no matter using software program data or PDMA program data.
269     * @var GNCT_T::INSTS
270     * Offset: 0x48/0x68/0x88/0xA8/0xC8/0xE8/0x108/0x128  PSIOn Input Status Register
271     * ---------------------------------------------------------------------------------------------------
272     * |Bits    |Field     |Descriptions
273     * | :----: | :----:   | :---- |
274     * |[7:0]   |INSTS     |Input Status
275     * |        |          |Status input buffer. This register can be read clear.
276     * |        |          |Note: When the valid bit is set, the valid bits number of INSTS is equal to the number of check points from the previous time INSTS update to the current INSTS update.
277     * @var GNCT_T::INDAT
278     * Offset: 0x4C/0x6C/0x8C/0xAC/0xCC/0xEC/0x10C/0x12C  PSIOn Input Data Register
279     * ---------------------------------------------------------------------------------------------------
280     * |Bits    |Field     |Descriptions
281     * | :----: | :----:   | :---- |
282     * |[31:0]  |INDAT     |Input Data Buffer
283     * |        |          |This register can be read clear.
284     * |        |          |Note: The input data sample time is according to the slot length.
285     * |        |          |The sampling time is near 3/4 slot.
286     * |        |          |When the slot length is 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, PSIO sample input data when the slot controller count to 1, 2, 2, 3, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9.
287     * @var GNCT_T::OUTDAT
288     * Offset: 0x50/0x70/0x90/0xB0/0xD0/0xF0/0x110/0x130  PSIOn Output Data Register
289     * ---------------------------------------------------------------------------------------------------
290     * |Bits    |Field     |Descriptions
291     * | :----: | :----:   | :---- |
292     * |[31:0]  |OUTDAT    |Output Data Buffer
293     * |        |          |This field is used to configure output data.
294     * @var GNCT_T::CPCTL0
295     * Offset: 0x54/0x74/0x94/0xB4/0xD4/0xF4/0x114/0x134  PSIOn Check Point Control Register 0
296     * ---------------------------------------------------------------------------------------------------
297     * |Bits    |Field     |Descriptions
298     * | :----: | :----:   | :---- |
299     * |[2:0]   |CKPT0     |Check Point 0
300     * |        |          |0000 = No use.
301     * |        |          |0001 = SLOT0.
302     * |        |          |0010 = SLOT1.
303     * |        |          |0011 = SLOT2.
304     * |        |          |0100 = SLOT3.
305     * |        |          |0101 = SLOT4.
306     * |        |          |0110 = SLOT5.
307     * |        |          |0111 = SLOT6.
308     * |        |          |1000 = SLOT7.
309     * |        |          |Others = Reserved.
310     * |        |          |Note 1: If there are two check points that select the same SLOT, the pin will follow settings of the smaller check point number.
311     * |        |          |Note 2: The correlated SLOT should be filled in order from SLOT0 to SLOT7, or the check point action will not be triggered.
312     * |[6:4]   |CKPT1     |Check Point 1
313     * |        |          |0000 = No use.
314     * |        |          |0001 = SLOT0.
315     * |        |          |0010 = SLOT1.
316     * |        |          |0011 = SLOT2.
317     * |        |          |0100 = SLOT3.
318     * |        |          |0101 = SLOT4.
319     * |        |          |0110 = SLOT5.
320     * |        |          |0111 = SLOT6.
321     * |        |          |1000 = SLOT7.
322     * |        |          |Others = Reserved.
323     * |        |          |Note 1: If there are two check points that select the same SLOT, the pin will follow settings of the smaller check point number.
324     * |        |          |Note 2: The correlated SLOT should be filled in order from SLOT0 to SLOT7, or the check point action will not be triggered.
325     * |[10:8]  |CKPT2     |Check Point 2
326     * |        |          |0000 = No use.
327     * |        |          |0001 = SLOT0.
328     * |        |          |0010 = SLOT1.
329     * |        |          |0011 = SLOT2.
330     * |        |          |0100 = SLOT3.
331     * |        |          |0101 = SLOT4.
332     * |        |          |0110 = SLOT5.
333     * |        |          |0111 = SLOT6.
334     * |        |          |1000 = SLOT7.
335     * |        |          |Others = Reserved.
336     * |        |          |Note 1: If there are two check points that select the same SLOT, the pin will follow settings of the smaller check point number.
337     * |        |          |Note 2: The correlated SLOT should be filled in order from SLOT0 to SLOT7, or the check point action will not be triggered.
338     * |[14:12] |CKPT3     |Check Point 3
339     * |        |          |0000 = No use.
340     * |        |          |0001 = SLOT0.
341     * |        |          |0010 = SLOT1.
342     * |        |          |0011 = SLOT2.
343     * |        |          |0100 = SLOT3.
344     * |        |          |0101 = SLOT4.
345     * |        |          |0110 = SLOT5.
346     * |        |          |0111 = SLOT6.
347     * |        |          |1000 = SLOT7.
348     * |        |          |Others = Reserved.
349     * |        |          |Note 1: If there are two check points that select the same SLOT, the pin will follow settings of the smaller check point number.
350     * |        |          |Note 2: The correlated SLOT should be filled in order from SLOT0 to SLOT7, or the check point action will not be triggered.
351     * |[18:16] |CKPT4     |Check Point 4
352     * |        |          |0000 = No use.
353     * |        |          |0001 = SLOT0.
354     * |        |          |0010 = SLOT1.
355     * |        |          |0011 = SLOT2.
356     * |        |          |0100 = SLOT3.
357     * |        |          |0101 = SLOT4.
358     * |        |          |0110 = SLOT5.
359     * |        |          |0111 = SLOT6.
360     * |        |          |1000 = SLOT7.
361     * |        |          |Others = Reserved.
362     * |        |          |Note 1: If there are two check points that select the same SLOT, the pin will follow settings of the smaller check point number.
363     * |        |          |Note 2: The correlated SLOT should be filled in order from SLOT0 to SLOT7, or the check point action will not be triggered.
364     * |[22:20] |CKPT5     |Check Point 5
365     * |        |          |0000 = No use.
366     * |        |          |0001 = SLOT0.
367     * |        |          |0010 = SLOT1.
368     * |        |          |0011 = SLOT2.
369     * |        |          |0100 = SLOT3.
370     * |        |          |0101 = SLOT4.
371     * |        |          |0110 = SLOT5.
372     * |        |          |0111 = SLOT6.
373     * |        |          |1000 = SLOT7.
374     * |        |          |Others = Reserved.
375     * |        |          |Note 1: If there are two check points that select the same SLOT, the pin will follow settings of the smaller check point number.
376     * |        |          |Note 2: The correlated SLOT should be filled in order from SLOT0 to SLOT7, or the check point action will not be triggered.
377     * |[26:24] |CKPT6     |Check Point 6
378     * |        |          |0000 = No use.
379     * |        |          |0001 = SLOT0.
380     * |        |          |0010 = SLOT1.
381     * |        |          |0011 = SLOT2.
382     * |        |          |0100 = SLOT3.
383     * |        |          |0101 = SLOT4.
384     * |        |          |0110 = SLOT5.
385     * |        |          |0111 = SLOT6.
386     * |        |          |1000 = SLOT7.
387     * |        |          |Others = Reserved.
388     * |        |          |Note 1: If there are two check points that select the same SLOT, the pin will follow settings of the smaller check point number.
389     * |        |          |Note 2: The correlated SLOT should be filled in order from SLOT0 to SLOT7, or the check point action will not be triggered.
390     * |[30:28] |CKPT7     |Check Point 7
391     * |        |          |This field is used to link check point and slot controller slot.
392     * |        |          |0000 = No use.
393     * |        |          |0001 = SLOT0.
394     * |        |          |0010 = SLOT1.
395     * |        |          |0011 = SLOT2.
396     * |        |          |0100 = SLOT3.
397     * |        |          |0101 = SLOT4.
398     * |        |          |0110 = SLOT5.
399     * |        |          |0111 = SLOT6.
400     * |        |          |1000 = SLOT7.
401     * |        |          |Others = Reserved.
402     * |        |          |Note 1: If there are two check points that select the same SLOT, the pin will follow settings of the smaller check point number.
403     * |        |          |Note 2: The correlated SLOT should be filled in order from SLOT0 to SLOT7, or the check point action will not be triggered.
404     * @var GNCT_T::CPCTL1
405     * Offset: 0x58/0x78/0x98/0xB8/0xD8/0xF8/0x118/0x138  PSIOn Check Point Control Register 1
406     * ---------------------------------------------------------------------------------------------------
407     * |Bits    |Field     |Descriptions
408     * | :----: | :----:   | :---- |
409     * |[2:0]   |CKPT0ACT  |Check Point 0 Action
410     * |        |          |Select check point action at check point0.
411     * |        |          |000 = Output level low.
412     * |        |          |001 = Output level high.
413     * |        |          |010 = Output from data buffer.
414     * |        |          |011 = Output toggle.
415     * |        |          |100 = Input data buffer.
416     * |        |          |101 = Input status.
417     * |        |          |110 = Input status record and update.
418     * |        |          |Others = Reserved.
419     * |        |          |Note: Pin action must meet the correlated I/O mode (PSIOn_GENCTL[1:0]).
420     * |[6:4]   |CKPT1ACT  |Check Point 1 Action
421     * |        |          |Select check point action at check point1.
422     * |        |          |000 = Output level low.
423     * |        |          |001 = Output level high.
424     * |        |          |010 = Output from data buffer.
425     * |        |          |011 = Output toggle.
426     * |        |          |100 = Input data buffer.
427     * |        |          |101 = Input status.
428     * |        |          |110 = Input status record and update.
429     * |        |          |Others = Reserved.
430     * |        |          |Note: Pin action must meet the correlated I/O mode (PSIOn_GENCTL[1:0]).
431     * |[10:8]  |CKPT2ACT  |Check Point 2 Action
432     * |        |          |Select check point action at check point2.
433     * |        |          |000 = Output level low.
434     * |        |          |001 = Output level high.
435     * |        |          |010 = Output from data buffer.
436     * |        |          |011 = Output toggle.
437     * |        |          |100 = Input data buffer.
438     * |        |          |101 = Input status.
439     * |        |          |110 = Input status record and update.
440     * |        |          |Others = Reserved.
441     * |        |          |Note: Pin action must meet the correlated I/O mode (PSIOn_GENCTL[1:0]).
442     * |[14:12] |CKPT3ACT  |Check Point 3 Action
443     * |        |          |Select check point action at check point3.
444     * |        |          |000 = Output level low.
445     * |        |          |001 = Output level high.
446     * |        |          |010 = Output from data buffer.
447     * |        |          |011 = Output toggle.
448     * |        |          |100 = Input data buffer.
449     * |        |          |101 = Input status.
450     * |        |          |110 = Input status record and update.
451     * |        |          |Others = Reserved.
452     * |        |          |Note: Pin action must meet the correlated I/O mode (PSIOn_GENCTL[1:0]).
453     * |[18:16] |CKPT4ACT  |Check Point 4 Action
454     * |        |          |Select check point action at check point4.
455     * |        |          |000 = Output level low.
456     * |        |          |001 = Output level high.
457     * |        |          |010 = Output from data buffer.
458     * |        |          |011 = Output toggle.
459     * |        |          |100 = Input data buffer.
460     * |        |          |101 = Input status.
461     * |        |          |110 = Input status record and update.
462     * |        |          |Others = Reserved.
463     * |        |          |Note: Pin action must meet the correlated I/O mode (PSIOn_GENCTL[1:0]).
464     * |[22:20] |CKPT5ACT  |Check Point 5 Action
465     * |        |          |Select check point action at check point5.
466     * |        |          |000 = Output level low.
467     * |        |          |001 = Output level high.
468     * |        |          |010 = Output from data buffer.
469     * |        |          |011 = Output toggle.
470     * |        |          |100 = Input data buffer.
471     * |        |          |101 = Input status.
472     * |        |          |110 = Input status record and update.
473     * |        |          |Others = Reserved.
474     * |        |          |Note: Pin action must meet the correlated I/O mode (PSIOn_GENCTL[1:0]).
475     * |[26:24] |CKPT6ACT  |Check Point 6 Action
476     * |        |          |Select check point action at check point6.
477     * |        |          |000 = Output level low.
478     * |        |          |001 = Output level high.
479     * |        |          |010 = Output from data buffer.
480     * |        |          |011 = Output toggle.
481     * |        |          |100 = Input data buffer.
482     * |        |          |101 = Input status.
483     * |        |          |110 = Input status record and update.
484     * |        |          |Others = Reserved.
485     * |        |          |Note: Pin action must meet the correlated I/O mode (PSIOn_GENCTL[1:0]).
486     * |[30:28] |CKPT7ACT  |Check Point 7 Action
487     * |        |          |Select check point action at check point7.
488     * |        |          |000 = Output level low.
489     * |        |          |001 = Output level high.
490     * |        |          |010 = Output from data buffer.
491     * |        |          |011 = Output toggle.
492     * |        |          |100 = Input data buffer.
493     * |        |          |101 = Input status.
494     * |        |          |110 = Input status record and update.
495     * |        |          |Others = Reserved.
496     * |        |          |Note: Pin action must meet the correlated I/O mode (PSIOn_GENCTL[1:0]).
497     */
498     __IO uint32_t GENCTL;                /*!< PSIOn General Control Register                                           */
499     __IO uint32_t DATCTL;                /*!< PSIOn Data Control Register                                              */
500     __I  uint32_t INSTS;                 /*!< PSIOn Input Status Register                                              */
501     __I  uint32_t INDAT;                 /*!< PSIOn Input Data Register                                                */
502     __O  uint32_t OUTDAT;                /*!< PSIOn Output Data Register                                               */
503     __IO uint32_t CPCTL0;                /*!< PSIOn Check Point Control Register 0                                     */
504     __IO uint32_t CPCTL1;                /*!< PSIOn Check Point Control Register 1                                     */
505     __I  uint32_t RESERVE0[1];
506 } GNCT_T;
507 
508 typedef struct
509 {
510     /**
511      * @var PSIO_T::INTCTL
512      * Offset: 0x00  PSIO Interrupt Control Register
513      * ---------------------------------------------------------------------------------------------------
514      * |Bits    |Field     |Descriptions
515      * | :----: | :----:   | :---- |
516      * |[2:0]   |CONI0SS   |Configurable Interrupt 0 Slot Selection
517      * |        |          |0000 = No use.
518      * |        |          |0001 = SLOT0.
519      * |        |          |0010 = SLOT1.
520      * |        |          |0011 = SLOT2.
521      * |        |          |0100 = SLOT3.
522      * |        |          |0101 = SLOT4.
523      * |        |          |0110 = SLOT5.
524      * |        |          |0111 = SLOT6.
525      * |        |          |1000 = SLOT7.
526      * |        |          |Others = Reserved.
527      * |[6:4]   |CONI1SS   |Configurable Interrupt 1 Slot Selection
528      * |        |          |0000 = No use.
529      * |        |          |0001 = SLOT0.
530      * |        |          |0010 = SLOT1.
531      * |        |          |0011 = SLOT2.
532      * |        |          |0100 = SLOT3.
533      * |        |          |0101 = SLOT4.
534      * |        |          |0110 = SLOT5.
535      * |        |          |0111 = SLOT6.
536      * |        |          |1000 = SLOT7.
537      * |        |          |Others = Reserved.
538      * |[9:8]   |CONI0SCS  |Configurable Interrupt 0 Slot Controller Selection
539      * |        |          |Select Slot controller for interrupt 0.
540      * |        |          |00 = Slot controller 0.
541      * |        |          |01 = Slot controller 1.
542      * |        |          |10 = Slot controller 2.
543      * |        |          |11 = Slot controller 3.
544      * |[13:12] |CONI1SCS  |Configurable Interrupt 1 Slot Controller Selection
545      * |        |          |Select Slot controller for interrupt 1.
546      * |        |          |00 = Slot controller 0.
547      * |        |          |01 = Slot controller 1.
548      * |        |          |10 = Slot controller 2.
549      * |        |          |11 = Slot controller 3.
550      * @var PSIO_T::INTEN
551      * Offset: 0x04  PSIO Interrupt Enable Register
552      * ---------------------------------------------------------------------------------------------------
553      * |Bits    |Field     |Descriptions
554      * | :----: | :----:   | :---- |
555      * |[0]     |CON0IE    |Configurable Interrupt 0 Enable Bit
556      * |        |          |This field is used to enable selective interrupt 0.
557      * |        |          |0 = Selective interrupt 0 Disabled.
558      * |        |          |1 = Selective interrupt 0 Enabled.
559      * |[1]     |CON1IE    |Configurable Interrupt 1 Enable Bit
560      * |        |          |This field is used to enable selective interrupt 1.
561      * |        |          |0 = Selective interrupt 1 Disabled.
562      * |        |          |1 = Selective interrupt 1 Enabled.
563      * |[2]     |MISMATIE  |Mismatch Interrupt Enable Bit
564      * |        |          |This field is used to enable mismatch interrupt.
565      * |        |          |0 = Mismatch interrupt Disabled.
566      * |        |          |1 = Mismatch interrupt Enabled.
567      * |[3]     |TERRIE    |Transfer Error Interrupt Enable Bit
568      * |        |          |This field is used to enable transfer error interrupt.
569      * |        |          |0 = Transfer error interrupt Disabled.
570      * |        |          |1 = Transfer error interrupt Enabled.
571      * |[4]     |SC0IE     |Slot Controller 0 Done Interrupt Enable Bit
572      * |        |          |This field is used to enable Slot controller 0 finish interrupt.
573      * |        |          |0 = Slot controller 0 finish interrupt Disabled.
574      * |        |          |1 = Slot controller 0 finish interrupt Enabled.
575      * |[5]     |SC1IE     |Slot Controller 1 Done Interrupt Enable Bit
576      * |        |          |This field is used to enable Slot controller 1 finish interrupt.
577      * |        |          |0 = Slot controller 1 finish interrupt Disabled.
578      * |        |          |1 = Slot controller 1 finish interrupt Enabled.
579      * |[6]     |SC2IE     |Slot Controller 2 Done Interrupt Enable Bit
580      * |        |          |This field is used to enable Slot controller 2 finish interrupt.
581      * |        |          |0 = Slot controller 2 finish interrupt Disabled.
582      * |        |          |1 = Slot controller 2 finish interrupt Enabled.
583      * |[7]     |SC3IE     |Slot Controller 3 Done Interrupt Enable Bit
584      * |        |          |This field is used to enable Slot controller 3 finish interrupt.
585      * |        |          |0 = Slot controller 3 finish interrupt Disabled.
586      * |        |          |1 = Slot controller 3 finish interrupt Enabled.
587      * @var PSIO_T::INTSTS
588      * Offset: 0x08  PSIO Interrupt Status Register
589      * ---------------------------------------------------------------------------------------------------
590      * |Bits    |Field     |Descriptions
591      * | :----: | :----:   | :---- |
592      * |[0]     |CON0IF    |Configurable Interrupt 0 Flag
593      * |        |          |The setting interrupt is trigger at the end of the check point of the pin.
594      * |        |          |0 = Condition in PSIO_INTCTL is not triggered.
595      * |        |          |1 = Condition in PSIO_INTCTL is triggered.
596      * |        |          |Note: This bit can be cleared by writing 1.
597      * |[1]     |CON1IF    |Configurable Interrupt 1 Flag
598      * |        |          |The setting interrupt is trigger at the end of the check point of the pin.
599      * |        |          |0 = Condition in PSIO_INTCTL is not triggered.
600      * |        |          |1 = Condition in PSIO_INTCTL is triggered.
601      * |        |          |Note: This bit can be cleared by writing 1.
602      * |[2]     |MISMATIF  |Mismatch Interrupt Flag
603      * |        |          |This flag shows the amounts of data are not the same in each pins with PDMA enabled.
604      * |        |          |If this situation happens, all slot controllers stop counting.
605      * |        |          |0 = Each pin with PDMA enabled receive or transfer data in the same rate.
606      * |        |          |1 = Each pin with PDMA enabled receive or transfer data in different rate.
607      * |        |          |Note 1: This flag is only effective on the pin with PDMA enabled.
608      * |        |          |Note 2: This bit can be cleared by writing 1.
609      * |[3]     |TERRIF    |Transfer Error Interrupt Status Flag
610      * |        |          |This field is used for transfer error interrupt status flag.
611      * |        |          |The transfer error states is at PSIO_TRANSTS register which includes input data overflow flag INOVERn (PSIO_TRANSTS[29,25,21,17,13,9,5,1] and output data underflow flag OUTUFn (PSIO_TRANSTS[31,27,23,19,15,11,7,3]).
612      * |        |          |0 = Transfer error interrupt did not occur.
613      * |        |          |1 = Transfer error interrupt occurred.
614      * |        |          |Note 1: This field is the status flag of INOVER or OUTUFER.
615      * |        |          |Note 2: This bit can only be cleared by writing 1 to coordinate transfer error.
616      * |[4]     |SC0IF     |Slot Controller 0 Done Interrupt Status Flag
617      * |        |          |This field is used for slot controller 0 finish interrupt status flag.
618      * |        |          |0 = Slot controller 0 done interrupt did not occur.
619      * |        |          |1 = Slot controller 0 done interrupt occurred.
620      * |        |          |Note: This bit can be cleared by writing 1.
621      * |[5]     |SC1IF     |Slot Controller 1 Done Interrupt Status Flag
622      * |        |          |This field is used for slot controller 1 finish interrupt status flag.
623      * |        |          |0 = Slot controller 1 done interrupt did not occur.
624      * |        |          |1 = Slot controller 1 done interrupt occurred.
625      * |        |          |Note: This bit can be cleared by writing 1.
626      * |[6]     |SC2IF     |Slot Controller 2 Done Interrupt Status Flag
627      * |        |          |This field is used for slot controller 2 finish interrupt status flag.
628      * |        |          |0 = Slot controller 2 done interrupt did not occur.
629      * |        |          |1 = Slot controller 2 done interrupt occurred.
630      * |        |          |Note: This bit can be cleared by writing 1.
631      * |[7]     |SC3IF     |Slot Controller 3 Done Interrupt Status Flag
632      * |        |          |This field is used for slot controller 3 finish interrupt status flag.
633      * |        |          |0 = Slot controller 3 done interrupt did not occur.
634      * |        |          |1 = Slot controller 3 done interrupt occurred.
635      * |        |          |Note: This bit can be cleared by writing 1.
636      * @var PSIO_T::TRANSTS
637      * Offset: 0x0C  PSIO Transfer Status Register
638      * ---------------------------------------------------------------------------------------------------
639      * |Bits    |Field     |Descriptions
640      * | :----: | :----:   | :---- |
641      * |[0]     |INFULL0   |Input Data Full Flag0 (Read Only)
642      * |        |          |0 = The pin0 input data is empty.
643      * |        |          |1 = The pin0 input data is full.
644      * |        |          |Note: This bit will be cleared automatically when related slot controller started and pin enabled.
645      * |[1]     |INOVER0   |Input Data Overflow Flag0
646      * |        |          |0 = The pin0 input data does not occur overflow.
647      * |        |          |1 = The pin0 input data occurs overflow.
648      * |        |          |Note 1: When input Overflow happened, it will keep the current data, and discard the upcoming data.
649      * |        |          |Note 2: When overflow happens, related slot controller will be stopped.
650      * |        |          |Note 3: This bit can be cleared by configure 1 to it.
651      * |        |          |Note 4: This bit will be cleared automatically when related slot controller started and pin enabled.
652      * |[2]     |OUTEPY0   |Output Data Empty Flag0 (Read Only)
653      * |        |          |0 = The pin0 output data is full.
654      * |        |          |1 = The pin0 output data is empty.
655      * |[3]     |OUTUF0    |Output Data Underflow Flag0
656      * |        |          |When PSIO is still output data but PSIOn_OUTDAT have not been ready. This flag will be set to 1.
657      * |        |          |0 = The pin0 output data is not underflow.
658      * |        |          |1 = The pin0 output data is underflow.
659      * |        |          |Note 1: When output data shortage happened, it will output 0.
660      * |        |          |Note 2: When underflow happens, related slot controller will be stopped.
661      * |        |          |Note 3: This bit can be cleared by configure 1 to it.
662      * |        |          |Note 4: This bit will be cleared automatically when related slot controller started and pin enabled.
663      * |[4]     |INFULL1   |Input Data Full Flag1 (Read Only)
664      * |        |          |0 = The pin1 input data is empty.
665      * |        |          |1 = The pin1 input data is full.
666      * |        |          |Note: This bit will be cleared automatically when related slot controller started and pin enabled.
667      * |[5]     |INOVER1   |Input Data Overflow Flag1
668      * |        |          |0 = The pin1 input data does not occur overflow.
669      * |        |          |1 = The pin1 input data occurs overflow.
670      * |        |          |Note 1: When input Overflow happened, it will keep the current data, and discard the upcoming data.
671      * |        |          |Note 2: When overflow happens, related slot controller will be stopped.
672      * |        |          |Note 3: This bit can be cleared by configure 1 to it.
673      * |        |          |Note 4: This bit will be cleared automatically when related slot controller started and pin enabled.
674      * |[6]     |OUTEPY1   |Output Data Empty Flag1 (Read Only)
675      * |        |          |0 = The pin1 output data is full.
676      * |        |          |1 = The pin1 output data is empty.
677      * |[7]     |OUTUF1    |Output Data Underflow Flag1
678      * |        |          |When PSIO is still output data but PSIOn_OUTDAT have not been ready, this flag will be set to 1.
679      * |        |          |0 = The pin1 output data is not underflow.
680      * |        |          |1 = The pin1 output data is underflow.
681      * |        |          |Note 1: When output data shortage happened, it will output 0.
682      * |        |          |Note 2: When underflow happens, related slot controller will be stopped.
683      * |        |          |Note 3: This bit can be cleared by configure 1 to it.
684      * |        |          |Note 4: This bit will be cleared automatically when related slot controller started and pin enabled.
685      * |[8]     |INFULL2   |Input Data Full Flag2 (Read Only)
686      * |        |          |0 = The pin2 input data is empty.
687      * |        |          |1 = The pin2 input data is full.
688      * |        |          |Note: This bit will be cleared automatically when related slot controller started and pin is enabled.
689      * |[9]     |INOVER2   |Input Data Overflow Flag2
690      * |        |          |0 = The pin2 input data does not occur overflow.
691      * |        |          |1 = The pin2 input data occurs overflow.
692      * |        |          |Note 1: When input Overflow happened, it will keep the current data, and discard the upcoming data.
693      * |        |          |Note 2: When overflow happens, related slot controller will be stopped.
694      * |        |          |Note 3: This bit can be cleared by configure 1 to it.
695      * |        |          |Note 4: This bit will be cleared automatically when related slot controller start and pin enabled.
696      * |[10]    |OUTEPY2   |Output Data Empty Flag2 (Read Only)
697      * |        |          |0 = The pin2 output data is full.
698      * |        |          |1 = The pin2 output data is empty.
699      * |[11]    |OUTUF2    |Output Data Underflow Flag2
700      * |        |          |When PSIO is still output data but PSIOn_OUTDAT have not been ready, this flag will be set to 1.
701      * |        |          |0 = The pin3 output data is not underflow.
702      * |        |          |1 = The pin3 output data is underflow.
703      * |        |          |Note 1: When output data shortage happened, it will output 0.
704      * |        |          |Note 2: When underflow happens, related slot controller will be stopped.
705      * |        |          |Note 3: This bit can be cleared by configure 1 to it.
706      * |        |          |Note 4: This bit will be cleared automatically when related slot controller started and pin enabled.
707      * |[12]    |INFULL3   |Input Data Full Flag3 (Read Only)
708      * |        |          |0 = The pin3 input data is empty.
709      * |        |          |1 = The pin3 input data is full.
710      * |        |          |Note: This bit will be cleared automatically when related slot controller started and pin is enabled.
711      * |[13]    |INOVER3   |Input Data Overflow Flag3
712      * |        |          |0 = The pin3 input data does not occur overflow.
713      * |        |          |1 = The pin3 input data occurs overflow.
714      * |        |          |Note 1: When input Overflow happened, it will keep the current data, and discard the upcoming data.
715      * |        |          |Note 2: When overflow happens, related slot controller will be stopped.
716      * |        |          |Note 3: This bit can be cleared by configure 1 to it.
717      * |        |          |Note 4: This bit will be cleared automatically when related slot controller started and pin enabled.
718      * |[14]    |OUTEPY3   |Output Data Empty Flag3 (Read Only)
719      * |        |          |0 = The pin3 output data is full.
720      * |        |          |1 = The pin3 output data is empty.
721      * |[15]    |OUTUF3    |Output Data Underflow Flag3
722      * |        |          |When PSIO is still output data but PSIOn_OUTDAT have not been ready, this flag will be set to 1.
723      * |        |          |0 = The pin3 output data is not underflow.
724      * |        |          |1 = The pin3 output data is underflow.
725      * |        |          |Note 1: When output data shortage happened, it will output 0.
726      * |        |          |Note 2: When underflow happens, related slot controller will be stopped.
727      * |        |          |Note 3: This bit can be cleared by configure 1 to it.
728      * |        |          |Note 4: This bit will be cleared automatically when related slot controller started and pin enabled.
729      * |[16]    |INFULL4   |Input Data Full Flag4 (Read Only)
730      * |        |          |0 = The pin4 input data is empty.
731      * |        |          |1 = The pin4 input data is full.
732      * |        |          |Note: This bit will be cleared automatically when related slot controller started and pin is enabled.
733      * |[17]    |INOVER4   |Input Data Overflow Flag4
734      * |        |          |0 = The pin4 input data does not occur overflow.
735      * |        |          |1 = The pin4 input data occurs overflow.
736      * |        |          |Note 1: When input Overflow happened, it will keep the current data, and discard the upcoming data.
737      * |        |          |Note 2: When overflow happens, related slot controller will be stopped.
738      * |        |          |Note 3: This bit can be cleared by configure 1 to it.
739      * |        |          |Note 4: This bit will be cleared automatically when related slot controller started and pin enabled.
740      * |[18]    |OUTEPY4   |Output Data Empty Flag4 (Read Only)
741      * |        |          |0 = The pin4 output data is full.
742      * |        |          |1 = The pin4 output data is empty.
743      * |[19]    |OUTUF4    |Output Data Underflow Flag4
744      * |        |          |When PSIO is still output data but PSIOn_OUTDAT have not been ready, this flag will be set to 1.
745      * |        |          |0 = The pin4 output data is not underflow.
746      * |        |          |1 = The pin4 output data is underflow.
747      * |        |          |Note 1: When output data shortage happened, it will output 0.
748      * |        |          |Note 2: When underflow happens, related slot controller will be stopped.
749      * |        |          |Note 3: This bit can be cleared by configure 1 to it.
750      * |        |          |Note 4: This bit will be cleared automatically when related slot controller started and pin enabled.
751      * |[20]    |INFULL5   |Input Data Full Flag5 (Read Only)
752      * |        |          |0 = The pin5 input data is empty.
753      * |        |          |1 = The pin5 input data is full.
754      * |        |          |Note: This bit will be cleared automatically when related slot controller started and pin enabled.
755      * |[21]    |INOVER5   |Input Data Overflow Flag5
756      * |        |          |0 = The pin5 input data does not occur overflow.
757      * |        |          |1 = The pin5 input data occurs overflow.
758      * |        |          |Note 1: When input Overflow happened, it will keep the current data, and discard the upcoming data.
759      * |        |          |Note 2: When overflow happens, related slot controller will be stopped.
760      * |        |          |Note 3: This bit can be cleared by configure 1 to it.
761      * |        |          |Note 4: This bit will be cleared automatically when related slot controller started and pin enabled.
762      * |[22]    |OUTEPY5   |Output Data Empty Flag5 (Read Only)
763      * |        |          |0 = The pin5 output data is full.
764      * |        |          |1 = The pin5 output data is empty.
765      * |[23]    |OUTUF5    |Output Data Underflow Flag5
766      * |        |          |When PSIO is still output data but PSIOn_OUTDAT have not been ready, this flag will be set to 1.
767      * |        |          |0 = The pin5 output data is not underflow.
768      * |        |          |1 = The pin5 output data is underflow.
769      * |        |          |Note 1: When output data shortage happened, it will output 0.
770      * |        |          |Note 2: When underflow happens, related slot controller will be stopped.
771      * |        |          |Note 3: This bit can be cleared by configure 1 to it.
772      * |        |          |Note 4: This bit will be cleared automatically when related slot controller started and pin is enabled.
773      * |[24]    |INFULL6   |Input Data Full Flag6 (Read Only)
774      * |        |          |0 = The pin6 input data is empty.
775      * |        |          |1 = The pin6 input data is full.
776      * |        |          |Note: This bit will be cleared automatically when related slot controller started and pin enabled.
777      * |[25]    |INOVER6   |Input Data Overflow Flag6
778      * |        |          |0 = The pin6 input data does not occur overflow.
779      * |        |          |1 = The pin6 input data occurs overflow.
780      * |        |          |Note 1: When input Overflow happened, it will keep the current data, and discard the upcoming data.
781      * |        |          |Note 2: When overflow happens, related slot controller will be stopped.
782      * |        |          |Note 3: This bit can be cleared by configure 1 to it.
783      * |        |          |Note 4: This bit will be cleared automatically when related slot controller start and pin enabled.
784      * |[26]    |OUTEPY6   |Output Data Empty Flag6 (Read Only)
785      * |        |          |0 = The pin6 output data is full.
786      * |        |          |1 = The pin6 output data is empty.
787      * |[27]    |OUTUF6    |Output Data Underflow Flag6
788      * |        |          |When PSIO is still output data but PSIOn_OUTDAT have not been ready, this flag will be set to 1.
789      * |        |          |0 = The pin6 output data is not underflow.
790      * |        |          |1 = The pin6 output data is underflow.
791      * |        |          |Note 1: When output data shortage happened, it will output 0.
792      * |        |          |Note 2: When underflow happens, related slot controller will be stopped.
793      * |        |          |Note 3: This bit can be cleared by configure 1 to it.
794      * |        |          |Note 4: This bit will be cleared automatically when related slot controller started and pin enabled.
795      * |[28]    |INFULL7   |Input Data Full Flag7 (Read Only)
796      * |        |          |0 = The pin7 input data is empty.
797      * |        |          |1 = The pin7 input data is full.
798      * |        |          |Note: This bit will be cleared automatically when related slot controller started and pin enabled.
799      * |[29]    |INOVER7   |Input Data Overflow Flag7
800      * |        |          |0 = The pin7 input data does not occur overflow.
801      * |        |          |1 = The pin7 input data occurs overflow.
802      * |        |          |Note 1: When input Overflow happened, it will keep the current data, and discard the upcoming data.
803      * |        |          |Note 2: When overflow happens, related slot controller will be stopped.
804      * |        |          |Note 3: This bit can be cleared by configure 1 to it.
805      * |        |          |Note 4: This bit will be cleared automatically when related slot controller started and pin enabled.
806      * |[30]    |OUTEPY7   |Output Data Empty Flag7 (Read Only)
807      * |        |          |0 = The pin7 output data is full.
808      * |        |          |1 = The pin7 output data is empty.
809      * |[31]    |OUTUF7    |Output Data Underflow Flag7
810      * |        |          |When PSIO is still output data but PSIOn_OUTDAT have not been ready, this flag will be set to 1.
811      * |        |          |0 = The pin7 output data is not underflow.
812      * |        |          |1 = The pin7 output data is underflow.
813      * |        |          |Note 1: When output data shortage happened, it will output 0.
814      * |        |          |Note 2: When underflow happens, related slot controller will be stopped.
815      * |        |          |Note 3: This bit can be cleared by configure 1 to it.
816      * |        |          |Note 4: This bit will be cleared automatically when related slot controller started and pin enabled.
817      * @var PSIO_T::ISSTS
818      * Offset: 0x10  PSIO Input Status State Register
819      * ---------------------------------------------------------------------------------------------------
820      * |Bits    |Field     |Descriptions
821      * | :----: | :----:   | :---- |
822      * |[0]     |VALID0    |Input Status Valid 0
823      * |        |          |0 = The pin 0 input status is not ready.
824      * |        |          |1 = The pin 0 input status is ready.
825      * |        |          |Note: This valid bit will be cleared automatically if PSIOn_INSTS is read.
826      * |[1]     |INSTSOV0  |Input Status Overflow 0
827      * |        |          |0 = The pin 0 input status does not overflow.
828      * |        |          |1 = The pin 0 input status occur overflow.
829      * |        |          |Note: This overflow bit can be cleared by writing 1.
830      * |[2]     |VALID1    |Input Status Valid 1
831      * |        |          |0 = The pin 1 input status is not ready.
832      * |        |          |1 = The pin 1 input status is ready.
833      * |        |          |Note: This valid bit will be cleared automatically if PSIOn_INSTS is read.
834      * |[3]     |INSTSOV1  |Input Status Overflow 1
835      * |        |          |0 = The pin 1 input status does not overflow.
836      * |        |          |1 = The pin 1 input status occur overflow.
837      * |        |          |Note: This overflow bit can be cleared by writing 1.
838      * |[4]     |VALID2    |Input Status Valid 2
839      * |        |          |0 = The pin 2 input status is not ready.
840      * |        |          |1 = The pin 2 input status is ready.
841      * |        |          |Note: This valid bit will be cleared automatically if PSIOn_INSTS is read.
842      * |[5]     |INSTSOV2  |Input Status Overflow 2
843      * |        |          |0 = The pin 2 input status does not overflow.
844      * |        |          |1 = The pin 2 input status occur overflow.
845      * |        |          |Note: This overflow bit can be cleared by writing 1.
846      * |[6]     |VALID3    |Input Status Valid 3
847      * |        |          |0 = The pin 3 input status is not ready.
848      * |        |          |1 = The pin 3 input status is ready.
849      * |        |          |Note: This valid bit will be cleared automatically if PSIOn_INSTS is read.
850      * |[7]     |INSTSOV3  |Input Status Overflow 3
851      * |        |          |0 = The pin 3 input status does not overflow.
852      * |        |          |1 = The pin 3 input status occur overflow.
853      * |        |          |Note: This overflow bit can be cleared by writing 1.
854      * |[8]     |VALID4    |Input Status Valid 4
855      * |        |          |0 = The pin 4 input status is not ready.
856      * |        |          |1 = The pin 4 input status is ready.
857      * |        |          |Note: This valid bit will be cleared automatically if PSIOn_INSTS is read.
858      * |[9]     |INSTSOV4  |Input Status Overflow 4
859      * |        |          |0 = The pin 4 input status does not overflow.
860      * |        |          |1 = The pin 4 input status occur overflow.
861      * |        |          |Note: This overflow bit can be cleared by writing 1.
862      * |[10]    |VALID5    |Input Status Valid 5
863      * |        |          |0 = The pin 5 input status is not ready.
864      * |        |          |1 = The pin 5 input status is ready.
865      * |        |          |Note: This valid bit will be cleared automatically if PSIOn_INSTS is read.
866      * |[11]    |INSTSOV5  |Input Status Overflow 5
867      * |        |          |0 = The pin 5 input status does not overflow.
868      * |        |          |1 = The pin 5 input status occur overflow.
869      * |        |          |Note: This overflow bit can be cleared by writing 1.
870      * |[12]    |VALID6    |Input Status Valid 6
871      * |        |          |0 = The pin 6 input status is not ready.
872      * |        |          |1 = The pin 6 input status is ready.
873      * |        |          |Note: This valid bit will be cleared automatically if PSIOn_INSTS is read.
874      * |[13]    |INSTSOV6  |Input Status Overflow 6
875      * |        |          |0 = The pin 6 input status does not overflow.
876      * |        |          |1 = The pin 6 input status occur overflow.
877      * |        |          |Note: This overflow bit can be cleared by writing 1.
878      * |[14]    |VALID7    |Input Status Valid 7
879      * |        |          |0 = The pin7 input status is not ready.
880      * |        |          |1 = The pin7 input status is ready.
881      * |        |          |Note: This valid bit will be cleared automatically if PSIOn_INSTS is read.
882      * |[15]    |INSTSOV7  |Input Status Overflow 7
883      * |        |          |0 = The pin7 input status does not overflow.
884      * |        |          |1 = The pin7 input status occur overflow.
885      * |        |          |Note: This overflow bit can be cleared by writing 1.
886      * @var PSIO_T::PDMACTL
887      * Offset: 0x14  PSIO PDMA Control Register
888      * ---------------------------------------------------------------------------------------------------
889      * |Bits    |Field     |Descriptions
890      * | :----: | :----:   | :---- |
891      * |[0]     |OPIN0EN   |Output PDMA Pin0 Enable Bit
892      * |        |          |0 = Pin0 output PDMA function Disabled.
893      * |        |          |1 = Pin0 output PDMA function Enabled.
894      * |[1]     |OPIN1EN   |Output PDMA Pin1 Enable Bit
895      * |        |          |0 = Pin1 output PDMA function Disabled.
896      * |        |          |1 = Pin1 output PDMA function Enabled.
897      * |[2]     |OPIN2EN   |Output PDMA Pin2 Enable Bit
898      * |        |          |0 = Pin2 output PDMA function Disabled.
899      * |        |          |1 = Pin2 output PDMA function Enabled.
900      * |[3]     |OPIN3EN   |Output PDMA Pin3 Enable Bit
901      * |        |          |0 = Pin3 output PDMA function Disabled.
902      * |        |          |1 = Pin3 output PDMA function Enabled.
903      * |[4]     |OPIN4EN   |Output PDMA Pin4 Enable Bit
904      * |        |          |0 = Pin4 output PDMA function Disabled.
905      * |        |          |1 = Pin4 output PDMA function Enabled.
906      * |[5]     |OPIN5EN   |Output PDMA Pin5 Enable Bit
907      * |        |          |0 = Pin5 output PDMA function Disabled.
908      * |        |          |1 = Pin5 output PDMA function Enabled.
909      * |[6]     |OPIN6EN   |Output PDMA Pin6 Enable Bit
910      * |        |          |0 = Pin6 output PDMA function Disabled.
911      * |        |          |1 = Pin6 output PDMA function Enabled.
912      * |[7]     |OPIN7EN   |Output PDMA Pin7 Enable Bit
913      * |        |          |0 = Pin7 output PDMA function Disabled.
914      * |        |          |1 = Pin7 output PDMA function Enabled.
915      * |[8]     |IPIN0EN   |Input PDMA Pin0 Enable Bit
916      * |        |          |0 = Pin0 input PDMA function Disabled.
917      * |        |          |1 = Pin0 input PDMA function Enabled.
918      * |[9]     |IPIN1EN   |Input PDMA Pin1 Enable Bit
919      * |        |          |0 = Pin1 input PDMA function Disabled.
920      * |        |          |1 = Pin1 input PDMA function Enabled.
921      * |[10]    |IPIN2EN   |Input PDMA Pin2 Enable Bit
922      * |        |          |0 = Pin2 input PDMA function Disabled.
923      * |        |          |1 = Pin2 input PDMA function Enabled.
924      * |[11]    |IPIN3EN   |Input PDMA Pin3 Enable Bit
925      * |        |          |0 = Pin3 input PDMA function Disabled.
926      * |        |          |1 = Pin3 input PDMA function Enabled.
927      * |[12]    |IPIN4EN   |Input PDMA Pin4 Enable Bit
928      * |        |          |0 = Pin4 input PDMA function Disabled.
929      * |        |          |1 = Pin4 input PDMA function Enabled.
930      * |[13]    |IPIN5EN   |Input PDMA Pin5 Enable Bit
931      * |        |          |0 = Pin5 input PDMA function Disabled.
932      * |        |          |1 = Pin5 input PDMA function Enabled.
933      * |[14]    |IPIN6EN   |Input PDMA Pin6 Enable Bit
934      * |        |          |0 = Pin6 input PDMA function Disabled.
935      * |        |          |1 = Pin6 input PDMA function Enabled.
936      * |[15]    |IPIN7EN   |Input PDMA Pin7 Enable Bit
937      * |        |          |0 = Pin7 input PDMA function Disabled.
938      * |        |          |1 = Pin7 input PDMA function Enabled.
939      * |[19:16] |OUTNUM    |PDMA Output Current Number (Read Only)
940      * |        |          |0000 = PDMA IDLE.
941      * |        |          |0001 = Pin 0.
942      * |        |          |0010 = Pin 1.
943      * |        |          |0011 = Pin 2.
944      * |        |          |0100 = Pin 3.
945      * |        |          |0101 = Pin 4.
946      * |        |          |0110 = Pin 5.
947      * |        |          |0111 = Pin 6.
948      * |        |          |1000 = Pin 7.
949      * |        |          |1001 = PDMA WAIT.
950      * |        |          |Others = Reserved.
951      * |        |          |This register shows the current pin number of output register write by PDMA.
952      * |[21:20] |OUTSCSEL  |PDMA Output Data Slot Controller Selection
953      * |        |          |00 = Slot controller 0.
954      * |        |          |01 = Slot controller 1.
955      * |        |          |10 = Slot controller 2.
956      * |        |          |11 = Slot controller 3.
957      * |[27:24] |INNUM     |PDMA Input Current Number (Read Only)
958      * |        |          |0000 = PDMA IDLE.
959      * |        |          |0001 = Pin 0.
960      * |        |          |0010 = Pin 1.
961      * |        |          |0011 = Pin 2.
962      * |        |          |0100 = Pin 3.
963      * |        |          |0101 = Pin 4.
964      * |        |          |0110 = Pin 5.
965      * |        |          |0111 = Pin 6.
966      * |        |          |1000 = Pin 7.
967      * |        |          |1001 = PDMA WAIT.
968      * |        |          |Others = reserved.
969      * |        |          |This register shows the current pin number of input register read by PDMA.
970      * |[29:28] |INSCSEL   |PDMA Input Data Slot Controller Selection
971      * |        |          |00 = Slot controller 0.
972      * |        |          |01 = Slot controller 1.
973      * |        |          |10 = Slot controller 2.
974      * |        |          |11 = Slot controller 3.
975      * @var PSIO_T::PODAT
976      * Offset: 0x18  PSIO PDMA Output Data Register
977      * ---------------------------------------------------------------------------------------------------
978      * |Bits    |Field     |Descriptions
979      * | :----: | :----:   | :---- |
980      * |[31:0]  |PDMAOUT   |PDMA Output Data
981      * |        |          |This register is used for PSIO with PDMA single mode, and set PDMA with fixed address.
982      * |        |          |When PSIO in PDMA mode, setting PDMA to write data to this register.
983      * |        |          |The data in this register will be placed to corresponding PSIOn_OUTDAT register in order, when Output Data Empty Flag is 1 and PDMA mode enabled.
984      * @var PSIO_T::PIDAT
985      * Offset: 0x1C  PSIO PDMA Input Data Register
986      * ---------------------------------------------------------------------------------------------------
987      * |Bits    |Field     |Descriptions
988      * | :----: | :----:   | :---- |
989      * |[31:0]  |PDMAIN    |PDMA Input Data
990      * |        |          |This register is used for PSIO with PDMA single mode, and set PDMA with fixed address.
991      * |        |          |When PSIO in PDMA mode, setting PDMA to read data from this register.
992      * |        |          |The data in this register will be updated from corresponding PSIOn_INDAT register in order, when Input Data Full Flag is 1 and PDMA mode enable.
993      */
994     __IO uint32_t INTCTL;                /*!< [0x0000] PSIO Interrupt Control Register                                  */
995     __IO uint32_t INTEN;                 /*!< [0x0004] PSIO Interrupt Enable Register                                   */
996     __IO uint32_t INTSTS;                /*!< [0x0008] PSIO Interrupt Status Register                                   */
997     __IO uint32_t TRANSTS;               /*!< [0x000c] PSIO Transfer Status Register                                    */
998     __IO uint32_t ISSTS;                 /*!< [0x0010] PSIO Input Status State Register                                 */
999     __IO uint32_t PDMACTL;               /*!< [0x0014] PSIO PDMA Control Register                                       */
1000     __O  uint32_t PODAT;                 /*!< [0x0018] PSIO PDMA Output Data Register                                   */
1001     __IO uint32_t PIDAT;                 /*!< [0x001c] PSIO PDMA Input Data Register                                    */
1002     SCCT_T        SCCT[4];               /*!< [0x0020 ~ 0x0048] PSIO Slot Controller n Registers                        */
1003     GNCT_T        GNCT[8];               /*!< [0x0040 ~ 0x0138] PSIOn Control Registers                                 */
1004 } PSIO_T;
1005 
1006 /**
1007     @addtogroup PSIO_CONST PSIO Bit Field Definition
1008     Constant Definitions for PSIO Controller
1009 @{ */
1010 
1011 #define PSIO_INTCTL_CONI0SS_Pos          (0)                                               /*!< PSIO_T::INTCTL: INT0CSEL Position      */
1012 #define PSIO_INTCTL_CONI0SS_Msk          (0xful << PSIO_INTCTL_CONI0SS_Pos)                /*!< PSIO_T::INTCTL: INT0CSEL Mask          */
1013 
1014 #define PSIO_INTCTL_CONI1SS_Pos          (4)                                               /*!< PSIO_T::INTCTL: INT1CSEL Position      */
1015 #define PSIO_INTCTL_CONI1SS_Msk          (0xful << PSIO_INTCTL_CONI1SS_Pos)                /*!< PSIO_T::INTCTL: INT1CSEL Mask          */
1016 
1017 #define PSIO_INTCTL_CONI0SCS_Pos         (8)                                               /*!< PSIO_T::INTCTL: INT0SSEL Position      */
1018 #define PSIO_INTCTL_CONI0SCS_Msk         (0x3ul << PSIO_INTCTL_CONI0SCS_Pos)               /*!< PSIO_T::INTCTL: INT0SSEL Mask          */
1019 
1020 #define PSIO_INTCTL_CONI1SCS_Pos         (12)                                              /*!< PSIO_T::INTCTL: INT1SSEL Position      */
1021 #define PSIO_INTCTL_CONI1SCS_Msk         (0x3ul << PSIO_INTCTL_CONI1SCS_Pos)               /*!< PSIO_T::INTCTL: INT1SSEL Mask          */
1022 
1023 #define PSIO_INTEN_CON0IE_Pos            (0)                                               /*!< PSIO_T::INTEN: INTEN0 Position         */
1024 #define PSIO_INTEN_CON0IE_Msk            (0x1ul << PSIO_INTEN_CON0IE_Pos)                  /*!< PSIO_T::INTEN: INTEN0 Mask             */
1025 
1026 #define PSIO_INTEN_CON1IE_Pos            (1)                                               /*!< PSIO_T::INTEN: INTEN1 Position         */
1027 #define PSIO_INTEN_CON1IE_Msk            (0x1ul << PSIO_INTEN_CON1IE_Pos)                  /*!< PSIO_T::INTEN: INTEN1 Mask             */
1028 
1029 #define PSIO_INTEN_MISMATIE_Pos          (2)                                               /*!< PSIO_T::INTEN: MISMATIE Position       */
1030 #define PSIO_INTEN_MISMATIE_Msk          (0x1ul << PSIO_INTEN_MISMATIE_Pos)                /*!< PSIO_T::INTEN: MISMATIE Mask           */
1031 
1032 #define PSIO_INTEN_TERRIE_Pos            (3)                                               /*!< PSIO_T::INTEN: TERRIE Position         */
1033 #define PSIO_INTEN_TERRIE_Msk            (0x1ul << PSIO_INTEN_TERRIE_Pos)                  /*!< PSIO_T::INTEN: TERRIE Mask             */
1034 
1035 #define PSIO_INTEN_SC0IE_Pos             (4)                                                /*!< PSIO_T::INTEN: SC0IE Position         */
1036 #define PSIO_INTEN_SC0IE_Msk             (0x1ul << PSIO_INTEN_SC0IE_Pos)                    /*!< PSIO_T::INTEN: SC0IE Mask             */
1037 
1038 #define PSIO_INTEN_SC1IE_Pos             (5)                                                /*!< PSIO_T::INTEN: SC1IE Position         */
1039 #define PSIO_INTEN_SC1IE_Msk             (0x1ul << PSIO_INTEN_SC1IE_Pos)                    /*!< PSIO_T::INTEN: SC1IE Mask             */
1040 
1041 #define PSIO_INTEN_SC2IE_Pos             (6)                                                /*!< PSIO_T::INTEN: SC2IE Position         */
1042 #define PSIO_INTEN_SC2IE_Msk             (0x1ul << PSIO_INTEN_SC2IE_Pos)                    /*!< PSIO_T::INTEN: SC2IE Mask             */
1043 
1044 #define PSIO_INTEN_SC3IE_Pos             (7)                                                /*!< PSIO_T::INTEN: SC3IE Position         */
1045 #define PSIO_INTEN_SC3IE_Msk             (0x1ul << PSIO_INTEN_SC3IE_Pos)                    /*!< PSIO_T::INTEN: SC3IE Mask             */
1046 
1047 #define PSIO_INTSTS_CON0IF_Pos           (0)                                               /*!< PSIO_T::INTSTS: INTIF0 Position        */
1048 #define PSIO_INTSTS_CON0IF_Msk           (0x1ul << PSIO_INTSTS_CON0IF_Pos)                 /*!< PSIO_T::INTSTS: INTIF0 Mask            */
1049 
1050 #define PSIO_INTSTS_CON1IF_Pos           (1)                                               /*!< PSIO_T::INTSTS: INTIF1 Position        */
1051 #define PSIO_INTSTS_CON1IF_Msk           (0x1ul << PSIO_INTSTS_CON1IF_Pos)                 /*!< PSIO_T::INTSTS: INTIF1 Mask            */
1052 
1053 #define PSIO_INTSTS_MISMATIF_Pos         (2)                                               /*!< PSIO_T::INTSTS: MISMATIF Position      */
1054 #define PSIO_INTSTS_MISMATIF_Msk         (0x1ul << PSIO_INTSTS_MISMATIF_Pos)               /*!< PSIO_T::INTSTS: MISMATIF Mask          */
1055 
1056 #define PSIO_INTSTS_TERRIF_Pos           (3)                                               /*!< PSIO_T::INTSTS: TERRIF Position        */
1057 #define PSIO_INTSTS_TERRIF_Msk           (0x1ul << PSIO_INTSTS_TERRIF_Pos)                 /*!< PSIO_T::INTSTS: TERRIF Mask            */
1058 
1059 #define PSIO_INTSTS_SC0IF_Pos            (4)                                               /*!< PSIO_T::INTSTS: SC0IF Position         */
1060 #define PSIO_INTSTS_SC0IF_Msk            (0x1ul << PSIO_INTSTS_SC0IF_Pos)                  /*!< PSIO_T::INTSTS: SC0IF Mask             */
1061 
1062 #define PSIO_INTSTS_SC1IF_Pos            (5)                                               /*!< PSIO_T::INTSTS: SC1IF Position         */
1063 #define PSIO_INTSTS_SC1IF_Msk            (0x1ul << PSIO_INTSTS_SC1IF_Pos)                  /*!< PSIO_T::INTSTS: SC1IF Mask             */
1064 
1065 #define PSIO_INTSTS_SC2IF_Pos            (6)                                               /*!< PSIO_T::INTSTS: SC2IF Position         */
1066 #define PSIO_INTSTS_SC2IF_Msk            (0x1ul << PSIO_INTSTS_SC2IF_Pos)                  /*!< PSIO_T::INTSTS: SC2IF Mask             */
1067 
1068 #define PSIO_INTSTS_SC3IF_Pos            (7)                                               /*!< PSIO_T::INTSTS: SC3IF Position         */
1069 #define PSIO_INTSTS_SC3IF_Msk            (0x1ul << PSIO_INTSTS_SC3IF_Pos)                  /*!< PSIO_T::INTSTS: SC3IF Mask             */
1070 
1071 #define PSIO_TRANSTS_INFULL0_Pos         (0)                                               /*!< PSIO_T::TRANSTS: INFULL0 Position      */
1072 #define PSIO_TRANSTS_INFULL0_Msk         (0x1ul << PSIO_TRANSTS_INFULL0_Pos)               /*!< PSIO_T::TRANSTS: INFULL0 Mask          */
1073 
1074 #define PSIO_TRANSTS_INOVER0_Pos         (1)                                               /*!< PSIO_T::TRANSTS: INOVER0 Position      */
1075 #define PSIO_TRANSTS_INOVER0_Msk         (0x1ul << PSIO_TRANSTS_INOVER0_Pos)               /*!< PSIO_T::TRANSTS: INOVER0 Mask          */
1076 
1077 #define PSIO_TRANSTS_OUTEPY0_Pos         (2)                                               /*!< PSIO_T::TRANSTS: OUTEPY0 Position      */
1078 #define PSIO_TRANSTS_OUTEPY0_Msk         (0x1ul << PSIO_TRANSTS_OUTEPY0_Pos)               /*!< PSIO_T::TRANSTS: OUTEPY0 Mask          */
1079 
1080 #define PSIO_TRANSTS_OUTUF0_Pos          (3)                                               /*!< PSIO_T::TRANSTS: OUTUF0 Position       */
1081 #define PSIO_TRANSTS_OUTUF0_Msk          (0x1ul << PSIO_TRANSTS_OUTUF0_Pos)                /*!< PSIO_T::TRANSTS: OUTUF0 Mask           */
1082 
1083 #define PSIO_TRANSTS_INFULL1_Pos         (4)                                               /*!< PSIO_T::TRANSTS: INFULL1 Position      */
1084 #define PSIO_TRANSTS_INFULL1_Msk         (0x1ul << PSIO_TRANSTS_INFULL1_Pos)               /*!< PSIO_T::TRANSTS: INFULL1 Mask          */
1085 
1086 #define PSIO_TRANSTS_INOVER1_Pos         (5)                                               /*!< PSIO_T::TRANSTS: INOVER1 Position      */
1087 #define PSIO_TRANSTS_INOVER1_Msk         (0x1ul << PSIO_TRANSTS_INOVER1_Pos)               /*!< PSIO_T::TRANSTS: INOVER1 Mask          */
1088 
1089 #define PSIO_TRANSTS_OUTEPY1_Pos         (6)                                               /*!< PSIO_T::TRANSTS: OUTEPY1 Position      */
1090 #define PSIO_TRANSTS_OUTEPY1_Msk         (0x1ul << PSIO_TRANSTS_OUTEPY1_Pos)               /*!< PSIO_T::TRANSTS: OUTEPY1 Mask          */
1091 
1092 #define PSIO_TRANSTS_OUTUF1_Pos          (7)                                               /*!< PSIO_T::TRANSTS: OUTUF1 Position       */
1093 #define PSIO_TRANSTS_OUTUF1_Msk          (0x1ul << PSIO_TRANSTS_OUTUF1_Pos)                /*!< PSIO_T::TRANSTS: OUTUF1 Mask           */
1094 
1095 #define PSIO_TRANSTS_INFULL2_Pos         (8)                                               /*!< PSIO_T::TRANSTS: INFULL2 Position      */
1096 #define PSIO_TRANSTS_INFULL2_Msk         (0x1ul << PSIO_TRANSTS_INFULL2_Pos)               /*!< PSIO_T::TRANSTS: INFULL2 Mask          */
1097 
1098 #define PSIO_TRANSTS_INOVER2_Pos         (9)                                               /*!< PSIO_T::TRANSTS: INOVER2 Position      */
1099 #define PSIO_TRANSTS_INOVER2_Msk         (0x1ul << PSIO_TRANSTS_INOVER2_Pos)               /*!< PSIO_T::TRANSTS: INOVER2 Mask          */
1100 
1101 #define PSIO_TRANSTS_OUTEPY2_Pos         (10)                                              /*!< PSIO_T::TRANSTS: OUTEPY2 Position      */
1102 #define PSIO_TRANSTS_OUTEPY2_Msk         (0x1ul << PSIO_TRANSTS_OUTEPY2_Pos)               /*!< PSIO_T::TRANSTS: OUTEPY2 Mask          */
1103 
1104 #define PSIO_TRANSTS_OUTUF2_Pos          (11)                                              /*!< PSIO_T::TRANSTS: OUTUF2 Position       */
1105 #define PSIO_TRANSTS_OUTUF2_Msk          (0x1ul << PSIO_TRANSTS_OUTUF2_Pos)                /*!< PSIO_T::TRANSTS: OUTUF2 Mask           */
1106 
1107 #define PSIO_TRANSTS_INFULL3_Pos         (12)                                              /*!< PSIO_T::TRANSTS: INFULL3 Position      */
1108 #define PSIO_TRANSTS_INFULL3_Msk         (0x1ul << PSIO_TRANSTS_INFULL3_Pos)               /*!< PSIO_T::TRANSTS: INFULL3 Mask          */
1109 
1110 #define PSIO_TRANSTS_INOVER3_Pos         (13)                                              /*!< PSIO_T::TRANSTS: INOVER3 Position      */
1111 #define PSIO_TRANSTS_INOVER3_Msk         (0x1ul << PSIO_TRANSTS_INOVER3_Pos)               /*!< PSIO_T::TRANSTS: INOVER3 Mask          */
1112 
1113 #define PSIO_TRANSTS_OUTEPY3_Pos         (14)                                              /*!< PSIO_T::TRANSTS: OUTEPY3 Position      */
1114 #define PSIO_TRANSTS_OUTEPY3_Msk         (0x1ul << PSIO_TRANSTS_OUTEPY3_Pos)               /*!< PSIO_T::TRANSTS: OUTEPY3 Mask          */
1115 
1116 #define PSIO_TRANSTS_OUTUF3_Pos          (15)                                              /*!< PSIO_T::TRANSTS: OUTUF3 Position       */
1117 #define PSIO_TRANSTS_OUTUF3_Msk          (0x1ul << PSIO_TRANSTS_OUTUF3_Pos)                /*!< PSIO_T::TRANSTS: OUTUF3 Mask           */
1118 
1119 #define PSIO_TRANSTS_INFULL4_Pos         (16)                                              /*!< PSIO_T::TRANSTS: INFULL4 Position      */
1120 #define PSIO_TRANSTS_INFULL4_Msk         (0x1ul << PSIO_TRANSTS_INFULL4_Pos)               /*!< PSIO_T::TRANSTS: INFULL4 Mask          */
1121 
1122 #define PSIO_TRANSTS_INOVER4_Pos         (17)                                              /*!< PSIO_T::TRANSTS: INOVER4 Position      */
1123 #define PSIO_TRANSTS_INOVER4_Msk         (0x1ul << PSIO_TRANSTS_INOVER4_Pos)               /*!< PSIO_T::TRANSTS: INOVER4 Mask          */
1124 
1125 #define PSIO_TRANSTS_OUTEPY4_Pos         (18)                                              /*!< PSIO_T::TRANSTS: OUTEPY4 Position      */
1126 #define PSIO_TRANSTS_OUTEPY4_Msk         (0x1ul << PSIO_TRANSTS_OUTEPY4_Pos)               /*!< PSIO_T::TRANSTS: OUTEPY4 Mask          */
1127 
1128 #define PSIO_TRANSTS_OUTUF4_Pos          (19)                                              /*!< PSIO_T::TRANSTS: OUTUF4 Position       */
1129 #define PSIO_TRANSTS_OUTUF4_Msk          (0x1ul << PSIO_TRANSTS_OUTUF4_Pos)                /*!< PSIO_T::TRANSTS: OUTUF4 Mask           */
1130 
1131 #define PSIO_TRANSTS_INFULL5_Pos         (20)                                              /*!< PSIO_T::TRANSTS: INFULL5 Position      */
1132 #define PSIO_TRANSTS_INFULL5_Msk         (0x1ul << PSIO_TRANSTS_INFULL5_Pos)               /*!< PSIO_T::TRANSTS: INFULL5 Mask          */
1133 
1134 #define PSIO_TRANSTS_INOVER5_Pos         (21)                                              /*!< PSIO_T::TRANSTS: INOVER5 Position      */
1135 #define PSIO_TRANSTS_INOVER5_Msk         (0x1ul << PSIO_TRANSTS_INOVER5_Pos)               /*!< PSIO_T::TRANSTS: INOVER5 Mask          */
1136 
1137 #define PSIO_TRANSTS_OUTEPY5_Pos         (22)                                              /*!< PSIO_T::TRANSTS: OUTEPY5 Position      */
1138 #define PSIO_TRANSTS_OUTEPY5_Msk         (0x1ul << PSIO_TRANSTS_OUTEPY5_Pos)               /*!< PSIO_T::TRANSTS: OUTEPY5 Mask          */
1139 
1140 #define PSIO_TRANSTS_OUTUF5_Pos          (23)                                              /*!< PSIO_T::TRANSTS: OUTUF5 Position       */
1141 #define PSIO_TRANSTS_OUTUF5_Msk          (0x1ul << PSIO_TRANSTS_OUTUF5_Pos)                /*!< PSIO_T::TRANSTS: OUTUF5 Mask           */
1142 
1143 #define PSIO_TRANSTS_INFULL6_Pos         (24)                                              /*!< PSIO_T::TRANSTS: INFULL6 Position      */
1144 #define PSIO_TRANSTS_INFULL6_Msk         (0x1ul << PSIO_TRANSTS_INFULL6_Pos)               /*!< PSIO_T::TRANSTS: INFULL6 Mask          */
1145 
1146 #define PSIO_TRANSTS_INOVER6_Pos         (25)                                              /*!< PSIO_T::TRANSTS: INOVER6 Position      */
1147 #define PSIO_TRANSTS_INOVER6_Msk         (0x1ul << PSIO_TRANSTS_INOVER6_Pos)               /*!< PSIO_T::TRANSTS: INOVER6 Mask          */
1148 
1149 #define PSIO_TRANSTS_OUTEPY6_Pos         (26)                                              /*!< PSIO_T::TRANSTS: OUTEPY6 Position      */
1150 #define PSIO_TRANSTS_OUTEPY6_Msk         (0x1ul << PSIO_TRANSTS_OUTEPY6_Pos)               /*!< PSIO_T::TRANSTS: OUTEPY6 Mask          */
1151 
1152 #define PSIO_TRANSTS_OUTUF6_Pos          (27)                                              /*!< PSIO_T::TRANSTS: OUTUF6 Position       */
1153 #define PSIO_TRANSTS_OUTUF6_Msk          (0x1ul << PSIO_TRANSTS_OUTUF6_Pos)                /*!< PSIO_T::TRANSTS: OUTUF6 Mask           */
1154 
1155 #define PSIO_TRANSTS_INFULL7_Pos         (28)                                              /*!< PSIO_T::TRANSTS: INFULL7 Position      */
1156 #define PSIO_TRANSTS_INFULL7_Msk         (0x1ul << PSIO_TRANSTS_INFULL7_Pos)               /*!< PSIO_T::TRANSTS: INFULL7 Mask          */
1157 
1158 #define PSIO_TRANSTS_INOVER7_Pos         (29)                                              /*!< PSIO_T::TRANSTS: INOVER7 Position      */
1159 #define PSIO_TRANSTS_INOVER7_Msk         (0x1ul << PSIO_TRANSTS_INOVER7_Pos)               /*!< PSIO_T::TRANSTS: INOVER7 Mask          */
1160 
1161 #define PSIO_TRANSTS_OUTEPY7_Pos         (30)                                              /*!< PSIO_T::TRANSTS: OUTEPY7 Position      */
1162 #define PSIO_TRANSTS_OUTEPY7_Msk         (0x1ul << PSIO_TRANSTS_OUTEPY7_Pos)               /*!< PSIO_T::TRANSTS: OUTEPY7 Mask          */
1163 
1164 #define PSIO_TRANSTS_OUTUF7_Pos          (31)                                              /*!< PSIO_T::TRANSTS: OUTUF7 Position       */
1165 #define PSIO_TRANSTS_OUTUF7_Msk          (0x1ul << PSIO_TRANSTS_OUTUF7_Pos)                /*!< PSIO_T::TRANSTS: OUTUF7 Mask           */
1166 
1167 #define PSIO_ISSTS_VALID0_Pos            (0)                                               /*!< PSIO_T::ISSTS: VALID0 Position         */
1168 #define PSIO_ISSTS_VALID0_Msk            (0x1ul << PSIO_ISSTS_VALID0_Pos)                  /*!< PSIO_T::ISSTS: VALID0 Mask             */
1169 
1170 #define PSIO_ISSTS_INSTSOV0_Pos          (1)                                               /*!< PSIO_T::ISSTS: INSTSOV0 Position       */
1171 #define PSIO_ISSTS_INSTSOV0_Msk          (0x1ul << PSIO_ISSTS_INSTSOV0_Pos)                /*!< PSIO_T::ISSTS: INSTSOV0 Mask           */
1172 
1173 #define PSIO_ISSTS_VALID1_Pos            (2)                                               /*!< PSIO_T::ISSTS: VALID1 Position         */
1174 #define PSIO_ISSTS_VALID1_Msk            (0x1ul << PSIO_ISSTS_VALID1_Pos)                  /*!< PSIO_T::ISSTS: VALID1 Mask             */
1175 
1176 #define PSIO_ISSTS_INSTSOV1_Pos          (3)                                               /*!< PSIO_T::ISSTS: INSTSOV1 Position       */
1177 #define PSIO_ISSTS_INSTSOV1_Msk          (0x1ul << PSIO_ISSTS_INSTSOV1_Pos)                /*!< PSIO_T::ISSTS: INSTSOV1 Mask           */
1178 
1179 #define PSIO_ISSTS_VALID2_Pos            (4)                                               /*!< PSIO_T::ISSTS: VALID2 Position         */
1180 #define PSIO_ISSTS_VALID2_Msk            (0x1ul << PSIO_ISSTS_VALID2_Pos)                  /*!< PSIO_T::ISSTS: VALID2 Mask             */
1181 
1182 #define PSIO_ISSTS_INSTSOV2_Pos          (5)                                               /*!< PSIO_T::ISSTS: INSTSOV2 Position       */
1183 #define PSIO_ISSTS_INSTSOV2_Msk          (0x1ul << PSIO_ISSTS_INSTSOV2_Pos)                /*!< PSIO_T::ISSTS: INSTSOV2 Mask           */
1184 
1185 #define PSIO_ISSTS_VALID3_Pos            (6)                                               /*!< PSIO_T::ISSTS: VALID3 Position         */
1186 #define PSIO_ISSTS_VALID3_Msk            (0x1ul << PSIO_ISSTS_VALID3_Pos)                  /*!< PSIO_T::ISSTS: VALID3 Mask             */
1187 
1188 #define PSIO_ISSTS_INSTSOV3_Pos          (7)                                               /*!< PSIO_T::ISSTS: INSTSOV3 Position       */
1189 #define PSIO_ISSTS_INSTSOV3_Msk          (0x1ul << PSIO_ISSTS_INSTSOV3_Pos)                /*!< PSIO_T::ISSTS: INSTSOV3 Mask           */
1190 
1191 #define PSIO_ISSTS_VALID4_Pos            (8)                                               /*!< PSIO_T::ISSTS: VALID4 Position         */
1192 #define PSIO_ISSTS_VALID4_Msk            (0x1ul << PSIO_ISSTS_VALID4_Pos)                  /*!< PSIO_T::ISSTS: VALID4 Mask             */
1193 
1194 #define PSIO_ISSTS_INSTSOV4_Pos          (9)                                               /*!< PSIO_T::ISSTS: INSTSOV4 Position       */
1195 #define PSIO_ISSTS_INSTSOV4_Msk          (0x1ul << PSIO_ISSTS_INSTSOV4_Pos)                /*!< PSIO_T::ISSTS: INSTSOV4 Mask           */
1196 
1197 #define PSIO_ISSTS_VALID5_Pos            (10)                                              /*!< PSIO_T::ISSTS: VALID5 Position         */
1198 #define PSIO_ISSTS_VALID5_Msk            (0x1ul << PSIO_ISSTS_VALID5_Pos)                  /*!< PSIO_T::ISSTS: VALID5 Mask             */
1199 
1200 #define PSIO_ISSTS_INSTSOV5_Pos          (11)                                              /*!< PSIO_T::ISSTS: INSTSOV5 Position       */
1201 #define PSIO_ISSTS_INSTSOV5_Msk          (0x1ul << PSIO_ISSTS_INSTSOV5_Pos)                /*!< PSIO_T::ISSTS: INSTSOV5 Mask           */
1202 
1203 #define PSIO_ISSTS_VALID6_Pos            (12)                                              /*!< PSIO_T::ISSTS: VALID6 Position         */
1204 #define PSIO_ISSTS_VALID6_Msk            (0x1ul << PSIO_ISSTS_VALID6_Pos)                  /*!< PSIO_T::ISSTS: VALID6 Mask             */
1205 
1206 #define PSIO_ISSTS_INSTSOV6_Pos          (13)                                              /*!< PSIO_T::ISSTS: INSTSOV6 Position       */
1207 #define PSIO_ISSTS_INSTSOV6_Msk          (0x1ul << PSIO_ISSTS_INSTSOV6_Pos)                /*!< PSIO_T::ISSTS: INSTSOV6 Mask           */
1208 
1209 #define PSIO_ISSTS_VALID7_Pos            (14)                                              /*!< PSIO_T::ISSTS: VALID7 Position         */
1210 #define PSIO_ISSTS_VALID7_Msk            (0x1ul << PSIO_ISSTS_VALID7_Pos)                  /*!< PSIO_T::ISSTS: VALID7 Mask             */
1211 
1212 #define PSIO_ISSTS_INSTSOV7_Pos          (15)                                              /*!< PSIO_T::ISSTS: INSTSOV7 Position       */
1213 #define PSIO_ISSTS_INSTSOV7_Msk          (0x1ul << PSIO_ISSTS_INSTSOV7_Pos)                /*!< PSIO_T::ISSTS: INSTSOV7 Mask           */
1214 
1215 #define PSIO_PDMACTL_OPIN0EN_Pos         (0)                                               /*!< PSIO_T::PDMACTL: OPIN0EN Position      */
1216 #define PSIO_PDMACTL_OPIN0EN_Msk         (0x1ul << PSIO_PDMACTL_OPIN0EN_Pos)               /*!< PSIO_T::PDMACTL: OPIN0EN Mask          */
1217 
1218 #define PSIO_PDMACTL_OPIN1EN_Pos         (1)                                               /*!< PSIO_T::PDMACTL: OPIN1EN Position      */
1219 #define PSIO_PDMACTL_OPIN1EN_Msk         (0x1ul << PSIO_PDMACTL_OPIN1EN_Pos)               /*!< PSIO_T::PDMACTL: OPIN1EN Mask          */
1220 
1221 #define PSIO_PDMACTL_OPIN2EN_Pos         (2)                                               /*!< PSIO_T::PDMACTL: OPIN2EN Position      */
1222 #define PSIO_PDMACTL_OPIN2EN_Msk         (0x1ul << PSIO_PDMACTL_OPIN2EN_Pos)               /*!< PSIO_T::PDMACTL: OPIN2EN Mask          */
1223 
1224 #define PSIO_PDMACTL_OPIN3EN_Pos         (3)                                               /*!< PSIO_T::PDMACTL: OPIN3EN Position      */
1225 #define PSIO_PDMACTL_OPIN3EN_Msk         (0x1ul << PSIO_PDMACTL_OPIN3EN_Pos)               /*!< PSIO_T::PDMACTL: OPIN3EN Mask          */
1226 
1227 #define PSIO_PDMACTL_OPIN4EN_Pos         (4)                                               /*!< PSIO_T::PDMACTL: OPIN4EN Position      */
1228 #define PSIO_PDMACTL_OPIN4EN_Msk         (0x1ul << PSIO_PDMACTL_OPIN4EN_Pos)               /*!< PSIO_T::PDMACTL: OPIN4EN Mask          */
1229 
1230 #define PSIO_PDMACTL_OPIN5EN_Pos         (5)                                               /*!< PSIO_T::PDMACTL: OPIN5EN Position      */
1231 #define PSIO_PDMACTL_OPIN5EN_Msk         (0x1ul << PSIO_PDMACTL_OPIN5EN_Pos)               /*!< PSIO_T::PDMACTL: OPIN5EN Mask          */
1232 
1233 #define PSIO_PDMACTL_OPIN6EN_Pos         (6)                                               /*!< PSIO_T::PDMACTL: OPIN6EN Position      */
1234 #define PSIO_PDMACTL_OPIN6EN_Msk         (0x1ul << PSIO_PDMACTL_OPIN6EN_Pos)               /*!< PSIO_T::PDMACTL: OPIN6EN Mask          */
1235 
1236 #define PSIO_PDMACTL_OPIN7EN_Pos         (7)                                               /*!< PSIO_T::PDMACTL: OPIN7EN Position      */
1237 #define PSIO_PDMACTL_OPIN7EN_Msk         (0x1ul << PSIO_PDMACTL_OPIN7EN_Pos)               /*!< PSIO_T::PDMACTL: OPIN7EN Mask          */
1238 
1239 #define PSIO_PDMACTL_IPIN0EN_Pos         (8)                                               /*!< PSIO_T::PDMACTL: IPIN0EN Position      */
1240 #define PSIO_PDMACTL_IPIN0EN_Msk         (0x1ul << PSIO_PDMACTL_IPIN0EN_Pos)               /*!< PSIO_T::PDMACTL: IPIN0EN Mask          */
1241 
1242 #define PSIO_PDMACTL_IPIN1EN_Pos         (9)                                               /*!< PSIO_T::PDMACTL: IPIN1EN Position      */
1243 #define PSIO_PDMACTL_IPIN1EN_Msk         (0x1ul << PSIO_PDMACTL_IPIN1EN_Pos)               /*!< PSIO_T::PDMACTL: IPIN1EN Mask          */
1244 
1245 #define PSIO_PDMACTL_IPIN2EN_Pos         (10)                                              /*!< PSIO_T::PDMACTL: IPIN2EN Position      */
1246 #define PSIO_PDMACTL_IPIN2EN_Msk         (0x1ul << PSIO_PDMACTL_IPIN2EN_Pos)               /*!< PSIO_T::PDMACTL: IPIN2EN Mask          */
1247 
1248 #define PSIO_PDMACTL_IPIN3EN_Pos         (11)                                              /*!< PSIO_T::PDMACTL: IPIN3EN Position      */
1249 #define PSIO_PDMACTL_IPIN3EN_Msk         (0x1ul << PSIO_PDMACTL_IPIN3EN_Pos)               /*!< PSIO_T::PDMACTL: IPIN3EN Mask          */
1250 
1251 #define PSIO_PDMACTL_IPIN4EN_Pos         (12)                                              /*!< PSIO_T::PDMACTL: IPIN4EN Position      */
1252 #define PSIO_PDMACTL_IPIN4EN_Msk         (0x1ul << PSIO_PDMACTL_IPIN4EN_Pos)               /*!< PSIO_T::PDMACTL: IPIN4EN Mask          */
1253 
1254 #define PSIO_PDMACTL_IPIN5EN_Pos         (13)                                              /*!< PSIO_T::PDMACTL: IPIN5EN Position      */
1255 #define PSIO_PDMACTL_IPIN5EN_Msk         (0x1ul << PSIO_PDMACTL_IPIN5EN_Pos)               /*!< PSIO_T::PDMACTL: IPIN5EN Mask          */
1256 
1257 #define PSIO_PDMACTL_IPIN6EN_Pos         (14)                                              /*!< PSIO_T::PDMACTL: IPIN6EN Position      */
1258 #define PSIO_PDMACTL_IPIN6EN_Msk         (0x1ul << PSIO_PDMACTL_IPIN6EN_Pos)               /*!< PSIO_T::PDMACTL: IPIN6EN Mask          */
1259 
1260 #define PSIO_PDMACTL_IPIN7EN_Pos         (15)                                              /*!< PSIO_T::PDMACTL: IPIN7EN Position      */
1261 #define PSIO_PDMACTL_IPIN7EN_Msk         (0x1ul << PSIO_PDMACTL_IPIN7EN_Pos)               /*!< PSIO_T::PDMACTL: IPIN7EN Mask          */
1262 
1263 #define PSIO_PDMACTL_OUTNUM_Pos          (16)                                              /*!< PSIO_T::PDMACTL: OUTNUM Position       */
1264 #define PSIO_PDMACTL_OUTNUM_Msk          (0xful << PSIO_PDMACTL_OUTNUM_Pos)                /*!< PSIO_T::PDMACTL: OUTNUM Mask           */
1265 
1266 #define PSIO_PDMACTL_OUTSCSEL_Pos        (20)                                              /*!< PSIO_T::PDMACTL: OUTSCSEL Position     */
1267 #define PSIO_PDMACTL_OUTSCSEL_Msk        (0x3ul << PSIO_PDMACTL_OUTSCSEL_Pos)              /*!< PSIO_T::PDMACTL: OUTSCSEL Mask         */
1268 
1269 #define PSIO_PDMACTL_INNUM_Pos           (24)                                              /*!< PSIO_T::PDMACTL: INNUM Position        */
1270 #define PSIO_PDMACTL_INNUM_Msk           (0xful << PSIO_PDMACTL_INNUM_Pos)                 /*!< PSIO_T::PDMACTL: INNUM Mask            */
1271 
1272 #define PSIO_PDMACTL_INSCSEL_Pos         (28)                                              /*!< PSIO_T::PDMACTL: INSCSEL Position      */
1273 #define PSIO_PDMACTL_INSCSEL_Msk         (0x3ul << PSIO_PDMACTL_INSCSEL_Pos)               /*!< PSIO_T::PDMACTL: INSCSEL Mask          */
1274 
1275 #define PSIO_PODAT_PDMAOUT_Pos           (0)                                               /*!< PSIO_T::PODAT: PDMAOUT Position        */
1276 #define PSIO_PODAT_PDMAOUT_Msk           (0xfffffffful << PSIO_PODAT_PDMAOUT_Pos)          /*!< PSIO_T::PODAT: PDMAOUT Mask            */
1277 
1278 #define PSIO_PIDAT_PDMAIN_Pos            (0)                                               /*!< PSIO_T::PIDAT: PDMAIN Position         */
1279 #define PSIO_PIDAT_PDMAIN_Msk            (0xfffffffful << PSIO_PIDAT_PDMAIN_Pos)           /*!< PSIO_T::PIDAT: PDMAIN Mask             */
1280 
1281 #define PSIO_SCCT_SCCTL_INISLOT_Pos      (0)                                               /*!< PSIO_T::SCCTL: INISLOT Position        */
1282 #define PSIO_SCCT_SCCTL_INISLOT_Msk      (0xful << PSIO_SCCT_SCCTL_INISLOT_Pos)            /*!< PSIO_T::SCCTL: INISLOT Mask            */
1283 
1284 #define PSIO_SCCT_SCCTL_ENDSLOT_Pos      (4)                                               /*!< PSIO_T::SCCTL: ENDSLOT Position        */
1285 #define PSIO_SCCT_SCCTL_ENDSLOT_Msk      (0xful << PSIO_SCCT_SCCTL_ENDSLOT_Pos)            /*!< PSIO_T::SCCTL: ENDSLOT Mask            */
1286 
1287 #define PSIO_SCCT_SCCTL_SPLCNT_Pos       (8)                                               /*!< PSIO_T::SCCTL: SPLCNT Position         */
1288 #define PSIO_SCCT_SCCTL_SPLCNT_Msk       (0x3ful << PSIO_SCCT_SCCTL_SPLCNT_Pos)            /*!< PSIO_T::SCCTL: SPLCNT Mask             */
1289 
1290 #define PSIO_SCCT_SCCTL_TRIGSRC_Pos      (14)                                              /*!< PSIO_T::SCCTL: TRIGSRC Position        */
1291 #define PSIO_SCCT_SCCTL_TRIGSRC_Msk      (0x3ul << PSIO_SCCT_SCCTL_TRIGSRC_Pos)            /*!< PSIO_T::SCCTL: TRIGSRC Mask            */
1292 
1293 #define PSIO_SCCT_SCCTL_START_Pos        (16)                                              /*!< PSIO_T::SCCTL: START Position          */
1294 #define PSIO_SCCT_SCCTL_START_Msk        (0x1ul << PSIO_SCCT_SCCTL_START_Pos)              /*!< PSIO_T::SCCTL: START Mask              */
1295 
1296 #define PSIO_SCCT_SCCTL_REPEAT_Pos       (17)                                              /*!< PSIO_T::SCCTL: REPEAT Position         */
1297 #define PSIO_SCCT_SCCTL_REPEAT_Msk       (0x1ul << PSIO_SCCT_SCCTL_REPEAT_Pos)             /*!< PSIO_T::SCCTL: REPEAT Mask             */
1298 
1299 #define PSIO_SCCT_SCCTL_STOP_Pos         (18)                                              /*!< PSIO_T::SCCTL: STOP Position           */
1300 #define PSIO_SCCT_SCCTL_STOP_Msk         (0x1ul << PSIO_SCCT_SCCTL_STOP_Pos)               /*!< PSIO_T::SCCTL: STOP Mask               */
1301 
1302 #define PSIO_SCCT_SCCTL_BUSY_Pos         (24)                                              /*!< PSIO_T::SCCTL: BUSY Position           */
1303 #define PSIO_SCCT_SCCTL_BUSY_Msk         (0x1ul << PSIO_SCCT_SCCTL_BUSY_Pos)               /*!< PSIO_T::SCCTL: BUSY Mask               */
1304 
1305 #define PSIO_SCCT_SCCTL_IDLE_Pos         (25)                                              /*!< PSIO_T::SCCTL: IDLE Position           */
1306 #define PSIO_SCCT_SCCTL_IDLE_Msk         (0x1ul << PSIO_SCCT_SCCTL_IDLE_Pos)               /*!< PSIO_T::SCCTL: IDLE Mask               */
1307 
1308 #define PSIO_SCCT_SCSLOT_SLOT0CNT_Pos    (0)                                               /*!< PSIO_T::SCSLOT: SLOT0CNT Position      */
1309 #define PSIO_SCCT_SCSLOT_SLOT0CNT_Msk    (0xful << PSIO_SCCT_SCSLOT_SLOT0CNT_Pos)          /*!< PSIO_T::SCSLOT: SLOT0CNT Mask          */
1310 
1311 #define PSIO_SCCT_SCSLOT_SLOT1CNT_Pos    (4)                                               /*!< PSIO_T::SCSLOT: SLOT1CNT Position      */
1312 #define PSIO_SCCT_SCSLOT_SLOT1CNT_Msk    (0xful << PSIO_SCCT_SCSLOT_SLOT1CNT_Pos)          /*!< PSIO_T::SCSLOT: SLOT1CNT Mask          */
1313 
1314 #define PSIO_SCCT_SCSLOT_SLOT2CNT_Pos    (8)                                               /*!< PSIO_T::SCSLOT: SLOT2CNT Position      */
1315 #define PSIO_SCCT_SCSLOT_SLOT2CNT_Msk    (0xful << PSIO_SCCT_SCSLOT_SLOT2CNT_Pos)          /*!< PSIO_T::SCSLOT: SLOT2CNT Mask          */
1316 
1317 #define PSIO_SCCT_SCSLOT_SLOT3CNT_Pos    (12)                                              /*!< PSIO_T::SCSLOT: SLOT3CNT Position      */
1318 #define PSIO_SCCT_SCSLOT_SLOT3CNT_Msk    (0xful << PSIO_SCCT_SCSLOT_SLOT3CNT_Pos)          /*!< PSIO_T::SCSLOT: SLOT3CNT Mask          */
1319 
1320 #define PSIO_SCCT_SCSLOT_SLOT4CNT_Pos    (16)                                              /*!< PSIO_T::SCSLOT: SLOT4CNT Position      */
1321 #define PSIO_SCCT_SCSLOT_SLOT4CNT_Msk    (0xful << PSIO_SCCT_SCSLOT_SLOT4CNT_Pos)          /*!< PSIO_T::SCSLOT: SLOT4CNT Mask          */
1322 
1323 #define PSIO_SCCT_SCSLOT_SLOT5CNT_Pos    (20)                                              /*!< PSIO_T::SCSLOT: SLOT5CNT Position      */
1324 #define PSIO_SCCT_SCSLOT_SLOT5CNT_Msk    (0xful << PSIO_SCCT_SCSLOT_SLOT5CNT_Pos)          /*!< PSIO_T::SCSLOT: SLOT5CNT Mask          */
1325 
1326 #define PSIO_SCCT_SCSLOT_SLOT6CNT_Pos    (24)                                              /*!< PSIO_T::SCSLOT: SLOT6CNT Position      */
1327 #define PSIO_SCCT_SCSLOT_SLOT6CNT_Msk    (0xful << PSIO_SCCT_SCSLOT_SLOT6CNT_Pos)          /*!< PSIO_T::SCSLOT: SLOT6CNT Mask          */
1328 
1329 #define PSIO_SCCT_SCSLOT_SLOT7CNT_Pos    (28)                                              /*!< PSIO_T::SCSLOT: SLOT7CNT Position      */
1330 #define PSIO_SCCT_SCSLOT_SLOT7CNT_Msk    (0xful << PSIO_SCCT_SCSLOT_SLOT7CNT_Pos)          /*!< PSIO_T::SCSLOT: SLOT7CNT Mask          */
1331 
1332 #define PSIO_GNCT_GENCTL_IOMODE_Pos      (0)                                               /*!< PSIO_T::GENCTL: IOMODE Position        */
1333 #define PSIO_GNCT_GENCTL_IOMODE_Msk      (0x3ul << PSIO_GNCT_GENCTL_IOMODE_Pos)            /*!< PSIO_T::GENCTL: IOMODE Mask            */
1334 
1335 #define PSIO_GNCT_GENCTL_INITIAL_Pos     (2)                                               /*!< PSIO_T::GENCTL: INITIAL Position       */
1336 #define PSIO_GNCT_GENCTL_INITIAL_Msk     (0x3ul << PSIO_GNCT_GENCTL_INITIAL_Pos)           /*!< PSIO_T::GENCTL: INITIAL Mask           */
1337 
1338 #define PSIO_GNCT_GENCTL_INTERVAL_Pos    (4)                                               /*!< PSIO_T::GENCTL: INTERVAL Position      */
1339 #define PSIO_GNCT_GENCTL_INTERVAL_Msk    (0x3ul << PSIO_GNCT_GENCTL_INTERVAL_Pos)          /*!< PSIO_T::GENCTL: INTERVAL Mask          */
1340 
1341 #define PSIO_GNCT_GENCTL_SW0CP_Pos       (8)                                               /*!< PSIO_T::GENCTL: SW0CP Position         */
1342 #define PSIO_GNCT_GENCTL_SW0CP_Msk       (0xful << PSIO_GNCT_GENCTL_SW0CP_Pos)             /*!< PSIO_T::GENCTL: SW0CP Mask             */
1343 
1344 #define PSIO_GNCT_GENCTL_SW1CP_Pos       (12)                                              /*!< PSIO_T::GENCTL: SW1CP Position         */
1345 #define PSIO_GNCT_GENCTL_SW1CP_Msk       (0xful << PSIO_GNCT_GENCTL_SW1CP_Pos)             /*!< PSIO_T::GENCTL: SW1CP Mask             */
1346 
1347 #define PSIO_GNCT_GENCTL_MODESW0_Pos     (16)                                              /*!< PSIO_T::GENCTL: MODESW0 Position       */
1348 #define PSIO_GNCT_GENCTL_MODESW0_Msk     (0x3ul << PSIO_GNCT_GENCTL_MODESW0_Pos)           /*!< PSIO_T::GENCTL: MODESW0 Mask           */
1349 
1350 #define PSIO_GNCT_GENCTL_MODESW1_Pos     (18)                                              /*!< PSIO_T::GENCTL: MODESW1 Position       */
1351 #define PSIO_GNCT_GENCTL_MODESW1_Msk     (0x3ul << PSIO_GNCT_GENCTL_MODESW1_Pos)           /*!< PSIO_T::GENCTL: MODESW1 Mask           */
1352 
1353 #define PSIO_GNCT_GENCTL_SCSEL_Pos       (24)                                              /*!< PSIO_T::GENCTL: SCSEL Position         */
1354 #define PSIO_GNCT_GENCTL_SCSEL_Msk       (0x3ul << PSIO_GNCT_GENCTL_SCSEL_Pos)             /*!< PSIO_T::GENCTL: SCSEL Mask             */
1355 
1356 #define PSIO_GNCT_GENCTL_PINEN_Pos       (26)                                              /*!< PSIO_T::GENCTL: PINEN Position         */
1357 #define PSIO_GNCT_GENCTL_PINEN_Msk       (0x1ul << PSIO_GNCT_GENCTL_PINEN_Pos)             /*!< PSIO_T::GENCTL: PINEN Mask             */
1358 
1359 #define PSIO_GNCT_DATCTL_OUTDATWD_Pos    (0)                                               /*!< PSIO_T::DATCTL: OUTDATWD Position      */
1360 #define PSIO_GNCT_DATCTL_OUTDATWD_Msk    (0x1ful << PSIO_GNCT_DATCTL_OUTDATWD_Pos)         /*!< PSIO_T::DATCTL: OUTDATWD Mask          */
1361 
1362 #define PSIO_GNCT_DATCTL_INDATWD_Pos     (8)                                               /*!< PSIO_T::DATCTL: INDATWD Position       */
1363 #define PSIO_GNCT_DATCTL_INDATWD_Msk     (0x1ful << PSIO_GNCT_DATCTL_INDATWD_Pos)          /*!< PSIO_T::DATCTL: INDATWD Mask           */
1364 
1365 #define PSIO_GNCT_DATCTL_ORDER_Pos       (16)                                              /*!< PSIO_T::DATCTL: ORDER Position         */
1366 #define PSIO_GNCT_DATCTL_ORDER_Msk       (0x1ul << PSIO_GNCT_DATCTL_ORDER_Pos)             /*!< PSIO_T::DATCTL: ORDER Mask             */
1367 
1368 #define PSIO_GNCT_DATCTL_OUTDEPTH_Pos    (24)                                              /*!< PSIO_T::DATCTL: OUTDEPTH Position      */
1369 #define PSIO_GNCT_DATCTL_OUTDEPTH_Msk    (0x3ul << PSIO_GNCT_DATCTL_OUTDEPTH_Pos)          /*!< PSIO_T::DATCTL: OUTDEPTH Mask          */
1370 
1371 #define PSIO_GNCT_DATCTL_INDEPTH_Pos     (28)                                              /*!< PSIO_T::DATCTL: INDEPTH Position       */
1372 #define PSIO_GNCT_DATCTL_INDEPTH_Msk     (0x3ul << PSIO_GNCT_DATCTL_INDEPTH_Pos)           /*!< PSIO_T::DATCTL: INDEPTH Mask           */
1373 
1374 #define PSIO_GNCT_INSTS_INSTS_Pos        (0)                                               /*!< PSIO_T::INSTS: INSTS Position          */
1375 #define PSIO_GNCT_INSTS_INSTS_Msk        (0xfful << PSIO_GNCT_INSTS_INSTS_Pos)             /*!< PSIO_T::INSTS: INSTS Mask              */
1376 
1377 #define PSIO_GNCT_INDAT_INDAT_Pos        (0)                                               /*!< PSIO_T::INDAT: INDAT Position          */
1378 #define PSIO_GNCT_INDAT_INDAT_Msk        (0xfffffffful << PSIO_GNCT_INDAT_INDAT_Pos)       /*!< PSIO_T::INDAT: INDAT Mask              */
1379 
1380 #define PSIO_GNCT_OUTDAT_OUTDAT_Pos      (0)                                               /*!< PSIO_T::OUTDAT: OUTDAT Position        */
1381 #define PSIO_GNCT_OUTDAT_OUTDAT_Msk      (0xfffffffful << PSIO_GNCT_OUTDAT_OUTDAT_Pos)     /*!< PSIO_T::OUTDAT: OUTDAT Mask            */
1382 
1383 #define PSIO_GNCT_CPCTL0_CKPT0_Pos       (0)                                               /*!< PSIO_T::CPCTL0: CKPT0 Position         */
1384 #define PSIO_GNCT_CPCTL0_CKPT0_Msk       (0xFul << PSIO_GNCT_CPCTL0_CKPT0_Pos)             /*!< PSIO_T::CPCTL0: CKPT0 Mask             */
1385 
1386 #define PSIO_GNCT_CPCTL0_CKPT1_Pos       (4)                                               /*!< PSIO_T::CPCTL0: CKPT1 Position         */
1387 #define PSIO_GNCT_CPCTL0_CKPT1_Msk       (0xFul << PSIO_GNCT_CPCTL0_CKPT1_Pos)             /*!< PSIO_T::CPCTL0: CKPT1 Mask             */
1388 
1389 #define PSIO_GNCT_CPCTL0_CKPT2_Pos       (8)                                               /*!< PSIO_T::CPCTL0: CKPT2 Position         */
1390 #define PSIO_GNCT_CPCTL0_CKPT2_Msk       (0xFul << PSIO_GNCT_CPCTL0_CKPT2_Pos)             /*!< PSIO_T::CPCTL0: CKPT2 Mask             */
1391 
1392 #define PSIO_GNCT_CPCTL0_CKPT3_Pos       (12)                                              /*!< PSIO_T::CPCTL0: CKPT3 Position         */
1393 #define PSIO_GNCT_CPCTL0_CKPT3_Msk       (0xFul << PSIO_GNCT_CPCTL0_CKPT3_Pos)             /*!< PSIO_T::CPCTL0: CKPT3 Mask             */
1394 
1395 #define PSIO_GNCT_CPCTL0_CKPT4_Pos       (16)                                              /*!< PSIO_T::CPCTL0: CKPT4 Position         */
1396 #define PSIO_GNCT_CPCTL0_CKPT4_Msk       (0xFul << PSIO_GNCT_CPCTL0_CKPT4_Pos)             /*!< PSIO_T::CPCTL0: CKPT4 Mask             */
1397 
1398 #define PSIO_GNCT_CPCTL0_CKPT5_Pos       (20)                                              /*!< PSIO_T::CPCTL0: CKPT5 Position         */
1399 #define PSIO_GNCT_CPCTL0_CKPT5_Msk       (0xFul << PSIO_GNCT_CPCTL0_CKPT5_Pos)             /*!< PSIO_T::CPCTL0: CKPT5 Mask             */
1400 
1401 #define PSIO_GNCT_CPCTL0_CKPT6_Pos       (24)                                              /*!< PSIO_T::CPCTL0: CKPT6 Position         */
1402 #define PSIO_GNCT_CPCTL0_CKPT6_Msk       (0xFul << PSIO_GNCT_CPCTL0_CKPT6_Pos)             /*!< PSIO_T::CPCTL0: CKPT6 Mask             */
1403 
1404 #define PSIO_GNCT_CPCTL0_CKPT7_Pos       (28)                                              /*!< PSIO_T::CPCTL0: CKPT7 Position         */
1405 #define PSIO_GNCT_CPCTL0_CKPT7_Msk       (0xFul << PSIO_GNCT_CPCTL0_CKPT7_Pos)             /*!< PSIO_T::CPCTL0: CKPT7 Mask             */
1406 
1407 #define PSIO_GNCT_CPCTL1_CKPT0ACT_Pos    (0)                                               /*!< PSIO_T::CPCTL1: CKPT0ACT Position      */
1408 #define PSIO_GNCT_CPCTL1_CKPT0ACT_Msk    (0x7ul << PSIO_GNCT_CPCTL1_CKPT0ACT_Pos)          /*!< PSIO_T::CPCTL1: CKPT0ACT Mask          */
1409 
1410 #define PSIO_GNCT_CPCTL1_CKPT1ACT_Pos    (4)                                               /*!< PSIO_T::CPCTL1: CKPT1ACT Position      */
1411 #define PSIO_GNCT_CPCTL1_CKPT1ACT_Msk    (0x7ul << PSIO_GNCT_CPCTL1_CKPT1ACT_Pos)          /*!< PSIO_T::CPCTL1: CKPT1ACT Mask          */
1412 
1413 #define PSIO_GNCT_CPCTL1_CKPT2ACT_Pos    (8)                                               /*!< PSIO_T::CPCTL1: CKPT2ACT Position      */
1414 #define PSIO_GNCT_CPCTL1_CKPT2ACT_Msk    (0x7ul << PSIO_GNCT_CPCTL1_CKPT2ACT_Pos)          /*!< PSIO_T::CPCTL1: CKPT2ACT Mask          */
1415 
1416 #define PSIO_GNCT_CPCTL1_CKPT3ACT_Pos    (12)                                              /*!< PSIO_T::CPCTL1: CKPT3ACT Position      */
1417 #define PSIO_GNCT_CPCTL1_CKPT3ACT_Msk    (0x7ul << PSIO_GNCT_CPCTL1_CKPT3ACT_Pos)          /*!< PSIO_T::CPCTL1: CKPT3ACT Mask          */
1418 
1419 #define PSIO_GNCT_CPCTL1_CKPT4ACT_Pos    (16)                                              /*!< PSIO_T::CPCTL1: CKPT4ACT Position      */
1420 #define PSIO_GNCT_CPCTL1_CKPT4ACT_Msk    (0x7ul << PSIO_GNCT_CPCTL1_CKPT4ACT_Pos)          /*!< PSIO_T::CPCTL1: CKPT4ACT Mask          */
1421 
1422 #define PSIO_GNCT_CPCTL1_CKPT5ACT_Pos    (20)                                              /*!< PSIO_T::CPCTL1: CKPT5ACT Position      */
1423 #define PSIO_GNCT_CPCTL1_CKPT5ACT_Msk    (0x7ul << PSIO_GNCT_CPCTL1_CKPT5ACT_Pos)          /*!< PSIO_T::CPCTL1: CKPT5ACT Mask          */
1424 
1425 #define PSIO_GNCT_CPCTL1_CKPT6ACT_Pos    (24)                                              /*!< PSIO_T::CPCTL1: CKPT6ACT Position      */
1426 #define PSIO_GNCT_CPCTL1_CKPT6ACT_Msk    (0x7ul << PSIO_GNCT_CPCTL1_CKPT6ACT_Pos)          /*!< PSIO_T::CPCTL1: CKPT6ACT Mask          */
1427 
1428 #define PSIO_GNCT_CPCTL1_CKPT7ACT_Pos    (28)                                              /*!< PSIO_T::CPCTL1: CKPT7ACT Position      */
1429 #define PSIO_GNCT_CPCTL1_CKPT7ACT_Msk    (0x7ul << PSIO_GNCT_CPCTL1_CKPT7ACT_Pos)          /*!< PSIO_T::CPCTL1: CKPT7ACT Mask          */
1430 
1431 /**@}*/ /* PSIO_CONST */
1432 /**@}*/ /* end of PSIO register group */
1433 /**@}*/ /* end of REGISTER group */
1434 
1435 #if defined ( __CC_ARM   )
1436     #pragma no_anon_unions
1437 #endif
1438 
1439 #endif /* __PSIO_REG_H__ */
1440