forked from Imagelibrary/rtems
bsp/tms570: source changes reflecting new headers.
Signed-off-by: Premysl Houdek <kom541000@gmail.com>
This commit is contained in:
committed by
Joel Sherrill
parent
602e395b4d
commit
069560a5f9
@@ -36,7 +36,7 @@ static struct timecounter tms570_rti_tc;
|
||||
|
||||
static uint32_t tms570_rti_get_timecount(struct timecounter *tc)
|
||||
{
|
||||
return TMS570_RTI.RTIFRC0;
|
||||
return TMS570_RTI.CNT[0].FRCx;
|
||||
}
|
||||
|
||||
#ifndef TMS570_PREFERRED_TC_FREQUENCY
|
||||
@@ -83,25 +83,25 @@ static void tms570_clock_driver_support_initialize_hardware( void )
|
||||
500000) / 1000000;
|
||||
|
||||
/* Hardware specific initialize */
|
||||
TMS570_RTI.RTIGCTRL = 0;
|
||||
TMS570_RTI.RTICPUC0 = tc_prescaler - 1;
|
||||
TMS570_RTI.RTITBCTRL = 2;
|
||||
TMS570_RTI.RTICAPCTRL = 0;
|
||||
TMS570_RTI.RTICOMPCTRL = 0;
|
||||
TMS570_RTI.GCTRL = 0;
|
||||
TMS570_RTI.CNT[0].CPUCx = tc_prescaler - 1;
|
||||
TMS570_RTI.TBCTRL = 2;
|
||||
TMS570_RTI.CAPCTRL = 0;
|
||||
TMS570_RTI.COMPCTRL = 0;
|
||||
/* set counter to zero */
|
||||
TMS570_RTI.RTIUC0 = 0;
|
||||
TMS570_RTI.RTIFRC0 = 0;
|
||||
TMS570_RTI.CNT[0].UCx = 0;
|
||||
TMS570_RTI.CNT[0].FRCx = 0;
|
||||
/* clear interrupts*/
|
||||
TMS570_RTI.RTICLEARINTENA = 0x00070f0f;
|
||||
TMS570_RTI.RTIINTFLAG = 0x0007000f;
|
||||
TMS570_RTI.CLEARINTENA = 0x00070f0f;
|
||||
TMS570_RTI.INTFLAG = 0x0007000f;
|
||||
/* set timer */
|
||||
TMS570_RTI.RTICOMP0 = TMS570_RTI.RTIFRC0 + tc_increments_per_tick;
|
||||
TMS570_RTI.RTICOMP0CLR = TMS570_RTI.RTICOMP0 + tc_increments_per_tick / 2;
|
||||
TMS570_RTI.RTIUDCP0 = tc_increments_per_tick;
|
||||
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.RTISETINTENA = 0x1;
|
||||
TMS570_RTI.SETINTENA = 0x1;
|
||||
/* enable timer */
|
||||
TMS570_RTI.RTIGCTRL = 1;
|
||||
TMS570_RTI.GCTRL = 1;
|
||||
/* set timecounter */
|
||||
tms570_rti_tc.tc_get_timecount = tms570_rti_get_timecount;
|
||||
tms570_rti_tc.tc_counter_mask = 0xffffffff;
|
||||
@@ -117,7 +117,7 @@ static void tms570_clock_driver_support_initialize_hardware( void )
|
||||
*/
|
||||
static void tms570_clock_driver_support_at_tick( void )
|
||||
{
|
||||
TMS570_RTI.RTIINTFLAG = 0x00000001;
|
||||
TMS570_RTI.INTFLAG = 0x00000001;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -156,7 +156,7 @@ static void tms570_clock_driver_support_install_isr(
|
||||
static void tms570_clock_driver_support_shutdown_hardware( void )
|
||||
{
|
||||
/* turn off the timer interrupts */
|
||||
TMS570_RTI.RTICLEARINTENA = 0x20000;
|
||||
TMS570_RTI.CLEARINTENA = 0x20000;
|
||||
}
|
||||
|
||||
#define Clock_driver_support_initialize_hardware \
|
||||
|
||||
@@ -41,10 +41,10 @@ static void tms570_putc(char ch)
|
||||
rtems_interrupt_level level;
|
||||
|
||||
rtems_interrupt_disable(level);
|
||||
while ( ( driver_context_table[0].regs->SCIFLR & 0x100 ) == 0) {
|
||||
while ( ( driver_context_table[0].regs->FLR & 0x100 ) == 0) {
|
||||
rtems_interrupt_flash(level);
|
||||
}
|
||||
driver_context_table[0].regs->SCITD = ch;
|
||||
driver_context_table[0].regs->TD = ch;
|
||||
rtems_interrupt_enable(level);
|
||||
}
|
||||
|
||||
@@ -74,8 +74,8 @@ static void tms570_uart_output(char c)
|
||||
*/
|
||||
static int tms570_uart_input( void )
|
||||
{
|
||||
if ( driver_context_table[0].regs->SCIFLR & (1<<9) ) {
|
||||
return driver_context_table[0].regs->SCIRD;
|
||||
if ( driver_context_table[0].regs->FLR & (1<<9) ) {
|
||||
return driver_context_table[0].regs->RD;
|
||||
} else {
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -44,13 +44,16 @@ tms570_sci_context driver_context_table[] = {
|
||||
{
|
||||
.base = RTEMS_TERMIOS_DEVICE_CONTEXT_INITIALIZER("TMS570 SCI1"),
|
||||
.device_name = "/dev/console",
|
||||
.regs = &TMS570_SCI,
|
||||
/* TMS570 UART peripheral use subset of LIN registers which are equivalent
|
||||
* to SCI ones
|
||||
*/
|
||||
.regs = (volatile tms570_sci_t *) &TMS570_LIN,
|
||||
.irq = TMS570_IRQ_SCI_LEVEL_0,
|
||||
},
|
||||
{
|
||||
.base = RTEMS_TERMIOS_DEVICE_CONTEXT_INITIALIZER("TMS570 SCI2"),
|
||||
.device_name = "/dev/ttyS1",
|
||||
.regs = &TMS570_SCI2,
|
||||
.regs = &TMS570_SCI,
|
||||
.irq = TMS570_IRQ_SCI2_LEVEL_0,
|
||||
}
|
||||
};
|
||||
@@ -134,8 +137,8 @@ static int tms570_sci_read_received_chars(
|
||||
if ( N < 1 ) {
|
||||
return 0;
|
||||
}
|
||||
if ( ctx->regs->SCIRD != 0 ) {
|
||||
buf[0] = ctx->regs->SCIRD;
|
||||
if ( ctx->regs->RD != 0 ) {
|
||||
buf[0] = ctx->regs->RD;
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
@@ -152,7 +155,7 @@ static int tms570_sci_read_received_chars(
|
||||
*/
|
||||
static void tms570_sci_enable_interrupts(tms570_sci_context * ctx)
|
||||
{
|
||||
ctx->regs->SCISETINT = (1<<9);
|
||||
ctx->regs->SETINT = (1<<9);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -166,7 +169,7 @@ static void tms570_sci_enable_interrupts(tms570_sci_context * ctx)
|
||||
*/
|
||||
static void tms570_sci_disable_interrupts(tms570_sci_context * ctx)
|
||||
{
|
||||
ctx->regs->SCICLEARINT = (1<<9);
|
||||
ctx->regs->CLEARINT = (1<<9);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -213,29 +216,29 @@ static bool tms570_sci_set_attributes(
|
||||
|
||||
rtems_termios_device_lock_acquire(base, &lock_context);
|
||||
|
||||
ctx->regs->SCIGCR1 &= ~( (1<<7) | (1<<25) | (1<<24) );
|
||||
ctx->regs->GCR1 &= ~( (1<<7) | (1<<25) | (1<<24) );
|
||||
|
||||
ctx->regs->SCIGCR1 &= ~(1<<4); /*one stop bit*/
|
||||
ctx->regs->SCIFORMAT = 0x7;
|
||||
ctx->regs->GCR1 &= ~(1<<4); /*one stop bit*/
|
||||
ctx->regs->FORMAT = 0x7;
|
||||
|
||||
switch ( t->c_cflag & ( PARENB|PARODD ) ) {
|
||||
case ( PARENB|PARODD ):
|
||||
/* Odd parity */
|
||||
ctx->regs->SCIGCR1 &= ~(1<<3);
|
||||
ctx->regs->SCIGCR1 |= (1<<2);
|
||||
ctx->regs->GCR1 &= ~(1<<3);
|
||||
ctx->regs->GCR1 |= (1<<2);
|
||||
break;
|
||||
|
||||
case PARENB:
|
||||
/* Even parity */
|
||||
ctx->regs->SCIGCR1 |= (1<<3);
|
||||
ctx->regs->SCIGCR1 |= (1<<2);
|
||||
ctx->regs->GCR1 |= (1<<3);
|
||||
ctx->regs->GCR1 |= (1<<2);
|
||||
break;
|
||||
|
||||
default:
|
||||
case 0:
|
||||
case PARODD:
|
||||
/* No Parity */
|
||||
ctx->regs->SCIGCR1 &= ~(1<<2);
|
||||
ctx->regs->GCR1 &= ~(1<<2);
|
||||
}
|
||||
|
||||
/* Baud rate */
|
||||
@@ -244,7 +247,7 @@ static bool tms570_sci_set_attributes(
|
||||
bauddiv = (BSP_PLL_OUT_CLOCK + baudrate / 2) / baudrate;
|
||||
ctx->regs->BRS = bauddiv;
|
||||
|
||||
ctx->regs->SCIGCR1 |= (1<<7) | (1<<25) | (1<<24);
|
||||
ctx->regs->GCR1 |= (1<<7) | (1<<25) | (1<<24);
|
||||
|
||||
rtems_termios_device_lock_release(base, &lock_context);
|
||||
|
||||
@@ -271,7 +274,7 @@ static void tms570_sci_interrupt_handler(void * arg)
|
||||
/*
|
||||
* Check if we have received something.
|
||||
*/
|
||||
if ( (ctx->regs->SCIFLR & (1<<9) ) == (1<<9) ) {
|
||||
if ( (ctx->regs->FLR & (1<<9) ) == (1<<9) ) {
|
||||
n = tms570_sci_read_received_chars(ctx, buf, TMS570_SCI_BUFFER_SIZE);
|
||||
if ( n > 0 ) {
|
||||
/* Hand the data over to the Termios infrastructure */
|
||||
@@ -281,7 +284,7 @@ static void tms570_sci_interrupt_handler(void * arg)
|
||||
/*
|
||||
* Check if we have something transmitted.
|
||||
*/
|
||||
if ( (ctx->regs->SCIFLR & (1<<8) ) == (1<<8) ) {
|
||||
if ( (ctx->regs->FLR & (1<<8) ) == (1<<8) ) {
|
||||
n = tms570_sci_transmitted_chars(ctx);
|
||||
if ( n > 0 ) {
|
||||
/*
|
||||
@@ -316,15 +319,15 @@ static void tms570_sci_interrupt_write(
|
||||
|
||||
if ( len > 0 ) {
|
||||
/* start UART TX, this will result in an interrupt when done */
|
||||
ctx->regs->SCITD = *buf;
|
||||
ctx->regs->TD = *buf;
|
||||
/* character written - raise count*/
|
||||
ctx->tx_chars_in_hw = 1;
|
||||
/* Enable TX interrupt (interrupt is edge-triggered) */
|
||||
ctx->regs->SCISETINT = (1<<8);
|
||||
ctx->regs->SETINT = (1<<8);
|
||||
|
||||
} else {
|
||||
/* No more to send, disable TX interrupts */
|
||||
ctx->regs->SCICLEARINT = (1<<8);
|
||||
ctx->regs->CLEARINT = (1<<8);
|
||||
/* Tell close that we sent everything */
|
||||
}
|
||||
}
|
||||
@@ -352,10 +355,10 @@ static void tms570_sci_poll_write(
|
||||
/* Write */
|
||||
|
||||
for ( i = 0; i < n; ++i ) {
|
||||
while ( (ctx->regs->SCIFLR & (1<<11) ) == 0) {
|
||||
while ( (ctx->regs->FLR & (1<<11) ) == 0) {
|
||||
;
|
||||
}
|
||||
ctx->regs->SCITD = buf[i];
|
||||
ctx->regs->TD = buf[i];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -372,7 +375,7 @@ static int TMS570_sci_can_read_char(
|
||||
tms570_sci_context * ctx
|
||||
)
|
||||
{
|
||||
return ctx->regs->SCIFLR & (1<<9);
|
||||
return ctx->regs->FLR & (1<<9);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -387,7 +390,7 @@ static char TMS570_sci_read_char(
|
||||
tms570_sci_context * ctx
|
||||
)
|
||||
{
|
||||
return ctx->regs->SCIRD;
|
||||
return ctx->regs->RD;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -468,7 +471,7 @@ static bool tms570_sci_interrupt_first_open(
|
||||
if ( ret == false ) {
|
||||
return false;
|
||||
}
|
||||
ctx->regs->SCISETINTLVL = 0;
|
||||
ctx->regs->SETINTLVL = 0;
|
||||
/* Register Interrupt handler */
|
||||
sc = rtems_interrupt_handler_install(ctx->irq,
|
||||
ctx->device_name,
|
||||
@@ -527,7 +530,7 @@ static void tms570_sci_interrupt_last_close(
|
||||
rtems_termios_device_lock_release(base, &lock_context);
|
||||
|
||||
/* Flush device */
|
||||
while ( ( ctx->regs->SCIFLR & (1<<11) ) > 0 ) {
|
||||
while ( ( ctx->regs->FLR & (1<<11) ) > 0 ) {
|
||||
;/* Wait until all data has been sent */
|
||||
}
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ extern "C" {
|
||||
*/
|
||||
static inline unsigned tms570_timer(void)
|
||||
{
|
||||
uint32_t actual_fcr0 = TMS570_RTI.RTIFRC0;
|
||||
uint32_t actual_fcr0 = TMS570_RTI.CNT[0].FRCx;
|
||||
return actual_fcr0;
|
||||
}
|
||||
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
#define LIBBSP_ARM_TMS570_POM_H
|
||||
|
||||
#include <stdint.h>
|
||||
#include <bsp/tms570.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
@@ -47,47 +48,6 @@ extern "C" {
|
||||
|
||||
#define TMS570_POM_REGADDRMASK ((1<<23)-1)
|
||||
|
||||
typedef struct tms570_pom_region_t {
|
||||
uint32_t PROGSTART;
|
||||
uint32_t OVLSTART;
|
||||
uint32_t REGSIZE;
|
||||
uint32_t res0;
|
||||
} tms570_pom_region_t;
|
||||
|
||||
typedef struct tms570_pom_t {
|
||||
uint32_t GLBCTRL; /* 000h Global Control Register */
|
||||
uint32_t REV; /* 004h Revision ID */
|
||||
uint32_t CLKCTRL; /* 008h Clock Gate Control Register */
|
||||
uint32_t FLG; /* 00Ch Status Register */
|
||||
uint32_t reserved1[0x1f0/4];
|
||||
tms570_pom_region_t REG[TMS570_POM_REGIONS]; /* 200h Program Regions */
|
||||
uint32_t reserved2[0xb00/4];
|
||||
uint32_t ITCTRL; /* F00h Integration Control Register */
|
||||
uint32_t reserved3[0x09c/4];
|
||||
uint32_t CLAIMSET; /* FA0h Claim Set Register */
|
||||
uint32_t CLAIMCLR; /* FA4h Claim Clear Register */
|
||||
uint32_t reserved4[0x008/4];
|
||||
uint32_t LOCKACCESS; /* FB0h Lock Access Register */
|
||||
uint32_t LOCKSTATUS; /* FB4h Lock Status Register */
|
||||
uint32_t AUTHSTATUS; /* FB8h Authentication Status Register */
|
||||
uint32_t reserved5[0x00c/4];
|
||||
uint32_t DEVID; /* FC8h Device ID Register */
|
||||
uint32_t DEVTYPE; /* FCCh Device Type Register */
|
||||
uint32_t PERIPHERALID4; /* FD0h Peripheral ID 4 Register */
|
||||
uint32_t PERIPHERALID5; /* FD4h Peripheral ID 5 Register */
|
||||
uint32_t PERIPHERALID6; /* FD8h Peripheral ID 6 Register */
|
||||
uint32_t PERIPHERALID7; /* FDCh Peripheral ID 7 Register */
|
||||
uint32_t PERIPHERALID0; /* FE0h Peripheral ID 0 Register */
|
||||
uint32_t PERIPHERALID1; /* FE4h Peripheral ID 1 Register */
|
||||
uint32_t PERIPHERALID2; /* FE8h Peripheral ID 2 Register */
|
||||
uint32_t PERIPHERALID3; /* FECh Peripheral ID 3 Register */
|
||||
uint32_t COMPONENTID0; /* FF0h Component ID 0 Register */
|
||||
uint32_t COMPONENTID1; /* FF4h Component ID 1 Register */
|
||||
uint32_t COMPONENTID2; /* FF8h Component ID 2 Register */
|
||||
uint32_t COMPONENTID3; /* FFCh Component ID 3 Register */
|
||||
} tms570_pom_t;
|
||||
|
||||
#define TMS570_POM (*(volatile tms570_pom_t*)0xffa04000)
|
||||
|
||||
int mem_dump(void *buf, unsigned long start, unsigned long len, int blen);
|
||||
void tms570_pom_remap(void);
|
||||
|
||||
@@ -29,61 +29,12 @@
|
||||
#ifndef ASM
|
||||
|
||||
#include <stdint.h>
|
||||
#include <bsp/tms570.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* __cplusplus */
|
||||
|
||||
typedef struct {
|
||||
uint32_t RTIGCTRL; /* RTIGlobalControlRegister */
|
||||
uint32_t RTITBCTRL; /* RTITimebaseControlRegister */
|
||||
uint32_t RTICAPCTRL; /* RTICaptureControlRegister */
|
||||
uint32_t RTICOMPCTRL; /* RTICompareControlRegister */
|
||||
uint32_t RTIFRC0; /* RTIFreeRunningCounter0Register */
|
||||
uint32_t RTIUC0; /* RTIUpCounter0Register */
|
||||
uint32_t RTICPUC0; /* RTICompareUpCounter0Register */
|
||||
uint32_t reserved1 [0x4/4];
|
||||
uint32_t RTICAFRC0; /* RTICaptureFreeRunningCounter0Register */
|
||||
uint32_t RTICAUC0; /* RTICaptureUpCounter0Register */
|
||||
uint32_t reserved2 [0x8/4];
|
||||
uint32_t RTIFRC1; /* RTIFreeRunningCounter1Register */
|
||||
uint32_t RTIUC1; /* RTIUpCounter1Register */
|
||||
uint32_t RTICPUC1; /* RTICompareUpCounter1Register */
|
||||
uint32_t reserved3 [0x4/4];
|
||||
uint32_t RTICAFRC1; /* RTICaptureFreeRunningCounter1Register */
|
||||
uint32_t RTICAUC1; /* RTICaptureUpCounter1Register */
|
||||
uint32_t reserved4 [0x8/4];
|
||||
uint32_t RTICOMP0; /* RTICompare0Register */
|
||||
uint32_t RTIUDCP0; /* RTIUpdateCompare0Register */
|
||||
uint32_t RTICOMP1; /* RTICompare1Register */
|
||||
uint32_t RTIUDCP1; /* RTIUpdateCompare1Register */
|
||||
uint32_t RTICOMP2; /* RTICompare2Register */
|
||||
uint32_t RTIUDCP2; /* RTIUpdateCompare2Register */
|
||||
uint32_t RTICOMP3; /* RTICompare3Register */
|
||||
uint32_t RTIUDCP3; /* RTIUpdateCompare3Register */
|
||||
uint32_t RTITBLCOMP; /* RTITimebaseLowCompareRegister */
|
||||
uint32_t RTITBHCOMP; /* RTITimebaseHighCompareRegister */
|
||||
uint32_t reserved5 [0x8/4];
|
||||
uint32_t RTISETINTENA; /* RTISetInterruptEnableRegister */
|
||||
uint32_t RTICLEARINTENA; /* RTIClearInterruptEnableRegister */
|
||||
uint32_t RTIINTFLAG; /* RTIInterruptFlagRegister */
|
||||
uint32_t reserved6 [0x4/4];
|
||||
uint32_t RTIDWDCTRL; /* DigitalWatchdogControlRegister */
|
||||
uint32_t RTIDWDPRLD; /* DigitalWatchdogPreloadRegister */
|
||||
uint32_t RTIWDSTATUS; /* WatchdogStatusRegister */
|
||||
uint32_t RTIWDKEY; /* RTIWatchdogKeyRegister */
|
||||
uint32_t RTIDWDCNTR; /* RTIDigitalWatchdogDownCounterRegister */
|
||||
uint32_t RTIWWDRXNCTRL; /* DigitalWindowedWatchdogReactionControlRegister */
|
||||
uint32_t RTIWWDSIZECTRL; /* DigitalWindowedWatchdogWindowSizeControlRegister */
|
||||
uint32_t RTIINTCLRENABLE;/* RTICompareInterruptClearEnableRegister */
|
||||
uint32_t RTICOMP0CLR; /* RTICompare0ClearRegister */
|
||||
uint32_t RTICOMP1CLR; /* RTICompare1ClearRegister */
|
||||
uint32_t RTICOMP2CLR; /* RTICompare2ClearRegister */
|
||||
uint32_t RTICOMP3CLR; /* RTICompare3ClearRegister */
|
||||
}tms570_rti_t;
|
||||
|
||||
#define TMS570_RTI (*(volatile tms570_rti_t*)0xFFFFFC00)
|
||||
|
||||
/** @} */
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -30,43 +30,12 @@
|
||||
|
||||
#include <rtems.h>
|
||||
#include <stdint.h>
|
||||
#include <bsp/tms570.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* __cplusplus */
|
||||
|
||||
typedef struct {
|
||||
uint32_t SCIGCR0; /*SCIGlobalControlRegister0*/
|
||||
uint32_t SCIGCR1; /*SCIGlobalControlRegister1*/
|
||||
uint32_t reserved1 [0x4/4];
|
||||
uint32_t SCISETINT; /*SCISetInterruptRegister*/
|
||||
uint32_t SCICLEARINT; /*SCIClearInterruptRegister*/
|
||||
uint32_t SCISETINTLVL; /*SCISetInterruptLevelRegister*/
|
||||
uint32_t SCICLEARINTLVL; /*SCIClearInterruptLevelRegister*/
|
||||
uint32_t SCIFLR; /*SCIFlagsRegister*/
|
||||
uint32_t SCIINTVECT0; /*SCIInterruptVectorOffset0*/
|
||||
uint32_t SCIINTVECT1; /*SCIInterruptVectorOffset1*/
|
||||
uint32_t SCIFORMAT; /*SCIFormatControlRegister*/
|
||||
uint32_t BRS; /*BaudRateSelectionRegister*/
|
||||
uint32_t SCIED; /*ReceiverEmulationDataBuffer*/
|
||||
uint32_t SCIRD; /*ReceiverDataBuffer*/
|
||||
uint32_t SCITD; /*TransmitDataBuffer*/
|
||||
uint32_t SCIPIO0; /*SCIPinI/OControlRegister0*/
|
||||
uint32_t SCIPIO1; /*SCIPinI/OControlRegister1*/
|
||||
uint32_t SCIPIO2; /*SCIPinI/OControlRegister2*/
|
||||
uint32_t SCIPIO3; /*SCIPinI/OControlRegister3*/
|
||||
uint32_t SCIPIO4; /*SCIPinI/OControlRegister4*/
|
||||
uint32_t SCIPIO5; /*SCIPinI/OControlRegister5*/
|
||||
uint32_t SCIPIO6; /*SCIPinI/OControlRegister6*/
|
||||
uint32_t SCIPIO7; /*SCIPinI/OControlRegister7*/
|
||||
uint32_t SCIPIO8; /*SCIPinI/OControlRegister8*/
|
||||
uint32_t reserved2 [0x30/4];
|
||||
uint32_t IODFTCTRL; /*Input/OutputErrorEnableRegister*/
|
||||
}tms570_sci_t;
|
||||
|
||||
#define TMS570_SCI (*(volatile tms570_sci_t*)0xFFF7E400U)
|
||||
#define TMS570_SCI2 (*(volatile tms570_sci_t*)0xFFF7E500U)
|
||||
|
||||
/** @} */
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -29,40 +29,13 @@
|
||||
#ifndef ASM
|
||||
#include <rtems.h>
|
||||
#include <stdint.h>
|
||||
#include <bsp/tms570.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* __cplusplus */
|
||||
|
||||
typedef struct{
|
||||
uint32_t PARFLG; /* InterruptVectorTableParityFlagRegister */
|
||||
uint32_t PARCTL; /* InterruptVectorTableParityControlRegister */
|
||||
uint32_t ADDERR; /* AddressParityErrorRegister */
|
||||
uint32_t FBPARERR; /* Fall-BackAddressParityErrorRegister */
|
||||
uint32_t reserved1 [0x4/4];
|
||||
uint32_t IRQINDEX; /* IRQIndexOffsetVectorRegister */
|
||||
uint32_t FIQINDEX; /* FIQIndexOffsetVectorRegister */
|
||||
uint32_t reserved2 [0x8/4];
|
||||
uint32_t FIRQPR[3]; /* FIQ/IRQProgramControlRegister0 */
|
||||
uint32_t reserved3 [0x4/4];
|
||||
uint32_t INTREQ[3]; /* PendingInterruptReadLocationRegister0 */
|
||||
uint32_t reserved4 [0x4/4];
|
||||
uint32_t REQENASET[3]; /* InterruptEnableSetRegister0 */
|
||||
uint32_t reserved5 [0x4/4];
|
||||
uint32_t REQENACLR[3]; /* InterruptEnableClearRegister0 */
|
||||
uint32_t reserved6 [0x4/4];
|
||||
uint32_t WAKEENASET[3]; /* Wake-upEnableSetRegister0 */
|
||||
uint32_t reserved7 [0x4/4];
|
||||
uint32_t WAKEENACLR[3]; /* Wake-upEnableClearRegister0 */
|
||||
uint32_t reserved8 [0x4/4];
|
||||
uint32_t IRQVECREG; /* IRQInterruptVectorRegister */
|
||||
uint32_t FIQVECREG; /* FIQInterruptVectorRegister */
|
||||
uint32_t CAPEVT; /* CaptureEventRegister */
|
||||
uint32_t reserved9 [0x4/4];
|
||||
uint32_t CHANCTRL [0x5c/4]; /* VIM Interrupt Control Register (PARSER ERROR) */
|
||||
}tms570_vim_t;
|
||||
|
||||
#define TMS570_VIM (*(volatile tms570_vim_t*)0xFFFFFDEC)
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1,31 +1,130 @@
|
||||
/**
|
||||
* @file tms570.h
|
||||
*
|
||||
* @ingroup tms570
|
||||
*
|
||||
* @brief Specific register definitions according to tms570 family boards.
|
||||
*/
|
||||
/* This file is generated by make_central_header.py */
|
||||
/* Current script's version can be found at: */
|
||||
/* https://github.com/AoLaD/rtems-tms570-utils/tree/headers/headers/python */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2015 Taller Technologies.
|
||||
* Copyright (c) 2014-2015, Premysl Houdek <kom541000@gmail.com>
|
||||
*
|
||||
* @author Martin Galvan <martin.galvan@tallertechnologies.com>
|
||||
* Czech Technical University in Prague
|
||||
* Zikova 1903/4
|
||||
* 166 36 Praha 6
|
||||
* Czech Republic
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
* found in the file LICENSE in this distribution or at
|
||||
* http://www.rtems.org/license/LICENSE.
|
||||
*/
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice, this
|
||||
* list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
|
||||
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* The views and conclusions contained in the software and documentation are those
|
||||
* of the authors and should not be interpreted as representing official policies,
|
||||
* either expressed or implied, of the FreeBSD Project.
|
||||
*/
|
||||
#ifndef LIBBSP_ARM_TMS570
|
||||
#define LIBBSP_ARM_TMS570
|
||||
#include <bsp/ti_herc/reg_adc.h>
|
||||
#include <bsp/ti_herc/reg_ccmsr.h>
|
||||
#include <bsp/ti_herc/reg_crc.h>
|
||||
#include <bsp/ti_herc/reg_dcan.h>
|
||||
#include <bsp/ti_herc/reg_dcc.h>
|
||||
#include <bsp/ti_herc/reg_dma.h>
|
||||
#include <bsp/ti_herc/reg_dmm.h>
|
||||
#include <bsp/ti_herc/reg_efuse.h>
|
||||
#include <bsp/ti_herc/reg_emac.h>
|
||||
#include <bsp/ti_herc/reg_emacm.h>
|
||||
#include <bsp/ti_herc/reg_emif.h>
|
||||
#include <bsp/ti_herc/reg_esm.h>
|
||||
#include <bsp/ti_herc/reg_flash.h>
|
||||
#include <bsp/ti_herc/reg_flex_ray.h>
|
||||
#include <bsp/ti_herc/reg_gio.h>
|
||||
#include <bsp/ti_herc/reg_htu.h>
|
||||
#include <bsp/ti_herc/reg_i2c.h>
|
||||
#include <bsp/ti_herc/reg_iomm.h>
|
||||
#include <bsp/ti_herc/reg_lin.h>
|
||||
#include <bsp/ti_herc/reg_mdio.h>
|
||||
#include <bsp/ti_herc/reg_n2het.h>
|
||||
#include <bsp/ti_herc/reg_pbist.h>
|
||||
#include <bsp/ti_herc/reg_pll.h>
|
||||
#include <bsp/ti_herc/reg_pmm.h>
|
||||
#include <bsp/ti_herc/reg_rti.h>
|
||||
#include <bsp/ti_herc/reg_rtp.h>
|
||||
#include <bsp/ti_herc/reg_sci.h>
|
||||
#include <bsp/ti_herc/reg_tcr.h>
|
||||
#include <bsp/ti_herc/reg_tcram.h>
|
||||
#include <bsp/ti_herc/reg_vim.h>
|
||||
#include <bsp/ti_herc/reg_pom.h>
|
||||
#include <bsp/ti_herc/reg_spi.h>
|
||||
#include <bsp/ti_herc/reg_stc.h>
|
||||
#include <bsp/ti_herc/reg_sys.h>
|
||||
#include <bsp/ti_herc/reg_sys2.h>
|
||||
#include <bsp/ti_herc/reg_pcr.h>
|
||||
|
||||
#ifndef LIBBSP_ARM_TMS570_H
|
||||
#define LIBBSP_ARM_TMS570_H
|
||||
|
||||
#define SYSECR (*(uint32_t *)0xFFFFFFE0u) /* System Exception Control Register */
|
||||
#define ESMIOFFHR (*(uint32_t *)0xFFFFF528) /* ESM Interrupt Offset High Register */
|
||||
#define ESMSR1 (*(uint32_t *)0xFFFFF518u) /* ESM Status Register 1 */
|
||||
#define ESMSR2 (*(uint32_t *)0xFFFFF51Cu) /* ESM Status Register 2 */
|
||||
#define ESMSR3 (*(uint32_t *)0xFFFFF520u) /* ESM Status Register 3 */
|
||||
#define ESMSR4 (*(uint32_t *)0xFFFFF558u) /* ESM Status Register 4 */
|
||||
|
||||
#define SYSECR_RESET 0x80000u
|
||||
|
||||
#endif /* LIBBSP_ARM_TMS570_H */
|
||||
#define TMS570_ADC1 (*(volatile tms570_adc_t*)0xFFF7C000)
|
||||
#define TMS570_ADC2 (*(volatile tms570_adc_t*)0xFFF7C200)
|
||||
#define TMS570_CCMSR (*(volatile tms570_ccmsr_t*)0XFFFFF600)
|
||||
#define TMS570_CRC (*(volatile tms570_crc_t*)0xFE000000)
|
||||
#define TMS570_DCAN1 (*(volatile tms570_dcan_t*)0xFFF7DC00)
|
||||
#define TMS570_DCAN2 (*(volatile tms570_dcan_t*)0xFFF7DE00)
|
||||
#define TMS570_DCAN3 (*(volatile tms570_dcan_t*)0xFFF7E000)
|
||||
#define TMS570_DCC1 (*(volatile tms570_dcc_t*)0xFFFFEC00)
|
||||
#define TMS570_DCC2 (*(volatile tms570_dcc_t*)0xFFFFF400)
|
||||
#define TMS570_DMA (*(volatile tms570_dma_t*)0xFFFFF000)
|
||||
#define TMS570_DMM (*(volatile tms570_dmm_t*)0xFFFFF700)
|
||||
#define TMS570_EFUSE (*(volatile tms570_efuse_t*)0XFFF8C01C)
|
||||
#define TMS570_EMAC (*(volatile tms570_emac_t*)0xFCF78900)
|
||||
#define TMS570_EMACM (*(volatile tms570_emacm_t*)0xFCF78000)
|
||||
#define TMS570_EMIF (*(volatile tms570_emif_t*)0xFCFFE800)
|
||||
#define TMS570_ESM (*(volatile tms570_esm_t*)0XFFFFF500)
|
||||
#define TMS570_FLASH (*(volatile tms570_flash_t*)0XFFF87000)
|
||||
#define TMS570_FLEX_RAY (*(volatile tms570_flex_ray_t*)0xFFF7C800)
|
||||
#define TMS570_GIO (*(volatile tms570_gio_t*)0xFFF7BC00)
|
||||
#define TMS570_GIO_PORTA (*(volatile tms570_gio_port_t*)0xFFF7BC34)
|
||||
#define TMS570_GIO_PORTB (*(volatile tms570_gio_port_t*)0xFFF7BC54)
|
||||
#define TMS570_GIO_PORTC (*(volatile tms570_gio_port_t*)0xFFF7BC74)
|
||||
#define TMS570_GIO_PORTD (*(volatile tms570_gio_port_t*)0xFFF7BC94)
|
||||
#define TMS570_GIO_PORTE (*(volatile tms570_gio_port_t*)0xFFF7BCB4)
|
||||
#define TMS570_GIO_PORTF (*(volatile tms570_gio_port_t*)0xFFF7BCD4)
|
||||
#define TMS570_GIO_PORTG (*(volatile tms570_gio_port_t*)0xFFF7BCF4)
|
||||
#define TMS570_GIO_PORTH (*(volatile tms570_gio_port_t*)0xFFF7BD14)
|
||||
#define TMS570_HTU1 (*(volatile tms570_htu_t*)0xFFF7A400)
|
||||
#define TMS570_HTU2 (*(volatile tms570_htu_t*)0xFFF7A500)
|
||||
#define TMS570_I2C (*(volatile tms570_i2c_t*)0xFFF7D400)
|
||||
#define TMS570_IOMM (*(volatile tms570_iomm_t*)0XFFFFEA00)
|
||||
#define TMS570_PINMUX (*(volatile tms570_pinmux_t*)0xFFFFEB10)
|
||||
#define TMS570_LIN (*(volatile tms570_lin_t*)0xFFF7E400)
|
||||
#define TMS570_MDIO (*(volatile tms570_mdio_t*)0xFCF78900)
|
||||
#define TMS570_NHET1 (*(volatile tms570_nhet_t*)0xFFF7B800)
|
||||
#define TMS570_NHET2 (*(volatile tms570_nhet_t*)0xFFF7B900)
|
||||
#define TMS570_PBIST (*(volatile tms570_pbist_t*)0xFFFFE400)
|
||||
#define TMS570_PLL (*(volatile tms570_pll_t*)0XFFFFE100)
|
||||
#define TMS570_PMM (*(volatile tms570_pmm_t*)0xFFFF0000)
|
||||
#define TMS570_RTI (*(volatile tms570_rti_t*)0xFFFFFC00)
|
||||
#define TMS570_RTP (*(volatile tms570_rtp_t*)0xFFFFFA00)
|
||||
#define TMS570_SCI (*(volatile tms570_sci_t*)0xFFF7E500)
|
||||
#define TMS570_TCR (*(volatile tms570_tcr_t*)0xFFF7C800)
|
||||
#define TMS570_TCRAM1 (*(volatile tms570_tcram_t*)0xFFFFF800)
|
||||
#define TMS570_TCRAM2 (*(volatile tms570_tcram_t*)0xFFFFF900)
|
||||
#define TMS570_VIM (*(volatile tms570_vim_t*)0XFFFFFDEC)
|
||||
#define TMS570_POM (*(volatile tms570_pom_t*)0XFFA04000)
|
||||
#define TMS570_SPI (*(volatile tms570_spi_t*)0xFFF7F400)
|
||||
#define TMS570_STC (*(volatile tms570_stc_t*)0xFFFFE600)
|
||||
#define TMS570_SYS1 (*(volatile tms570_sys1_t*)0xFFFFFF00)
|
||||
#define TMS570_SYS2 (*(volatile tms570_sys2_t*)0xFFFFE100)
|
||||
#define TMS570_PCR (*(volatile tms570_pcr_t*)0xFFFFE000)
|
||||
#endif /* LIBBSP_ARM_TMS570 */
|
||||
|
||||
@@ -33,6 +33,11 @@ $(PROJECT_INCLUDE)/bsp/$(dirstamp):
|
||||
@: > $(PROJECT_INCLUDE)/bsp/$(dirstamp)
|
||||
PREINSTALL_DIRS += $(PROJECT_INCLUDE)/bsp/$(dirstamp)
|
||||
|
||||
$(PROJECT_INCLUDE)/bsp/ti_herc/$(dirstamp):
|
||||
@$(MKDIR_P) $(PROJECT_INCLUDE)/bsp/ti_herc
|
||||
@: > $(PROJECT_INCLUDE)/bsp/ti_herc/$(dirstamp)
|
||||
PREINSTALL_DIRS += $(PROJECT_INCLUDE)/bsp/ti_herc/$(dirstamp)
|
||||
|
||||
$(PROJECT_LIB)/bsp_specs: bsp_specs $(PROJECT_LIB)/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_LIB)/bsp_specs
|
||||
PREINSTALL_FILES += $(PROJECT_LIB)/bsp_specs
|
||||
@@ -109,6 +114,150 @@ $(PROJECT_INCLUDE)/bsp/system-clocks.h: include/system-clocks.h $(PROJECT_INCLUD
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/system-clocks.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/system-clocks.h
|
||||
|
||||
$(PROJECT_INCLUDE)/bsp/ti_herc/reg_adc.h: include/ti_herc/reg_adc.h $(PROJECT_INCLUDE)/bsp/ti_herc/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/ti_herc/reg_adc.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/ti_herc/reg_adc.h
|
||||
|
||||
$(PROJECT_INCLUDE)/bsp/ti_herc/reg_ccmsr.h: include/ti_herc/reg_ccmsr.h $(PROJECT_INCLUDE)/bsp/ti_herc/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/ti_herc/reg_ccmsr.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/ti_herc/reg_ccmsr.h
|
||||
|
||||
$(PROJECT_INCLUDE)/bsp/ti_herc/reg_crc.h: include/ti_herc/reg_crc.h $(PROJECT_INCLUDE)/bsp/ti_herc/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/ti_herc/reg_crc.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/ti_herc/reg_crc.h
|
||||
|
||||
$(PROJECT_INCLUDE)/bsp/ti_herc/reg_dcan.h: include/ti_herc/reg_dcan.h $(PROJECT_INCLUDE)/bsp/ti_herc/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/ti_herc/reg_dcan.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/ti_herc/reg_dcan.h
|
||||
|
||||
$(PROJECT_INCLUDE)/bsp/ti_herc/reg_dcc.h: include/ti_herc/reg_dcc.h $(PROJECT_INCLUDE)/bsp/ti_herc/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/ti_herc/reg_dcc.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/ti_herc/reg_dcc.h
|
||||
|
||||
$(PROJECT_INCLUDE)/bsp/ti_herc/reg_dma.h: include/ti_herc/reg_dma.h $(PROJECT_INCLUDE)/bsp/ti_herc/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/ti_herc/reg_dma.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/ti_herc/reg_dma.h
|
||||
|
||||
$(PROJECT_INCLUDE)/bsp/ti_herc/reg_dmm.h: include/ti_herc/reg_dmm.h $(PROJECT_INCLUDE)/bsp/ti_herc/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/ti_herc/reg_dmm.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/ti_herc/reg_dmm.h
|
||||
|
||||
$(PROJECT_INCLUDE)/bsp/ti_herc/reg_efuse.h: include/ti_herc/reg_efuse.h $(PROJECT_INCLUDE)/bsp/ti_herc/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/ti_herc/reg_efuse.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/ti_herc/reg_efuse.h
|
||||
|
||||
$(PROJECT_INCLUDE)/bsp/ti_herc/reg_emac.h: include/ti_herc/reg_emac.h $(PROJECT_INCLUDE)/bsp/ti_herc/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/ti_herc/reg_emac.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/ti_herc/reg_emac.h
|
||||
|
||||
$(PROJECT_INCLUDE)/bsp/ti_herc/reg_emacm.h: include/ti_herc/reg_emacm.h $(PROJECT_INCLUDE)/bsp/ti_herc/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/ti_herc/reg_emacm.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/ti_herc/reg_emacm.h
|
||||
|
||||
$(PROJECT_INCLUDE)/bsp/ti_herc/reg_emif.h: include/ti_herc/reg_emif.h $(PROJECT_INCLUDE)/bsp/ti_herc/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/ti_herc/reg_emif.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/ti_herc/reg_emif.h
|
||||
|
||||
$(PROJECT_INCLUDE)/bsp/ti_herc/reg_esm.h: include/ti_herc/reg_esm.h $(PROJECT_INCLUDE)/bsp/ti_herc/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/ti_herc/reg_esm.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/ti_herc/reg_esm.h
|
||||
|
||||
$(PROJECT_INCLUDE)/bsp/ti_herc/reg_flash.h: include/ti_herc/reg_flash.h $(PROJECT_INCLUDE)/bsp/ti_herc/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/ti_herc/reg_flash.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/ti_herc/reg_flash.h
|
||||
|
||||
$(PROJECT_INCLUDE)/bsp/ti_herc/reg_flex_ray.h: include/ti_herc/reg_flex_ray.h $(PROJECT_INCLUDE)/bsp/ti_herc/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/ti_herc/reg_flex_ray.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/ti_herc/reg_flex_ray.h
|
||||
|
||||
$(PROJECT_INCLUDE)/bsp/ti_herc/reg_gio.h: include/ti_herc/reg_gio.h $(PROJECT_INCLUDE)/bsp/ti_herc/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/ti_herc/reg_gio.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/ti_herc/reg_gio.h
|
||||
|
||||
$(PROJECT_INCLUDE)/bsp/ti_herc/reg_htu.h: include/ti_herc/reg_htu.h $(PROJECT_INCLUDE)/bsp/ti_herc/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/ti_herc/reg_htu.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/ti_herc/reg_htu.h
|
||||
|
||||
$(PROJECT_INCLUDE)/bsp/ti_herc/reg_i2c.h: include/ti_herc/reg_i2c.h $(PROJECT_INCLUDE)/bsp/ti_herc/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/ti_herc/reg_i2c.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/ti_herc/reg_i2c.h
|
||||
|
||||
$(PROJECT_INCLUDE)/bsp/ti_herc/reg_iomm.h: include/ti_herc/reg_iomm.h $(PROJECT_INCLUDE)/bsp/ti_herc/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/ti_herc/reg_iomm.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/ti_herc/reg_iomm.h
|
||||
|
||||
$(PROJECT_INCLUDE)/bsp/ti_herc/reg_lin.h: include/ti_herc/reg_lin.h $(PROJECT_INCLUDE)/bsp/ti_herc/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/ti_herc/reg_lin.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/ti_herc/reg_lin.h
|
||||
|
||||
$(PROJECT_INCLUDE)/bsp/ti_herc/reg_mdio.h: include/ti_herc/reg_mdio.h $(PROJECT_INCLUDE)/bsp/ti_herc/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/ti_herc/reg_mdio.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/ti_herc/reg_mdio.h
|
||||
|
||||
$(PROJECT_INCLUDE)/bsp/ti_herc/reg_n2het.h: include/ti_herc/reg_n2het.h $(PROJECT_INCLUDE)/bsp/ti_herc/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/ti_herc/reg_n2het.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/ti_herc/reg_n2het.h
|
||||
|
||||
$(PROJECT_INCLUDE)/bsp/ti_herc/reg_pbist.h: include/ti_herc/reg_pbist.h $(PROJECT_INCLUDE)/bsp/ti_herc/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/ti_herc/reg_pbist.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/ti_herc/reg_pbist.h
|
||||
|
||||
$(PROJECT_INCLUDE)/bsp/ti_herc/reg_pll.h: include/ti_herc/reg_pll.h $(PROJECT_INCLUDE)/bsp/ti_herc/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/ti_herc/reg_pll.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/ti_herc/reg_pll.h
|
||||
|
||||
$(PROJECT_INCLUDE)/bsp/ti_herc/reg_pmm.h: include/ti_herc/reg_pmm.h $(PROJECT_INCLUDE)/bsp/ti_herc/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/ti_herc/reg_pmm.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/ti_herc/reg_pmm.h
|
||||
|
||||
$(PROJECT_INCLUDE)/bsp/ti_herc/reg_rti.h: include/ti_herc/reg_rti.h $(PROJECT_INCLUDE)/bsp/ti_herc/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/ti_herc/reg_rti.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/ti_herc/reg_rti.h
|
||||
|
||||
$(PROJECT_INCLUDE)/bsp/ti_herc/reg_rtp.h: include/ti_herc/reg_rtp.h $(PROJECT_INCLUDE)/bsp/ti_herc/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/ti_herc/reg_rtp.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/ti_herc/reg_rtp.h
|
||||
|
||||
$(PROJECT_INCLUDE)/bsp/ti_herc/reg_sci.h: include/ti_herc/reg_sci.h $(PROJECT_INCLUDE)/bsp/ti_herc/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/ti_herc/reg_sci.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/ti_herc/reg_sci.h
|
||||
|
||||
$(PROJECT_INCLUDE)/bsp/ti_herc/reg_tcr.h: include/ti_herc/reg_tcr.h $(PROJECT_INCLUDE)/bsp/ti_herc/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/ti_herc/reg_tcr.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/ti_herc/reg_tcr.h
|
||||
|
||||
$(PROJECT_INCLUDE)/bsp/ti_herc/reg_tcram.h: include/ti_herc/reg_tcram.h $(PROJECT_INCLUDE)/bsp/ti_herc/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/ti_herc/reg_tcram.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/ti_herc/reg_tcram.h
|
||||
|
||||
$(PROJECT_INCLUDE)/bsp/ti_herc/reg_vim.h: include/ti_herc/reg_vim.h $(PROJECT_INCLUDE)/bsp/ti_herc/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/ti_herc/reg_vim.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/ti_herc/reg_vim.h
|
||||
|
||||
$(PROJECT_INCLUDE)/bsp/ti_herc/reg_pom.h: include/ti_herc/reg_pom.h $(PROJECT_INCLUDE)/bsp/ti_herc/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/ti_herc/reg_pom.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/ti_herc/reg_pom.h
|
||||
|
||||
$(PROJECT_INCLUDE)/bsp/ti_herc/reg_spi.h: include/ti_herc/reg_spi.h $(PROJECT_INCLUDE)/bsp/ti_herc/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/ti_herc/reg_spi.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/ti_herc/reg_spi.h
|
||||
|
||||
$(PROJECT_INCLUDE)/bsp/ti_herc/reg_stc.h: include/ti_herc/reg_stc.h $(PROJECT_INCLUDE)/bsp/ti_herc/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/ti_herc/reg_stc.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/ti_herc/reg_stc.h
|
||||
|
||||
$(PROJECT_INCLUDE)/bsp/ti_herc/reg_sys.h: include/ti_herc/reg_sys.h $(PROJECT_INCLUDE)/bsp/ti_herc/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/ti_herc/reg_sys.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/ti_herc/reg_sys.h
|
||||
|
||||
$(PROJECT_INCLUDE)/bsp/ti_herc/reg_sys2.h: include/ti_herc/reg_sys2.h $(PROJECT_INCLUDE)/bsp/ti_herc/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/ti_herc/reg_sys2.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/ti_herc/reg_sys2.h
|
||||
|
||||
$(PROJECT_INCLUDE)/bsp/ti_herc/reg_pcr.h: include/ti_herc/reg_pcr.h $(PROJECT_INCLUDE)/bsp/ti_herc/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/ti_herc/reg_pcr.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/ti_herc/reg_pcr.h
|
||||
|
||||
$(PROJECT_INCLUDE)/tm27.h: ../../shared/include/tm27.h $(PROJECT_INCLUDE)/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/tm27.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/tm27.h
|
||||
|
||||
@@ -25,22 +25,23 @@ static void handle_esm_errors(uint32_t esm_irq_channel)
|
||||
{
|
||||
/* ESMR3 errors don't generate interrupts. */
|
||||
if (esm_irq_channel < 0x20u) {
|
||||
ESMSR1 = 1 << esm_irq_channel;
|
||||
TMS570_ESM.SR[0] = 1 << esm_irq_channel;
|
||||
} else if (esm_irq_channel < 0x40u) {
|
||||
ESMSR2 = 1 << (esm_irq_channel - 32u);
|
||||
TMS570_ESM.SR[1] = 1 << (esm_irq_channel - 32u);
|
||||
} else if (esm_irq_channel < 0x60u) {
|
||||
ESMSR4 = 1 << (esm_irq_channel - 64u);
|
||||
TMS570_ESM.SR4 = 1 << (esm_irq_channel - 64u);
|
||||
}
|
||||
}
|
||||
|
||||
void bsp_reset(void)
|
||||
{
|
||||
uint32_t esm_irq_channel = ESMIOFFHR - 1;
|
||||
uint32_t esm_irq_channel = TMS570_ESM.IOFFHR - 1;
|
||||
|
||||
if (esm_irq_channel) {
|
||||
handle_esm_errors(esm_irq_channel);
|
||||
}
|
||||
|
||||
/* Reset the board */
|
||||
SYSECR = SYSECR_RESET;
|
||||
/* write of value other than 1 cause system reset */
|
||||
TMS570_SYS1.SYSECR = TMS570_SYS1_SYSECR_RESET(2);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user