1178171Simp#
2178171Simp# $FreeBSD$
3178171Simp#
4178171Simp# The Broadcom Sentry5 series of processors and boards is very commonly
5178171Simp# used in COTS hardware including the Netgear WGT634U.
6178171Simp#
7178171Simp# Some tweaks are needed for use with this platform:
8178171Simp#
9178171Simp# * CFE firmware's ELF loader expects an ELF kernel which is linked so as
10178171Simp#   not to contain offsets in PT_LOAD which point behind the actual offset
11178171Simp#   of that PT header. FreeBSD normally links the first PT_LOAD header to
12178171Simp#   begin at offset 0.
13178171Simp#
14178171Simp# * Broadcom's support package for the internal bus, the Sonics
15178171Simp#   SiliconBackplane, needs to be integrated to detect and probe hardware
16178171Simp#   correctly.
17178171Simp#
18178171Simp# * The clock needs to be calibrated correctly, so that DELAY() may work.
19178171Simp#   One problem with this is that the low-level printf() routine calls DELAY(),
20178171Simp#   which currently causes divide-by-zero trap
21178171Simp#
22178171Simp# * The Broadcom CPUs have no FPU. Attempting to detect one by reading CP1's
23178171Simp#   status register causes an unhandled boot-time exception. An FPU emulator
24178171Simp#   will be necessary to support multi-user boot.
25178171Simp#
26178171Simp
27178171Simpident		SENTRY5
28302190Slandonfcpu		CPU_MIPS4KC
29302190Slandonfmakeoptions	TRAMPLOADADDR=0x807963c0
30178171Simp
31178171Simphints		"SENTRY5.hints"
32302190Slandonfinclude		"../broadcom/std.broadcom"
33178171Simp
34178171Simp# sentry5 normally ships with cfe firmware; use the console for now
35263301Simpoptions 	CFE
36263301Simpoptions 	CFE_CONSOLE
37263301Simpoptions 	ALT_BREAK_TO_DEBUGGER
38178171Simp
39178171Simpmakeoptions	DEBUG=-g		#Build kernel with gdb(1) debug symbols
40178171Simpmakeoptions	MODULES_OVERRIDE=""
41178171Simp
42263301Simpoptions 	DDB
43263301Simpoptions 	KDB
44178171Simp
45263301Simpoptions 	SCHED_4BSD		#4BSD scheduler
46263301Simpoptions 	INET			#InterNETworking
47263301Simpoptions 	NFSCL			#Network Filesystem Client
48263301Simpoptions 	NFS_ROOT		#NFS usable as /, requires NFSCL
49263301Simpoptions 	PSEUDOFS		#Pseudo-filesystem framework
50263301Simpoptions 	_KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions
51178171Simp
52178171Simp# Debugging for use in -current
53215270Simp#options 	DEADLKRES
54263301Simpoptions 	INVARIANTS
55263301Simpoptions 	INVARIANT_SUPPORT
56178171Simp
57215270Simp#options 	BUS_DEBUG
58178171Simp#makeoptions	BUS_DEBUG
59178171Simp
60301410Slandonfdevice		bhnd
61301410Slandonfdevice		siba
62301410Slandonfdevice		siba_nexus
63301410Slandonfdevice		bhnd_pcib
64301410Slandonfdevice		pci			# bhnd_pcib
65178171Simp
66215270Simp# device 	bfe			# XXX will build both pci and siba
67215270Simp# device 	miibus			# attachments
68178171Simp
69178171Simp# pci devices
70178171Simp# notyet:
71178171Simp#device		ath			# in pci slot
72220185Sadrian#device		ath_pci			# Atheros pci/cardbus glue
73185522Ssam#device		ath_hal			# pci chip support
74263301Simp#options 	AH_SUPPORT_AR5416	# enable AR5416 tx/rx descriptors
75178171Simp
76207077Sthompsaoptions 	USB_DEBUG		# enable debug msgs
77178171Simpdevice		usb			# USB Bus (required)
78178171Simpdevice		uhci			# UHCI PCI->USB interface
79178171Simpdevice		ehci			# EHCI PCI->USB interface (USB 2.0)
80178171Simp
81302190Slandonfdevice		cfi			# parallel flash
82302190Slandonfdevice		cfid
83178171Simp
84302190Slandonfdevice		uart
85178171Simp
86178171Simpdevice		loop
87178171Simpdevice		ether
88178171Simpdevice		md
89