summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/arm/tms570/clock/clock.c
diff options
context:
space:
mode:
authorPremysl Houdek <kom541000@gmail.com>2015-07-17 17:04:06 +0200
committerChris Johns <chrisj@rtems.org>2015-07-20 21:06:55 +1000
commit49c1d25dc28a4cc43cbc023e487fb838a7cf7df1 (patch)
tree19cc3b520642dba318d9087e9d1bd2759f4c86d3 /c/src/lib/libbsp/arm/tms570/clock/clock.c
parentbsp/tms570: skipped 32bit field definitions and corrected single bit fields (diff)
downloadrtems-49c1d25dc28a4cc43cbc023e487fb838a7cf7df1.tar.bz2
bsp/tms570 Use bitfields instead of hard-coded values
Signed-off-by: Premysl Houdek <kom541000@gmail.com>
Diffstat (limited to 'c/src/lib/libbsp/arm/tms570/clock/clock.c')
-rw-r--r--c/src/lib/libbsp/arm/tms570/clock/clock.c31
1 files changed, 24 insertions, 7 deletions
diff --git a/c/src/lib/libbsp/arm/tms570/clock/clock.c b/c/src/lib/libbsp/arm/tms570/clock/clock.c
index 1d887afeb3..45da093588 100644
--- a/c/src/lib/libbsp/arm/tms570/clock/clock.c
+++ b/c/src/lib/libbsp/arm/tms570/clock/clock.c
@@ -85,23 +85,39 @@ static void tms570_clock_driver_support_initialize_hardware( void )
/* Hardware specific initialize */
TMS570_RTI.GCTRL = 0;
TMS570_RTI.CNT[0].CPUCx = tc_prescaler - 1;
- TMS570_RTI.TBCTRL = 2;
+ TMS570_RTI.TBCTRL = TMS570_RTI_TBCTRL_INC;
TMS570_RTI.CAPCTRL = 0;
TMS570_RTI.COMPCTRL = 0;
/* set counter to zero */
TMS570_RTI.CNT[0].UCx = 0;
TMS570_RTI.CNT[0].FRCx = 0;
/* clear interrupts*/
- TMS570_RTI.CLEARINTENA = 0x00070f0f;
- TMS570_RTI.INTFLAG = 0x0007000f;
+ TMS570_RTI.CLEARINTENA = TMS570_RTI_CLEARINTENA_CLEAROVL1INT |
+ TMS570_RTI_CLEARINTENA_CLEAROVL0INT |
+ TMS570_RTI_CLEARINTENA_CLEARTBINT |
+ TMS570_RTI_CLEARINTENA_CLEARDMA3 |
+ TMS570_RTI_CLEARINTENA_CLEARDMA2 |
+ TMS570_RTI_CLEARINTENA_CLEARDMA1 |
+ TMS570_RTI_CLEARINTENA_CLEARDMA0 |
+ TMS570_RTI_CLEARINTENA_CLEARINT3 |
+ TMS570_RTI_CLEARINTENA_CLEARINT2 |
+ TMS570_RTI_CLEARINTENA_CLEARINT1 |
+ TMS570_RTI_CLEARINTENA_CLEARINT0;
+ TMS570_RTI.INTFLAG = TMS570_RTI_INTFLAG_OVL1INT |
+ TMS570_RTI_INTFLAG_OVL0INT |
+ TMS570_RTI_INTFLAG_TBINT |
+ TMS570_RTI_INTFLAG_INT3 |
+ TMS570_RTI_INTFLAG_INT2 |
+ TMS570_RTI_INTFLAG_INT1 |
+ TMS570_RTI_INTFLAG_INT0;
/* set timer */
TMS570_RTI.CMP[0].COMPx = TMS570_RTI.CNT[0].FRCx + tc_increments_per_tick;
TMS570_RTI.COMP0CLR = TMS570_RTI.CMP[0].COMPx + tc_increments_per_tick / 2;
TMS570_RTI.CMP[0].UDCPx = tc_increments_per_tick;
/* enable interupt */
- TMS570_RTI.SETINTENA = 0x1;
+ TMS570_RTI.SETINTENA = TMS570_RTI_SETINTENA_SETINT0;
/* enable timer */
- TMS570_RTI.GCTRL = 1;
+ TMS570_RTI.GCTRL = TMS570_RTI_GCTRL_CNT0EN;
/* set timecounter */
tms570_rti_tc.tc_get_timecount = tms570_rti_get_timecount;
tms570_rti_tc.tc_counter_mask = 0xffffffff;
@@ -117,7 +133,7 @@ static void tms570_clock_driver_support_initialize_hardware( void )
*/
static void tms570_clock_driver_support_at_tick( void )
{
- TMS570_RTI.INTFLAG = 0x00000001;
+ TMS570_RTI.INTFLAG = TMS570_RTI_INTFLAG_INT0;
}
/**
@@ -156,7 +172,8 @@ static void tms570_clock_driver_support_install_isr(
static void tms570_clock_driver_support_shutdown_hardware( void )
{
/* turn off the timer interrupts */
- TMS570_RTI.CLEARINTENA = 0x20000;
+ TMS570_RTI.CLEARINTENA = TMS570_RTI_CLEARINTENA_CLEAROVL0INT |
+ TMS570_RTI_CLEARINTENA_CLEARINT0;
}
#define Clock_driver_support_initialize_hardware \