⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 l4.h

📁 这同样是FS8610相关的代码.看起来不错啊.
💻 H
📖 第 1 页 / 共 3 页
字号:
 /**
 * \addtogroup t4socket T4 Socket API Layer
 * @{
 */

/**
 * \addtogroup t4regdef T4 Registers Defination
 * @{
 */

  /**
 * \file l4.h
 * \brief The Registers Defination for T4 Hardware TCP/IP chip.
 * \author Xiaofei Rui <xfrui@fameg.com>
 */
 
/*
******************************************************************************
*
Copyright (c) 2006 FameG Shanghai, Inc. All rights reserved.
*
This is unpublished proprietary source code of FameG Shanghai, Inc.
*
The copyright notice above does not evidence any actual or intended
*
publication of such source code.
******************************************************************************
*/
/*
******************************************************************************
*
Project: T4 Hardware TCP/IP
*
Filename: L4.h
*
Date: 28/02/06
*
Purpose: Registers Defination
*
Author: Xiaofei Rui
******************************************************************************
*/

#ifndef __L4_H__
#define __L4_H__

#include "kernel/system.h"

/// @cond DOXYGEN_SKIP
#define HD_DBG              0   /* Used for T4 hardware debug */

/* Channel FIFO Address */
#define ICMP_TXFIFO        0x0800
#define ICMP_RXFIFO        0x1000

#define S0_TXFIFO            0x1800
#define S0_RXFIFO            0x2000
#define S1_TXFIFO            0x2800
#define S1_RXFIFO            0x3000
#define S2_TXFIFO            0x3800
#define S2_RXFIFO            0x4000
#define S3_TXFIFO            0x4800
#define S3_RXFIFO            0x5000

//#define SOCK_TXFIFO(ch)      BASE_ADDR + ch * 0x800 + 0x1800
//#define SOCK_RXFIFO(ch)      BASE_ADDR + ch * 0x800 + 0x2000
                             
#define PPPOE_TXFIFO         0x5800
#define PPPOE_RXFIFO         0x6000

/* channel RD/WR pointer defination */
union fifo_pointer_u
{
    UINT16 bit16;
    UINT8  bit8[2];
};

#define SMASK   0x7ff  /* Channel TX/RX FIFO Size MASK */
#define TX_FIFO_LEN   2048
#define RX_FIFO_LEN   2048

#define TXD_LEN       16    /* length of TX Descriptor */
#define RXD_LEN       16    /* length of RX Descriptor */

/// @endcond


/// @cond DOXYGEN_SKIP
/* L4 Registers Defination */
/* System Control */
#define SYS_CTRL0             0x00
#define SYS_CTRL1             0x01
#define SYS_PLL_CONTROL            0x02	//V0.53
#define SYS_PROGMEM_CONFIG        0x03	//V0.51
#define SYS_GLBINTEN          0x04
#define SYS_GLBINTSTAT      0x05
#define SYS_GLBINTPRIT       0x06
#define SYS_GLBINTGEN	     0x07

#define SYS_SYS_INTEN        0x08
#define SYS_MAC_INTEN        0x09
#define SYS_ICMP_INTEN       0x0a
#define SYS_IGMP_INTEN       0x0a
#define SYS_SOCK_INTEN(ch)   (ch + 0x0b)
#define SYS_PPPOE_INTEN      0x0f

#define SYS_SYS_INTSTAT      0x10
#define SYS_MAC_INTSTAT      0x11
#define SYS_ICMP_INTSTAT     0x12
#define SYS_SOCK_INTSTAT(ch) (ch + 0x13)
#define SYS_PPPOE_INTSTAT    0x17

/* DMA Control from V0.51. Added by Stony Shen@4/28/06 */
#define	SYS_DMA_CONTROL		0x20
#define	SYS_DMA_SRC_ADDR0		0x21
#define	SYS_DMA_SRC_ADDR1		0x22
#define	SYS_DMA_SRC_ADDR2		0x23
#define	SYS_DMA_DEST_ADDR0		0x24
#define	SYS_DMA_DEST_ADDR1		0x25
#define	SYS_DMA_DEST_ADDR2		0x26
#define	SYS_DMA_LENGTH0			0x27
#define	SYS_DMA_LENGTH1			0x28

/* CSB Control from V0.55. Added by Stony Shen@07/07/06 */
#define	SYS_CS_CONTROL		0x30
#define	SYS_CSB0_START		0x31
#define	SYS_CSB0_END			0x32
#define	SYS_CSB1_START		0x33
#define	SYS_CSB1_END			0x34
#define	SYS_CSB2_START		0x35
#define	SYS_CSB2_END			0x36
#define	SYS_CSB3_START		0x37
#define	SYS_CSB3_END			0x38
#define	SYS_CSB01_WS			0x39	//Added by Stony@7/26/06
#define	SYS_CSB23_WS			0x3a	//Added by Stony@7/26/06

/* MAC Layer */
#define MAC_RFIFO_WP0        0x40
#define MAC_RFIFO_WP1        0x41
#define MAC_RFIFO_RP0        0x42
#define MAC_RFIFO_RP1        0x43
#define MAC_TFIFO_WP0        0x44
#define MAC_TFIFO_WP1        0x45
#define MAC_TFIFO_RP0        0x46
#define MAC_TFIFO_RP1        0x47
                             
#define MAC_TXDCTRL          0x48
                             
#define MAC_LMAC0            0x50
#define MAC_LMAC1            0x51
#define MAC_LMAC2            0x52
#define MAC_LMAC3            0x53
#define MAC_LMAC4            0x54
#define MAC_LMAC5            0x55
                             
#define MAC_HASH             0x56

#define MAC_MIICTRL0         0x58
#define MAC_MIICTRL1         0x59           //MAC_REG_ADD
#define MAC_REG_DATA0        0x5a           //MAC_REG_DATA0
#define MAC_REG_DATA1        0x5b           //MAC_REG_DATA1
#define MAC_NETCFG0          0x5c
#define MAC_NETCFG1          0x5d
#define MAC_WAKCTRL          0x5e
                             
#define MAC_FLWCTRL          0x60
#define MAC_P_TIME0          0x61
#define MAC_P_TIME1          0x62
                             
#define MAC_VLANCTRL         0x64
#define MAC_VLANID0          0x65
#define MAC_VLANID1          0x66

/* ARP/RARP & IP Layer */
#define ARP_CTRL             0x80
#define ARP_TIMER            0x81
#define ARP_HOSTNEX_CH       0x82

#define RARP_CTRL            0x84
                             
#define IP_CHKSUM_CTRL       0x90
#define IP_DEFGWCTRL         0x91
                             
#define IP_GW_IP0            0x94    /* Default Gateway IP address */
#define IP_GW_IP1            0x95
#define IP_GW_IP2            0x96
#define IP_GW_IP3            0x97
                             
#define IP_SUB_AM0           0x98   /* Subnet Address Mask */
#define IP_SUB_AM1           0x99
#define IP_SUB_AM2           0x9a
#define IP_SUB_AM3           0x9b

#define IP_LIPA0             0x9c   /* Local IP address */
#define IP_LIPA1             0x9d
#define IP_LIPA2             0x9e
#define IP_LIPA3             0x9f

/* ICMP/IGMP Layer */
#define ICMP_RFIFO_WP0       0xC0
#define ICMP_RFIFO_WP1       0xC1
#define ICMP_RFIFO_RP0       0xC2
#define ICMP_RFIFO_RP1       0xC3
#define ICMP_TFIFO_WP0       0xC4
#define ICMP_TFIFO_WP1       0xC5
#define ICMP_TFIFO_RP0       0xC6
#define ICMP_TFIFO_RP1       0xC7

#define ICMP_TXDCTRL         0xC8

#define ICMP_TFIFO_FS0       0xC9
#define ICMP_TFIFO_FS1       0xCA
                             
#define ICMP_CHCTRL          0xD0
                             
#define ICMP_IPID0           0xD4
#define ICMP_IPID1           0xD5
#define ICMP_TOS             0xD6
#define ICMP_TTL             0xD7
#define ICMP_DIPA0           0xD8
#define ICMP_DIPA1           0xD9
#define ICMP_DIPA2           0xDA
#define ICMP_DIPA3           0xDB
#define ICMP_DMAC0           0xDC
#define ICMP_DMAC1           0xDD
#define ICMP_DMAC2           0xDE
#define ICMP_DMAC3           0xDF
#define ICMP_DMAC4           0xE0
#define ICMP_DMAC5           0xE1
                             
#define IGMP_CHCTRL          0xE4
#define IGMP_GRPCTRL         0xE5
#define IGMP_GRPSTAT         0xE6
                             
#define IGMP_GP0_A0          0xE8
#define IGMP_GP0_A1          0xE9
#define IGMP_GP0_A2          0xEA
#define IGMP_GP0_A3          0xEB
#define IGMP_GP1_A0          0xEC
#define IGMP_GP1_A1          0xED
#define IGMP_GP1_A2          0xEE
#define IGMP_GP1_A3          0xEF
#define IGMP_GP2_A0          0xF0
#define IGMP_GP2_A1          0xF1
#define IGMP_GP2_A2          0xF2
#define IGMP_GP2_A3          0xF3
#define IGMP_GP3_A0          0xF4
#define IGMP_GP3_A1          0xF5
#define IGMP_GP3_A2          0xF6
#define IGMP_GP3_A3          0xF7

/* Socket Layer */
#define SOCK_RFIFO_WP0(ch)      (ch * 0x80 +0x100)
#define SOCK_RFIFO_WP1(ch)      (ch * 0x80 +0x101)
#define SOCK_RFIFO_RP0(ch)      (ch * 0x80 +0x102)
#define SOCK_RFIFO_RP1(ch)      (ch * 0x80 +0x103)
#define SOCK_TFIFO_WP0(ch)      (ch * 0x80 +0x104)
#define SOCK_TFIFO_WP1(ch)      (ch * 0x80 +0x105)
#define SOCK_TFIFO_RP0(ch)      (ch * 0x80 +0x106)
#define SOCK_TFIFO_RP1(ch)      (ch * 0x80 +0x107)

#define SOCK_TXDCTRL(ch)        (ch * 0x80 +0x108)

#define SOCK_UDPCMD(ch)         (ch * 0x80 +0x109)

#define SOCK_TCPRTCTRL(ch)      (ch * 0x80 +0x10A)
#define SOCK_TCPRTCNT(ch)       (ch * 0x80 +0x10B)
#define SOCK_TCPDACKCTRL(ch)    (ch * 0x80 +0x10C)
#define SOCK_TCPPT2MSL(ch)      (ch * 0x80 +0x10D)
#define SOCK_CHCTRL0(ch)        (ch * 0x80 +0x10E)
#define SOCK_CHCTRL1(ch)        (ch * 0x80 +0x10F)

#define SOCK_IPID0(ch)          (ch * 0x80 +0x110)
#define SOCK_IPID1(ch)          (ch * 0x80 +0x111)
#define SOCK_TOS(ch)            (ch * 0x80 +0x112)
#define SOCK_TTL(ch)            (ch * 0x80 +0x113)
                                
#define SOCK_SP0(ch)            (ch * 0x80 +0x114)
#define SOCK_SP1(ch)            (ch * 0x80 +0x115)
#define SOCK_DP0(ch)            (ch * 0x80 +0x116)
#define SOCK_DP1(ch)            (ch * 0x80 +0x117)
                                
#define SOCK_DIPA0(ch)          (ch * 0x80 +0x118)
#define SOCK_DIPA1(ch)          (ch * 0x80 +0x119)
#define SOCK_DIPA2(ch)          (ch * 0x80 +0x11A)
#define SOCK_DIPA3(ch)          (ch * 0x80 +0x11B)
                                
#define SOCK_DMAC0(ch)          (ch * 0x80 +0x11C)
#define SOCK_DMAC1(ch)          (ch * 0x80 +0x11D)
#define SOCK_DMAC2(ch)          (ch * 0x80 +0x11E)
#define SOCK_DMAC3(ch)          (ch * 0x80 +0x11F)
#define SOCK_DMAC4(ch)          (ch * 0x80 +0x120)
#define SOCK_DMAC5(ch)          (ch * 0x80 +0x121)
                                
#define SOCK_TXULN0(ch)         (ch * 0x80 +0x122)
#define SOCK_TXULN1(ch)         (ch * 0x80 +0x123)

#define SOCK_TCPCMD(ch)         (ch * 0x80 +0x124)
#define SOCK_TCPSMS0(ch)        (ch * 0x80 +0x125)
#define SOCK_TCPSMS1(ch)        (ch * 0x80 +0x126)
                                
#define SOCK_TCPEVINTEN(ch)     (ch * 0x80 +0x128)
#define SOCK_TCPEVINTSTAT(ch)   (ch * 0x80 +0x129)

#define SOCK_TFIFO_FS0(ch)      (ch * 0x80 +0x12A)
#define SOCK_TFIFO_FS1(ch)      (ch * 0x80 +0x12B)
                                
#define SOCK_TXSN0(ch)          (ch * 0x80 +0x130)    /* TX */
#define SOCK_TXSN1(ch)          (ch * 0x80 +0x131)
#define SOCK_TXSN2(ch)          (ch * 0x80 +0x132)
#define SOCK_TXSN3(ch)          (ch * 0x80 +0x133)
#define SOCK_TXAN0(ch)          (ch * 0x80 +0x134)
#define SOCK_TXAN1(ch)          (ch * 0x80 +0x135)
#define SOCK_TXAN2(ch)          (ch * 0x80 +0x136)
#define SOCK_TXAN3(ch)          (ch * 0x80 +0x137)
                                
#define SOCK_TXDATOFF(ch)       (ch * 0x80 +0x138)
#define SOCK_TXFLAG(ch)         (ch * 0x80 +0x139)
#define SOCK_TXW0(ch)           (ch * 0x80 +0x13A)
#define SOCK_TXW1(ch)           (ch * 0x80 +0x13B)
#define SOCK_TXURG0(ch)         (ch * 0x80 +0x13C)
#define SOCK_TXURG1(ch)         (ch * 0x80 +0x13D)
#define SOCK_LMSS0(ch)          (ch * 0x80 +0x13E)
#define SOCK_LMSS1(ch)          (ch * 0x80 +0x13F)
                                
#define SOCK_RXSN0(ch)          (ch * 0x80 +0x140)  /* RX */
#define SOCK_RXSN1(ch)          (ch * 0x80 +0x141)
#define SOCK_RXSN2(ch)          (ch * 0x80 +0x142)
#define SOCK_RXSN3(ch)          (ch * 0x80 +0x143)
#define SOCK_RXAN0(ch)          (ch * 0x80 +0x144)
#define SOCK_RXAN1(ch)          (ch * 0x80 +0x145)
#define SOCK_RXAN2(ch)          (ch * 0x80 +0x146)
#define SOCK_RXAN3(ch)          (ch * 0x80 +0x147)

#define SOCK_RXDATOFF(ch)       (ch * 0x80 +0x148)
#define SOCK_RXFLAG(ch)         (ch * 0x80 +0x149)
#define SOCK_RXW0(ch)           (ch * 0x80 +0x14A)
#define SOCK_RXW1(ch)           (ch * 0x80 +0x14B)
#define SOCK_RXURG0(ch)         (ch * 0x80 +0x14C)
#define SOCK_RXURG1(ch)         (ch * 0x80 +0x14D)
#define SOCK_RMSS0(ch)          (ch * 0x80 +0x14E)
#define SOCK_RMSS1(ch)          (ch * 0x80 +0x14F)


/* PPPoE Layer */
#define PPPOE_RFIFO_WP0    0x300
#define PPPOE_RFIFO_WP1    0x301
#define PPPOE_RFIFO_RP0    0x302
#define PPPOE_RFIFO_RP1    0x303
#define PPPOE_TFIFO_WP0    0x304
#define PPPOE_TFIFO_WP1    0x305
#define PPPOE_TFIFO_RP0    0x306
#define PPPOE_TFIFO_RP1    0x307
#define PPPOE_TXDCTRL      0x308

#define PPPOE_TFIFO_FS0    0x309
#define PPPOE_TFIFO_FS1    0x30A

#define PPPOE_CHCTRL       0x310
#define PPPOE_RTCTRL       0x311
#define PPPOE_TOSTAT       0x312

#define PPPOE_DMAC0        0x314
#define PPPOE_DMAC1        0x315
#define PPPOE_DMAC2        0x316
#define PPPOE_DMAC3        0x317
#define PPPOE_DMAC4        0x318
#define PPPOE_DMAC5        0x319

#define PPPOE_SID0         0x31A
#define PPPOE_SID1         0x31B


/* MIB Status */
#define MIB_CTRL           0x340   
#define MIB_STAT1          0x341
#define MIB_STAT2          0x342

#define MIB_RX_O0          0x344    /* RX */
#define MIB_RX_O1          0x345
#define MIB_RX_O2          0x346
                           
#define MIB_RX_UP0         0x348
#define MIB_RX_UP1         0x349
#define MIB_RX_NUP0        0x34A
#define MIB_RX_NUP1        0x34B
                           
#define MIB_RX_DP0         0x34C
#define MIB_RX_DP1         0x34D
                           
#define MIB_RX_EP0         0x34E
#define MIB_RX_EP1         0x34F
                           
#define MIB_RX_CEP0        0x350
#define MIB_RX_CEP1        0x351
                           
#define MIB_RX_AEP0        0x352

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -