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