ARM closet cleaning: Freecom FSG3 configs
Bruce Simpson
bms at incunabulum.net
Sat Dec 13 09:12:48 PST 2008
Here are the configs for the FSG3 I was hacking on, pulled from a
temporary svn branch.
cheers
BMS
-------------- next part --------------
Index: sys/arm/conf/FSG3.hints
===================================================================
--- sys/arm/conf/FSG3.hints (revision 0)
+++ sys/arm/conf/FSG3.hints (revision 0)
@@ -0,0 +1,49 @@
+# $FreeBSD$
+
+#
+# Device wiring for the Freecom FSG3
+#
+
+# DBGU is unit 0
+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"
+
+# NPE NIC's, requires ixpqmgr
+hint.npe.0.at="ixp0"
+hint.npe.0.mac="A"
+hint.npe.0.mii="A"
+hint.npe.0.phy=5
+# XXX BMSR for PHY 5 must always be forced.
+# XXX Don't use the rlswitch shared driver
+# for this side of the switch; use a different OUI.
+hint.npe.0.force_bmsr=0x402C
+hint.npe.0.force_idr1=0x000C
+hint.npe.0.force_idr2=0xC851
+
+hint.npe.1.at="ixp0"
+hint.npe.1.mac="B"
+hint.npe.1.mii="A"
+hint.npe.1.phy=4
+# Realtek RTL8305SB (Rev 1)
+# XXX BMSR must always be forced -- RTL8305SB has no ID registers.
+hint.npe.1.force_bmsr=0x4024
+hint.npe.1.force_idr1=0x001C
+hint.npe.1.force_idr2=0xC851
+
+# RTC
+hint.x1226rtc.0.at="iicbus0"
+hint.x1226rtc.0.addr=0x6f
+
+#not yet
+# Slug LED
+# Slug button
+# Slug Buzzer
Index: sys/arm/conf/FSG3.env
===================================================================
--- sys/arm/conf/FSG3.env (revision 0)
+++ sys/arm/conf/FSG3.env (revision 0)
@@ -0,0 +1 @@
+boot_verbose=YES
Index: sys/arm/conf/FSG3
===================================================================
--- sys/arm/conf/FSG3 (revision 0)
+++ sys/arm/conf/FSG3 (revision 0)
@@ -0,0 +1,153 @@
+# FSG3 - kernel configuration file for FreeBSD/arm on Freecom FSG3.
+#
+
+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 0x0 is not free in NSLU2 loader, but it *might* be free
+# in the U-Boot loader.
+# Allow 4MB (XXX) for kernel image.
+# XXX Changing this appears to bloat the tramp, why?
+#options FLASHADDR=0x01d00000
+#options LOADERRAMADDR=0x01d00000
+
+include "../xscale/ixp425/std.avila"
+#To statically compile in device wiring instead of /boot/device.hints
+hints "FSG3.hints" #Default places to look for devices.
+
+# For some reason the kernel ain't bootp-ing.
+#env "FSG3.env" # XXX set mountroot
+
+# XXX need tramp w/o symbols for <1MB
+#makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols
+makeoptions DEBUG=-g3 #Build kernel with gdb(1) debug symbols
+
+makeoptions CONF_CFLAGS=-mcpu=xscale
+options HZ=100
+options DEVICE_POLLING
+
+# XXX
+options VERBOSE_SYSINIT
+
+# Debugging for use in -current
+options KDB
+options GDB
+options DDB #Enable the kernel debugger
+
+options ALT_BREAK_TO_DEBUGGER
+
+#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_ULE #ULE scheduler
+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 NFSLOCKD #Network Lock Manager
+#options NFS_ROOT #NFS usable as /, requires NFSCLIENT
+#options MSDOSFS #MSDOS Filesystem
+#options CD9660 #ISO 9660 Filesystem
+#options PROCFS #Process filesystem (requires PSEUDOFS)
+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 MUTEX_NOINLINE #Mutex inlines are space hogs
+options RWLOCK_NOINLINE #rwlock inlines are space hogs
+options SX_NOINLINE #sx inliens are space hogs
+
+# XXX Until we can get disk drivers to attach above,
+# we will need to attempt network boot.
+options BOOTP
+options BOOTP_NFSROOT
+options BOOTP_NFSV3
+options BOOTP_WIRED_TO=npe0
+options BOOTP_COMPAT
+
+options NFSCLIENT #Network Filesystem Client
+options NFSLOCKD #Network Lock Manager
+options NFS_ROOT #NFS usable as /, requires NFSCLIENT
+
+#options GEOM_MBR
+#options GEOM_PART_MBR
+
+device mem # Memory and kernel memory devices
+device pci
+device uart
+
+# I2C Bus
+device iicbus
+device iicbb
+device iic
+
+device ixpiic # I2C bus glue
+device ixpwdog # watchdog timer
+
+device x1226rtc # I2C real-time clock
+
+####### netwerk
+
+device npe # Network Processing Engine
+device npe_fw
+device firmware
+device qmgr # Q Manager (required by npe)
+
+# XXX There is an RTL8305SB with 5 physical ports. Two are configured
+# as miibus PHYs, however the SB rev does NOT have ID registers, and
+# attempting to probe the BMSR seems to cause problems with the PHY.
+#
+# The rlswitch driver is written for the RTL8305SC, which is a totally
+# different chip -- the vlan register setup is not the same.
+#
+# ukphy is part of mii, we use that for the first port, but reject any
+# attempts to read or write PHY ID 5 (npe0).
+#
+device mii
+device rlswitch
+
+device ether
+device bpf
+
+device pty
+device loop
+
+options XSCALE_CACHE_READ_WRITE_ALLOCATE
+device md # XXX .ko candidate?
+device random # Entropy device
+
+#options ARM_USE_SMALL_ALLOC
+
+# XXX only needed for bootstrap rootfs from usb
+#device usb
+#options USB_DEBUG # XXX not needed <1MB?
+#device ohci
+#device ehci
+#device umass
+#device scbus # SCSI bus (required for SCSI)
+#device da # Direct Access (disks)
+
+# XXX PCI devices have not yet been configured, so
+# the kernel never sees the onboard VIA VT6421A.
+#device atacore
+#device atapci
+#device atavia
+#device atadisk
More information about the freebsd-embedded
mailing list