grlib_regs.h
109 lines
| 3.6 KiB
| text/x-c
|
CLexer
paul
|
r167 | #ifndef GRLIB_REGS_H_INCLUDED | ||
#define GRLIB_REGS_H_INCLUDED | ||||
#define NB_GPTIMER 3 | ||||
struct apbuart_regs_str{ | ||||
volatile unsigned int data; | ||||
volatile unsigned int status; | ||||
volatile unsigned int ctrl; | ||||
volatile unsigned int scaler; | ||||
volatile unsigned int fifoDebug; | ||||
}; | ||||
struct grgpio_regs_str{ | ||||
volatile int io_port_data_register; | ||||
int io_port_output_register; | ||||
int io_port_direction_register; | ||||
int interrupt_mak_register; | ||||
int interrupt_polarity_register; | ||||
int interrupt_edge_register; | ||||
int bypass_register; | ||||
int reserved; | ||||
// 0x20-0x3c interrupt map register(s) | ||||
}; | ||||
typedef struct { | ||||
volatile unsigned int counter; | ||||
volatile unsigned int reload; | ||||
volatile unsigned int ctrl; | ||||
volatile unsigned int unused; | ||||
} timer_regs_t; | ||||
typedef struct { | ||||
volatile unsigned int scaler_value; | ||||
volatile unsigned int scaler_reload; | ||||
volatile unsigned int conf; | ||||
volatile unsigned int unused0; | ||||
timer_regs_t timer[NB_GPTIMER]; | ||||
} gptimer_regs_t; | ||||
typedef struct { | ||||
volatile int ctrl; // bit 0 forces the load of the coarse_time_load value and resets the fine_time | ||||
volatile int coarse_time_load; | ||||
volatile int coarse_time; | ||||
volatile int fine_time; | ||||
} time_management_regs_t; | ||||
typedef struct { | ||||
volatile int data_shaping; // 0x00 00 *** R1 R0 SP1 SP0 BW | ||||
volatile int burst_enable; // 0x04 01 *** burst f2, f1, f0 enable f3, f2, f1, f0 | ||||
volatile int addr_data_f0; // 0x08 10 *** | ||||
volatile int addr_data_f1; // 0x0c 11 *** | ||||
volatile int addr_data_f2; // 0x10 100 *** | ||||
volatile int addr_data_f3; // 0x14 101 *** | ||||
volatile int status; // 0x18 110 *** | ||||
volatile int delta_snapshot; // 0x1c 111 *** | ||||
volatile int delta_f2_f1; // 0x20 0000 *** | ||||
volatile int delta_f2_f0; // 0x24 0001 *** | ||||
volatile int nb_burst_available;// 0x28 0010 *** | ||||
volatile int nb_snapshot_param; // 0x2c 0011 *** | ||||
} waveform_picker_regs_t; | ||||
typedef struct{ | ||||
int data_shaping; // 0x00 00 *** R1 R0 SP1 SP0 BW | ||||
int run_burst_enable; // 0x04 01 *** [run *** burst f2, f1, f0 *** enable f3, f2, f1, f0 ] | ||||
int addr_data_f0; // 0x08 | ||||
int addr_data_f1; // 0x0c | ||||
int addr_data_f2; // 0x10 | ||||
int addr_data_f3; // 0x14 | ||||
volatile int status; // 0x18 | ||||
int delta_snapshot; // 0x1c | ||||
int delta_f0; // 0x20 | ||||
int delta_f0_2; // 0x24 | ||||
int delta_f1; // 0x28 | ||||
int delta_f2; // 0x2c | ||||
int nb_data_by_buffer; // 0x30 | ||||
int snapshot_param; // 0x34 | ||||
int start_date; // 0x38 | ||||
int nb_word_in_buffer; // 0x3c | ||||
} waveform_picker_regs_new_t; | ||||
typedef struct { | ||||
volatile int config; // 0x00 | ||||
volatile int status; // 0x04 | ||||
volatile int f0_0_address; // 0x08 | ||||
volatile int f0_1_address; // 0x0C | ||||
// | ||||
volatile int f1_0_address; // 0x10 | ||||
volatile int f1_1_address; // 0x14 | ||||
volatile int f2_0_address; // 0x18 | ||||
volatile int f2_1_address; // 0x1C | ||||
// | ||||
volatile unsigned int f0_0_coarse_time; // 0x20 | ||||
volatile unsigned int f0_0_fine_time; // 0x24 | ||||
volatile unsigned int f0_1_coarse_time; // 0x28 | ||||
volatile unsigned int f0_1_fine_time; // 0x2C | ||||
// | ||||
volatile unsigned int f1_0_coarse_time; // 0x30 | ||||
volatile unsigned int f1_0_fine_time; // 0x34 | ||||
volatile unsigned int f1_1_coarse_time; // 0x38 | ||||
volatile unsigned int f1_1_time_time; // 0x3C | ||||
// | ||||
volatile unsigned int f2_0_coarse_time; // 0x40 | ||||
volatile unsigned int f2_0_fine_time; // 0x44 | ||||
volatile unsigned int f2_1_coarse_time; // 0x48 | ||||
volatile unsigned int f2_1_fine_time; // 0x4C | ||||
} spectral_matrix_regs_t; | ||||
#endif // GRLIB_REGS_H_INCLUDED | ||||