/****************************************************************************** Copyright (C) 2007 Oki Electric Industry Co.,LTD. System Name : ML67Q5250 CPU Board Module Name : definition for registers File Name : ML67Q5250.h Revision : 01.00 Date : 2007/04/18 First version ******************************************************************************/ #ifndef ML67Q5250_H #define ML67Q5250_H #ifdef __cplusplus extern "C" { #endif /*****************************************************/ /* system control register */ /*****************************************************/ /***************************************************************************** uPLAT_CTL *****************************************************************************/ #define SCR_BASE (0xB8000000) /* base address */ #define IDR (SCR_BASE+0x00) /* type and revision (RO,32,0x00000100) */ #define CLKSTP (SCR_BASE+0x04) /* clock stop register (W,32,0x00000000) */ #define RMPCON (SCR_BASE+0x10) /* remap control register (RW,32,0x00000000) */ /* for IDR, CLKSTP, CGBCNT0, CKWT, RMPCON, CGBCNT1, CGBCNT2 registers */ #define SCR_UNLOCK 0x0000003c /* bit field of CLKSTP register */ #define CLKSTP_SIO (0x00000001) /* SIO HALT */ #define CLKSTP_TIC (0x00000002) /* TIC HALT */ #define CLKSTP_HALT (0x00000004) /* CPU group HALT */ #define CLKSTP_STOP (0x00000080) /* STOPMODE */ /* bit field of RMPCON register */ #define RMPCON_RMPM_P_RAM (0x0000000C) /* Processor RAM */ #define RMPCON_RMPM_E_ROM (0x00000008) /* External ROM */ /***************************************************************************** control *****************************************************************************/ #define CTL_BAS 0xB7000000 #define DMARQCNT (CTL_BAS+(0x00)) /* DMA request source control register (RW,32,0x00000000) */ #define LSICNT (CTL_BAS+(0x04)) /* LSI control register (R,32,0xXXXXXXXX) */ #define PORTSELA (CTL_BAS+(0x10)) /* PIOA function control register (RW,32,0x00000000) */ #define PORTSELB (CTL_BAS+(0x14)) /* PIOB function control register (RW,32,0x00000000) */ #define PORTSELC (CTL_BAS+(0x18)) /* PIOC function control register (RW,32,0x00000000) */ #if 1 /***************************************************************************** clock control *****************************************************************************/ #define PECLKCNT (CTL_BAS+(0x100)) /* peripheral clock control register (RW,32,0x0000001F) */ #define PERSTCNT (CTL_BAS+(0x104)) /* peripheral reset control register (RW,32,0x00000000) */ #define CLKCNT (CTL_BAS+(0x10C)) /* clock control register (RW,32,0x02011111) */ #define CLKSTPCNT (CTL_BAS+(0x110)) /* clock stop control register (RW,32,0x00000000) */ #define CKWT (CTL_BAS+(0x114)) /* clock wait time control register (RW,32,0x00000FFF) */ #define PERSTCNT_RST_FPSP (0x10) #define PERSTCNT_RST_USB (0x08) #define PERSTCNT_RST_SPI (0x04) #define PERSTCNT_RST_SIMIF (0x02) #define PERSTCNT_RST_SSIO (0x01) /***************************************************************************** Flash control *****************************************************************************/ #define FLACON (CTL_BAS+(0x200)) /* Flash ROM control register (RW,32,0xXXXXXXXX) */ #endif /*****************************************************/ /* interrupt control register */ /*****************************************************/ #define ICR_BASE (0x78000000) /* base address of interrupt control register */ #define IRQ (ICR_BASE+0x00) /* IRQ register (R,32,0x00000000) */ #define IRQS (ICR_BASE+0x04) /* IRQ soft register (RW,32,0x00000000) */ #define FIQ (ICR_BASE+0x08) /* FIQ register (R,32,0x00000000) */ #define FIQRAW (ICR_BASE+0x0C) /* FIQRAW status register (R,32,--)*/ #define FIQEN (ICR_BASE+0x10) /* FIQ enable register (RW,32,0x00000000)*/ #define IRN (ICR_BASE+0x14) /* IRQ number register (R,32,0x00000000)*/ #define CIL (ICR_BASE+0x18) /* current IRQ level register (RW,32,0x00000000)*/ #define ILC0 (ICR_BASE+0x20) /* IRQ level control register 0 (RW,32,0x00000000) */ #define ILC1 (ICR_BASE+0x24) /* IRQ level control register 1 (RW,32,0x00000000) */ #define CILCL (ICR_BASE+0x28) /* current IRQ level clear register (W,32,--) */ #define CILE (ICR_BASE+0x2C) /* current IRQ level encode register (R,32,0x00000000) */ /***************************************************************************** EXINTCo *****************************************************************************/ #define EICR_BASE (0x7BF00000) /* base address */ #define EXIRS (EICR_BASE+0x00) /* Extended interrupt Size register (R,32,0x0000003F?? 1F??) */ #define EXIRQA (EICR_BASE+0x10) /* Extended interrupt IRQ register (R,32,0x00000000) */ #define EXIDMA (EICR_BASE+0x14) /* Extended interrupt Mode control register (RW,32,0x00000000) */ #define EXILCA (EICR_BASE+0x18) /* Extended interrupt level control register (RW,32,0x00000000) */ #define EXIRQSA (EICR_BASE+0x1C) /* Extended interrupt status register (R,32,0x00000000) */ #define EXFIQ (EICR_BASE+0x80) /* Extended interrupt FIQ register (RW,32,0x00000000) */ #define EXFIDM (EICR_BASE+0x84) /* Extended interrupt FIQ Mode register (RW,32,0x00000000) */ /* bit field of IRQ register */ #define IRQ_nIR0 (0x00000001) /* nIR[0] */ #define IRQ_nIR1 (0x00000002) /* nIR[1] */ #define IRQ_nIR2 (0x00000004) /* nIR[2] */ #define IRQ_nIR3 (0x00000008) /* nIR[3] */ #define IRQ_nIR4 (0x00000010) /* nIR[4] */ #define IRQ_nIR5 (0x00000020) /* nIR[5] */ #define IRQ_nIR6 (0x00000040) /* nIR[6] */ #define IRQ_nIR7 (0x00000080) /* nIR[7] */ #define IRQ_nIR8 (0x00000100) /* nIR[8] */ #define IRQ_nIR9 (0x00000200) /* nIR[9] */ #define IRQ_nIR10 (0x00000400) /* nIR[10] */ #define IRQ_nIR11 (0x00000800) /* nIR[11] */ #define IRQ_nIR12 (0x00001000) /* nIR[12] */ #define IRQ_nIR13 (0x00002000) /* nIR[13] */ #define IRQ_nIR14 (0x00004000) /* nIR[14] */ #define IRQ_nIR15 (0x00008000) /* nIR[15] */ /* bit field of IRQS register */ #define IRQS_IRQS (0x00000002) /* IRQS bit */ /* bit field of FIQ register */ #define FIQ_FIQ (0x00000001) /* FIQ bit */ /* bit field of FIQRAW register */ #define FIQRAW_FIQRAW (0x00000001) /* FIQRAW bit */ /* bit field of FIQEN register */ #define FIQEN_FIQEN (0x00000001) /* FIQEN bit */ /* bit field of IRN register */ #define IRN_IRN (0x0000007F) /* IRN[6:0] */ /* bit field of CIL register */ #define CIL_INT_LV1 (0x00000002) /* interrupt level 1 */ #define CIL_INT_LV2 (0x00000004) /* interrupt level 2 */ #define CIL_INT_LV3 (0x00000008) /* interrupt level 3 */ #define CIL_INT_LV4 (0x00000010) /* interrupt level 4 */ #define CIL_INT_LV5 (0x00000020) /* interrupt level 5 */ #define CIL_INT_LV6 (0x00000040) /* interrupt level 6 */ #define CIL_INT_LV7 (0x00000080) /* interrupt level 7 */ /* bit field of ILC0 register */ #define ILC0_ILR0 (0x00000007) /* nIR[0] */ #define ILC0_ILR1 (0x00000070) /* nIR[1],nIR[2],nIR[3] */ #define ILC0_ILR4 (0x00070000) /* nIR[4],nIR[5] */ #define ILC0_ILR6 (0x07000000) /* nIR[6],nIR[7] */ #define ILC0_INT_LV1 (0x11111111) /* interrupt level 1 */ #define ILC0_INT_LV2 (0x22222222) /* interrupt level 2 */ #define ILC0_INT_LV3 (0x33333333) /* interrupt level 3 */ #define ILC0_INT_LV4 (0x44444444) /* interrupt level 4 */ #define ILC0_INT_LV5 (0x55555555) /* interrupt level 5 */ #define ILC0_INT_LV6 (0x66666666) /* interrupt level 6 */ #define ILC0_INT_LV7 (0x77777777) /* interrupt level 7 */ /* bit field of ILC1 register */ #define ILC1_ILR8 (0x00000007) /* nIR[8] */ #define ILC1_ILR9 (0x00000070) /* nIR[9] */ #define ILC1_ILR10 (0x00000700) /* nIR[10] */ #define ILC1_ILR11 (0x00007000) /* nIR[11] */ #define ILC1_ILR12 (0x00070000) /* nIR[12] */ #define ILC1_ILR13 (0x00700000) /* nIR[13] */ #define ILC1_ILR14 (0x07000000) /* nIR[14] */ #define ILC1_ILR15 (0x70000000) /* nIR[15] */ #define ILC1_INT_LV1 (0x11111111) /* interrupt level 1 */ #define ILC1_INT_LV2 (0x22222222) /* interrupt level 2 */ #define ILC1_INT_LV3 (0x33333333) /* interrupt level 3 */ #define ILC1_INT_LV4 (0x44444444) /* interrupt level 4 */ #define ILC1_INT_LV5 (0x55555555) /* interrupt level 5 */ #define ILC1_INT_LV6 (0x66666666) /* interrupt level 6 */ #define ILC1_INT_LV7 (0x77777777) /* interrupt level 7 */ /* bit field of CILCL register */ #define CILCL_CLEAR (0x00000001) /* most significant '1' bit of CIL is cleared */ /* bit field of CILE register */ #define CILE_CILE (0x00000007) /* CILE[2:0] */ /* bit field of EXIRQA register */ #define EXIRQA_IRQ16 (0x00000001) /* IRQ16 */ #define EXIRQA_IRQ17 (0x00000002) /* IRQ17 */ #define EXIRQA_IRQ18 (0x00000004) /* IRQ18 */ #define EXIRQA_IRQ19 (0x00000008) /* IRQ19 */ #define EXIRQA_IRQ20 (0x00000010) /* IRQ20 */ #define EXIRQA_IRQ21 (0x00000020) /* IRQ21 */ #define EXIRQA_IRQ22 (0x00000040) /* IRQ22 */ #define EXIRQA_IRQ23 (0x00000080) /* IRQ23 */ #define EXIRQA_IRQ24 (0x00000100) /* IRQ24 */ #define EXIRQA_IRQ25 (0x00000200) /* IRQ25 */ #define EXIRQA_IRQ26 (0x00000400) /* IRQ26 */ #define EXIRQA_IRQ27 (0x00000800) /* IRQ27 */ #define EXIRQA_IRQ28 (0x00001000) /* IRQ28 */ #define EXIRQA_IRQ29 (0x00002000) /* IRQ29 */ #define EXIRQA_IRQ30 (0x00004000) /* IRQ30 */ #define EXIRQA_IRQ31 (0x00008000) /* IRQ31 */ /* bit field of EXIDMA register */ #define EXIDM_IDM22 (0x00000040) /* IRQ22 */ #define EXIDM_IDM26 (0x00000400) /* IRQ26 */ #define EXIDM_IDM28 (0x00001000) /* IRQ28 */ #define EXIDM_IDM30 (0x00004000) /* IRQ31 */ #define EXIDM_IDMP22 (0x00000080) /* IRQ22 */ #define EXIDM_IDMP26 (0x00000800) /* IRQ26 */ #define EXIDM_IDMP28 (0x00002000) /* IRQ28 */ #define EXIDM_IDMP30 (0x00008000) /* IRQ31 */ #define EXIDM_INT_L_L (0x00000000) /* level sensing, interrupt occurs when 'L' */ #define EXIDM_INT_L_H (0x0000AAAA) /* level sensing, interrupt occurs when 'H' */ #define EXIDM_INT_E_F (0x00005555) /* edge sensing, interrupt occurs when falling edge */ #define EXIDM_INT_E_R (0x0000FFFF) /* edge sensing, interrupt occurs when rising edge */ #define EXIDM_IRQ22 (0x000000C0) /* IRQ22 */ #define EXIDM_IRQ26 (0x00000C00) /* IRQ26 */ #define EXIDM_IRQ28 (0x00003000) /* IRQ28 */ #define EXIDM_IRQ31 (0x0000C000) /* IRQ31 */ /* bit field of EXILCA register */ #define EXILC_ILC16 (0x00000007) /* IRQ16, IRQ17 */ #define EXILC_ILC18 (0x00000070) /* IRQ18, IRQ19 */ #define EXILC_ILC20 (0x00000700) /* IRQ20, IRQ21 */ #define EXILC_ILC22 (0x00007000) /* IRQ22, IRQ23 */ #define EXILC_ILC24 (0x00070000) /* IRQ24, IRQ25 */ #define EXILC_ILC26 (0x00700000) /* IRQ26, IRQ27 */ #define EXILC_ILC28 (0x07000000) /* IRQ28, IRQ29 */ #define EXILC_ILC30 (0x70000000) /* IRQ30, IRQ31 */ #define EXILC_INT_LV1 (0x11111111) /* interrupt level 1 */ #define EXILC_INT_LV2 (0x22222222) /* interrupt level 2 */ #define EXILC_INT_LV3 (0x33333333) /* interrupt level 3 */ #define EXILC_INT_LV4 (0x44444444) /* interrupt level 4 */ #define EXILC_INT_LV5 (0x55555555) /* interrupt level 5 */ #define EXILC_INT_LV6 (0x66666666) /* interrupt level 6 */ #define EXILC_INT_LV7 (0x77777777) /* interrupt level 7 */ /*****************************************************/ /* external memory control register */ /*****************************************************/ /***************************************************************************** PBIC *****************************************************************************/ #define EMCR_BASE (0x78100000) /* base address */ #define BWC (EMCR_BASE+0x00) /* bus width control register (RW,32,0x00000008) */ #define ROMAC (EMCR_BASE+0x04) /* external ROM access control register (RW,32,0x00000007) */ #define RAMAC (EMCR_BASE+0x08) /* external SRAM access control register (RW,32,0x00000007) */ #define IO0AC (EMCR_BASE+0x0C) /* external IO0 access control register (RW,32,0x00000007) */ #define IO1AC (EMCR_BASE+0x10) /* external IO1 access control register (RW,32,0x00000007) */ /*****************************************************/ /* DMA control register */ /*****************************************************/ #define DMA_BASE (0x7BE00000) /* base address */ #define DMAMOD (DMA_BASE+0x0000) /* DMA Mode register (RW,32,0x00000000) */ #define DMASTA (DMA_BASE+0x0004) /* DMA Status register (R,32,0x00000000) */ #define DMAINT (DMA_BASE+0x0008) /* DMA interrupt Status register (R,32,0x00000000) */ #define DMACMSK0 (DMA_BASE+0x0100) /* Channel 0 Mask register (RW,32,0x00000001) */ #define DMACTMOD0 (DMA_BASE+0x0104) /* Channel 0 Transfer Mode register (RW,32,0x00000040) */ #define DMACSAD0 (DMA_BASE+0x0108) /* Channel 0 Source Address register (RW,32,0x00000000) */ #define DMACDAD0 (DMA_BASE+0x010C) /* Channel 0 Destination Address register (RW,32,0x00000000) */ #define DMACSIZ0 (DMA_BASE+0x0110) /* Channel 0 Transfer Size register (RW,32,0x00000000) */ #define DMACCINT0 (DMA_BASE+0x0114) /* Channel 0 interrupt Clear register (W,32,--) */ #define DMACMSK1 (DMA_BASE+0x0200) /* Channel 1 Mask register (RW,32,0x00000001) */ #define DMACTMOD1 (DMA_BASE+0x0204) /* Channel 1 Transfer Mode register (RW,32,0x00000040) */ #define DMACSAD1 (DMA_BASE+0x0208) /* Channel 1 Source Address register (RW,32,0x00000000) */ #define DMACDAD1 (DMA_BASE+0x020C) /* Channel 1 Destination Address register (RW,32,0x00000000) */ #define DMACSIZ1 (DMA_BASE+0x0210) /* Channel 1 Transfer Size register (RW,32,0x00000000) */ #define DMACCINT1 (DMA_BASE+0x0214) /* Channel 1 interrupt Clear register (W,32,--) */ /* bit field of DMAMOD register */ #define DMAMOD_PRI (0x00000001) /* PRI bit */ #define DMAMOD_FIX (0x00000000) /* Priority of DMA channel : CH0 > CH1 */ #define DMAMOD_RR (0x00000001) /* Priority of DMA channel : Round robin */ /* bit field of DMASTA register */ #define DMASTA_STA0 (0x00000001) /* Non-transmitted data is in CH0 */ #define DMASTA_STA1 (0x00000002) /* Non-transmitted data is in CH1 */ /* bit field of DMAINT register */ #define DMAINT_IREQ0 (0x00000001) /* CH0 interrupt */ #define DMAINT_IREQ1 (0x00000002) /* CH1 interrupt */ #define DMAINT_ISTA0 (0x00000100) /* CH0 abnormal end */ #define DMAINT_ISTA1 (0x00000200) /* CH1 abnormal end */ #define DMAINT_ISTP0 (0x00010000) /* CH0 abnormal end situation */ #define DMAINT_ISTP1 (0x00020000) /* CH1 abnormal end situation */ /* bit field of DMAMSK0,1 register */ #define DMACMSK_MSK (0x00000001) /* Mask */ /* bit field of DMATMOD0,1 register */ #define DMACTMOD_ARQ (0x00000001) /* Auto request */ #define DMACTMOD_ERQ (0x00000000) /* External request */ #define DMACTMOD_BYTE (0x00000000) /* Byte transmission */ #define DMACTMOD_HWORD (0x00000002) /* Half word transmission */ #define DMACTMOD_WORD (0x00000004) /* Word transmission */ #define DMACTMOD_SFA (0x00000000) /* Source data type(fixed address device) */ #define DMACTMOD_SIA (0x00000008) /* Source data type(incremental address device) */ #define DMACTMOD_DFA (0x00000000) /* Destination data type(fixed address device) */ #define DMACTMOD_DIA (0x00000010) /* Destination data type(incremental address device) */ #define DMACTMOD_BM (0x00000000) /* Bus request mode(burst mode) */ #define DMACTMOD_CSM (0x00000020) /* Bus request mode(cycle steal mode) */ #define DMACTMOD_IMK (0x00000040) /* interrupt mask */ /*****************************************************/ /* port control register */ /*****************************************************/ #define PCR_BASE (0xB7A00000) /* base address */ #define POA (PCR_BASE+0x0000) /* port A output register (RW,16,--) */ #define PIA (PCR_BASE+0x0004) /* port A input register (R,16,--)*/ #define PMA (PCR_BASE+0x0008) /* port A Mode register (RW,16,0x0000) */ #define IEA (PCR_BASE+0x000C) /* port A interrupt enable (RW,16,0x0000) */ #define IM0A (PCR_BASE+0x0010) /* port A interrupt Mode register 0 (RW,16,0x0000) */ #define IM1A (PCR_BASE+0x0014) /* port A interrupt Mode register 1 (RW,16,0x0000) */ #define ISA (PCR_BASE+0x0018) /* port A interrupt Status (RW,16,0x0000) */ #define POB (PCR_BASE+0x1000) /* port B Output register (RW,16,--) */ #define PIB (PCR_BASE+0x1004) /* port B Input register (R,16,--) */ #define PMB (PCR_BASE+0x1008) /* port B Mode register (RW,16,0x0000) */ #define IEB (PCR_BASE+0x100C) /* port B interrupt enable (RW,16,0x0000) */ #define IM0B (PCR_BASE+0x1010) /* port B interrupt Mode register 0 (RW,16,0x0000) */ #define IM1B (PCR_BASE+0x1014) /* port B interrupt Mode register 1 (RW,16,0x0000) */ #define ISB (PCR_BASE+0x1018) /* port B interrupt Status (RW,16,0x0000) */ #define POC (PCR_BASE+0x2000) /* port C Output register (RW,16,--) */ #define PIC (PCR_BASE+0x2004) /* port C Input register (R,16,--) */ #define PMC (PCR_BASE+0x2008) /* port C Mode register (RW,16,0x0000) */ #define IEC (PCR_BASE+0x200C) /* port C interrupt enable (RW,16,0x0000) */ #define IM0C (PCR_BASE+0x2010) /* port C interrupt Mode register 0 (RW,16,0x0000) */ #define IM1C (PCR_BASE+0x2014) /* port C interrupt Mode register 1 (RW,16,0x0000) */ #define ISC (PCR_BASE+0x2018) /* port C interrupt Status (RW,16,0x0000) */ /*****************************************************/ /* system timer control register */ /*****************************************************/ #define STCR_BASE (0xB8001000) /* base address */ #define TMEN (STCR_BASE+0x04) /* timer enable register (RW,16,0x0000) */ #define TMRLR (STCR_BASE+0x08) /* timer reload register (RW,16,0x0000) */ #define TMOVF (STCR_BASE+0x10) /* overflow register (RW,16,0x0000) */ /* bit field of TMEN register */ #define TMEN_TCEN (0x0001) /* timer enabled */ #define TMEN_TCDSBL (0x0000) /* timer disabled */ /* these are aliases */ #define TMEN_RUN (0x0001) /* timer enabled */ #define TMEN_STOP (0x0000) /* timer disabled */ /* bit field of TMOVF register */ #define TMOVF_OVF (0x0001) /* overflow generated */ #define TMOVF_NOOVF (0x0000) /* no overflow generated */ /*****************************************************/ /* timer control register */ /*****************************************************/ /***************************************************************************** FTM *****************************************************************************/ #define FTM_BASE 0xB7F00000 /* base address */ #define FTM0CON (FTM_BASE+0x00) /* timer0 control register */ #define FTM0ST (FTM_BASE+0x04) /* timer0 status register */ #define FTM0C (FTM_BASE+0x08) /* timer0 counter register */ #define FTM0R (FTM_BASE+0x0C) /* timer0 register */ #define FTM0GR (FTM_BASE+0x10) /* timer0 wide use register */ #define FTM0IOLV (FTM_BASE+0x14) /* timer0 I/O level register */ #define FTM0OUT (FTM_BASE+0x18) /* timer0 out register */ #define FTM0IER (FTM_BASE+0x1C) /* timer0 interrupt enable register */ #define FTM1CON (FTM_BASE+0x20) /* timer1 control register */ #define FTM1ST (FTM_BASE+0x24) /* timer1 status register */ #define FTM1C (FTM_BASE+0x28) /* timer1 counter register */ #define FTM1R (FTM_BASE+0x2C) /* timer1 register */ #define FTM1GR (FTM_BASE+0x30) /* timer1 wide use register */ #define FTM1IOLV (FTM_BASE+0x34) /* timer1 I/O level register */ #define FTM1OUT (FTM_BASE+0x38) /* timer1 out register */ #define FTM1IER (FTM_BASE+0x3C) /* timer1 interrupt enable register */ #define FTM2CON (FTM_BASE+0x40) /* timer2 control register */ #define FTM2ST (FTM_BASE+0x44) /* timer2 status register */ #define FTM2C (FTM_BASE+0x48) /* timer2 counter register */ #define FTM2R (FTM_BASE+0x4C) /* timer2 register */ #define FTM2GR (FTM_BASE+0x50) /* timer2 wide use register */ #define FTM2IOLV (FTM_BASE+0x54) /* timer2 I/O level register */ #define FTM2OUT (FTM_BASE+0x58) /* timer2 out register */ #define FTM2IER (FTM_BASE+0x5C) /* timer2 interrupt enable register */ #define FTMEN (FTM_BASE+0xC0) /* timer enable register */ #define FTMDIS (FTM_BASE+0xC4) /* timer disable register */ /* bit field of FTMnCON */ #define FTMnCON_FIELD_FTMCLK 0x0 #define FTMnCON_VALUE_FTMCLK_MASK (0x0007u << FTMnCON_FIELD_FTMCLK) #define FTMnCON_FIELD_MOD 0x3 #define FTMnCON_VALUE_MOD_ART (0x0000u << FTMnCON_FIELD_MOD) #define FTMnCON_VALUE_MOD_CMO (0x0001u << FTMnCON_FIELD_MOD) #define FTMnCON_VALUE_MOD_PWM (0x0002u << FTMnCON_FIELD_MOD) #define FTMnCON_VALUE_MOD_CAP (0x0003u << FTMnCON_FIELD_MOD) #define FTMnCON_VALUE_MOD_MASK (0x0003u << FTMnCON_FIELD_MOD) /* bit field of FTMnST, FTMnIER */ #define FTMn_FIELD_CMO_CAP 0x0 #define FTMn_VALUE_CMO_CAP_MASK (0x0001u << FTMn_FIELD_CMO_CAP) #define FTMn_FIELD_OVF 0x1 #define FTMn_VALUE_OVF_MASK (0x0001u << FTMn_FIELD_OVF) /*****************************************************/ /* ASIO control register */ /*****************************************************/ #define SC_BASE (0xB8002000) /* base address */ #define SIOBUF (SC_BASE+0x00) /* transmiting/receiving buffer register (RW,16,0x0000) */ #define SIOSTA (SC_BASE+0x04) /* SIO status register (RW,16,0x0000) */ #define SIOCON (SC_BASE+0x08) /* SIO control register (RW,16,0x0000) */ #define SIOBCN (SC_BASE+0x0C) /* baud rate control register (RW,16,0x0000) */ #define SIOBT (SC_BASE+0x14) /* baud rate timer register (RW,16,0x0000) */ #define SIOTCN (SC_BASE+0x18) /* SIO test control register (RW,16,0x0000) */ /* bit field of SIOBUF register */ #define SIOBUF_SIOBUF (0x00FF) /* SIOBUF[7:0] */ /* bit field of SIOSTA register */ #define SIOSTA_FERR (0x0001) /* framing error */ #define SIOSTA_OERR (0x0002) /* overrun error */ #define SIOSTA_PERR (0x0004) /* parity error */ #define SIOSTA_RVIRQ (0x0010) /* receive ready */ #define SIOSTA_TRIRQ (0x0020) /* transmit ready */ /* bit field of SIOCON register */ #define SIOCON_LN7 (0x0001) /* data length : 7bit */ #define SIOCON_LN8 (0x0000) /* data length : 8bit */ #define SIOCON_PEN (0x0002) /* parity enabled */ #define SIOCON_PDIS (0x0000) /* parity disabled */ #define SIOCON_EVN (0x0004) /* even parity */ #define SIOCON_ODD (0x0000) /* odd parity */ #define SIOCON_TSTB1 (0x0008) /* stop bit : 1 */ #define SIOCON_TSTB2 (0x0000) /* stop bit : 2 */ /* bit field of SIOBCN register */ #define SIOBCN_BGRUN (0x0010) /* count start */ #define SIOBCN_BGSTOP (0x0000) /* count stop */ /* bit field of SIOBT register */ #define SIOBT_SIOBT (0x00FF) /* SIOBT[7:0] */ /* bit field of SIOTCN register */ #define SIOTCN_MFERR (0x0001) /* generate framin error */ #define SIOTCN_MPERR (0x0002) /* generate parity error */ #define SIOTCN_LBTST (0x0080) /* loop back test */ /*****************************************************/ /* SSIO control register */ /*****************************************************/ #define SSIO_BASE (0xB7B10000) /* base address */ #define SSIOBUF_OFFSET 0x00 /* transmiting/receiving buffer register (RW,8,0xXX) */ #define SSIOST_OFFSET 0x04 /* SSIO status register (RW,8,0x00) */ #define SSIOCON_OFFSET 0x08 /* SSIO control register (RW,8,0x02) */ #define SSIOINT_OFFSET 0x0C /* SSIO interrupt demand register (RW,8,0x00) */ #define SSIOINTEN_OFFSET 0x10 /* SSIO interrupt enable register (RW,8,0x00) */ #define SSIODMAC_OFFSET 0x14 /* SSIO DMA transmit register (RW,8,0x00) */ #define SSIOTSCON_OFFSET 0x18 /* SSIO test control register (RW,8,0x00) */ #define SSIOBUF (SSIO_BASE+SSIOBUF_OFFSET) #define SSIOST (SSIO_BASE+SSIOST_OFFSET) #define SSIOCON (SSIO_BASE+SSIOCON_OFFSET) #define SSIOINT (SSIO_BASE+SSIOINT_OFFSET) #define SSIOINTEN (SSIO_BASE+SSIOINTEN_OFFSET) #define SSIODMAC (SSIO_BASE+SSIODMAC_OFFSET) #define SSIOTSCON (SSIO_BASE+SSIOTSCON_OFFSET) /* bit field of SSIOBUF0,SSIOBUF1 register */ #define SSIOBUF_DUMMY (0xFF) /* bit field of SSIOSTA0,SSIOSTA1 register */ #define SSIOST_BUSY (0x01) /* transmiting/receiving buffer busy */ #define SSIOST_SFCT0 (0x00) /* transmit end or not transmitted */ #define SSIOST_SFCT1 (0x20) /* 1bit transmit end */ #define SSIOST_SFCT2 (0x40) /* 2bit transmit end */ #define SSIOST_SFCT3 (0x60) /* 3bit transmit end */ #define SSIOST_SFCT4 (0x80) /* 4bit transmit end */ #define SSIOST_SFCT5 (0xA0) /* 5bit transmit end */ #define SSIOST_SFCT6 (0xC0) /* 6bit transmit end */ #define SSIOST_SFCT7 (0xE0) /* 7bit transmit end */ /* bit field of SSIOCON0,SSIOCON1 register */ #define SSIOCON_TCK0 (0x00) /* selected 15 MHz for sync clock */ #define SSIOCON_TCK1 (0x01) /* selected 7.5 MHz for sync clock */ #define SSIOCON_TCK2 (0x02) /* selected 3.75 MHz for sync clock */ #define SSIOCON_TCK3 (0x03) /* selected 937.5 kHz for sync clock */ #define SSIOCON_TCK4 (0x04) /* selected 468.75 kHz for sync clock */ #define SSIOCON_TCK5 (0x05) /* selected 117.18 kHz for sync clock */ #define SSIOCON_TCK7 (0x07) /* selected TMOUTx for sync clock */ #define SSIOCON_MASTER (0x00) /* Master */ #define SSIOCON_SLAVE (0x10) /* Slave */ #define SSIOCON_FIELD_SLMSB (0x05) /* SLMSB */ #define SSIOCON_VALUE_SLMSB_MASK (0x1<