Date: Tue, 27 May 2008 02:46:32 +0100 From: Bruce M Simpson <bms@incunabulum.net> To: freebsd-embedded@freebsd.org Subject: Freecom FSG-3 Storage Gateway Message-ID: <483B67F8.2040802@incunabulum.net>
next in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. --------------040209090909040205000200 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Hi, It looks as though most, but not all, of the low level board support needed for this device was done for AVILA (thanks guys!). Here I attach configs for those who wish to try. I haven't tried booting this yet, a kernel builds OK using KERNCONF=FSG3 and 7.0-RELEASE sources. The main issue is going to be the IXP's NPE queues. The PHY indexes used are different on the FSG3 and it's not immediately obvious to me how to reprogram those PHY indexes in the IXP. There are a couple of devices such as the real-time clock which live on the I2C bus which would need small drivers written. There is an Ethernet switch ASIC which probably hangs off the GPIO pins. A pending Linux git import with the FSG stuff is here: http://www.linux.org.uk/pub/armlinux/source/kernel-patches/git-cur/arm:devel.diff cheers BMS --------------040209090909040205000200 Content-Type: text/plain; name="FSG3" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="FSG3" # FSG3 -- Freecom FSG-3 Storage Gateway # kernel configuration file for FreeBSD/arm # # For more information on this file, please read the handbook section on # Kernel Configuration Files: # # http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html # # The handbook is also available locally in /usr/share/doc/handbook # if you've installed the doc distribution, otherwise always see the # FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the # latest information. # # An exhaustive list of options and more detailed explanations of the # device lines is also present in the ../../conf/NOTES and NOTES files. # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # # $FreeBSD$ # TODO: NPE PHY remapping. # TODO: RedBoot support. # TODO: Gettign the ethernet addresses out of the RedBoot config area. # TODO: Missing a driver for the RTL8305SB switch ASIC onboard. # TODO: Intel NOR flash (probably already hadnled by IXP BSP) # TODO: GPIO LEDs (could be same as AVILA; check Linux BSP.) # TODO: Winbond W83782G hardware monitoring chip at iic0. # TODO: Intersil ISL1208 RTC+SRAM chip at iic0. Not a drop-in for ds1672. machine arm ident FSG3 options PHYSADDR=0x10000000 options KERNPHYSADDR=0x10200000 options KERNVIRTADDR=0xc0200000 # Used in ldscript.arm options FLASHADDR=0x50000000 options LOADERRAMADDR=0x00000000 options STARTUP_PAGETABLE_ADDR=0x10000000 # XXX Currently this file depends on the IXP425 specific # BSP stuff in the avila_machdep.c file. # That will have to change however... include "../xscale/ixp425/std.avila" #To statically compile in device wiring instead of /boot/device.hints hints "FSG3.hints" makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols makeoptions CONF_CFLAGS=-mcpu=xscale options HZ=100 options DEVICE_POLLING options KDB options DDB #Enable the kernel debugger #options GDB #options INVARIANTS #Enable calls of extra sanity checking #options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS #options WITNESS #Enable checks to detect deadlocks and cycles #options WITNESS_SKIPSPIN #Don't run witness on spinlocks for speed #options DIAGNOSTIC options SCHED_4BSD #4BSD scheduler options KSE options INET #InterNETworking options INET6 #IPv6 communications protocols options FFS #Berkeley Fast Filesystem options SOFTUPDATES #Enable FFS soft updates support options UFS_ACL #Support for access control lists options UFS_DIRHASH #Improve performance on big directories options NFSCLIENT #Network Filesystem Client options NFSSERVER #Network Filesystem Server options NFS_ROOT #NFS usable as /, requires NFSCLIENT options CD9660 #ISO 9660 Filesystem options PSEUDOFS #Pseudo-filesystem framework options SCSI_DELAY=5000 #Delay (in ms) before probing SCSI options KTRACE #ktrace(1) support options SYSVSHM #SYSV-style shared memory options SYSVMSG #SYSV-style message queues options SYSVSEM #SYSV-style semaphores options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions options KBD_INSTALL_CDEV # install a CDEV entry in /dev # XXX notyet, we need a working NPE mapping first. #options BOOTP #options BOOTP_NFSROOT #options BOOTP_NFSV3 #options BOOTP_WIRED_TO=npe0 #options BOOTP_COMPAT options VERBOSE_SYSINIT device genclock device nexus device mem # Memory and kernel memory devices device md device random device pci device uart # I2C Bus device iicbus device iicbb device iic device ixpiic device ixpwdog # watchdog timer device ata device atadisk # ATA disk drives device npe # Network Processing Engine device npe_fw device firmware device qmgr # Q Manager (required by npe) device miibus # NB: required by npe device ether device bpf device pty device loop options XSCALE_CACHE_READ_WRITE_ALLOCATE #options ARM_USE_SMALL_ALLOC device usb options USB_DEBUG device uhci device ohci device ehci --------------040209090909040205000200 Content-Type: text/plain; name="FSG3.hints" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="FSG3.hints" # $FreeBSD$ # # Device wiring for the Freecom FSG-3 Storage Gateway. # # 64MB SDRAM onboard. # # DBGU is unit 0 # XXX This looks correct (against uncommitted Linux changes). hint.uart.0.at="ixp0" hint.uart.0.addr=0xc8000000 hint.uart.0.irq=15 hint.uart.0.flags=0x10 # USART0 is unit 1 hint.uart.1.at="ixp0" hint.uart.1.addr=0xc8001000 hint.uart.1.irq=13 # NPE Hardware Queue Manager hint.ixpqmgr.0.at="ixp0" # XXX Do NOT attach these yet. The FSG3 has a totally # different NPE port mapping from the IXDP425 or Coyote. # See Linux 2.6 fsg-setup.c for more info (still pending in git). # ... on further reading, we just need to be able to tie # down the PHY numbers for each port. # Port 0 is PHY 5; Port 1 is on PHY 4. # Also, we need to dike out the Ethernet addresses from # the Redboot config area in flash. # #hint.npe.0.at="ixp0" #hint.npe.1.at="ixp0" --------------040209090909040205000200--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?483B67F8.2040802>