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