/**********************************************************************

  IOSH7030.h 
	- I/O addresses for SH1 series

- J.D. 16th October 1995.               (Not all checked)
- Andrew Huang 1 August 1996.         Bugs found in ITU defs 
**********************************************************************/



#define SCI0_SMR (* (volatile unsigned char *)(0x05fffec0))
#define SCI0_BRR (* (volatile unsigned char *)(0x05fffec1))
#define SCI0_SCR (* (volatile unsigned char *)(0x05fffec2))
#define SCI0_TDR (* (volatile unsigned char *)(0x05fffec3))
#define SCI0_SSR (* (volatile unsigned char *)(0x05fffec4))
#define SCI0_RDR (* (volatile unsigned char *)(0x05fffec5))

#define SCI1_SMR (* (volatile unsigned char *)(0x05fffec8))
#define SCI1_BRR (* (volatile unsigned char *)(0x05fffec9))
#define SCI1_SCR (* (volatile unsigned char *)(0x05fffeca))
#define SCI1_TDR (* (volatile unsigned char *)(0x05fffecb))
#define SCI1_SSR (* (volatile unsigned char *)(0x05fffecc))
#define SCI1_RDR (* (volatile unsigned char *)(0x05fffecd))


#define ADDRAH (* (volatile unsigned char *)(0x05fffee0))
#define ADDRAL (* (volatile unsigned char *)(0x05fffee1))
#define ADDRBH (* (volatile unsigned char *)(0x05fffee2))
#define ADDRBL (* (volatile unsigned char *)(0x05fffee3))
#define ADDRCH (* (volatile unsigned char *)(0x05fffee4))
#define ADDRCL (* (volatile unsigned char *)(0x05fffee5))
#define ADDRDH (* (volatile unsigned char *)(0x05fffee6))
#define ADDRDL (* (volatile unsigned char *)(0x05fffee7))
#define AD_DRA (* (volatile unsigned short *)(0x05fffee0))
#define AD_DRB (* (volatile unsigned short *)(0x05fffee2))
#define AD_DRC (* (volatile unsigned short *)(0x05fffee4))
#define AD_DRD (* (volatile unsigned short *)(0x05fffee6))
#define ADCSR  (* (volatile unsigned char *)(0x05fffee8))
#define ADCR   (* (volatile unsigned char *)(0x05fffee9))


/*ITU SHARED*/
#define ITU_TSTR  (* (volatile unsigned char *) (0x05ffff00)) /* buggy! */
#define ITU_TSNC  (* (volatile unsigned short *)(0x05ffff01))
#define ITU_TMDR  (* (volatile unsigned char *)(0x05ffff02))  /* buggy! */
#define ITU_TFCR  (* (volatile unsigned char *)(0x05ffff03))  /* buggy! */

/*ITU CHANNEL 0*/
#define ITU_TCR0  (* (volatile unsigned char *) (0x05ffff04))
#define ITU_TIOR0 (* (volatile unsigned char *) (0x05ffff05))
#define ITU_TIER0 (* (volatile unsigned char *) (0x05ffff06))
#define ITU_TSR0  (* (volatile unsigned char *) (0x05ffff07))
#define ITU_TCNT0 (* (volatile unsigned short *)(0x05ffff08))
#define ITU_GRA0  (* (volatile unsigned short *)(0x05ffff0a))
#define ITU_GRB0  (* (volatile unsigned short *)(0x05ffff0c))

/*ITU CHANNEL 1*/
#define ITU_TCR1  (* (volatile unsigned char *) (0x05ffff0E))
#define ITU_TIOR1 (* (volatile unsigned char *) (0x05ffff0F))
#define ITU_TIER1 (* (volatile unsigned char *) (0x05ffff10))
#define ITU_TSR1  (* (volatile unsigned char *) (0x05ffff11))
#define ITU_TCNT1 (* (volatile unsigned short *)(0x05ffff12))
#define ITU_GRA1  (* (volatile unsigned short *)(0x05ffff14))
#define ITU_GRB1  (* (volatile unsigned short *)(0x05ffff16))


/*ITU CHANNEL 2*/
#define ITU_TCR2  (* (volatile unsigned char *) (0x05ffff18))
#define ITU_TIOR2 (* (volatile unsigned char *) (0x05ffff19))
#define ITU_TIER2 (* (volatile unsigned char *) (0x05ffff1A))
#define ITU_TSR2  (* (volatile unsigned char *) (0x05ffff1B))
#define ITU_TCNT2 (* (volatile unsigned short *)(0x05ffff1C))
#define ITU_GRA2  (* (volatile unsigned short *)(0x05ffff1E))
#define ITU_GRB2  (* (volatile unsigned short *)(0x05ffff20))

/*ITU CHANNEL 3*/
#define ITU_TCR3  (* (volatile unsigned char *) (0x05ffff22))
#define ITU_TIOR3 (* (volatile unsigned char *) (0x05ffff23))
#define ITU_TIER3 (* (volatile unsigned char *) (0x05ffff24))
#define ITU_TSR3  (* (volatile unsigned char *) (0x05ffff25))
#define ITU_TCNT3 (* (volatile unsigned short *)(0x05ffff26))
#define ITU_GRA3  (* (volatile unsigned short *)(0x05ffff28))
#define ITU_GRB3  (* (volatile unsigned short *)(0x05ffff2A))
#define ITU_BRA3  (* (volatile unsigned short *)(0x05ffff2C))
#define ITU_BRB3  (* (volatile unsigned short *)(0x05ffff2E))

/*ITU CHANNELS 0-4 SHARED*/
#define ITU_TOCR  (* (volatile unsigned char *) (0x05ffff31))

/*ITU CHANNEL 4*/
#define ITU_TCR4  (* (volatile unsigned char *) (0x05ffff32))
#define ITU_TIOR4 (* (volatile unsigned char *) (0x05ffff33))
#define ITU_TIER4 (* (volatile unsigned char *) (0x05ffff34))
#define ITU_TSR4  (* (volatile unsigned char *) (0x05ffff35))
#define ITU_TCNT4 (* (volatile unsigned short *)(0x05ffff36))
#define ITU_GRA4  (* (volatile unsigned short *)(0x05ffff38))
#define ITU_GRB4  (* (volatile unsigned short *)(0x05ffff3A))
#define ITU_BRA4  (* (volatile unsigned short *)(0x05ffff3C))
#define ITU_BRB4  (* (volatile unsigned short *)(0x05ffff3E))

/*DMAC CHANNELS 0-3 SHARED*/
#define DMAOR           (* (volatile unsigned short *)(0x05ffff48))

/*DMAC CHANNEL 0*/
#define DMA_SAR0        (* (volatile unsigned long *)(0x05ffff40))
#define DMA_DAR0        (* (volatile unsigned long *)(0x05ffff44))
#define DMA_TCR0        (* (volatile unsigned short *)(0x05ffff4a))
#define DMA_CHCR0       (* (volatile unsigned short *)(0x05ffff4e))

/*DMAC CHANNEL 1*/
#define DMA_SAR1        (* (volatile unsigned long *)(0x05ffff50))
#define DMA_DAR1        (* (volatile unsigned long *)(0x05ffff54))
#define DMA_TCR1        (* (volatile unsigned short *)(0x05fffF5a))
#define DMA_CHCR1       (* (volatile unsigned short *)(0x05ffff5e))

/*DMAC CHANNEL 3*/
#define DMA_SAR3        (* (volatile unsigned long *)(0x05ffff60))
#define DMA_DAR3        (* (volatile unsigned long *)(0x05ffff64))
#define DMA_TCR3        (* (volatile unsigned short *)(0x05fffF6a))
#define DMA_CHCR3       (* (volatile unsigned short *)(0x05ffff6e))

/*DMAC CHANNEL 4*/
#define DMA_SAR4        (* (volatile unsigned long *)(0x05ffff70))
#define DMA_DAR4        (* (volatile unsigned long *)(0x05ffff74))
#define DMA_TCR4        (* (volatile unsigned short *)(0x05fffF7a))
#define DMA_CHCR4       (* (volatile unsigned short *)(0x05ffff7e))

/*INTC*/
#define INTC_IPRA (* (volatile unsigned short *)(0x05ffff84))
#define INTC_IPRB (* (volatile unsigned short *)(0x05ffff86))
#define INTC_IPRC (* (volatile unsigned short *)(0x05ffff88))
#define INTC_IPRD (* (volatile unsigned short *)(0x05ffff8A))
#define INTC_IPRE (* (volatile unsigned short *)(0x05ffff8C))
#define INTC_ICR  (* (volatile unsigned short *)(0x05ffff8E))

/*UBC*/
#define UBC_BARH  (* (volatile unsigned short *)(0x05ffff90))
#define UBC_BARL  (* (volatile unsigned short *)(0x05ffff92))
#define UBC_BAMRH (* (volatile unsigned short *)(0x05ffff94))
#define UBC_BAMRL (* (volatile unsigned short *)(0x05ffff96))
#define UBC_BBR   (* (volatile unsigned short *)(0x05ffff98))

/*BSC*/
#define BSC_BCR   (* (volatile unsigned short *)(0x05ffffA0))
#define BSC_WCR1  (* (volatile unsigned short *)(0x05ffffA2))
#define BSC_WCR2  (* (volatile unsigned short *)(0x05ffffA4))
#define BSC_WCR3  (* (volatile unsigned short *)(0x05ffffA6))
#define BSC_DCR   (* (volatile unsigned short *)(0x05ffffA8))
#define BSC_PCR   (* (volatile unsigned short *)(0x05ffffAA))
#define BSC_RCR   (* (volatile unsigned short *)(0x05ffffAC))
#define BSC_RTCSR (* (volatile unsigned short *)(0x05ffffAE))
#define BSC_RTCNT (* (volatile unsigned short *)(0x05ffffB0))
#define BSC_RTCOR (* (volatile unsigned short *)(0x05ffffB2))

/*WDT*/
#define WDT_TCSR  (* (volatile unsigned char *)(0x05ffffB8))
#define WDT_TCNT  (* (volatile unsigned char *)(0x05ffffB9))
#define WDT_RSTCSR (* (volatile unsigned char *)(0x05ffffBB))

/*POWER DOWN STATE*/
#define PDT_SBYCR (* (volatile unsigned char *)(0x05ffffBC))

/*PORT A*/
#define PADR (* (volatile unsigned short *)(0x05ffffC0))

/*PORT B*/
#define PBDR (* (volatile unsigned short *)(0x05ffffC2))

/*PORT C*/
#define PCDR (* (volatile unsigned short *)(0x05ffffD0))

/*PFC*/
#define PFC_PAIOR (* (volatile unsigned short *)(0x05ffffC4))
#define PFC_PBIOR (* (volatile unsigned short *)(0x05ffffC6))
#define PFC_PACR1 (* (volatile unsigned short *)(0x05ffffC8))
#define PFC_PACR2 (* (volatile unsigned short *)(0x05ffffCA))
#define PFC_PBCR1 (* (volatile unsigned short *)(0x05ffffCC))
#define PFC_PBCR2 (* (volatile unsigned short *)(0x05ffffCE))
#define PFC_CASCR (* (volatile unsigned short *)(0x05ffffEE))

/*TPC*/
#define TPC_TPMR (* (volatile unsigned short *)(0x05ffffF0))
#define TPC_TPCR (* (volatile unsigned short *)(0x05ffffF1))
#define TPC_NDERH (* (volatile unsigned short *)(0x05ffffF2))
#define TPC_NDERL (* (volatile unsigned short *)(0x05ffffF3))
#define TPC_NDRB (* (volatile unsigned char *)(0x05ffffF4))
#define TPC_NDRA (* (volatile unsigned char *)(0x05ffffF5))
#define TPC_NDRB1 (* (volatile unsigned char *)(0x05ffffF6))
#define TPC_NDRA1 (* (volatile unsigned char *)(0x05ffffF7))

