![]() |
RTEMS 6.3
|
This group contains the Xilinx Triple Timer Counter (TTC) Clock Driver implementation. More...
Files | |
| file | bsps/include/dev/clock/xttcps_hw.h |
| file | bsps/shared/dev/clock/xil-ttc.c |
| This source file contains a Clock Driver implementation using the Xilinx Triple Timer Counter (TTC). | |
Data Structures | |
| struct | xil_ttc_timecounter |
Macros | |
| #define | XTTCPS_HW_H |
| #define | ARMA9 |
| #define | Clock_driver_support_at_tick(arg) |
| #define | Clock_driver_support_initialize_hardware |
| #define | Clock_driver_support_install_isr(isr) |
Functions | |
| uint32_t | _CPU_Counter_frequency (void) |
| CPU_Counter_ticks | _CPU_Counter_read (void) |
| RTEMS_SYSINIT_ITEM (xil_ttc_initialize, RTEMS_SYSINIT_CPU_COUNTER, RTEMS_SYSINIT_ORDER_MIDDLE) | |
Register Map | |
Register offsets from the base address of the device. | |
| #define | XTTCPS_CLK_CNTRL_OFFSET 0x00000000U |
| #define | XTTCPS_CNT_CNTRL_OFFSET 0x0000000CU |
| #define | XTTCPS_COUNT_VALUE_OFFSET 0x00000018U |
| #define | XTTCPS_INTERVAL_VAL_OFFSET 0x00000024U |
| #define | XTTCPS_MATCH_0_OFFSET 0x00000030U |
| #define | XTTCPS_MATCH_1_OFFSET 0x0000003CU |
| #define | XTTCPS_MATCH_2_OFFSET 0x00000048U |
| #define | XTTCPS_ISR_OFFSET 0x00000054U |
| #define | XTTCPS_IER_OFFSET 0x00000060U |
Clock Control Register | |
Clock Control Register definitions | |
| #define | XTTCPS_CLK_CNTRL_PS_EN_MASK 0x00000001U |
| #define | XTTCPS_CLK_CNTRL_PS_VAL_MASK 0x0000001EU |
| #define | XTTCPS_CLK_CNTRL_PS_VAL_SHIFT 1U |
| #define | XTTCPS_CLK_CNTRL_PS_DISABLE 16U |
| #define | XTTCPS_CLK_CNTRL_SRC_MASK 0x00000020U |
| #define | XTTCPS_CLK_CNTRL_EXT_EDGE_MASK 0x00000040U |
Counter Control Register | |
Counter Control Register definitions | |
| #define | XTTCPS_CNT_CNTRL_DIS_MASK 0x00000001U |
| #define | XTTCPS_CNT_CNTRL_INT_MASK 0x00000002U |
| #define | XTTCPS_CNT_CNTRL_DECR_MASK 0x00000004U |
| #define | XTTCPS_CNT_CNTRL_MATCH_MASK 0x00000008U |
| #define | XTTCPS_CNT_CNTRL_RST_MASK 0x00000010U |
| #define | XTTCPS_CNT_CNTRL_EN_WAVE_MASK 0x00000020U |
| #define | XTTCPS_CNT_CNTRL_POL_WAVE_MASK 0x00000040U |
| #define | XTTCPS_CNT_CNTRL_RESET_VALUE 0x00000021U |
Current Counter Value Register | |
Current Counter Value Register definitions | |
| #define | XTTCPS_COUNT_VALUE_MASK 0x0000FFFFU |
Interval Value Register | |
Interval Value Register is the maximum value the counter will count up or down to. | |
| #define | XTTCPS_INTERVAL_VAL_MASK 0x0000FFFFU |
Match Registers | |
Definitions for Match registers, each timer counter has three match registers. | |
| #define | XTTCPS_MATCH_MASK 0x0000FFFFU |
| #define | XTTCPS_NUM_MATCH_REG 3U |
Interrupt Registers | |
Following register bit mask is for all interrupt registers. | |
| #define | XTTCPS_IXR_INTERVAL_MASK 0x00000001U |
| #define | XTTCPS_IXR_MATCH_0_MASK 0x00000002U |
| #define | XTTCPS_IXR_MATCH_1_MASK 0x00000004U |
| #define | XTTCPS_IXR_MATCH_2_MASK 0x00000008U |
| #define | XTTCPS_IXR_CNT_OVR_MASK 0x00000010U |
| #define | XTTCPS_IXR_ALL_MASK 0x0000001FU |
| #define | XTtcPs_ReadReg(BaseAddress, RegOffset) |
| #define | XTtcPs_WriteReg(BaseAddress, RegOffset, Data) |
| #define | XTtcPs_Match_N_Offset(MatchIndex) |
This group contains the Xilinx Triple Timer Counter (TTC) Clock Driver implementation.
| #define Clock_driver_support_at_tick | ( | arg | ) |
| #define Clock_driver_support_initialize_hardware | ( | void | ) |
| #define Clock_driver_support_install_isr | ( | isr | ) |
| #define XTTCPS_CLK_CNTRL_EXT_EDGE_MASK 0x00000040U |
External Clock edge
| #define XTTCPS_CLK_CNTRL_OFFSET 0x00000000U |
Clock Control Register
| #define XTTCPS_CLK_CNTRL_PS_DISABLE 16U |
Prescale disable
| #define XTTCPS_CLK_CNTRL_PS_EN_MASK 0x00000001U |
Prescale enable
| #define XTTCPS_CLK_CNTRL_PS_VAL_MASK 0x0000001EU |
Prescale value
| #define XTTCPS_CLK_CNTRL_PS_VAL_SHIFT 1U |
Prescale shift
| #define XTTCPS_CLK_CNTRL_SRC_MASK 0x00000020U |
Clock source
| #define XTTCPS_CNT_CNTRL_DECR_MASK 0x00000004U |
Decrement mode
| #define XTTCPS_CNT_CNTRL_DIS_MASK 0x00000001U |
Disable the counter
| #define XTTCPS_CNT_CNTRL_EN_WAVE_MASK 0x00000020U |
Enable waveform
| #define XTTCPS_CNT_CNTRL_INT_MASK 0x00000002U |
Interval mode
| #define XTTCPS_CNT_CNTRL_MATCH_MASK 0x00000008U |
Match mode
| #define XTTCPS_CNT_CNTRL_OFFSET 0x0000000CU |
Counter Control Register
| #define XTTCPS_CNT_CNTRL_POL_WAVE_MASK 0x00000040U |
Waveform polarity
| #define XTTCPS_CNT_CNTRL_RESET_VALUE 0x00000021U |
Reset value
| #define XTTCPS_CNT_CNTRL_RST_MASK 0x00000010U |
Reset counter
| #define XTTCPS_COUNT_VALUE_MASK 0x0000FFFFU |
16-bit counter value
| #define XTTCPS_COUNT_VALUE_OFFSET 0x00000018U |
Current Counter Value
| #define XTTCPS_IER_OFFSET 0x00000060U |
Interrupt Enable Register
| #define XTTCPS_INTERVAL_VAL_MASK 0x0000FFFFU |
16-bit Interval value
| #define XTTCPS_INTERVAL_VAL_OFFSET 0x00000024U |
Interval Count Value
| #define XTTCPS_ISR_OFFSET 0x00000054U |
Interrupt Status Register
| #define XTTCPS_IXR_ALL_MASK 0x0000001FU |
All valid Interrupts
| #define XTTCPS_IXR_CNT_OVR_MASK 0x00000010U |
Counter Overflow
| #define XTTCPS_IXR_INTERVAL_MASK 0x00000001U |
Interval Interrupt
| #define XTTCPS_IXR_MATCH_0_MASK 0x00000002U |
Match 1 Interrupt
| #define XTTCPS_IXR_MATCH_1_MASK 0x00000004U |
Match 2 Interrupt
| #define XTTCPS_IXR_MATCH_2_MASK 0x00000008U |
Match 3 Interrupt
| #define XTTCPS_MATCH_0_OFFSET 0x00000030U |
Match 1 value
| #define XTTCPS_MATCH_1_OFFSET 0x0000003CU |
Match 2 value
| #define XTTCPS_MATCH_2_OFFSET 0x00000048U |
Match 3 value
| #define XTTCPS_MATCH_MASK 0x0000FFFFU |
16-bit Match value
| #define XTtcPs_Match_N_Offset | ( | MatchIndex | ) |
Calculate a match register offset using the Match Register index.
| MatchIndex | is the 0-2 value of the match register |
| #define XTTCPS_NUM_MATCH_REG 3U |
Num of Match reg
| #define XTtcPs_ReadReg | ( | BaseAddress, | |
| RegOffset ) |
Read the given Timer Counter register.
| BaseAddress | is the base address of the timer counter device. |
| RegOffset | is the register offset to be read |
| #define XTtcPs_WriteReg | ( | BaseAddress, | |
| RegOffset, | |||
| Data ) |
Write the given Timer Counter register.
| BaseAddress | is the base address of the timer counter device. |
| RegOffset | is the register offset to be written |
| Data | is the 32-bit value to write to the register |