Garrett D'Amore | 16 Nov 01:27 2005

improved Alchemy support patch

Based upon the discussions we've had so far, I'm attaching a patch that
cleans up the Alchemy support in the evbmips tree somewhat.

This patch is "incremental" -- meaning you need to have the other
patches I've submitted applied, with the notable exception of the move
of yamon -- that is in a different tree right now.

Here's what the patch does:

1) provides a generic ALCHEMY config that provides support for all
Alchemy parts I know about (notably this excludes the Au1200, but that
can probably be easily rectified if someone has an Au1200 or wants to
donate one to me. :-)  In this case, "generic" support means that
ethernet, serial, and USB devices are supported.  NO other onboard
peripherials are supported.

2) provides "stub" ZINFANDEL and CABERNET configs for Au1500 and Au1550
parts.  Right now these don't do much besides some basic validation, but
I'll be adding additional peripheral support (PCI!) to these VERY soon.

3) removes hard coded serial speed -- instead the YAMON environment is
queried for it.  A default speed can still be supplied, but it allows
sites to change this by just doing setenv in YAMON.

4) removes the clocking logic for USB, which *FIXES* the USB support for
the AU1550.  YAMON (2.23 at least) sets the clocks for USB up properly,
and the logic in the old machdep code was busted for the Au1550.  Now it
works.

5) Removes all the remaining crufty pb1000 references.  Everything that
(Continue reading)

Garrett D'Amore | 16 Nov 23:30 2005

anyone else out there?

Anyone else using or interesting in using Alchemy parts?  I know Simon
has a couple of boards, but I'm curious if there is anyone else out there.

I've made a lot of progress with improvements to the port, but I've not
submitted all of the changes yet, owing largely to the fact that I have
dependency fixes which have yet to be properly reviewed and committed.

I have gathered that Simon more or less has his plate full at the
moment, so I'd love to find other folks who are interested in the work
I'm doing, especially who are willing to either test or review my
changes.  Perhaps this can help offload Simon somewhat, and help
expedite getting these enhancements to the port committed.

--

-- 
Garrett D'Amore                          http://www.tadpolecomputer.com/
Sr. Staff Engineer          Extending the Power of 64-bit UNIX Computing
Tadpole Computer, Inc.                             Phone: (951) 325-2134

Marcin Jessa | 22 Nov 19:20 2005

Re: help: routerboard 532 with NetBSD

On Fri, 28 Oct 2005 12:43:24 -0700
"Garrett D'Amore" <garrett_damore <at> tadpole.com> wrote:

> I don't know for sure, but I'd first guess that you want to check the 
> endianness.

According to http://www.cosam.org/computers/hardware/rb500.html
it's little-endian MIPS architecture. 

The routerboard.com website says it's a "MIPS 32 4Kc based 266MHz (BIOS
adjustable from 200 to 333 MHz; 400MHz processsor factory option)
embedded processor"

> The pb1000 image is almost certainly wrong -- start with the Malta 
> image, I'd think.
> 
> It also doesn't look like you have yamon, so I'm doubtful that
> evbmips is the right port for you.  (Unless "RouterBOOT" is somehow
> yamon based, or at least provides the same vector entry points for
> console io and environment variable format.)

What is yamon? Reading at www.routerboard.com could you determine what
port would be the propriate one for this board?

Marcin

> 
> Tomas D wrote:
> 
> >Hi, I've just bought Routerboard 532
(Continue reading)

Garrett D'Amore | 22 Nov 20:26 2005

Re: help: routerboard 532 with NetBSD

Marcin Jessa wrote:

>On Fri, 28 Oct 2005 12:43:24 -0700
>"Garrett D'Amore" <garrett_damore <at> tadpole.com> wrote:
>
>  
>
>>I don't know for sure, but I'd first guess that you want to check the 
>>endianness.
>>    
>>
>
>According to http://www.cosam.org/computers/hardware/rb500.html
>it's little-endian MIPS architecture. 
>  
>
So make sure that you build a mipsel image.  This can just be part of
our standard kernel config, actually.

>The routerboard.com website says it's a "MIPS 32 4Kc based 266MHz (BIOS
>adjustable from 200 to 333 MHz; 400MHz processsor factory option)
>embedded processor"
>
>  
>
>>The pb1000 image is almost certainly wrong -- start with the Malta 
>>image, I'd think.
>>
>>It also doesn't look like you have yamon, so I'm doubtful that
>>evbmips is the right port for you.  (Unless "RouterBOOT" is somehow
(Continue reading)

Garrett D'Amore | 24 Nov 08:06 2005

PCI and Endianness on the Au15XX

Well, I've done a lot of testing lately of my PCI code and the Alchemy
Au1550 and Au1500 onchip PCI controllers.

I'm not too happy with my findings.  Basically, everything works fine in
little endian mode.  In big endian mode, I cannot get correct results
with DMA.  PIO works fine.  Devices that have onboard endian swapping
and autodetect in their drivers (e.g. ath, maybe others) seem to work OK.

It seems that no matter how I program the chip, it doesn't want to do
"the right thing", which is stream bytes from the device into my DMA region.

I have requested help from AMD on the matter, but right not I'm not too
optimistic -- I kind of expect them to say "just run it little endian".

So, the question becomes what to do about this.  I can leave PCI
enabled, with the caveat that most DMA mastering devices will not work
if the part is big-endian.  Or I can fail to attach the PCI bus if in
big-endian mode (which is safe, but may be limiting in some configs.)

Are there any other thoughts on the matter?  I'd love to hear from
anyone with experience or suggestions relating to PCI and endianness
with these parts, but right now I suspect that the number of such folks
is pretty small, and likely even zero (not including myself) for NetBSD.

The second question is whether I should wait for an answer from AMD
(which could take a while) before submitting my changes, which at least
work well in little endian mode.

Thoughts?

(Continue reading)


Gmane