Horstbox DVA-G3342SB with FreeBSD

Michael Fuckner michael at fuckner.net
Sun May 18 18:08:53 UTC 2008


Good evening,

>> Does this help? Do I have to put these settings into the hints-file?
> 
> If you look in sys/arm/xscale/ixp425/ixp425_pci.c for the error message 
> you'll find a fixed mapping table for routing interrupts.  Your board 
> appears to use irq's that are not in the table.  If we assume you've 
> located the PCI bus properly then you might try adding entries for your 
> devices and see if they are probed correctly.

Output from the booted Linux- can you tell me what to enter into
PHYSADDR, KERNPHYSADDR and KERNVIRTADDR?

/proc # cat /proc/iomem
00000000-03ffffff : System RAM
   0001a000-001ab18f : Kernel text
   001ac000-001d9f6b : Kernel data
48000000-4bffffff : PCI Memory Space
   48000000-48000fff : 0000:00:0e.0
   48001000-48001fff : 0000:00:0e.1
   48002000-480020ff : 0000:00:0c.0
   48002100-480021ff : 0000:00:0d.0
   48002200-480022ff : 0000:00:0e.2
     48002200-480022ff : ehci_hcd
50000000-51ffffff : IXP4XX-Flash.0
   50000000-51ffffff : IXP4XXFlash
c8000000-c800001f : serial
c8001000-c8001fff : serial8250.0
/proc # cat /proc/ioports
00000000-0000ffff : PCI I/O Space
   00001000-00001007 : 0000:00:0c.0
   00001008-0000100f : 0000:00:0d.0
/proc #

/proc # cat /proc/pci
PCI devices found:
   Bus  0, device  12, function  0:
     Class 0280: PCI device 1397:2bd0 (rev 2).
       IRQ 24.
       Master Capable.  Latency=16.  Max Lat=16.
       I/O at 0x1000 [0x1007].
       Non-prefetchable 32 bit memory at 0x48002000 [0x480020ff].
   Bus  0, device  13, function  0:
     Class 0280: PCI device 1397:2bd0 (rev 2).
       IRQ 24.
       Master Capable.  Latency=16.  Max Lat=16.
       I/O at 0x1008 [0x100f].
       Non-prefetchable 32 bit memory at 0x48002100 [0x480021ff].
   Bus  0, device  14, function  0:
     Class 0c03: PCI device 1033:0035 (rev 67).
       IRQ 23.
       Master Capable.  Latency=8.
       Non-prefetchable 32 bit memory at 0x48000000 [0x48000fff].
   Bus  0, device  14, function  1:
     Class 0c03: PCI device 1033:0035 (rev 67).
       IRQ 23.
       Master Capable.  Latency=8.
       Non-prefetchable 32 bit memory at 0x48001000 [0x48001fff].
   Bus  0, device  14, function  2:
     Class 0c03: PCI device 1033:00e0 (rev 4).
       IRQ 23.
       Master Capable.  Latency=68.
       Non-prefetchable 32 bit memory at 0x48002200 [0x480022ff].



I think I filled in the information into the file, but it doesn't seem
to work. My very dirty hack in function ixp425_md_route_interrupt 
ixdp425_pci.c looks likt this: if (dev == 14) return 23;

In HORST.hints file:

hint.ohci.0.at="pci0"
hint.ohci.0.irq=23
hint.ohci.0.addr="0x48000000"
hint.ohci.1.at="pci0"
hint.ohci.1.irq=23
hint.ohci.1.addr="0x48001000"
hint.ehci.0.at="pci0"
hint.ehci.0.irq=23
hint.ehci.0.addr="0x48002200"


Result in dmesg:
pci0: <network> at device 12.0 (no driver attached)
pci0: <network> at device 13.0 (no driver attached)
ohci0: <NEC uPD 9210 USB controller> irq 23 at device 14.0 on pci0
ohci0: Could not allocate irq
pcib0: ohci0 called release_resource
device_attach: ohci0 attach returned 6
ohci1: <NEC uPD 9210 USB controller> irq 23 at device 14.1 on pci0
ohci1: Could not allocate irq
pcib0: ohci1 called release_resource
device_attach: ohci1 attach returned 6
ehci0: <NEC uPD 720100 USB 2.0 controller> mem 0x48002200-0x480022ff irq
23 at device 14.2 on pci0
pcib0: ehci0 called activate_resource
ehci0: Could not map memory
device_attach: ehci0 attach returned 6



>> npe0: <IXP NPE-B> on ixp0
>> npe0: [ITHREAD]
>> npe0: remember to fix rx q setup
>> npe0: Cannot find my PHY.
>> device_attach: npe0 attach returned 6
>> npe1: <IXP NPE-C> on ixp0
>> npe1: [ITHREAD]
>> npe1: remember to fix rx q setup
>> miibus0: <MII bus> on npe1
>> rlphy0: <RTL8201L 10/100 media interface> PHY 1 on miibus0
>> rlphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
>> npe1: Ethernet address: 00:03:47:df:32:aa
>> led_avila0: <Gateworks Avila GPIO connected LED> on ixp0
>> ixpclk0: [FILTER]
>> Timecounter "IXP425 Timer" frequency 66666600 Hz quality 1000
>> Timecounters tick every 10.000 msec
>> bootpc_init: wired to interface 'npe1'
>> Sending DHCP Discover packet from interface npe1 (00:03:47:df:32:aa)
>> npe1: link state changed to UP
>> DHCP/BOOTP timeout for server 255.255.255.255
>> DHCP/BOOTP timeout for server 255.255.255.255
>> DHCP/BOOTP timeout for server 255.255.255.255
>> DHCP/BOOTP timeout for server 255.255.255.255
>> DHCP/BOOTP timeout for server 255.255.255.255
>> DHCP/BOOTP timeout for server 255.255.255.255
>>
>>
>> Now it looks better, it recognizes the NPE-C-network-card, but it 
>> doesn't seem to be usable. And I lost my USB-Chip on the way. SO no 
>> ethernet via npe nor my axe-based USB-Stick :(
> 
> Have you sniffed to see if the BOOTP packets are being sent out properly 
> on npe1?
> 
Nope, nothing can be seen. While loading kernel via TFTP I can see
traffic with the :32:a8-MAC.


> When you're all done you should have a config file + hints that gives 
> you a working board.  If you send it we can add it to the tree.
Could be a long way, since I am quite new to this.

Regards,
  Michael



More information about the freebsd-arm mailing list