Changeset b2c252b in rtems
- Timestamp:
- 07/17/15 15:04:06 (9 years ago)
- Branches:
- 5, master
- Children:
- 579f16ef
- Parents:
- d6c67ad5
- git-author:
- Premysl Houdek <kom541000@…> (07/17/15 15:04:06)
- git-committer:
- Chris Johns <chrisj@…> (07/20/15 10:45:40)
- Location:
- c/src/lib/libbsp/arm/tms570
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
c/src/lib/libbsp/arm/tms570/clock/clock.c
rd6c67ad5 rb2c252b 86 86 TMS570_RTI.GCTRL = 0; 87 87 TMS570_RTI.CNT[0].CPUCx = tc_prescaler - 1; 88 TMS570_RTI.TBCTRL = 2;88 TMS570_RTI.TBCTRL = TMS570_RTI_TBCTRL_INC; 89 89 TMS570_RTI.CAPCTRL = 0; 90 90 TMS570_RTI.COMPCTRL = 0; … … 93 93 TMS570_RTI.CNT[0].FRCx = 0; 94 94 /* clear interrupts*/ 95 TMS570_RTI.CLEARINTENA = 0x00070f0f; 96 TMS570_RTI.INTFLAG = 0x0007000f; 95 TMS570_RTI.CLEARINTENA = TMS570_RTI_CLEARINTENA_CLEAROVL1INT | 96 TMS570_RTI_CLEARINTENA_CLEAROVL0INT | 97 TMS570_RTI_CLEARINTENA_CLEARTBINT | 98 TMS570_RTI_CLEARINTENA_CLEARDMA3 | 99 TMS570_RTI_CLEARINTENA_CLEARDMA2 | 100 TMS570_RTI_CLEARINTENA_CLEARDMA1 | 101 TMS570_RTI_CLEARINTENA_CLEARDMA0 | 102 TMS570_RTI_CLEARINTENA_CLEARINT3 | 103 TMS570_RTI_CLEARINTENA_CLEARINT2 | 104 TMS570_RTI_CLEARINTENA_CLEARINT1 | 105 TMS570_RTI_CLEARINTENA_CLEARINT0; 106 TMS570_RTI.INTFLAG = TMS570_RTI_INTFLAG_OVL1INT | 107 TMS570_RTI_INTFLAG_OVL0INT | 108 TMS570_RTI_INTFLAG_TBINT | 109 TMS570_RTI_INTFLAG_INT3 | 110 TMS570_RTI_INTFLAG_INT2 | 111 TMS570_RTI_INTFLAG_INT1 | 112 TMS570_RTI_INTFLAG_INT0; 97 113 /* set timer */ 98 114 TMS570_RTI.CMP[0].COMPx = TMS570_RTI.CNT[0].FRCx + tc_increments_per_tick; … … 100 116 TMS570_RTI.CMP[0].UDCPx = tc_increments_per_tick; 101 117 /* enable interupt */ 102 TMS570_RTI.SETINTENA = 0x1;118 TMS570_RTI.SETINTENA = TMS570_RTI_SETINTENA_SETINT0; 103 119 /* enable timer */ 104 TMS570_RTI.GCTRL = 1;120 TMS570_RTI.GCTRL = TMS570_RTI_GCTRL_CNT0EN; 105 121 /* set timecounter */ 106 122 tms570_rti_tc.tc_get_timecount = tms570_rti_get_timecount; … … 118 134 static void tms570_clock_driver_support_at_tick( void ) 119 135 { 120 TMS570_RTI.INTFLAG = 0x00000001;136 TMS570_RTI.INTFLAG = TMS570_RTI_INTFLAG_INT0; 121 137 } 122 138 … … 157 173 { 158 174 /* turn off the timer interrupts */ 159 TMS570_RTI.CLEARINTENA = 0x20000; 175 TMS570_RTI.CLEARINTENA = TMS570_RTI_CLEARINTENA_CLEAROVL0INT | 176 TMS570_RTI_CLEARINTENA_CLEARINT0; 160 177 } 161 178 -
c/src/lib/libbsp/arm/tms570/console/printk-support.c
rd6c67ad5 rb2c252b 42 42 43 43 rtems_interrupt_disable(level); 44 while ( ( driver_context_table[0].regs->FLR & 0x100) == 0) {44 while ( ( driver_context_table[0].regs->FLR & TMS570_SCI_FLR_TXRDY ) == 0) { 45 45 rtems_interrupt_flash(level); 46 46 } … … 75 75 static int tms570_uart_input( void ) 76 76 { 77 if ( driver_context_table[0].regs->FLR & (1<<9)) {77 if ( driver_context_table[0].regs->FLR & TMS570_SCI_FLR_RXRDY ) { 78 78 return driver_context_table[0].regs->RD; 79 79 } else { -
c/src/lib/libbsp/arm/tms570/console/tms570-sci.c
rd6c67ad5 rb2c252b 156 156 static void tms570_sci_enable_interrupts(tms570_sci_context * ctx) 157 157 { 158 ctx->regs->SETINT = (1<<9);158 ctx->regs->SETINT = TMS570_SCI_SETINT_SET_RX_INT; 159 159 } 160 160 … … 170 170 static void tms570_sci_disable_interrupts(tms570_sci_context * ctx) 171 171 { 172 ctx->regs->CLEARINT = (1<<9);172 ctx->regs->CLEARINT = TMS570_SCI_CLEARINT_CLR_RX_INT; 173 173 } 174 174 … … 217 217 rtems_termios_device_lock_acquire(base, &lock_context); 218 218 219 ctx->regs->GCR1 &= ~( (1<<7) | (1<<25) | (1<<24) ); 220 221 ctx->regs->GCR1 &= ~(1<<4); /*one stop bit*/ 222 ctx->regs->FORMAT = 0x7; 219 ctx->regs->GCR1 &= ~( TMS570_SCI_GCR1_SWnRST | TMS570_SCI_GCR1_TXENA | 220 TMS570_SCI_GCR1_RXENA ); 221 222 ctx->regs->GCR1 &= ~TMS570_SCI_GCR1_STOP; /*one stop bit*/ 223 ctx->regs->FORMAT = TMS570_SCI_FORMAT_CHAR(0x7); 223 224 224 225 switch ( t->c_cflag & ( PARENB|PARODD ) ) { 225 226 case ( PARENB|PARODD ): 226 227 /* Odd parity */ 227 ctx->regs->GCR1 &= ~ (1<<3);228 ctx->regs->GCR1 |= (1<<2);228 ctx->regs->GCR1 &= ~TMS570_SCI_GCR1_PARITY; 229 ctx->regs->GCR1 |= TMS570_SCI_GCR1_PARITY_ENA; 229 230 break; 230 231 231 232 case PARENB: 232 233 /* Even parity */ 233 ctx->regs->GCR1 |= (1<<3);234 ctx->regs->GCR1 |= (1<<2);234 ctx->regs->GCR1 |= TMS570_SCI_GCR1_PARITY; 235 ctx->regs->GCR1 |= TMS570_SCI_GCR1_PARITY_ENA; 235 236 break; 236 237 … … 239 240 case PARODD: 240 241 /* No Parity */ 241 ctx->regs->GCR1 &= ~ (1<<2);242 ctx->regs->GCR1 &= ~TMS570_SCI_GCR1_PARITY_ENA; 242 243 } 243 244 … … 248 249 ctx->regs->BRS = bauddiv; 249 250 250 ctx->regs->GCR1 |= (1<<7) | (1<<25) | (1<<24); 251 ctx->regs->GCR1 |= TMS570_SCI_GCR1_SWnRST | TMS570_SCI_GCR1_TXENA | 252 TMS570_SCI_GCR1_RXENA; 251 253 252 254 rtems_termios_device_lock_release(base, &lock_context); … … 275 277 * Check if we have received something. 276 278 */ 277 if ( (ctx->regs->FLR & (1<<9) ) == (1<<9)) {279 if ( (ctx->regs->FLR & TMS570_SCI_FLR_RXRDY ) == TMS570_SCI_FLR_RXRDY ) { 278 280 n = tms570_sci_read_received_chars(ctx, buf, TMS570_SCI_BUFFER_SIZE); 279 281 if ( n > 0 ) { … … 285 287 * Check if we have something transmitted. 286 288 */ 287 if ( (ctx->regs->FLR & (1<<8) ) == (1<<8)) {289 if ( (ctx->regs->FLR & TMS570_SCI_FLR_TXRDY ) == TMS570_SCI_FLR_TXRDY ) { 288 290 n = tms570_sci_transmitted_chars(ctx); 289 291 if ( n > 0 ) { … … 356 358 357 359 for ( i = 0; i < n; ++i ) { 358 while ( (ctx->regs->FLR & (1<<11)) == 0) {360 while ( (ctx->regs->FLR & TMS570_SCI_FLR_TX_EMPTY ) == 0) { 359 361 ; 360 362 } … … 376 378 ) 377 379 { 378 return ctx->regs->FLR & (1<<9);380 return ctx->regs->FLR & TMS570_SCI_FLR_RXRDY; 379 381 } 380 382 … … 531 533 532 534 /* Flush device */ 533 while ( ( ctx->regs->FLR & (1<<11)) > 0 ) {535 while ( ( ctx->regs->FLR & TMS570_SCI_FLR_TX_EMPTY ) > 0 ) { 534 536 ;/* Wait until all data has been sent */ 535 537 } -
c/src/lib/libbsp/arm/tms570/pom/tms570-pom.c
rd6c67ad5 rb2c252b 36 36 int i; 37 37 uint32_t vec_overlay_start = 0x08000000; 38 uint32_t temp = 0; 38 39 39 40 memcpy((void*)vec_overlay_start, bsp_start_vector_table_begin, 64); … … 42 43 43 44 for ( i = 0; i < TMS570_POM_REGIONS; ++i ) { 44 TMS570_POM.REG[i].REGSIZE = TMS570_POM_REGSIZE_ DISABLED;45 TMS570_POM.REG[i].REGSIZE = TMS570_POM_REGSIZE_SIZE(TMS570_POM_REGSIZE_DISABLED); 45 46 } 46 47 47 TMS570_POM.REG[0].PROGSTART = 0x0 & TMS570_POM_REGADDRMASK;48 TMS570_POM.REG[0].OVLSTART = vec_overlay_start & TMS570_POM_REGADDRMASK;49 TMS570_POM.REG[0].REGSIZE = TMS570_POM_REGSIZE_ 64B;50 51 TMS570_POM.GLBCTRL = TMS570_POM_GLBCTRL_ENABLE|52 ( vec_overlay_start & ~TMS570_POM_REGADDRMASK);48 TMS570_POM.REG[0].PROGSTART = TMS570_POM_PROGSTART_STARTADDRESS(0); 49 TMS570_POM.REG[0].OVLSTART = TMS570_POM_OVLSTART_STARTADDRESS(vec_overlay_start); 50 TMS570_POM.REG[0].REGSIZE = TMS570_POM_REGSIZE_SIZE(TMS570_POM_REGSIZE_64B); 51 TMS570_POM.GLBCTRL = TMS570_POM_GLBCTRL_ON_OFF(0xa) | 52 TMS570_POM_GLBCTRL_ETO(0xa) | 53 (TMS570_POM_GLBCTRL_OTADDR(~0) & vec_overlay_start); 53 54 }
Note: See TracChangeset
for help on using the changeset viewer.