
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....
HTH Detlef