1.1 --- a/src/sh4/scif.c Mon Dec 26 03:54:55 2005 +0000
1.2 +++ b/src/sh4/scif.c Tue Dec 19 09:54:03 2006 +0000
1.5 - * $Id: scif.c,v 1.7 2005-12-26 03:54:55 nkeynes Exp $
1.6 + * $Id: scif.c,v 1.8 2006-01-01 08:08:40 nkeynes Exp $
1.7 * SCIF (Serial Communication Interface with FIFO) implementation - part of the
1.8 * SH4 standard on-chip peripheral set. The SCIF is hooked up to the DCs
1.9 * external serial port
1.14 -#include "sh4core.h"
1.15 -#include "sh4mmio.h"
1.17 +#include "sh4/sh4core.h"
1.18 +#include "sh4/sh4mmio.h"
1.19 +#include "sh4/intc.h"
1.20 +#include "sh4/dmac.h"
1.26 if( IS_RECEIVE_IRQ_ENABLED() )
1.27 intc_raise_interrupt( INT_SCIF_RXI );
1.28 + DMAC_trigger( DMAC_SCIF_RDF );
1.30 MMIO_WRITE( SCIF, SCFSR2, tmp );
1.33 tmp |= SCFSR2_TEND; /* Transmission ended - no data waiting */
1.34 if( IS_TRANSMIT_IRQ_ENABLED() )
1.35 intc_raise_interrupt( INT_SCIF_TXI );
1.36 + DMAC_trigger( DMAC_SCIF_TDE );
1.37 MMIO_WRITE( SCIF, SCFSR2, tmp );
1.39 return (int)(unsigned int)result;
1.41 MMIO_WRITE( SCIF, SCFSR2, MMIO_READ( SCIF, SCFSR2 ) | SCFSR2_TEND | SCFSR2_TDFE );
1.42 if( IS_TRANSMIT_IRQ_ENABLED() ) {
1.43 intc_raise_interrupt( INT_SCIF_TXI );
1.44 + DMAC_trigger( DMAC_SCIF_TDE );
1.49 MMIO_WRITE( SCIF, SCFSR2, tmp | SCFSR2_DR );
1.50 if( IS_RECEIVE_IRQ_ENABLED() )
1.51 intc_raise_interrupt( INT_SCIF_RXI );
1.52 + DMAC_trigger( DMAC_SCIF_RDF );
1.55 SCIF_rcvd_last_tick = rcvd;