[U-Boot-Users] DM9000 on PXA
Detlef Vollmann
dv at vollmann.ch
Thu Aug 11 00:39:16 CEST 2005
Hinko Kocevar wrote:
> I'm half way (probably less) through porting u-boot to trizeps3 K&K cpu module
> that has PXA255, 32MB flash, 64MB sdram, OTG TD242Lp, DM9000 ETh and UCB1400
> onboard.
>
> I'm stuck with DM9000 ethernet chip. Every packet that is recieved by the chip
> is supposed to be errornous. My DM9000 is at 0x08000000 and its IO port is at
> 0x08000000, while data port is at 0x08008000 (confirmed and working under
> supplied bootloader and linux).
> Any comments?
We use U-Boot with our Colibri module (which is somewhat compatible
to the Trizeps IV).
The only relevant change we did in the DM9000 driver was:
Index: drivers/dm9000x.c
===================================================================
RCS file: /source/toradex/colibri/u-boot-1.1.2/drivers/dm9000x.c,v
retrieving revision 1.1.1.1
retrieving revision 1.5
diff -u -r1.1.1.1 -r1.5
--- drivers/dm9000x.c 30 Mar 2005 22:10:10 -0000 1.1.1.1
+++ drivers/dm9000x.c 12 May 2005 10:02:27 -0000 1.5
@@ -317,7 +323,7 @@
/* Activate DM9000 */
DM9000_iow(DM9000_RCR, RCR_DIS_LONG | RCR_DIS_CRC | RCR_RXEN);
/* RX enable */
- DM9000_iow(DM9000_IMR, IMR_PAR); /* Enable TX/RX
interrupt mask */
+ DM9000_iow(DM9000_IMR, IMR_PAR | IMR_PTM | IMR_PRM); /*
Enable TX/RX interrupt mask */
i = 0;
while (!(phy_read(1) & 0x20)) { /* autonegation complete bit */
udelay(1000);
@@ -436,6 +442,9 @@
u8 rxbyte, *rdptr = (u8 *) NetRxPackets[0];
u16 RxStatus, RxLen = 0;
u32 tmplen, i;
+#ifdef CONFIG_DM9000_USE_32BIT
+ u32 tmpdata;
+#endif
/* Check packet ready or not */
DM9000_ior(DM9000_MRCMDX); /* Dummy read */
You can find all the changes from our website:
http://www.toradex.com/colibri_downloads/Linux/colibri-bsp-1.1/src/u-boot-1.1.2-col.tar.gz
HTH
Detlef
--
Detlef Vollmann vollmann engineering gmbh
Linux and C++ for Embedded Systems http://www.vollmann.ch/
Linux for PXA270 Colibri module: www.toradex.com/e/products.html
More information about the U-Boot
mailing list