📄 csl_tcphal.h
字号:
/******************************************************************************\
* Copyright (C) 1999-2000 Texas Instruments Incorporated.
* All Rights Reserved
*------------------------------------------------------------------------------
* FILENAME...... csl_tcphal.h
* DATE CREATED.. 02/21/2001
* LAST MODIFIED. 04/20/2001
*------------------------------------------------------------------------------
* REGISTERS
*
* IC0 - TCP input configuration register 0
* IC1 - TCP input configuration register 1
* IC2 - TCP input configuration register 2
* IC3 - TCP input configuration register 3
* IC4 - TCP input configuration register 4
* IC5 - TCP input configuration register 5
* IC6 - TCP input configuration register 6
* IC7 - TCP input configuration register 7
* IC8 - TCP input configuration register 8
* IC9 - TCP input configuration register 9
* IC10 - TCP input configuration register 10
* IC11 - TCP input configuration register 11
* OUT - TCP output parameters register
* EXE - TCP execution register
* END - TCP endian mode register
* ERR - TCP error register
* STAT - TCP status register
*
*------------------------------------------------------------------------------
* MEMORY REGIONS
*
* ICMEM - TCP interrupt configuration register space
* OPMEM - TCP output parameter register space
* SPMEM - TCP systematics and parities memory
* EXMEM - TCP extrinsics memory
* APMEM - TCP apriori memory
* ILMEM - TCP interleaver memory
* HDMEM - TCP hard decisions memory
*
\******************************************************************************/
#ifndef _CSL_TCPHAL_H_
#define _CSL_TCPHAL_H_
#include <csl_stdinc.h>
#include <csl_chip.h>
#if (TCP_SUPPORT)
/******************************************************************************\
* Memory section
\******************************************************************************/
#define _TCP_BASE_IC 0x01BA0000u
#define TCP_ICMEM_ADDR 0x58000000u
#define TCP_OPMEM_ADDR 0x58000030u
#define TCP_SPMEM_ADDR 0x58020000u
#define TCP_EXMEM_ADDR 0x58040000u
#define TCP_APMEM_ADDR 0x58060000u
#define TCP_ILMEM_ADDR 0x58080000u
#define TCP_HDMEM_ADDR 0x580A0000u
/******************************************************************************\
* module level register/field access macros
\******************************************************************************/
/* ----------------- */
/* FIELD MAKE MACROS */
/* ----------------- */
#define TCP_FMK(REG,FIELD,x)\
_PER_FMK(TCP,##REG,##FIELD,x)
#define TCP_FMKS(REG,FIELD,SYM)\
_PER_FMKS(TCP,##REG,##FIELD,##SYM)
/* -------------------------------- */
/* RAW REGISTER/FIELD ACCESS MACROS */
/* -------------------------------- */
#define TCP_ADDR(REG)\
_TCP_##REG##_ADDR
#define TCP_RGET(REG)\
_PER_RGET(_TCP_##REG##_ADDR,TCP,##REG)
#define TCP_RSET(REG,x)\
_PER_RSET(_TCP_##REG##_ADDR,TCP,##REG,x)
#define TCP_FGET(REG,FIELD)\
_TCP_##REG##_FGET(##FIELD)
#define TCP_FSET(REG,FIELD,x)\
_TCP_##REG##_FSET(##FIELD,##x)
#define TCP_FSETS(REG,FIELD,SYM)\
_TCP_##REG##_FSETS(##FIELD,##SYM)
/* ------------------------------------------ */
/* ADDRESS BASED REGISTER/FIELD ACCESS MACROS */
/* ------------------------------------------ */
#define TCP_RGETA(addr,REG)\
_PER_RGET(addr,TCP,##REG)
#define TCP_RSETA(addr,REG,x)\
_PER_RSET(addr,TCP,##REG,x)
#define TCP_FGETA(addr,REG,FIELD)\
_PER_FGET(addr,TCP,##REG,##FIELD)
#define TCP_FSETA(addr,REG,FIELD,x)\
_PER_FSET(addr,TCP,##REG,##FIELD,x)
#define TCP_FSETSA(addr,REG,FIELD,SYM)\
_PER_FSETS(addr,TCP,##REG,##FIELD,##SYM)
/******************************************************************************\
* _____________________
* | |
* | I C 0 |
* |___________________|
*
* TCP input configuration register 0
*
* FIELDS (msb -> lsb)
* (rw) FL
* (rw) OUTF
* (rw) INTER
* (rw) RATE
* (rw) OPMOD
*
*
\******************************************************************************/
#define _TCP_IC0_OFFSET 0
#define _TCP_IC0_ADDR 0x01BA0000u
// #define _TCP_IC0_ADDR 0x58000000u
#define _TCP_IC0_FL_MASK 0xFFFF0000u
#define _TCP_IC0_FL_SHIFT 0x00000010u
#define TCP_IC0_FL_DEFAULT 0x00000000u
#define TCP_IC0_FL_OF(x) _VALUEOF(x)
#define _TCP_IC0_OUTF_MASK 0x00002000u // error doc
#define _TCP_IC0_OUTF_SHIFT 0x0000000Du
#define TCP_IC0_OUTF_DEFAULT 0x00000000u
#define TCP_IC0_OUTF_OF(x) _VALUEOF(x)
#define TCP_IC0_OUTF_NO 0x00000000u
#define TCP_IC0_OUTF_YES 0x00000001u
#define _TCP_IC0_INTER_MASK 0x00001000u
#define _TCP_IC0_INTER_SHIFT 0x0000000Cu
#define TCP_IC0_INTER_DEFAULT 0x00000000u
#define TCP_IC0_INTER_OF(x) _VALUEOF(x)
#define TCP_IC0_INTER_NO 0x00000000u
#define TCP_IC0_INTER_YES 0x00000001u
#define _TCP_IC0_RATE_MASK 0x00000300u
#define _TCP_IC0_RATE_SHIFT 0x00000008u
#define TCP_IC0_RATE_DEFAULT 0x00000000u
#define TCP_IC0_RATE_OF(x) _VALUEOF(x)
#define TCP_IC0_RATE_1_2 0x00000001u
#define TCP_IC0_RATE_1_3 0x00000002u
#define TCP_IC0_RATE_1_4 0x00000003u
#define _TCP_IC0_OPMOD_MASK 0x0000000Eu
#define _TCP_IC0_OPMOD_SHIFT 0x00000001u
#define TCP_IC0_OPMOD_DEFAULT 0x00000000u
#define TCP_IC0_OPMOD_OF(x) _VALUEOF(x)
#define TCP_IC0_OPMOD_SA 0x00000000u
#define TCP_IC0_OPMOD_MAP1A 0x00000004u
#define TCP_IC0_OPMOD_MAP1B 0x00000005u
#define TCP_IC0_OPMOD_MAP2 0x00000007u
#define TCP_IC0_OF(x) _VALUEOF(x)
#define TCP_IC0_DEFAULT (Uint32)(\
_PER_FDEFAULT(TCP,IC0,FL)\
|_PER_FDEFAULT(TCP,IC0,OUTF)\
|_PER_FDEFAULT(TCP,IC0,INTER)\
|_PER_FDEFAULT(TCP,IC0,RATE)\
|_PER_FDEFAULT(TCP,IC0,OPMOD)\
)
#define TCP_IC0_RMK(fl,outf,inter,rate,opmod) (Uint32)(\
_PER_FMK(TCP,IC0,FL,fl)\
|_PER_FMK(TCP,IC0,OUTF,outf)\
|_PER_FMK(TCP,IC0,INTER,inter)\
|_PER_FMK(TCP,IC0,RATE,rate)\
|_PER_FMK(TCP,IC0,OPMOD,opmod)\
)
#define _TCP_IC0_FGET(FIELD)\
_PER_FGET(_TCP_IC0_ADDR,TCP,IC0,##FIELD)
#define _TCP_IC0_FSET(FIELD,field)\
_PER_FSET(_TCP_IC0_ADDR,TCP,IC0,##FIELD,field)
#define _TCP_IC0_FSETS(FIELD,SYM)\
_PER_FSETS(_TCP_IC0_ADDR,TCP,IC0,FIELD,##SYM)
/******************************************************************************\
* _____________________
* | |
* | I C 1 |
* |___________________|
*
* TCP input configuration register 1
*
* FIELDS (msb -> lsb)
* (rw) LASTR
* (rw) R
* (rw) SFL
*
\******************************************************************************/
#define _TCP_IC1_OFFSET 1
#define _TCP_IC1_ADDR 0x01BA0004u
// #define _TCP_IC1_ADDR 0x580000004u
#define _TCP_IC1_LASTR_MASK 0x7F000000u
#define _TCP_IC1_LASTR_SHIFT 0x00000018u
#define TCP_IC1_LASTR_DEFAULT 0x00000000u
#define TCP_IC1_LASTR_OF(x) _VALUEOF(x)
#define _TCP_IC1_R_MASK 0x007F0000u
#define _TCP_IC1_R_SHIFT 0x00000010u
#define TCP_IC1_R_DEFAULT 0x00000000u
#define TCP_IC1_R_OF(x) _VALUEOF(x)
#define _TCP_IC1_SFL_MASK 0x0000FFFFu
#define _TCP_IC1_SFL_SHIFT 0x00000000u
#define TCP_IC1_SFL_DEFAULT 0x00000000u
#define TCP_IC1_SFL_OF(x) _VALUEOF(x)
#define TCP_IC1_OF(x) _VALUEOF(x)
#define TCP_IC1_DEFAULT (Uint32)(\
_PER_FDEFAULT(TCP,IC1,LASTR)\
|_PER_FDEFAULT(TCP,IC1,R)\
|_PER_FDEFAULT(TCP,IC1,SFL)\
)
#define TCP_IC1_RMK(lastr,r,sfl) (Uint32)(\
_PER_FMK(TCP,IC1,LASTR,lastr)\
|_PER_FMK(TCP,IC1,R,r)\
|_PER_FMK(TCP,IC1,SFL,sfl)\
)
#define _TCP_IC1_FGET(FIELD)\
_PER_FGET(_TCP_IC1_ADDR,TCP,IC1,##FIELD)
#define _TCP_IC1_FSET(FIELD,field)\
_PER_FSET(_TCP_IC1_ADDR,TCP,IC1,##FIELD,field)
#define _TCP_IC1_FSETS(FIELD,SYM)\
_PER_FSETS(_TCP_IC1_ADDR,TCP,IC1,FIELD,##SYM)
/******************************************************************************\
* _____________________
* | |
* | I C 2 |
* |___________________|
*
* TCP input configuration register 2
*
* FIELDS (msb -> lsb)
* (rw) SNR
* (rw) MAXIT
* (rw) LASTNSB
* (rw) NSB
* (rw) PS
*
\******************************************************************************/
#define _TCP_IC2_OFFSET 2
#define _TCP_IC2_ADDR 0x01BA0008u
// #define _TCP_IC2_ADDR 0x58000008u
#define _TCP_IC2_SNR_MASK 0xFF000000u
#define _TCP_IC2_SNR_SHIFT 0x00000018u
#define TCP_IC2_SNR_DEFAULT 0x00000000u
#define TCP_IC2_SNR_OF(x) _VALUEOF(x)
#define TCP_IC2_SNR_NONE 0x00000000u
#define _TCP_IC2_MAXIT_MASK 0x001F0000u
#define _TCP_IC2_MAXIT_SHIFT 0x00000010u
#define TCP_IC2_MAXIT_DEFAULT 0x00000000u
#define TCP_IC2_MAXIT_OF(x) _VALUEOF(x)
#define _TCP_IC2_LASTNSB_MASK 0x0000F000u
#define _TCP_IC2_LASTNSB_SHIFT 0x0000000Cu
#define TCP_IC2_LASTNSB_DEFAULT 0x00000000u
#define TCP_IC2_LASTNSB_OF(x) _VALUEOF(x)
#define _TCP_IC2_NSB_MASK 0x00000F00u
#define _TCP_IC2_NSB_SHIFT 0x00000008u
#define TCP_IC2_NSB_DEFAULT 0x00000000u
#define TCP_IC2_NSB_OF(x) _VALUEOF(x)
#define _TCP_IC2_P_MASK 0x0000003Fu
#define _TCP_IC2_P_SHIFT 0x00000000u
#define TCP_IC2_P_DEFAULT 0x00000000u
#define TCP_IC2_P_OF(x) _VALUEOF(x)
#define TCP_IC2_OF(x) _VALUEOF(x)
#define TCP_IC2_DEFAULT (Uint32)(\
_PER_FDEFAULT(TCP,IC2,SNR)\
|_PER_FDEFAULT(TCP,IC2,MAXIT)\
|_PER_FDEFAULT(TCP,IC2,LASTNSB)\
|_PER_FDEFAULT(TCP,IC2,NSB)\
|_PER_FDEFAULT(TCP,IC2,P)\
)
#define TCP_IC2_RMK(snr,maxit,lastnsb,nsb,p) (Uint32)(\
_PER_FMK(TCP,IC2,SNR,snr)\
|_PER_FMK(TCP,IC2,MAXIT,maxit)\
|_PER_FMK(TCP,IC2,LASTNSB,lastnsb)\
|_PER_FMK(TCP,IC2,NSB,nsb)\
|_PER_FMK(TCP,IC2,P,p)\
)
#define _TCP_IC2_FGET(FIELD)\
_PER_FGET(_TCP_IC2_ADDR,TCP,IC2,##FIELD)
#define _TCP_IC2_FSET(FIELD,field)\
_PER_FSET(_TCP_IC2_ADDR,TCP,IC2,##FIELD,field)
#define _TCP_IC2_FSETS(FIELD,SYM)\
_PER_FSETS(_TCP_IC2_ADDR,TCP,IC2,FIELD,##SYM)
/******************************************************************************\
* _____________________
* | |
* | I C 3 |
* |___________________|
*
* TCP input configuration register 3
*
* FIELDS (msb -> lsb)
* (rw) NWDSYPAR
* (rw) NWDINTER
*
\******************************************************************************/
#define _TCP_IC3_OFFSET 3
#define _TCP_IC3_ADDR 0x01BA000Cu
// #define _TCP_IC3_ADDR 0x5800000Cu
#define _TCP_IC3_NWDSYPAR_MASK 0xFFFF0000u
#define _TCP_IC3_NWDSYPAR_SHIFT 0x00000010u
#define TCP_IC3_NWDSYPAR_DEFAULT 0x00000000u
#define TCP_IC3_NWDSYPAR_OF(x) _VALUEOF(x)
#define _TCP_IC3_NWDINTER_MASK 0x0000FFFFu
#define _TCP_IC3_NWDINTER_SHIFT 0x00000000u
#define TCP_IC3_NWDINTER_DEFAULT 0x00000000u
#define TCP_IC3_NWDINTER_OF(x) _VALUEOF(x)
#define TCP_IC3_OF(x) _VALUEOF(x)
#define TCP_IC3_DEFAULT (Uint32)(\
_PER_FDEFAULT(TCP,IC3,NWDSYPAR)\
|_PER_FDEFAULT(TCP,IC3,NWDINTER)\
)
#define TCP_IC3_RMK(nwdsypar,nwdinter) (Uint32)(\
_PER_FMK(TCP,IC3,NWDSYPAR,nwdsypar)\
|_PER_FMK(TCP,IC3,NWDINTER,nwdinter)\
)
#define _TCP_IC3_FGET(FIELD)\
_PER_FGET(_TCP_IC3_ADDR,TCP,IC3,##FIELD)
#define _TCP_IC3_FSET(FIELD,field)\
_PER_FSET(_TCP_IC3_ADDR,TCP,IC3,##FIELD,field)
#define _TCP_IC3_FSETS(FIELD,SYM)\
_PER_FSETS(_TCP_IC3_ADDR,TCP,IC3,FIELD,##SYM)
/******************************************************************************\
* _____________________
* | |
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -