9
0
Fork 0

Add eZ80F91 EMAC driver

git-svn-id: https://nuttx.svn.sourceforge.net/svnroot/nuttx/trunk@1450 7fd9a85b-ad96-42d3-883c-3090e2eb8679
This commit is contained in:
patacongo 2008-12-12 16:57:52 +00:00
parent 86e94e1de8
commit e17152d6be
8 changed files with 1857 additions and 11 deletions

View File

@ -604,4 +604,6 @@
* Fixed several compilation errors in fixed precision math library when built
against toolchains that do not support 64-bit type 'long long'.
* Fix errors in some function prototypes in dirent.h
* Add eZ80F91 EMAC driver
* Fix recvfrom() compilation error -- only noted under ZDS

View File

@ -8,7 +8,7 @@
<tr align="center" bgcolor="#e4e4e4">
<td>
<h1><big><font color="#3c34ec"><i>NuttX RTOS</i></font></big></h1>
<p>Last Updated: December 7 2008</p>
<p>Last Updated: December 12, 2008</p>
</td>
</tr>
</table>
@ -1292,6 +1292,8 @@ nuttx-0.4.1 2008-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
* Fixed several compilation errors in fixed precision math library when built
against toolchains that do not support 64-bit type 'long long'.
* Fix errors in some function prototypes in dirent.h
* Add eZ80F91 EMAC driver
* Fix recvfrom() compilation error -- only noted under ZDS
pascal-0.1.3 2008-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;

View File

@ -165,9 +165,17 @@ EXTERN void up_timerhook(void);
/* Defined in board/up_network.c */
#ifdef CONFIG_NET
EXTERN void up_netinitialize(void);
EXTERN int up_netinitialize(void);
EXTERN void up_netuninitialize(void);
# ifdef CONFIG_ARCH_MCFILTER
EXTERN int up_multicastfilter(FAR struct uip_driver_s *dev, FAR ubyte *mac, boolean enable);
# else
# define up_multicastfilter(dev, mac, enable)
# endif
#else
# define up_netinitialize()
# define up_netuninitialize()
# define up_multicastfilter(dev, mac, enable)
#endif
/* Return the current value of the stack pointer (used in stack dump logic) */

View File

@ -48,7 +48,13 @@ CHIP_ASRCS = ez80_startup.asm ez80_io.asm ez80_irqsave.asm \
ifeq ($(CONFIG_ARCH_CHIP_EZ80F91),y)
CHIP_ASRCS += ez80f91_init.asm
endif
CHIP_SSRCS =
CHIP_CSRCS = ez80_initialstate.c ez80_irq.c ez80_copystate.c \
ez80_schedulesigaction.c ez80_sigdeliver.c ez80_timerisr.c \
ez80_lowuart.c ez80_serial.c ez80_registerdump.c
ifeq ($(CONFIG_ARCH_CHIP_EZ80F91),y)
ifeq ($(CONFIG_EZ80_EMAC),y)
CHIP_CSRCS += ez80_emac.c
endif
endif

File diff suppressed because it is too large Load Diff

View File

@ -123,12 +123,12 @@
/* EMAC bufsize register bit settings ***********************************************/
#define EMAC_BUFSIZ_BUFSZMASK 0xc0 /* Bits 6-6: Rx/Tx buffer size */
# define EMAC_BUFSIZ_256b 0x00 /* EMAC Rx/Tx buffer size = 256 bytes */
# define EMAC_BUFSIZ_128b 0x40 /* EMAC Rx/Tx buffer size = 128 bytes */
# define EMAC_BUFSIZ_64b 0x80 /* EMAC Rx/Tx buffer size = 64 bytes */
# define EMAC_BUFSIZ_32b 0xc0 /* EMAC Rx/Tx buffer size = 32 bytes */
#define EMAC_BUFSIZ_TPCFLMASK 0x3f /* Bits 0-5: Tranmsit pause frame level */
#define EMAC_BUFSZ_BUFSZMASK 0xc0 /* Bits 6-6: Rx/Tx buffer size */
# define EMAC_BUFSZ_256b 0x00 /* EMAC Rx/Tx buffer size = 256 bytes */
# define EMAC_BUFSZ_128b 0x40 /* EMAC Rx/Tx buffer size = 128 bytes */
# define EMAC_BUFSZ_64b 0x80 /* EMAC Rx/Tx buffer size = 64 bytes */
# define EMAC_BUFSZ_32b 0xc0 /* EMAC Rx/Tx buffer size = 32 bytes */
#define EMAC_BUFSZ_TPCFLMASK 0x3f /* Bits 0-5: Tranmsit pause frame level */
/* EMAC interrupt enable register bit settings **************************************/

View File

@ -74,7 +74,7 @@ CONFIG_ARCH_CHIP_EZ80F92=n
CONFIG_ARCH_CHIP_EZ80F93=n
CONFIG_ARCH_BOARD=ez80f910200zco
CONFIG_ARCH_BOARD_EZ80F910200ZCO=y
CONFIG_ARCH_NOINTC=y
CONFIG_ARCH_NOINTC=n
CONFIG_ARCH_IRQPRIO=n
CONFIG_BOARD_LOOPSPERMSEC=1250
CONFIG_ENDIAN_BIG=y
@ -109,6 +109,31 @@ CONFIG_UART1_PARITY=0
CONFIG_UART0_2STOP=0
CONFIG_UART1_2STOP=0
#
# ez80 EMAC
#
# CONFIG_EZ80_EMAC - Enables support for ez80 EMAC driver.
# CONFIG_EZ80_FIAD - Provides the MII address of the PHY device
# CONFIG_EZ80_PKTBUFSIZE, CONFIG_EZ80_NTXPKTBUFS, and CONFIG_EZ80_NRXPKTBUFS -
# The size of one packet buffer and the number of Rx and Tx packet
# buffers. This must add up to exactly 8192 bytes.
# CONFIG_EZ80_MDCDIV=1 - The value to use for the divider to derive
# the MII MDC clock from SLCK. Options are 1->4; 2->6; 3->8; 4->10;
# 5->14; 6->20; and 7->28
# CONFIG_EZ80_TXPOLLTIMERMS - Specifies how often the EMAC controller
# should poll for a Tx packet (milliseconds)
# CONFIG_ARCH_MCFILTER - Enalbes multicast MAC address filtering (not
# fully implemented
CONFIG_EZ80_EMAC=n
CONFIG_EZ80_FIAD=0x1f
CONFIG_EZ80_PKTBUFSIZE=64
CONFIG_EZ80_NTXPKTBUFS=64
CONFIG_EZ80_NRXPKTBUFS=64
CONFIG_EZ80_PKTBUFSIZE=64
CONFIG_EZ80_MDCDIV=0
CONFIG_EZ80_TXPOLLTIMERMS=10
CONFIG_ARCH_MCFILTER=n
#
# General build options
#

View File

@ -42,7 +42,7 @@
</tool>
<tool name="Debugger">
<options>
<option name="target" type="string" change-action="rebuild">eZ80DevPlatform_F91_Flash</option>
<option name="target" type="string" change-action="rebuild">eZ80F91ModDevKit_Flash</option>
<option name="debugtool" type="string" change-action="none">Simulator</option>
<option name="usepageerase" type="boolean" change-action="none">true</option>
</options>
@ -244,4 +244,4 @@
<breakpoints>
</breakpoints>
</project>
</project>