This repository has been archived on 2024-05-28. You can view files and clone it, but cannot push or open issues or pull requests.
2023-11-14 16:25:09 -05:00

262 lines
10 KiB
C
Executable File

#include <stdint.h>
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;