OpenRD-Client/Ultimate support

Rafal Jaworowski raj at semihalf.com
Mon Jun 21 12:08:51 UTC 2010


On 2010-06-20, at 15:03, Norikatsu Shigemura wrote:

> Hi raj, imp and mav.
> 
> 	I made some patches for OpenRD Client and Ultimate.  By my patches,
> 	I confirmed that I can use OpenRD Ultimate (Sorry, I don't have
> 	OpenRD Client).  If you OKed, I'll commit attached patches.

Great to see OpenRD converted to FDT, thanks a lot for your work!

> 	My modifications:
> 
> 	mge(4):
> 	1. Change how to get PHY numbers if not defined `phy-handle'
> 	   on a dts file.  OpenRD already set it on FreeBSD booting.
> 	   Suggested by: hrs@

Why would you want to handle a scenario when there's no phy-handle? It's mandatory if the Ethernet controller is connected to a physical layer device.

> 	2. Change how to set PHY numbers.
> 	   Suggested by: Kristof Provost

Please elaborate on what is being fixed with PHY numbering here.

> 	3. Remove waiting link-up codes.
> 	   Reported by: nyan@
> 
> 	4. Don't count-up watchdog timer if link downed.
> 	   Pointed out by: yongari@

There's also a related thread on link problems with mge(4), do you think your changes will help with these issues as well?
http://docs.freebsd.org/cgi/getmsg.cgi?fetch=118358+0+archive/2010/freebsd-net/20100620.freebsd-net

> 	mvs(4):
> 	5. FDT-ish
> 
> 	Kernel Configuration:
> 	6. Generated by DB-88F6XXX, and added some my flavour, mvs(4).
> 
> 	Device Tree Source:
> 	7. Generated by db88f6281.dts.
> 	8. Add second NIC.
> 	9. Setup MPP for OpenRD Client/Ultimate.
> 	   Obtained from: u-boot-1.1.4_2010.5.5.tar.bz2 on http://code.google.com/p/openrd/downloads/list

In general the DTS looks good, only the PHY info seems missing. There's a lot in common between DTS contents for systems based on the same SOC, and one day we should have the common piece factored out, although it's a more general problem how to make such sharing optimal, and not easy to resolve.

> 	10. Change PCI address range.
> 
> 	TODO:
> 	a. OpenRD base support (some different MPP)
> 	b. uart(4) is storange, maybe s/1066/115200/:
> 	   uart0: console (1066,n,8,1)
> 	c. PCI mem address range 0xf4000000 to 0xe8000000 (max 128MB)
> 	   In this time, I can get following results, so I set following
> 	   parameter to openrd-cl.dts.
> 	   If PCIe device require 128MB, maybe, can't allocate.
> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> 	map[10]: type Prefetchable Memory, range 32, base 0xf4000000, size 26, enabled
> 	map[14]: type Memory, range 32, base 0xf8000000, size 18, enabled
> 	map[18]: type I/O Port, range 32, base 0xf1100000, size  7, enabled
> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> 	   But I can't understand how to describe pci0: related
> 	   parameters.  So I don't have any idea to change address
> 	   window.

Note the PCI/E driver for Marvell as is in SVN has some problems (doesn't respect/force alignment of windows, which is required by hardware etc.), which might be affecting you here. We have some rework and improvements in this regard in a local tree, but I need to reintegrate them against the FDT-driven code.

Rafal



More information about the freebsd-arm mailing list