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

📄 8019.h

📁 44b0下的8019驱动,查询方式,可放入lwip移植用的,转至small.box大虾
💻 H
字号:
/*
**************************************************************************************************************
*      Copyright (c) 2006 - 2010 Small.Box Corp. All rights reserved.                                             
*                                          
* FILENAME
*   LD_RTL8019.h
*
* VERSION
*   V1.00
*
* HISTORY
*   2006/09/27  Ver 1.0 Created by Small.Box
* 
* REMARK
*   None     
* 
*
**************************************************************************************************************
*/


#include <stdio.h>
#include <string.h>
#include <stdlib.h>

#ifndef _SB_RTL8019_H_
#define _SB_RTL8019_H_

#define ADDR_SFT  8

//#define RTL8019_OP_16


#define BaseAddr 0x71000000    //nGCS3->8019_AEN
#define RWPORT (BaseAddr+(0x10<<ADDR_SFT)) //dma read write address, form 0x10 - 0x17
#define RstAddr (BaseAddr+(0x18<<ADDR_SFT)) //reset register, 0x18, 0x1a, 0x1c, 0x1e

/* page 0 */
#define Pstart (BaseAddr+(1<<ADDR_SFT)) //page start
#define Pstop (BaseAddr+(2<<ADDR_SFT)) //page stop
#define BNRY (BaseAddr+(3<<ADDR_SFT)) 
#define TPSR (BaseAddr+(4<<ADDR_SFT)) //transmit page start
#define TBCR0 (BaseAddr+(5<<ADDR_SFT))
#define TBCR1 (BaseAddr+(6<<ADDR_SFT))
#define ISR  (BaseAddr+(7<<ADDR_SFT)) //interrupt status register

#define RSAR0 (BaseAddr+(8<<ADDR_SFT)) //dma read address
#define RSAR1 (BaseAddr+(9<<ADDR_SFT))
#define RBCR0 (BaseAddr+(10<<ADDR_SFT)) //dma read byte count
#define RBCR1 (BaseAddr+(11<<ADDR_SFT))

#define RCR  (BaseAddr+(12<<ADDR_SFT)) //receive config
#define TCR  (BaseAddr+(13<<ADDR_SFT)) //transmit config
#define DCR  (BaseAddr+(14<<ADDR_SFT)) //data config
#define IMR  (BaseAddr+(15<<ADDR_SFT)) //interrupt mask

#define ID8019L (BaseAddr+(10<<ADDR_SFT))
#define ID8019H (BaseAddr+(11<<ADDR_SFT))

/* page 1 */
#define PAR0 (BaseAddr+(1<<ADDR_SFT))
#define PAR1 (BaseAddr+(2<<ADDR_SFT))
#define PAR2 (BaseAddr+(3<<ADDR_SFT))
#define PAR3 (BaseAddr+(4<<ADDR_SFT))
#define PAR4 (BaseAddr+(5<<ADDR_SFT))
#define PAR5 (BaseAddr+(6<<ADDR_SFT))

#define CURR (BaseAddr+(7<<ADDR_SFT))  
#define MAR0 (BaseAddr+(8<<ADDR_SFT))
#define MAR1 (BaseAddr+(9<<ADDR_SFT))
#define MAR2 (BaseAddr+(10<<ADDR_SFT))
#define MAR3 (BaseAddr+(11<<ADDR_SFT))
#define MAR4 (BaseAddr+(12<<ADDR_SFT))
#define MAR5 (BaseAddr+(13<<ADDR_SFT))
#define MAR6 (BaseAddr+(14<<ADDR_SFT))
#define MAR7 (BaseAddr+(15<<ADDR_SFT))

/* page 2 */

/* page 3 */
#define CR9346 (BaseAddr+(1<<ADDR_SFT))
#define CONFIG0 (BaseAddr+(3<<ADDR_SFT))
#define CONFIG1 (BaseAddr+(4<<ADDR_SFT))
#define CONFIG2 (BaseAddr+(5<<ADDR_SFT))
#define CONFIG3 (BaseAddr+(6<<ADDR_SFT))


int board_eth_init(void);
int board_eth_send(unsigned char *data, unsigned short len);
int board_eth_rcv(unsigned char *data, unsigned int *len);

#endif


/*$PAGE$*/

⌨️ 快捷键说明

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