www.pudn.com > zbtsram.rar > csl_xbushal.h
/******************************************************************************\ * Copyright (C) 2000 Texas Instruments Incorporated. * All Rights Reserved *------------------------------------------------------------------------------ * FILENAME...... csl_xbushal.h * DATE CREATED.. 06/12/2000 * LAST MODIFIED. 10/03/2000 *------------------------------------------------------------------------------ * REGISTERS * * XBGC - global control register * XCECTL0 - space control register 0 * XCECTL1 - space control register 1 * XCECTL2 - space control register 2 * XCECTL3 - space control register 3 * XBHC - host port interface control register * XBIMA - internal master address register * XBEA - external address register * \******************************************************************************/ #ifndef _CSL_XBUSHAL_H_ #define _CSL_XBUSHAL_H_ #include#include #if (XBUS_SUPPORT) /******************************************************************************\ * MISC section \******************************************************************************/ #define _XBUS_BASE_GLOBAL 0x01880000u /******************************************************************************\ * module level register/field access macros \******************************************************************************/ /* ----------------- */ /* FIELD MAKE MACROS */ /* ----------------- */ #define XBUS_FMK(REG,FIELD,x)\ _PER_FMK(XBUS,##REG,##FIELD,x) #define XBUS_FMKS(REG,FIELD,SYM)\ _PER_FMKS(XBUS,##REG,##FIELD,##SYM) /* -------------------------------- */ /* RAW REGISTER/FIELD ACCESS MACROS */ /* -------------------------------- */ #define XBUS_ADDR(REG)\ _XBUS_##REG##_ADDR #define XBUS_RGET(REG)\ _PER_RGET(_XBUS_##REG##_ADDR,XBUS,##REG) #define XBUS_RSET(REG,x)\ _PER_RSET(_XBUS_##REG##_ADDR,XBUS,##REG,x) #define XBUS_FGET(REG,FIELD)\ _XBUS_##REG##_FGET(##FIELD) #define XBUS_FSET(REG,FIELD,x)\ _XBUS_##REG##_FSET(##FIELD,##x) #define XBUS_FSETS(REG,FIELD,SYM)\ _XBUS_##REG##_FSETS(##FIELD,##SYM) /* ------------------------------------------ */ /* ADDRESS BASED REGISTER/FIELD ACCESS MACROS */ /* ------------------------------------------ */ #define XBUS_RGETA(addr,REG)\ _PER_RGET(addr,XBUS,##REG) #define XBUS_RSETA(addr,REG,x)\ _PER_RSET(addr,XBUS,##REG,x) #define XBUS_FGETA(addr,REG,FIELD)\ _PER_FGET(addr,XBUS,##REG,##FIELD) #define XBUS_FSETA(addr,REG,FIELD,x)\ _PER_FSET(addr,XBUS,##REG,##FIELD,x) #define XBUS_FSETSA(addr,REG,FIELD,SYM)\ _PER_FSETS(addr,XBUS,##REG,##FIELD,##SYM) /******************************************************************************\ * _____________________ * | | * | X B G C | * |___________________| * * XBGC - global control register * * FIELDS (msb -> lsb) * (r) FMOD * (rw) XFCEN * (rw) XFRAT * (r) XARB * \******************************************************************************/ #define _XBUS_XBGC_OFFSET 0 #define _XBUS_XBGC_ADDR 0x01880000u #define _XBUS_XBGC_FMOD_MASK 0x00008000u #define _XBUS_XBGC_FMOD_SHIFT 0x0000000Fu #define XBUS_XBGC_FMOD_DEFAULT 0x00000000u #define XBUS_XBGC_FMOD_OF(x) _VALUEOF(x) #define XBUS_XBGC_FMOD_GLUE 0x00000000u #define XBUS_XBGC_FMOD_GLUELESS 0x00000001u #define _XBUS_XBGC_XFCEN_MASK 0x00004000u #define _XBUS_XBGC_XFCEN_SHIFT 0x0000000Eu #define XBUS_XBGC_XFCEN_DEFAULT 0x00000000u #define XBUS_XBGC_XFCEN_OF(x) _VALUEOF(x) #define XBUS_XBGC_XFCEN_DISABLE 0x00000000u #define XBUS_XBGC_XFCEN_ENABLE 0x00000001u #define _XBUS_XBGC_XFRAT_MASK 0x00003000u #define _XBUS_XBGC_XFRAT_SHIFT 0x0000000Cu #define XBUS_XBGC_XFRAT_DEFAULT 0x00000000u #define XBUS_XBGC_XFRAT_OF(x) _VALUEOF(x) #define XBUS_XBGC_XFRAT_ONEEIGHTH 0x00000000u #define XBUS_XBGC_XFRAT_ONESIXTH 0x00000001u #define XBUS_XBGC_XFRAT_ONEFOURTH 0x00000002u #define XBUS_XBGC_XFRAT_ONEHALF 0x00000003u #define _XBUS_XBGC_XARB_MASK 0x00000800u #define _XBUS_XBGC_XARB_SHIFT 0x0000000Bu #define XBUS_XBGC_XARB_DEFAULT 0x00000000u #define XBUS_XBGC_XARB_OF(x) _VALUEOF(x) #define XBUS_XBGC_XARB_DISABLE 0x00000000u #define XBUS_XBGC_XARB_ENABLE 0x00000001u #define XBUS_XBGC_OF(x) _VALUEOF(x) #define XBUS_XBGC_DEFAULT (Uint32)( \ _PER_FDEFAULT(XBUS,XBGC,FMOD) \ |_PER_FDEFAULT(XBUS,XBGC,XFCEN) \ |_PER_FDEFAULT(XBUS,XBGC,XFRAT) \ |_PER_FDEFAULT(XBUS,XBGC,XARB) \ ) #define XBUS_XBGC_RMK(xfcen,xfrat) (Uint32)( \ _PER_FMK(XBUS,XBGC,XFCEN,xfcen) \ |_PER_FMK(XBUS,XBGC,XFRAT,xfrat) \ ) #define _XBUS_XBGC_FGET(FIELD)\ _PER_FGET(_XBUS_XBGC_ADDR,XBUS,XBGC,##FIELD) #define _XBUS_XBGC_FSET(FIELD,field)\ _PER_FSET(_XBUS_XBGC_ADDR,XBUS,XBGC,##FIELD,field) #define _XBUS_XBGC_FSETS(FIELD,SYM)\ _PER_FSETS(_XBUS_XBGC_ADDR,XBUS,XBGC,##FIELD,##SYM) /******************************************************************************\ * _____________________ * | | * | X C E C T L | * |___________________| * * XCECTL0 - XCE space control register 0 * XCECTL1 - XCE space control register 1 * XCECTL2 - XCE space control register 2 * XCECTL3 - XCE space control register 3 * * FIELDS (msb -> lsb) * (rw) WRSETUP * (rw) WRSTROBE * (rw) WRHOLD * (rw) RDSETUP * (rw) RDSTROBE * (rw) MTYPE * (rw) RDHOLD * \******************************************************************************/ #define _XBUS_XCECTL0_OFFSET 2 #define _XBUS_XCECTL1_OFFSET 1 #define _XBUS_XCECTL2_OFFSET 4 #define _XBUS_XCECTL3_OFFSET 5 #define _XBUS_XCECTL0_ADDR 0x01880008u #define _XBUS_XCECTL1_ADDR 0x01880004u #define _XBUS_XCECTL2_ADDR 0x01880010u #define _XBUS_XCECTL3_ADDR 0x01880014u #define _XBUS_XCECTL_WRSETUP_MASK 0xF0000000u #define _XBUS_XCECTL_WRSETUP_SHIFT 0x0000001Cu #define XBUS_XCECTL_WRSETUP_DEFAULT 0x0000000Fu #define XBUS_XCECTL_WRSETUP_OF(x) _VALUEOF(x) #define _XBUS_XCECTL_WRSTRB_MASK 0x0FC00000u #define _XBUS_XCECTL_WRSTRB_SHIFT 0x00000016u #define XBUS_XCECTL_WRSTRB_DEFAULT 0x0000003Fu #define XBUS_XCECTL_WRSTRB_OF(x) _VALUEOF(x) #define _XBUS_XCECTL_WRHLD_MASK 0x00300000u #define _XBUS_XCECTL_WRHLD_SHIFT 0x00000014u #define XBUS_XCECTL_WRHLD_DEFAULT 0x00000003u #define XBUS_XCECTL_WRHLD_OF(x) _VALUEOF(x) #define _XBUS_XCECTL_RDSETUP_MASK 0x000F0000u #define _XBUS_XCECTL_RDSETUP_SHIFT 0x00000010u #define XBUS_XCECTL_RDSETUP_DEFAULT 0x0000000Fu #define XBUS_XCECTL_RDSETUP_OF(x) _VALUEOF(x) #define _XBUS_XCECTL_RDSTRB_MASK 0x00003F00u #define _XBUS_XCECTL_RDSTRB_SHIFT 0x00000008u #define XBUS_XCECTL_RDSTRB_DEFAULT 0x0000003Fu #define XBUS_XCECTL_RDSTRB_OF(x) _VALUEOF(x) #define _XBUS_XCECTL_MTYPE_MASK 0x00000070u #define _XBUS_XCECTL_MTYPE_SHIFT 0x00000004u #define XBUS_XCECTL_MTYPE_DEFAULT 0x00000000u #define XBUS_XCECTL_MTYPE_OF(x) _VALUEOF(x) #define XBUS_XCECTL_MTYPE_32BITASYN 0x00000020u #define XBUS_XCECTL_MTYPE_32BITFIFO 0x00000050u #define _XBUS_XCECTL_RDHLD_MASK 0x00000003u #define _XBUS_XCECTL_RDHLD_SHIFT 0x00000000u #define XBUS_XCECTL_RDHLD_DEFAULT 0x00000003u #define XBUS_XCECTL_RDHLD_OF(x) _VALUEOF(x) #define XBUS_XCECTL_OF(x) _VALUEOF(x) #define XBUS_XCECTL_DEFAULT (Uint32)( \ _PER_FDEFAULT(XBUS,XCECTL,WRSETUP) \ |_PER_FDEFAULT(XBUS,XCECTL,WRSTRB) \ |_PER_FDEFAULT(XBUS,XCECTL,WRHLD) \ |_PER_FDEFAULT(XBUS,XCECTL,RDSETUP) \ |_PER_FDEFAULT(XBUS,XCECTL,RDSTRB) \ |_PER_FDEFAULT(XBUS,XCECTL,MTYPE) \ |_PER_FDEFAULT(XBUS,XCECTL,RDHLD) \ ) #define XBUS_XCECTL_RMK(wrsetup,wrstrb,wrhld,\ rdsetup,rdstrb,rdhld) (Uint32)( \ _PER_FMK(XBUS,XCECTL,WRSETUP,wrsetup) \ |_PER_FMK(XBUS,XCECTL,WRSTRB,wrstrb) \ |_PER_FMK(XBUS,XCECTL,WRHLD,wrhld) \ |_PER_FMK(XBUS,XCECTL,RDSETUP,rdsetup) \ |_PER_FMK(XBUS,XCECTL,RDSTRB,rdstrb) \ |_PER_FMK(XBUS,XCECTL,RDHLD,rdhld) \ ) #define _XBUS_XCECTL_FGET(N,FIELD)\ _PER_FGET(_XBUS_XCECTL##N##_ADDR,XBUS,XCECTL,##FIELD) #define _XBUS_XCECTL_FSET(N,FIELD,field)\ _PER_FSET(_XBUS_XCECTL##N##_ADDR,XBUS,XCECTL,##FIELD,field) #define _XBUS_XCECTL_FSETS(N,FIELD,SYM)\ _PER_FSETS(_XBUS_XCECTL##N##_ADDR,XBUS,XCECTL,##FIELD,##SYM) #define _XBUS_XCECTL0_FGET(FIELD) _XBUS_XCECTL_FGET(0,##FIELD) #define _XBUS_XCECTL1_FGET(FIELD) _XBUS_XCECTL_FGET(1,##FIELD) #define _XBUS_XCECTL2_FGET(FIELD) _XBUS_XCECTL_FGET(2,##FIELD) #define _XBUS_XCECTL3_FGET(FIELD) _XBUS_XCECTL_FGET(3,##FIELD) #define _XBUS_XCECTL0_FSET(FIELD,f) _XBUS_XCECTL_FSET(0,##FIELD,f) #define _XBUS_XCECTL1_FSET(FIELD,f) _XBUS_XCECTL_FSET(1,##FIELD,f) #define _XBUS_XCECTL2_FSET(FIELD,f) _XBUS_XCECTL_FSET(2,##FIELD,f) #define _XBUS_XCECTL3_FSET(FIELD,f) _XBUS_XCECTL_FSET(3,##FIELD,f) #define _XBUS_XCECTL0_FSETS(FIELD,SYM) _XBUS_XCECTL_FSETS(0,##FIELD,##SYM) #define _XBUS_XCECTL1_FSETS(FIELD,SYM) _XBUS_XCECTL_FSETS(1,##FIELD,##SYM) #define _XBUS_XCECTL2_FSETS(FIELD,SYM) _XBUS_XCECTL_FSETS(2,##FIELD,##SYM) #define _XBUS_XCECTL3_FSETS(FIELD,SYM) _XBUS_XCECTL_FSETS(3,##FIELD,##SYM) /******************************************************************************\ * _____________________ * | | * | X B H C | * |___________________| * * XBHC - expansion bus host port interface control register * * FIELDS (msb -> lsb) * (rw) XFRCT * (rw) INTSRC * (rw) START * (rw) DSPINT * \******************************************************************************/ #define _XBUS_XBHC_OFFSET 3 #define _XBUS_XBHC_ADDR 0x0188000Cu #define _XBUS_XBHC_XFRCT_MASK 0xFFFF0000u #define _XBUS_XBHC_XFRCT_SHIFT 0x00000010u #define XBUS_XBHC_XFRCT_DEFAULT 0x00000000u #define XBUS_XBHC_XFRCT_OF(x) _VALUEOF(x) #define _XBUS_XBHC_INTSRC_MASK 0x00000020u #define _XBUS_XBHC_INTSRC_SHIFT 0x00000005u #define XBUS_XBHC_INTSRC_DEFAULT 0x00000000u #define XBUS_XBHC_INTSRC_OF(x) _VALUEOF(x) #define XBUS_XBHC_INTSRC_DSPINT 0x00000000u #define XBUS_XBHC_INTSRC_XFRCT 0x00000001u #define _XBUS_XBHC_START_MASK 0x00000018u #define _XBUS_XBHC_START_SHIFT 0x00000003u #define XBUS_XBHC_START_DEFAULT 0x00000000u #define XBUS_XBHC_START_OF(x) _VALUEOF(x) #define XBUS_XBHC_START_ABORT 0x00000000u #define XBUS_XBHC_START_WRITE 0x00000001u #define XBUS_XBHC_START_READ 0x00000002u #define _XBUS_XBHC_DSPINT_MASK 0x00000002u #define _XBUS_XBHC_DSPINT_SHIFT 0x00000001u #define XBUS_XBHC_DSPINT_DEFAULT 0x00000000u #define XBUS_XBHC_DSPINT_OF(x) _VALUEOF(x) #define XBUS_XBHC_DSPINT_NONE 0x00000000u #define XBUS_XBHC_DSPINT_CLR 0x00000001u #define XBUS_XBHC_OF(x) _VALUEOF(x) #define XBUS_XBHC_DEFAULT (Uint32)( \ _PER_FDEFAULT(XBUS,XBHC,XFRCT) \ |_PER_FDEFAULT(XBUS,XBHC,INTSRC) \ |_PER_FDEFAULT(XBUS,XBHC,START) \ |_PER_FDEFAULT(XBUS,XBHC,DSPINT) \ ) #define XBUS_XBHC_RMK(xfrct,intsrc,start,dspint) (Uint32)( \ _PER_FMK(XBUS,XBHC,XFRCT,xfrct) \ |_PER_FMK(XBUS,XBHC,INTSRC,intsrc) \ |_PER_FMK(XBUS,XBHC,START,start) \ |_PER_FMK(XBUS,XBHC,DSPINT,dspint) \ ) #define _XBUS_XBHC_FGET(FIELD)\ _PER_FGET(_XBUS_XBHC_ADDR,XBUS,XBHC,##FIELD) #define _XBUS_XBHC_FSET(FIELD,field)\ _PER_FSET(_XBUS_XBHC_ADDR,XBUS,XBHC,##FIELD,field) #define _XBUS_XBHC_FSETS(FIELD,SYM)\ _PER_FSETS(_XBUS_XBHC_ADDR,XBUS,XBHC,##FIELD,##SYM) /******************************************************************************\ * _____________________ * | | * | X B I M A | * |___________________| * * XBIMA - expansion bus internal master address register * * FIELDS (msb -> lsb) * (rw) XBIMA * \******************************************************************************/ #define _XBUS_XBIMA_OFFSET 8 #define _XBUS_XBIMA_ADDR 0x01880020u #define _XBUS_XBIMA_XBIMA_MASK 0xFFFFFFFFu #define _XBUS_XBIMA_XBIMA_SHIFT 0x00000000u #define XBUS_XBIMA_XBIMA_DEFAULT 0x00000000u #define XBUS_XBIMA_XBIMA_OF(x) _VALUEOF(x) #define XBUS_XBIMA_OF(x) _VALUEOF(x) #define XBUS_XBIMA_DEFAULT (Uint32)( \ _PER_FDEFAULT(XBUS,XBIMA,XBIMA) \ ) #define XBUS_XBIMA_RMK(xbima) (Uint32)( \ _PER_FMK(XBUS,XBIMA,XBIMA,xbima) \ ) #define _XBUS_XBIMA_FGET(FIELD)\ _PER_FGET(_XBUS_XBIMA_ADDR,XBUS,XBIMA,##FIELD) #define _XBUS_XBIMA_FSET(FIELD,field)\ _PER_FSET(_XBUS_XBIMA_ADDR,XBUS,XBIMA,##FIELD,field) #define _XBUS_XBIMA_FSETS(FIELD,SYM)\ _PER_FSETS(_XBUS_XBIMA_ADDR,XBUS,XBIMA,##FIELD,##SYM) /******************************************************************************\ * _____________________ * | | * | X B E A | * |___________________| * * XBEA - expansion bus external address register * * FIELDS (msb -> lsb) * (rw) XBEA * \******************************************************************************/ #define _XBUS_XBEA_OFFSET 9 #define _XBUS_XBEA_ADDR 0x01880024u #define _XBUS_XBEA_XBEA_MASK 0xFFFFFFFFu #define _XBUS_XBEA_XBEA_SHIFT 0x00000000u #define XBUS_XBEA_XBEA_DEFAULT 0x00000000u #define XBUS_XBEA_XBEA_OF(x) _VALUEOF(x) #define XBUS_XBEA_OF(x) _VALUEOF(x) #define XBUS_XBEA_DEFAULT (Uint32)( \ _PER_FDEFAULT(XBUS,XBEA,XBEA) \ ) #define XBUS_XBEA_RMK(xbea) (Uint32)( \ _PER_FMK(XBUS,XBEA,XBEA,xbea) \ ) #define _XBUS_XBEA_FGET(FIELD)\ _PER_FGET(_XBUS_XBEA_ADDR,XBUS,XBEA,##FIELD) #define _XBUS_XBEA_FSET(FIELD,field)\ _PER_FSET(_XBUS_XBEA_ADDR,XBUS,XBEA,##FIELD,field) #define _XBUS_XBEA_FSETS(FIELD,SYM)\ _PER_FSETS(_XBUS_XBEA_ADDR,XBUS,XBEA,##FIELD,##SYM) /*----------------------------------------------------------------------------*/ #endif /* XBUS_SUPPORT */ #endif /* _CSL_XBUSHAL_H_ */ /******************************************************************************\ * End of csl_xbushal.h \******************************************************************************/