changeset 522:827467eecaf7

Add Athero AR9331 SoC support.
author Aleksandr Rybalko <ray@ddteam.net>
date Sat, 07 Nov 2015 01:30:35 +0200
parents b7b11903158a
children 9ac53695a44d
files socs/Atheros/AR9331/soc.hints socs/Atheros/AR9331/soc.mk
diffstat 2 files changed, 159 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/socs/Atheros/AR9331/soc.hints	Sat Nov 07 01:30:35 2015 +0200
@@ -0,0 +1,58 @@
+# This file (and the kernel config file accompanying it) are not designed 
+# to be used by themselves. Instead, users of this file should create a
+# kernel # config file which includes this file (which gets the basic hints),
+# then override the default options (adding devices as needed) and adding
+# hints as needed (for example, the GPIO and LAN PHY.)
+
+# $FreeBSD: head/sys/mips/conf/AR933X_BASE.hints 252242 2013-06-26 05:02:47Z adrian $
+
+hint.apb.0.at="nexus0"
+hint.apb.0.irq=4
+
+# uart0
+hint.uart.0.at="apb0"
+# NB: This isn't an ns8250 UART
+hint.uart.0.maddr=0x18020000
+hint.uart.0.msize=0x18
+hint.uart.0.irq=3
+
+#ehci - note the 0x100 offset for the AR913x/AR724x
+hint.ehci.0.at="nexus0"
+hint.ehci.0.maddr=0x1b000100
+hint.ehci.0.msize=0x00ffff00
+hint.ehci.0.irq=1
+
+hint.arge.0.at="nexus0"
+hint.arge.0.maddr=0x19000000
+hint.arge.0.msize=0x1000
+hint.arge.0.irq=2
+
+hint.arge.1.at="nexus0"
+hint.arge.1.maddr=0x1a000000
+hint.arge.1.msize=0x1000
+hint.arge.1.irq=3
+
+# XXX The ath device hangs off of the AHB, rather than the Nexus.
+hint.ath.0.at="nexus0"
+hint.ath.0.maddr=0x18100000
+hint.ath.0.msize=0x20000
+hint.ath.0.irq=0
+hint.ath.0.vendor_id=0x168c
+hint.ath.0.device_id=0x0035
+
+# SPI flash
+hint.spi.0.at="nexus0"
+hint.spi.0.maddr=0x1f000000
+hint.spi.0.msize=0x00ff0000 # Exclude ART block
+
+hint.mx25l.0.at="spibus0"
+hint.mx25l.0.cs=0
+
+# Watchdog
+hint.ar71xx_wdog.0.at="nexus0"
+
+# The GPIO function and pin mask is configured per-board
+hint.gpio.0.at="apb0"
+hint.gpio.0.maddr=0x18040000
+hint.gpio.0.msize=0x1000
+hint.gpio.0.irq=2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/socs/Atheros/AR9331/soc.mk	Sat Nov 07 01:30:35 2015 +0200
@@ -0,0 +1,101 @@
+# Atheros AR9331 support profile.
+
+TARGET=			mips
+TARGET_ARCH=		mips
+
+KERNCONF_MACHINE=	${TARGET} ${TARGET_ARCH}
+KERNCONF_IDENT?=	AR9331
+KERNCONF_CPU=		CPU_MIPS4KC
+KERNCONF_FILES+=	"../atheros/files.ar71xx"
+
+KERNCONF_KERNLOADADDR?=		0x80050000
+KERNCONF_OPTIONS+=		ALQ
+KERNCONF_OPTIONS+=		HZ=1000
+KERNCONF_OPTIONS+=		MAXUSERS=3
+KERNCONF_OPTIONS+=		MAXFILES=512
+KERNCONF_OPTIONS+=		SHMALL=128
+KERNCONF_OPTIONS+=		MSGBUF_SIZE=65536
+
+# Options for making kernel smallest 
+KERNCONF_OPTIONS+=		NO_SYSCTL_DESCR		# No description string of sysctl
+KERNCONF_OPTIONS+=		NO_FFS_SNAPSHOT		# Disable Snapshot supporting
+KERNCONF_OPTIONS+=		SCSI_NO_SENSE_STRINGS
+KERNCONF_OPTIONS+=		SCSI_NO_OP_STRINGS
+
+# Board definitions
+KERNCONF_OPTIONS+=	INET
+KERNCONF_OPTIONS+= 	TMPFS
+KERNCONF_OPTIONS+= 	CD9660
+KERNCONF_DEVICES+=	geom_uncompress
+
+# Project definitions
+KERNCONF_OPTIONS+=	SCHED_4BSD
+KERNCONF_OPTIONS+=	PSEUDOFS
+KERNCONF_OPTIONS+=	_KPOSIX_PRIORITY_SCHEDULING
+
+KERNCONF_DEVICES+=	uart
+KERNCONF_DEVICES+=	uart_ar933x
+KERNCONF_DEVICES+=	random
+KERNCONF_DEVICES+=	loop
+KERNCONF_DEVICES+=	ether
+KERNCONF_DEVICES+= 	tun
+KERNCONF_DEVICES+= 	pty
+KERNCONF_DEVICES+= 	bpf
+KERNCONF_DEVICES+=	vlan
+
+KERNCONF_DEVICES+=	mii
+KERNCONF_DEVICES+=	arge
+
+KERNCONF_DEVICES+=	gpio
+
+KERNCONF_DEVICES+=	mx25l
+KERNCONF_DEVICES+=	spibus
+KERNCONF_DEVICES+=	ar71xx_spi
+KERNCONF_DEVICES+=	ar71xx_wdog
+KERNCONF_DEVICES+=	ar71xx_apb
+
+
+.if defined(WITH_IPSEC)
+KERNCONF_OPTIONS+=      IPSEC
+KERNCONF_OPTIONS+=      IPSEC_NAT_T
+
+KERNCONF_DEVICES+=	enc
+KERNCONF_DEVICES+=	ipsec
+KERNCONF_DEVICES+=	crypto
+.endif
+
+.if !defined(WITHOUT_WIRELESS) && !defined(WITH_WIRELESS_MODULES)
+# Wireless NIC cards
+KERNCONF_OPTIONS+=      IEEE80211_SUPPORT_MESH
+KERNCONF_OPTIONS+=      IEEE80211_SUPPORT_TDMA
+KERNCONF_OPTIONS+=      IEEE80211_SUPPORT_SUPERG
+KERNCONF_DEVICES+=	wlan            # 802.11 support
+KERNCONF_DEVICES+=	wlan_wep        # 802.11 WEP support
+KERNCONF_DEVICES+=	wlan_ccmp       # 802.11 CCMP support
+KERNCONF_DEVICES+=	wlan_tkip       # 802.11 TKIP support
+KERNCONF_DEVICES+=	wlan_xauth	# 802.11 hostap support
+
+# ath(4)
+KERNCONF_DEVICES+=	ath             # Atheros network device
+KERNCONF_DEVICES+=	ath_rate_sample
+KERNCONF_DEVICES+=	ath_ahb		# Atheros host bus glue
+KERNCONF_OPTIONS+=      ATH_ENABLE_11N
+KERNCONF_DEVICES+=	ath_ar9300		# AR9330 HAL; no need for the others
+KERNCONF_OPTIONS+=      AH_SUPPORT_AR5416	# 11n HAL support
+KERNCONF_OPTIONS+=      AH_SUPPORT_AR9330	# Chipset support
+KERNCONF_OPTIONS+=      AH_AR5416_INTERRUPT_MITIGATION
+.endif
+
+.if defined(WITH_USB)
+KERNCONF_OPTIONS+=	USB_EHCI_BIG_ENDIAN_DESC
+KERNCONF_OPTIONS+=	USB_HOST_ALIGN=32
+
+KERNCONF_DEVICES+=	usb
+KERNCONF_DEVICES+=	ehci
+
+KERNCONF_DEVICES+=	umass
+
+# SCSI peripherals
+KERNCONF_DEVICES+=     scbus
+KERNCONF_DEVICES+=     da
+.endif