Subject: Netbsd on IXP2400/xscale board..FXP driver problem
To: None <port-arm@netbsd.org>
From: Jigar shah <jigar@apropos.co.in>
List: port-arm
Date: 08/02/2005 07:44:57
Hi port-arm,

Just a mail to sum up how to boot NetBSD current on ENP2611/Radisys
board for IXDP2400/xscale  perhaps it could help someone else or it
could be integrated later in the source tree. 

Currently,  I have problem with I82557(fxp0 driver) ethernet controller
for BOOTP request to mount root file system as a NFS.

my bootp reqesut coudnt go outside output interface.

below are mt ENP2611/IXDP2400 bootup messages


RedBoot> load -v netbsd.srec
RedBoot> go

NetBSD/evbarm (IXP2400/ENP2611) booting....
kernsize=0x304fb8
Allocating page tables
freestart = 0x0c50c000, free_pages = 15092 (0x00003af4)
physical_start = 0x0c000000, physical_end = 0x10000000
IRQ stack: p0x0c00f000 v0x8000f000
ABT stack: p0x0c010000 v0x80010000
UND stack: p0x0c011000 v0x80011000
SVC stack: p0x0c012000 v0x80012000
Creating L1 page table at 0x0c000000
Mapping kernel
pmap_map_chunk: pa=0xc200000 va=0x80200000 size=0x27b000 resid=0x27b000
prot=0x3 cache=1
SSLLLLLLLPPPPPPPPPPP
pmap_map_chunk: pa=0xc47b000 va=0x8047b000 size=0x8a000 resid=0x8a000
prot=0x3 cache=1
PPPPPLLLLLLLLPPPPP
Constructing L2 page tables
pmap_map_chunk: pa=0xc00f000 va=0x8000f000 size=0x1000 resid=0x1000
prot=0x3 cache=1
P
pmap_map_chunk: pa=0xc010000 va=0x80010000 size=0x1000 resid=0x1000
prot=0x3 cache=1
P
pmap_map_chunk: pa=0xc011000 va=0x80011000 size=0x1000 resid=0x1000
prot=0x3 cache=1
P
pmap_map_chunk: pa=0xc012000 va=0x80012000 size=0x2000 resid=0x2000
prot=0x3 cache=1
PP
pmap_map_chunk: pa=0xc000000 va=0x80000000 size=0x4000 resid=0x4000
prot=0x3 cache=2
PPPP
pmap_map_chunk: pa=0xc004000 va=0x80004000 size=0x1000 resid=0x1000
prot=0x3 cache=2
P
pmap_map_chunk: pa=0xc005000 va=0x80005000 size=0x1000 resid=0x1000
prot=0x3 cache=2
P
pmap_map_chunk: pa=0xc006000 va=0x80006000 size=0x1000 resid=0x1000
prot=0x3 cache=2
P
pmap_map_chunk: pa=0xc007000 va=0x80007000 size=0x1000 resid=0x1000
prot=0x3 cache=2
P
pmap_map_chunk: pa=0xc008000 va=0x80008000 size=0x1000 resid=0x1000
prot=0x3 cache=2
P
pmap_map_chunk: pa=0xc009000 va=0x80009000 size=0x1000 resid=0x1000
prot=0x3 cache=2
P
pmap_map_chunk: pa=0xc00a000 va=0x8000a000 size=0x1000 resid=0x1000
prot=0x3 cache=2
P
pmap_map_chunk: pa=0xc00b000 va=0x8000b000 size=0x1000 resid=0x1000
prot=0x3 cache=2
P
pmap_map_chunk: pa=0xc00c000 va=0x8000c000 size=0x1000 resid=0x1000
prot=0x3 cache=2
P
pmap_map_chunk: pa=0xc00d000 va=0x8000d000 size=0x1000 resid=0x1000
prot=0x3 cache=2
P
devmap: c0030000 -> c0030fff @ f0030000
pmap_map_chunk: pa=0xc0030000 va=0xf0030000 size=0x1000 resid=0x1000
prot=0x3 cache=0
P
devmap: c0004000 -> c0004fff @ f0004000
pmap_map_chunk: pa=0xc0004000 va=0xf0004000 size=0x1000 resid=0x1000
prot=0x3 cache=0
P
devmap: c0010000 -> c0010fff @ f0010000
pmap_map_chunk: pa=0xc0010000 va=0xf0010000 size=0x1000 resid=0x1000
prot=0x3 cache=0
P
devmap: c0020000 -> c0020fff @ f0020000
pmap_map_chunk: pa=0xc0020000 va=0xf0020000 size=0x1000 resid=0x1000
prot=0x3 cache=0
P
devmap: c0080000 -> c0080fff @ f0080000
pmap_map_chunk: pa=0xc0080000 va=0xf0080000 size=0x1000 resid=0x1000
prot=0x3 cache=0
P
devmap: d6000000 -> d6000fff @ f0009000
pmap_map_chunk: pa=0xd6000000 va=0xf0009000 size=0x1000 resid=0x1000
prot=0x3 cache=0
P
devmap: de000000 -> de000fff @ f000a000
pmap_map_chunk: pa=0xde000000 va=0xf000a000 size=0x1000 resid=0x1000
prot=0x3 cache=0
P
devmap: df000000 -> df000fff @ f000b000
pmap_map_chunk: pa=0xdf000000 va=0xf000b000 size=0x1000 resid=0x1000
prot=0x3 cache=0
P
devmap: da000000 -> daffffff @ f1000000
pmap_map_chunk: pa=0xda000000 va=0xf1000000 size=0x1000000
resid=0x1000000 prot=0x3 cache=0
SSSSSSSSSSSSSSSS
devmap: db000000 -> dbffffff @ f2000000
pmap_map_chunk: pa=0xdb000000 va=0xf2000000 size=0x1000000
resid=0x1000000 prot=0x3 cache=0
SSSSSSSSSSSSSSSS
devmap: d8000000 -> d9ffffff @ f3000000
pmap_map_chunk: pa=0xd8000000 va=0xf3000000 size=0x2000000
resid=0x2000000 prot=0x3 cache=0
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
devmap: c5800000 -> c67fffff @ f5000000
pmap_map_chunk: pa=0xc5800000 va=0xf5000000 size=0x1000000
resid=0x1000000 prot=0x3 cache=0
SSSSSSSSSSSSSSSS
freestart = 0x0c505000, free_pages = 15099 (0x3afb)
switching to new L1 page table  @0xc000000...done!
INIT arm bootstrap done.
init subsystems: stacks vectors undefined page pmap irq done.
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
    The NetBSD Foundation, Inc.  All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California.  All rights reserved.

NetBSD 2.0.1 (IXDP2400) #24: Tue Aug  2 09:54:54 IST 2005
	jigar@prithvi:/home/jigar/netbsd/tmp/src.old/src/sys/arch/evbarm/compile/obj/IXDP2400
total memory = 65536 KB
avail memory = 58308 KB
Config init completed 1
mainbus0 (root)
cpu0 at mainbus0: IXP2400 rev 1 (XScale core)
cpu0: DC enabled IC enabled WB enabled LABT branch prediction enabled
cpu0: 32KB/32B 32-way Instruction cache
cpu0: 32KB/32B 32-way write-back-locking Data cache
ixpsip0 at mainbus0
com0 at ixpsip0 addr 0xc0030000-0xc0030fff: ns16550a, working fifo
com0: console
ixpio0 at mainbus0
ixpio0: configuring PCI bus

DEV:0 BUS:1 8086:9001
BAR [ 10 ] <===> values [0]
BAR [ 14 ] <===> values [20000008]
BAR [ 18 ] <===> values [40000008]
BAR [ 1c ] <===> values [0]
BAR [ 20 ] <===> values [0]
BAR [ 24 ] <===> values [0]

DEV:1 BUS:0 8086:b555
BAR [ 10 ] <===> values [100000]
BAR [ 14 ] <===> values [100001]
BAR [ 18 ] <===> values [0]
BAR [ 1c ] <===> values [0]
BAR [ 20 ] <===> values [0]
BAR [ 24 ] <===> values [0]

DEV:4 BUS:0 104c:ac28

DEV:0 BUS:1 8086:1229
BAR [ 10 ] <===> values [200000]
BAR [ 14 ] <===> values [101001]
BAR [ 18 ] <===> values [300000]
BAR [ 1c ] <===> values [0]
BAR [ 20 ] <===> values [0]
BAR [ 24 ] <===> values [0]

pci0 at ixpio0 bus 0
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
Intel product 0x9001 (Co-processor processor, interface 0x01, revision
0x01) at pci0 dev 0 function 0 not configured
Intel 21555 Non-Transparent PCI-PCI Bridge (miscellaneous bridge,
revision 0x02) at pci0 dev 1 function 0 not configured
Texas Instruments PCI2050 PCI-PCI Bridge (PCI bridge, revision 0x02) at
pci0 dev 4 function 0 not configured
pci1 at ixpio0 bus 1
pci1: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
fxp0 at pci1 dev 0 function 0: i82559 Ethernet, rev 8
Allocating IRQ_IXP2000_PCIA to dev ethernet controller
ixdp2400_pci_intr_establish(v=0x81186400, irq=40, ipl=5,
func=0x802719f4, arg=0x8118a000)
fxp0: interrupting at ixp2000 irq 40
fxp0: Ethernet address 00:00:50:11:3d:3c
inphy0 at fxp0 phy 1: Media Interface: i82555 10/100 media interface, rev. 4
inphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
clock: hz=100 stathz=0 profhz=0
boot device: <unknown>
root on fxp0
nfs_boot: trying DHCP/BOOTP
hang....

My questions are...

1) Is there any problem related to ethernet driver or hardwar problem?
2) i can see clearly in fxp driver that it used DMA operation rather
than IO or  memory operation..is it a problem related to DMA operation 
2) how to mount Flash file system for Ixp/xscale??

Thanks 

Jigar shah
APROPOS Infotech Pvt ltd.
Bangalore India