FreeBSD/powerpc on PPCBug-based embedded boards

Rafal Jaworowski rafal.jaworowski at motorola.com
Mon Feb 2 15:45:27 PST 2004


Peter Grehan wrote:

> 
>> ravenpic0: <Raven MPIC interrupt controller> on nexus0
>> ravenpic0: Version 1.3, supports 2 CPUs and 16 irqs
> 
> 
>  I've done some major surgery on the OpenPIC code so that
> the register don't have to be touched at nexus probe time.
> You might want to check that out. The driver will be a little
> obtuse since it needs both a nexus attachment and also
> a h/w bus attachment, but there's examples in the ofw openpic
> and the psim iobus openpic.
> 

Hi Peter,
I'll look at the OPIC changes definitely, BTW: as I need to update the 
sources I'm working on - would 5.2-RELEASE cross-compile on x86?

>> pci0: <bridge, PCI-ISA> at device 11.0 (no driver attached)
> 
> 
>  Are there many ISA peripherals on this device ? The ISA bus
> is a bit difficult to handle on PPC.
> 

not too many. there's a PCI-ISA bridge integrated with EIDE and USB 
controllers (VIA 82C586), which should be supported by some existing 
driver (for i386 arch). On the ISA bus side there's a super io chip 
(PC87307) that handles typical async serials (compatible with 16550), 
typical parallel and ps/2 keyboard/mouse, and it's mainly the serial 
ports that I care for at the moment (the board doesn't have video and 
you're left with serial console). As you can see many of the boards' 
chips are already supported in FreeBSD/i386, so it shouldn't be that 
hard to use them.

the super io port ranges are mem-mapped starting from $80000000 and you 
can access the registers as if you were on the i386 (but offset); that's 
how the serial console works for me now (I'm using sio low level 
routines and only need to provide port's address offset by $80000000 in 
device.hints)

are there any specific obstacles for ISA devices that you're referring 
to? DMA support maybe?

> 
>> pci0: <old, non-VGA display device> at device 11.3 (no driver attached)
> 
> 
>  If OpenFirmware sets this up in fb8 mode, the ofw framebuffer console
> will work on this, with maybe some tweaking in the probe code.
> But, if it's just a VGA card plugged into a PCI slot, you're out
> of luck.
> 

this non-VGA display device is quite a surprise for me:) as the board is 
said (in the documentation) to have serial console only, there's no 
physical *connector* for video and also I'm not able to identify any 
graphics chip on board...

>> de0: <Digital 21140A Fast Ethernet> port 0xfffff00-0xfffff7f mem
>> 0x3bffff00-0x3bffff7f irq 10 at device 14.0 on pci0
>> de0: 21140A [10-100Mb/s] pass 2.2
>> de0: address 00:01:af:01:48:b7
> 
> 
>  Does this work OK ? If so, I'll add it to GENERIC.
> 

the configuration over PCI works ok - these values are read from 
adapter's config space with standard if_de driver found in the tree (it 
can be added to GENERIC then). As mentioned in the report, I still need 
to finish IRQ assignment before the device actually starts working.

> 
>  During early phases of development, I often use CD9660 mem disks.
> At the loader prompt, it's "> load -t md_image iso.img"m, and then
> at the mountroot> prompt, "cd9660:md0", or set vfs.root.mountfrom
> at the loader prompt.
> 
>  However, it does require a minor change to vfs_mount.c to allow
> a r/o ramdisk to be mounted as root. Patch appended.
> 

thanks for the patch and advice - I may have additional questions 
regarding mounting root over network.

regards,
Rafal




More information about the freebsd-ppc mailing list