From d5c2c0134b1d9e650bf9bac8e32219c34c3bd646 Mon Sep 17 00:00:00 2001 From: Adrian Chadd Date: Fri, 25 Dec 2015 00:58:41 +0000 Subject: [PATCH] Add initial configuration files for the MT7620 and RT5350 SoCs. These are all works in progress. Notably - no wifi support just yet! I've booted the MT7620 on a TP-Link Archer C2 via tftpboot. Submitted by: Stanislav Galabov --- sys/mips/conf/MT7620 | 149 +++++++++++++++++++++++++++++++++++++ sys/mips/conf/MT7620.hints | 143 +++++++++++++++++++++++++++++++++++ sys/mips/conf/RT5350 | 125 +++++++++++++++++++++++++++++++ sys/mips/conf/RT5350.hints | 35 +++++++++ 4 files changed, 452 insertions(+) create mode 100644 sys/mips/conf/MT7620 create mode 100644 sys/mips/conf/MT7620.hints create mode 100644 sys/mips/conf/RT5350 create mode 100644 sys/mips/conf/RT5350.hints diff --git a/sys/mips/conf/MT7620 b/sys/mips/conf/MT7620 new file mode 100644 index 000000000000..4c4c18ad1006 --- /dev/null +++ b/sys/mips/conf/MT7620 @@ -0,0 +1,149 @@ +# MT7620 -- Kernel configuration file for FreeBSD/mips for Ralink MT7620 systems +# +# 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$ + +ident MT7620 + +machine mips mipsel +makeoptions MIPS_LITTLE_ENDIAN=defined +makeoptions KERNLOADADDR=0x80010000 + +# Don't build any modules yet. +#makeoptions MODULES_OVERRIDE="wlan_xauth wlan_wep wlan_tkip wlan_acl wlan_amrr wlan_ccmp wlan_rssadapt if_bridge bridgestp msdosfs md ipfw dummynet libalias geom/geom_label ufs usb/uplcom usb/u3g usb/umodem usb/umass usb/ucom cam zlib" +makeoptions MODULES_OVERRIDE="" +makeoptions MT7620 + +include "../rt305x/std.rt305x" + +hints "MT7620.hints" #Default places to look for devices. + +#makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols + +options MT7620 +options RT305X_UBOOT + +# Debugging for use in -current +options DEADLKRES #Enable the deadlock resolver +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 DEBUG_LOCKS +#options DEBUG_VFS_LOCKS +#options GDB +options DDB +options KDB + +options SCHED_ULE +#options SCHED_4BSD #4BSD scheduler +#options COMPAT_43 +options INET #InterNETworking +options NFSCL #Network Filesystem Client +options NFS_ROOT #NFS usable as /, requires NFSCL +options PSEUDOFS #Pseudo-filesystem framework +#options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions + +#options BOOTP +#options BOOTP_NFSROOT +#options BOOTP_NFSV3 +#options BOOTP_WIRED_TO=rt0 +#options BOOTP_COMPAT +#options CD9660 # ISO 9660 Filesystem +#options ROOTDEVNAME=\"cd9660:/dev/map/rootfs.uncompress\" +#options TMPFS # TMP Memory Filesystem + +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 ROOTDEVNAME=\"nfs:10.0.0.1:/mnt/bsd\" + +# Options for making kernel less hangry +#makeoptions INLINE_LIMIT=1024 +#options MAXUSERS=3 +#options MAXFILES=512 +#options NSFBUFS=256 +#options SHMALL=128 +#options MSGBUF_SIZE=65536 + +# Options for making kernel smallest +#options NO_SYSCTL_DESCR # No description string of sysctl +#options NO_FFS_SNAPSHOT # Disable Snapshot supporting +#options SCSI_NO_SENSE_STRINGS +#options SCSI_NO_OP_STRINGS +#options RWLOCK_NOINLINE +#options SX_NOINLINE +#options NO_SWAPPING +options MROUTING # Multicast routing +options IPFIREWALL_DEFAULT_TO_ACCEPT + +options GEOM_UNCOMPRESS +options MD_ROOT +options ROOTDEVNAME=\"ufs:da0s1\" + +device md + +device random +device loop +# RT3050F, RT3052F have only pseudo PHYs, so mii not required +device rt + +device spibus +device mx25l + +device ether +device miibus +device bpf # Berkeley packet filter +device vlan +device lagg +device if_bridge +device uart +nodevice uart_ns8250 +#device tun # Packet tunnel. + +#device wlan + + +#device gpio +#device gpioled + +#device cfi # Detect Flash memmory +#device cfid + +#device nvram2env + +device usb +device ehci +#device ohci +#device dwcotg # DWC like USB OTG Controller driver +#device u3g +#device umodem +#device uplcom +device cdce +device umass +device da +device pass +device scbus +options SCSI_DELAY=1000 # Delay (in ms) before probing SCSI + +#options USB_EHCI_BIG_ENDIAN_DESC # handle big-endian byte order +#options USB_DEBUG +#options USB_REQ_DEBUG + +device pci diff --git a/sys/mips/conf/MT7620.hints b/sys/mips/conf/MT7620.hints new file mode 100644 index 000000000000..dd35bbd306d8 --- /dev/null +++ b/sys/mips/conf/MT7620.hints @@ -0,0 +1,143 @@ +# $FreeBSD$ +# device.hints +hint.obio.0.at="nexus0" +hint.obio.0.maddr=0x10000000 +hint.obio.0.msize=0x10000000 + +hint.pcib.0.at="nexus0" +hint.pcib.0.maddr=0x10140000 +hint.pcib.0.msize=0x30000 + +hint.mx25l.0.at="spibus0" + +#hint.nvram.0.sig=0xe5e60a74 +#hint.nvram.0.base=0x1f030000 +#hint.nvram.0.maxsize=0x2000 +#hint.nvram.0.flags=3 # 1 = No check, 2 = Format Generic +#hint.nvram.1.sig=0x5a045e94 +#hint.nvram.1.base=0x1f032000 +#hint.nvram.1.maxsize=0x4000 +#hint.nvram.1.flags=3 # 1 = No check, 2 = Format Generic + +# on-board Ralink Frame Engine +hint.rt.0.at="nexus0" +hint.rt.0.maddr=0x10100000 +hint.rt.0.msize=0x10000 +hint.rt.0.irq=3 +# macaddr can be statically set +#hint.rt.0.macaddr="xx:xx:xx:xx:xx:xx" + +# on-board Ralink 2872 802.11n core +hint.rt2860.0.at="nexus0" +hint.rt2860.0.maddr=0x10180000 +hint.rt2860.0.msize=0x40000 +hint.rt2860.0.irq=4 + +# uart0 +#hint.uart.0.at="obio0" +#hint.uart.0.maddr=0x10000C00 +#hint.uart.0.msize=0x100 +#hint.uart.0.irq=12 +#hint.uart.0.flags="0x30" + +# uart1 +#hint.uart.1.at="obio0" +#hint.uart.1.maddr=0x10000500 +#hint.uart.1.msize=0x100 +#hint.uart.1.irq=5 +#hint.uart.1.flags="0x30" + + +# gpio +# GPIO0 - WPS BTN IN II IO +#hint.gpiobutton.0.at="gpiobus0" +#hint.gpiobutton.0.pins="0x01" +#hint.gpiobutton.0.name="wps" +#hint.gpiobutton.0.flags="0x0581" + +# GPIO7 - MODE SW AP IN II IO +#hint.gpiobutton.1.at="gpiobus0" +#hint.gpiobutton.1.pins="0x80" +#hint.gpiobutton.1.name="mode_ap" +#hint.gpiobutton.1.flags="0x0581" + +# GPIO8 - ST LEDRED OUT /* 2pin BiDir RED/BLUE LED */ +# GPIO9 - ST LEDBLUE OUT +#hint.gpioled.0.at="gpiobus0" +#hint.gpioled.0.pins="0x100" +#hint.gpioled.0.name="status_red" +#hint.gpioled.0.flags="0x0002" +#hint.gpioled.1.at="gpiobus0" +#hint.gpioled.1.pins="0x200" +#hint.gpioled.1.name="status_blue" +#hint.gpioled.1.name="status" +#hint.gpioled.1.flags="0x0002" + +# GPIO10 - RST BTN IN II IO +#hint.gpiobutton.2.at="gpiobus0" +#hint.gpiobutton.2.pins="0x400" +##hint.gpiobutton.2.name="reset" +#hint.gpiobutton.2.flags="0x0581" + +# GPIO11 - MODE SW CL IN II IO +#hint.gpiobutton.3.at="gpiobus0" +#hint.gpiobutton.3.pins="0x800" +#hint.gpiobutton.3.name="mode_wlan_client" +#hint.gpiobutton.3.flags="0x0581" + +# GPIO14 - WPS LED OUT II IO +#hint.gpioled.2.at="gpiobus0" +#hint.gpioled.2.pins="0x4000" +#hint.gpioled.2.name="wps" +#hint.gpioled.2.flags="0x0182" + + + +#0x00000000-0x00030000 : "Bootloader" +#0x00030000-0x00040000 : "Factory" +#0x00040000-0x00070000 : "Config" +#0x00070000-0x000b0000 : "Language" +#0x000b0000-0x001a0000 : "Kernel" +#0x001a0000-0x01000000 : "RootFS" + +#hint.map.0.at="cfid0" +#hint.map.0.start=0x00000000 +#hint.map.0.end=0x00030000 +#hint.map.0.name="bootloader" +#hint.map.0.readonly=1 + +#hint.map.1.at="cfid0" +#hint.map.1.start=0x00030000 +#hint.map.1.end=0x00040000 +#hint.map.1.name="factory" + +#hint.map.2.at="cfid0" +#hint.map.2.start=0x00040000 +#hint.map.2.end=0x00800000 +#hint.map.2.name="upgrade" + +#hint.map.3.at="cfid0" +#hint.map.3.start=0x00040000 +#hint.map.3.end=0x00050000 +#hint.map.3.name="config" + +#hint.map.4.at="cfid0" +#hint.map.4.start=0x00000000 +#hint.map.4.end=0x00000000 +#hint.map.4.name="language" + +#hint.map.5.at="cfid0" +#hint.map.5.start=0x00050000 +#hint.map.5.end=0x00150000 +#hint.map.5.name="kernel" + +#hint.map.6.at="cfid0" +#hint.map.6.start=0x00150000 +#hint.map.6.end=0x00800000 +#hint.map.6.name="rootfs" + + +#hint.rt.0.phymask=0x1f +#hint.rt.0.media=100 +#hint.rt.0.fduplex=1 + diff --git a/sys/mips/conf/RT5350 b/sys/mips/conf/RT5350 new file mode 100644 index 000000000000..b6ec20bc2ab6 --- /dev/null +++ b/sys/mips/conf/RT5350 @@ -0,0 +1,125 @@ +# RT5350 -- Kernel configuration file for FreeBSD/mips for Ralink RT5350 systems +# +# 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$ + +ident RT5350 + +machine mips mipsel +makeoptions MIPS_LITTLE_ENDIAN=defined +makeoptions KERNLOADADDR=0x80001000 + +# Don't build any modules yet. +makeoptions MODULES_OVERRIDE="wlan_xauth wlan_wep wlan_tkip wlan_acl wlan_amrr wlan_ccmp wlan_rssadapt if_bridge bridgestp msdosfs md ipfw dummynet libalias geom/geom_label ufs usb/uplcom usb/u3g usb/umodem usb/umass usb/ucom cam zlib" +makeoptions RT5350 + +include "../rt305x/std.rt305x" + +hints "RT5350.hints" #Default places to look for devices. + +#makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols + +options RT5350 +options RT305X_UBOOT + +# Debugging for use in -current +options DEADLKRES #Enable the deadlock resolver +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 DEBUG_LOCKS +#options DEBUG_VFS_LOCKS +#options GDB +options DDB +options KDB + +options SCHED_ULE +options INET #InterNETworking +#options NFSCL #Network Filesystem Client +#options NFS_ROOT #NFS usable as /, requires NFSCL +options PSEUDOFS #Pseudo-filesystem framework +#options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions + +#options BOOTP +#options BOOTP_NFSROOT +#options BOOTP_NFSV3 +#options BOOTP_WIRED_TO=rt0 +#options BOOTP_COMPAT + +options TMPFS # TMP Memory Filesystem + +options FFS #Berkeley Fast Filesystem +#options ROOTDEVNAME=\"nfs:193.178.153.200:/bsdmips\" + +#device geom_uncompress +#options GEOM_UNCOMPRESS +#options MD_ROOT +#options ROOTDEVNAME=\"ufs:md0.uncompress\" + +# Options for making kernel less hangry +makeoptions INLINE_LIMIT=1024 +options MAXUSERS=3 +options MAXFILES=512 +options NSFBUFS=256 +options SHMALL=128 +options MSGBUF_SIZE=65536 + +# Options for making kernel smallest +options NO_SYSCTL_DESCR # No description string of sysctl +#options NO_FFS_SNAPSHOT # Disable Snapshot supporting +options SCSI_NO_SENSE_STRINGS +options SCSI_NO_OP_STRINGS +options RWLOCK_NOINLINE +options SX_NOINLINE +options NO_SWAPPING +options MROUTING # Multicast routing +options IPFIREWALL_DEFAULT_TO_ACCEPT + +#device md +device random +device loop +# RT3050F, RT3052F have only pseudo PHYs, so mii not required +device rt + +device ether +device bpf # Berkeley packet filter +device vlan +#device lagg +#device if_bridge +device uart +nodevice uart_ns8250 +device tun # Packet tunnel. + +device wlan + +#device gpio +#device gpioled + +#device nvram2env + +device spibus +device mx25l + +device usb +device ehci +options SCSI_DELAY=1000 # Delay (in ms) before probing SCSI + +#options USB_EHCI_BIG_ENDIAN_DESC # handle big-endian byte order +#options USB_DEBUG +#options USB_REQ_DEBUG diff --git a/sys/mips/conf/RT5350.hints b/sys/mips/conf/RT5350.hints new file mode 100644 index 000000000000..61220fe55a9d --- /dev/null +++ b/sys/mips/conf/RT5350.hints @@ -0,0 +1,35 @@ +# $FreeBSD$ +# device.hints +hint.obio.0.at="nexus0" +hint.obio.0.maddr=0x10000000 +hint.obio.0.msize=0x10000000 + +hint.mx25l.0.at="spibus0" + +#hint.nvram.0.sig=0xe5e60a74 +#hint.nvram.0.base=0x1f030000 +#hint.nvram.0.maxsize=0x2000 +#hint.nvram.0.flags=3 # 1 = No check, 2 = Format Generic +#hint.nvram.1.sig=0x5a045e94 +#hint.nvram.1.base=0x1f032000 +#hint.nvram.1.maxsize=0x4000 +#hint.nvram.1.flags=3 # 1 = No check, 2 = Format Generic + +# on-board Ralink Frame Engine +hint.rt.0.at="nexus0" +hint.rt.0.maddr=0x10100000 +hint.rt.0.msize=0x10000 +hint.rt.0.irq=3 +# macaddr can be statically set +#hint.rt.0.macaddr="xx:xx:xx:xx:xx:xx" + +# on-board Ralink 2872 802.11n core +hint.rt2860.0.at="nexus0" +hint.rt2860.0.maddr=0x10180000 +hint.rt2860.0.msize=0x40000 +hint.rt2860.0.irq=4 + +hint.rt.0.phymask=0x1f +hint.rt.0.media=100 +hint.rt.0.fduplex=1 +