#include typedef struct { uint32_t tsce : 1; // 0 Touch sensing controller enable uint32_t start : 1; // 1 Start a new acquisition uint32_t am : 1; // 2 Acquisition mode uint32_t syncpol : 1; // 3 Synchronization pin polarity uint32_t iodef : 1; // 4 I/O Default mode uint32_t mcv : 3; // 5 Max count value uint32_t reserve0 : 4; // 8 Reserve uint32_t pgpsc : 3; // 12 pulse generator prescaler uint32_t sspsc : 1; // 15 Spread spectrum prescaler uint32_t sse : 1; // 16 Spread spectrum enable uint32_t ssd : 7; // 17 Spread spectrum deviation uint32_t ctpl : 4; // 24 Charge transfer pulse low uint32_t ctph : 4; // 28 Charge transfer pulse high } reg_tsc_cr_t; typedef struct { uint32_t eoaie : 1; // 0 End of acquisition interrupt enable uint32_t mceie : 1; // 1 Max count error interrupt enable uint32_t reserve0 : 30; // 2 Reserve } reg_tsc_ier_t; typedef struct { uint32_t eoaic : 1; // 0 End of acquisition interrupt clear uint32_t mceic : 1; // 1 Max count error interrupt clear uint32_t reserve0 : 30; // 2 Reserve } reg_tsc_icr_t; typedef struct { uint32_t eoaf : 1; // 0 End of acquisition flag uint32_t mcef : 1; // 1 Max count error flag uint32_t reserve0 : 30; // 2 Reserve } reg_tsc_isr_t; typedef struct { uint32_t g1_io1 : 1; // 0 G1_IO1 uint32_t g1_io2 : 1; // 1 G1_IO2 uint32_t g1_io3 : 1; // 2 G1_IO3 uint32_t g1_io4 : 1; // 3 G1_IO4 uint32_t g2_io1 : 1; // 4 G2_IO1 uint32_t g2_io2 : 1; // 5 G2_IO2 uint32_t g2_io3 : 1; // 6 G2_IO3 uint32_t g2_io4 : 1; // 7 G2_IO4 uint32_t g3_io1 : 1; // 8 G3_IO1 uint32_t g3_io2 : 1; // 9 G3_IO2 uint32_t g3_io3 : 1; // 10 G3_IO3 uint32_t g3_io4 : 1; // 11 G3_IO4 uint32_t g4_io1 : 1; // 12 G4_IO1 uint32_t g4_io2 : 1; // 13 G4_IO2 uint32_t g4_io3 : 1; // 14 G4_IO3 uint32_t g4_io4 : 1; // 15 G4_IO4 uint32_t g5_io1 : 1; // 16 G5_IO1 uint32_t g5_io2 : 1; // 17 G5_IO2 uint32_t g5_io3 : 1; // 18 G5_IO3 uint32_t g5_io4 : 1; // 19 G5_IO4 uint32_t g6_io1 : 1; // 20 G6_IO1 uint32_t g6_io2 : 1; // 21 G6_IO2 uint32_t g6_io3 : 1; // 22 G6_IO3 uint32_t g6_io4 : 1; // 23 G6_IO4 uint32_t g7_io1 : 1; // 24 G7_IO1 uint32_t g7_io2 : 1; // 25 G7_IO2 uint32_t g7_io3 : 1; // 26 G7_IO3 uint32_t g7_io4 : 1; // 27 G7_IO4 uint32_t g8_io1 : 1; // 28 G8_IO1 uint32_t g8_io2 : 1; // 29 G8_IO2 uint32_t g8_io3 : 1; // 30 G8_IO3 uint32_t g8_io4 : 1; // 31 G8_IO4 } reg_tsc_iohcr_t; typedef struct { uint32_t g1_io1 : 1; // 0 G1_IO1 uint32_t g1_io2 : 1; // 1 G1_IO2 uint32_t g1_io3 : 1; // 2 G1_IO3 uint32_t g1_io4 : 1; // 3 G1_IO4 uint32_t g2_io1 : 1; // 4 G2_IO1 uint32_t g2_io2 : 1; // 5 G2_IO2 uint32_t g2_io3 : 1; // 6 G2_IO3 uint32_t g2_io4 : 1; // 7 G2_IO4 uint32_t g3_io1 : 1; // 8 G3_IO1 uint32_t g3_io2 : 1; // 9 G3_IO2 uint32_t g3_io3 : 1; // 10 G3_IO3 uint32_t g3_io4 : 1; // 11 G3_IO4 uint32_t g4_io1 : 1; // 12 G4_IO1 uint32_t g4_io2 : 1; // 13 G4_IO2 uint32_t g4_io3 : 1; // 14 G4_IO3 uint32_t g4_io4 : 1; // 15 G4_IO4 uint32_t g5_io1 : 1; // 16 G5_IO1 uint32_t g5_io2 : 1; // 17 G5_IO2 uint32_t g5_io3 : 1; // 18 G5_IO3 uint32_t g5_io4 : 1; // 19 G5_IO4 uint32_t g6_io1 : 1; // 20 G6_IO1 uint32_t g6_io2 : 1; // 21 G6_IO2 uint32_t g6_io3 : 1; // 22 G6_IO3 uint32_t g6_io4 : 1; // 23 G6_IO4 uint32_t g7_io1 : 1; // 24 G7_IO1 uint32_t g7_io2 : 1; // 25 G7_IO2 uint32_t g7_io3 : 1; // 26 G7_IO3 uint32_t g7_io4 : 1; // 27 G7_IO4 uint32_t g8_io1 : 1; // 28 G8_IO1 uint32_t g8_io2 : 1; // 29 G8_IO2 uint32_t g8_io3 : 1; // 30 G8_IO3 uint32_t g8_io4 : 1; // 31 G8_IO4 } reg_tsc_ioascr_t; typedef struct { uint32_t g1_io1 : 1; // 0 G1_IO1 uint32_t g1_io2 : 1; // 1 G1_IO2 uint32_t g1_io3 : 1; // 2 G1_IO3 uint32_t g1_io4 : 1; // 3 G1_IO4 uint32_t g2_io1 : 1; // 4 G2_IO1 uint32_t g2_io2 : 1; // 5 G2_IO2 uint32_t g2_io3 : 1; // 6 G2_IO3 uint32_t g2_io4 : 1; // 7 G2_IO4 uint32_t g3_io1 : 1; // 8 G3_IO1 uint32_t g3_io2 : 1; // 9 G3_IO2 uint32_t g3_io3 : 1; // 10 G3_IO3 uint32_t g3_io4 : 1; // 11 G3_IO4 uint32_t g4_io1 : 1; // 12 G4_IO1 uint32_t g4_io2 : 1; // 13 G4_IO2 uint32_t g4_io3 : 1; // 14 G4_IO3 uint32_t g4_io4 : 1; // 15 G4_IO4 uint32_t g5_io1 : 1; // 16 G5_IO1 uint32_t g5_io2 : 1; // 17 G5_IO2 uint32_t g5_io3 : 1; // 18 G5_IO3 uint32_t g5_io4 : 1; // 19 G5_IO4 uint32_t g6_io1 : 1; // 20 G6_IO1 uint32_t g6_io2 : 1; // 21 G6_IO2 uint32_t g6_io3 : 1; // 22 G6_IO3 uint32_t g6_io4 : 1; // 23 G6_IO4 uint32_t g7_io1 : 1; // 24 G7_IO1 uint32_t g7_io2 : 1; // 25 G7_IO2 uint32_t g7_io3 : 1; // 26 G7_IO3 uint32_t g7_io4 : 1; // 27 G7_IO4 uint32_t g8_io1 : 1; // 28 G8_IO1 uint32_t g8_io2 : 1; // 29 G8_IO2 uint32_t g8_io3 : 1; // 30 G8_IO3 uint32_t g8_io4 : 1; // 31 G8_IO4 } reg_tsc_ioscr_t; typedef struct { uint32_t g1_io1 : 1; // 0 G1_IO1 uint32_t g1_io2 : 1; // 1 G1_IO2 uint32_t g1_io3 : 1; // 2 G1_IO3 uint32_t g1_io4 : 1; // 3 G1_IO4 uint32_t g2_io1 : 1; // 4 G2_IO1 uint32_t g2_io2 : 1; // 5 G2_IO2 uint32_t g2_io3 : 1; // 6 G2_IO3 uint32_t g2_io4 : 1; // 7 G2_IO4 uint32_t g3_io1 : 1; // 8 G3_IO1 uint32_t g3_io2 : 1; // 9 G3_IO2 uint32_t g3_io3 : 1; // 10 G3_IO3 uint32_t g3_io4 : 1; // 11 G3_IO4 uint32_t g4_io1 : 1; // 12 G4_IO1 uint32_t g4_io2 : 1; // 13 G4_IO2 uint32_t g4_io3 : 1; // 14 G4_IO3 uint32_t g4_io4 : 1; // 15 G4_IO4 uint32_t g5_io1 : 1; // 16 G5_IO1 uint32_t g5_io2 : 1; // 17 G5_IO2 uint32_t g5_io3 : 1; // 18 G5_IO3 uint32_t g5_io4 : 1; // 19 G5_IO4 uint32_t g6_io1 : 1; // 20 G6_IO1 uint32_t g6_io2 : 1; // 21 G6_IO2 uint32_t g6_io3 : 1; // 22 G6_IO3 uint32_t g6_io4 : 1; // 23 G6_IO4 uint32_t g7_io1 : 1; // 24 G7_IO1 uint32_t g7_io2 : 1; // 25 G7_IO2 uint32_t g7_io3 : 1; // 26 G7_IO3 uint32_t g7_io4 : 1; // 27 G7_IO4 uint32_t g8_io1 : 1; // 28 G8_IO1 uint32_t g8_io2 : 1; // 29 G8_IO2 uint32_t g8_io3 : 1; // 30 G8_IO3 uint32_t g8_io4 : 1; // 31 G8_IO4 } reg_tsc_ioccr_t; typedef struct { uint32_t g1e : 1; // 0 Analog I/O group x enable uint32_t g2e : 1; // 1 Analog I/O group x enable uint32_t g3e : 1; // 2 Analog I/O group x enable uint32_t g4e : 1; // 3 Analog I/O group x enable uint32_t g5e : 1; // 4 Analog I/O group x enable uint32_t g6e : 1; // 5 Analog I/O group x enable uint32_t g7e : 1; // 6 Analog I/O group x enable uint32_t g8e : 1; // 7 Analog I/O group x enable uint32_t reserve0 : 8; // 8 Reserve uint32_t g1s : 1; // 16 Analog I/O group x status uint32_t g2s : 1; // 17 Analog I/O group x status uint32_t g3s : 1; // 18 Analog I/O group x status uint32_t g4s : 1; // 19 Analog I/O group x status uint32_t g5s : 1; // 20 Analog I/O group x status uint32_t g6s : 1; // 21 Analog I/O group x status uint32_t g7s : 1; // 22 Analog I/O group x status uint32_t g8s : 1; // 23 Analog I/O group x status uint32_t reserve1 : 8; // 24 Reserve } reg_tsc_iogcsr_t; typedef struct { uint32_t cnt : 14; // 0 Counter value uint32_t reserve0 : 18; // 14 Reserve } reg_tsc_iog1cr_t; typedef struct { uint32_t cnt : 14; // 0 Counter value uint32_t reserve0 : 18; // 14 Reserve } reg_tsc_iog2cr_t; typedef struct { uint32_t cnt : 14; // 0 Counter value uint32_t reserve0 : 18; // 14 Reserve } reg_tsc_iog3cr_t; typedef struct { uint32_t cnt : 14; // 0 Counter value uint32_t reserve0 : 18; // 14 Reserve } reg_tsc_iog4cr_t; typedef struct { uint32_t cnt : 14; // 0 Counter value uint32_t reserve0 : 18; // 14 Reserve } reg_tsc_iog5cr_t; typedef struct { uint32_t cnt : 14; // 0 Counter value uint32_t reserve0 : 18; // 14 Reserve } reg_tsc_iog6cr_t; typedef struct { uint32_t cnt : 14; // 0 Counter value uint32_t reserve0 : 18; // 14 Reserve } reg_tsc_iog7cr_t; typedef struct { uint32_t cnt : 14; // 0 Counter value uint32_t reserve0 : 18; // 14 Reserve } reg_tsc_iog8cr_t; typedef struct { volatile reg_tsc_cr_t cr; volatile reg_tsc_ier_t ier; volatile reg_tsc_icr_t icr; volatile reg_tsc_isr_t isr; volatile reg_tsc_iohcr_t iohcr; volatile uint32_t reserve0[1]; volatile reg_tsc_ioascr_t ioascr; volatile uint32_t reserve1[1]; volatile reg_tsc_ioscr_t ioscr; volatile uint32_t reserve2[1]; volatile reg_tsc_ioccr_t ioccr; volatile uint32_t reserve3[1]; volatile reg_tsc_iogcsr_t iogcsr; volatile reg_tsc_iog1cr_t iog1cr; volatile reg_tsc_iog2cr_t iog2cr; volatile reg_tsc_iog3cr_t iog3cr; volatile reg_tsc_iog4cr_t iog4cr; volatile reg_tsc_iog5cr_t iog5cr; volatile reg_tsc_iog6cr_t iog6cr; volatile reg_tsc_iog7cr_t iog7cr; volatile reg_tsc_iog8cr_t iog8cr; } reg_tsc_t;