summaryrefslogtreecommitdiffstats
path: root/sys/mips
diff options
context:
space:
mode:
authorsgalabov <sgalabov@FreeBSD.org>2016-04-15 15:20:41 +0000
committersgalabov <sgalabov@FreeBSD.org>2016-04-15 15:20:41 +0000
commit46a0c35daefaba28e1547c1daacf6043df548b59 (patch)
treee550934b61c97eddcb930fae1f9c73be686102f1 /sys/mips
parent6eb306ad3571a086d1860d00afb97c1d2c94705c (diff)
downloadFreeBSD-src-46a0c35daefaba28e1547c1daacf6043df548b59.zip
FreeBSD-src-46a0c35daefaba28e1547c1daacf6043df548b59.tar.gz
In order to build a kernel with one of these configs the user should do
the following: 1. Give the appropriate board dts file to be used by either: 1.1. edit the SoC kernel config required (e.g., MT7620A_FDT) and include the required FDT_DTS_FILE makeoption; or 1.2. simply supply FDT_DTS_FILE="xx.dts" on the command line when building the kernel Of course, the user can also create a completely new kernel config to match the desired board and include the SoC kernel config from within it. If required, edit the MEDIATEK config file, which includes optional drivers and comment out the unneeded ones. 2.1. this would only make sense if kernel size is a concern. Even if we build the kernel with all drivers, if we lzma it and package it as a uImage, its size is still around 1.1MiB. The user will have to choose a dts file (or create a new one) from sys/gnu/dts/mips , where all Mediatek/Ralink dts files will be imported via a later revision. Approved by: adrian (mentor) Sponsored by: Smartcom - Bulgaria AD Differential Revision: https://reviews.freebsd.org/D5966
Diffstat (limited to 'sys/mips')
-rw-r--r--sys/mips/conf/MEDIATEK81
-rw-r--r--sys/mips/conf/MEDIATEK_BASE89
-rw-r--r--sys/mips/conf/MT7620A_FDT30
-rw-r--r--sys/mips/conf/MT7620N_FDT30
-rw-r--r--sys/mips/conf/MT7621_FDT30
-rw-r--r--sys/mips/conf/MT7628_FDT30
-rw-r--r--sys/mips/conf/RT3050_FDT31
-rw-r--r--sys/mips/conf/RT3352_FDT30
-rw-r--r--sys/mips/conf/RT3883_FDT30
-rw-r--r--sys/mips/conf/RT5350_FDT30
10 files changed, 411 insertions, 0 deletions
diff --git a/sys/mips/conf/MEDIATEK b/sys/mips/conf/MEDIATEK
new file mode 100644
index 0000000..4cf8225
--- /dev/null
+++ b/sys/mips/conf/MEDIATEK
@@ -0,0 +1,81 @@
+#
+# MEDIATEK -- Kernel configuration file for FreeBSD/MIPS Mediatek/Ralink SoCs
+#
+# This includes all the configurable parts of the kernel. Please read through
+# the sections below and customize the options to fit your board if needed.
+#
+# $FreeBSD$
+#
+
+#NO_UNIVERSE
+
+# Don't build any modules by default
+makeoptions MODULES_OVERRIDE=""
+
+#
+# Default rootfs device configuration, should be changed to suit target board
+#
+options ROOTDEVNAME=\"ufs:md0.uzip\"
+
+#
+# Optional drivers section
+#
+# What follows is optional support drivers for the Mediatek SoCs.
+# The kernel can be compiled without them if size is a concern.
+# All optional drivers are built by default.
+#
+
+# Support geom_uzip(4) compressed disk images
+device geom_uzip
+options GEOM_UZIP
+
+# Support md(4) and md-based rootfs
+device md
+options MD_ROOT
+
+# SPI and SPI flash support
+device spibus
+device mx25l
+
+# GPIO and gpioled support
+device gpio
+device gpioled
+
+# PCI support
+device pci
+
+#
+# USB (ehci, ohci, xhci, otg) support. Unneeded drivers can be commented in
+# order to lower kernel size. See below for driver SoC support.
+#
+# For all SoCs that require USB support
+device usb
+# For RT3050, RT3052 and RT3350 SoCs
+device dwcotg
+# For RT3352, RT3662, RT3883, RT5350, MT7620, MT7628 and MT7688
+device ohci
+device ehci
+# For MT7621, or cases where the target board has a XHCI controller on PCI
+# (for example Asus RT-N65U)
+device xhci
+
+# USB umass(4) storage and da(4) support
+device umass
+device da
+
+# ahci(4) and ada(4) support, depends on PCI
+device ahci
+device ada
+
+# CAM support, required if either umass(4) or ahci(4) is enabled above
+device pass
+device scbus
+
+# Ethernet, BPS and bridge support
+device rt
+device bpf
+device if_bridge
+
+# Extres
+device ext_resources
+device clk
diff --git a/sys/mips/conf/MEDIATEK_BASE b/sys/mips/conf/MEDIATEK_BASE
new file mode 100644
index 0000000..5e6c0ad
--- /dev/null
+++ b/sys/mips/conf/MEDIATEK_BASE
@@ -0,0 +1,89 @@
+#
+# MEDIATEK_BASE -- Base kernel configuration file for FreeBSD/MIPS
+# Mediatek/Ralink SoCs.
+#
+# This includes all the required drivers for the SoCs.
+# Ususally, users should not build this kernel configuration. It is provided
+# only as a minimum base, from which customizations can be made. Please look
+# at MEDIATEK kernel configuration for customization details.
+#
+# $FreeBSD$
+#
+
+#NO_UNIVERSE
+
+# Include the standard file list for Mediatek SoCs.
+files "../mediatek/files.mtk"
+
+# Building a mips/mipsel kernel
+machine mips mipsel
+
+# Little-endian machine
+makeoptions MIPS_LITTLE_ENDIAN=defined
+
+# Default kernel load address
+makeoptions KERNLOADADDR=0x80001000
+
+# Mediatek/Ralink SoC support depends on FDT (with static DTB for the moment)
+options FDT
+options FDT_DTB_STATIC
+
+# We rely on MIPS_INTRNG code
+options MIPS_INTRNG
+options MIPS_NIRQ=256
+
+# We rely on NEW_PCIB code
+options NEW_PCIB
+
+# Build kernel with gdb(1) debug symbols
+makeoptions DEBUG=-g
+
+# Support for DDB and KDB
+options DDB
+options KDB
+
+# Debugging for use in -current
+options INVARIANTS
+options INVARIANT_SUPPORT
+options WITNESS
+options WITNESS_SKIPSPIN
+options DEBUG_REDZONE
+options DEBUG_MEMGUARD
+
+# For small memory footprints
+options VM_KMEM_SIZE_SCALE=1
+
+# General options, including scheduler, etc.
+options SCHED_ULE # ULE scheduler
+options INET # InterNETworking
+#options INET6 # IPv6
+options PSEUDOFS # Pseude-filesystem framework
+options FFS # Berkeley Fast Filesystem
+#options SOFTUPDATES # Enable FFS soft updates support
+#options UFS_ACL # Support for access control lists
+#options UFS_DIRHASH # Improve big directory performance
+#options MSDOSFS # Enable support for MSDOS filesystems
+options _KPOSIX_PRIORITY_SCHEDULING # Posix P1003_1B real-time ext.
+
+#
+# Standard drivers section
+#
+# The drivers in the following section are required in order to successfully
+# compile the kernel.
+#
+
+# FDT clock and pinctrl framework
+device fdt_clock
+device fdt_pinctrl
+
+# UART support
+device uart
+
+# random support
+device random
+
+# loop device support
+device loop
+
+# ether device support
+device ether
diff --git a/sys/mips/conf/MT7620A_FDT b/sys/mips/conf/MT7620A_FDT
new file mode 100644
index 0000000..8468304
--- /dev/null
+++ b/sys/mips/conf/MT7620A_FDT
@@ -0,0 +1,30 @@
+#
+# MT7620A_FDT -- Kernel configuration file for FreeBSD/MIPS MT7620A SoC
+#
+# This includes all the configurable parts of the kernel. Please read through
+# MEDIATEK kernel config and customize the options to fit your board if needed.
+#
+# $FreeBSD$
+#
+
+#NO_UNIVERSE
+
+#
+# FDT_DTS_FILE should be modified to suit the target board type.
+#
+#makeoptions FDT_DTS_FILE=MT7620a.dts
+
+#
+# The user should never have to edit what's below this line.
+# If customizations are needed, they should be done to the MEDIATEK kernel
+# configuration.
+#
+
+# Start with a base configuration
+include MEDIATEK_BASE
+
+ident MT7620A
+cpu CPU_MIPS24K
+
+# Include optional configuration (to be edited by the user if needed)
+include MEDIATEK
diff --git a/sys/mips/conf/MT7620N_FDT b/sys/mips/conf/MT7620N_FDT
new file mode 100644
index 0000000..64222df
--- /dev/null
+++ b/sys/mips/conf/MT7620N_FDT
@@ -0,0 +1,30 @@
+#
+# MT7620N_FDT -- Kernel configuration file for FreeBSD/MIPS MT7620N SoC
+#
+# This includes all the configurable parts of the kernel. Please read through
+# MEDIATEK kernel config and customize the options to fit your board if needed.
+#
+# $FreeBSD$
+#
+
+#NO_UNIVERSE
+
+#
+# FDT_DTS_FILE should be modified to suit the target board type.
+#
+#makeoptions FDT_DTS_FILE=WRTNODE.dts
+
+#
+# The user should never have to edit what's below this line.
+# If customizations are needed, they should be done to the MEDIATEK kernel
+# configuration.
+#
+
+# Start with a base configuration
+include MEDIATEK_BASE
+
+ident MT7620N
+cpu CPU_MIPS24K
+
+# Include optional configuration (to be edited by the user if needed)
+include MEDIATEK
diff --git a/sys/mips/conf/MT7621_FDT b/sys/mips/conf/MT7621_FDT
new file mode 100644
index 0000000..a80c953
--- /dev/null
+++ b/sys/mips/conf/MT7621_FDT
@@ -0,0 +1,30 @@
+#
+# MT7621_FDT -- Kernel configuration file for FreeBSD/MIPS MT7621 SoC
+#
+# This includes all the configurable parts of the kernel. Please read through
+# MEDIATEK kernel config and customize the options to fit your board if needed.
+#
+# $FreeBSD$
+#
+
+#NO_UNIVERSE
+
+#
+# FDT_DTS_FILE should be modified to suit the target board type.
+#
+#makeoptions FDT_DTS_FILE=ZBT-WG2626.dts
+
+#
+# The user should never have to edit what's below this line.
+# If customizations are needed, they should be done to the MEDIATEK kernel
+# configuration.
+#
+
+# Start with a base configuration
+include MEDIATEK_BASE
+
+ident MT7621
+cpu CPU_MIPS1004K
+
+# Include optional configuration (to be edited by the user if needed)
+include MEDIATEK
diff --git a/sys/mips/conf/MT7628_FDT b/sys/mips/conf/MT7628_FDT
new file mode 100644
index 0000000..bbffa65
--- /dev/null
+++ b/sys/mips/conf/MT7628_FDT
@@ -0,0 +1,30 @@
+#
+# MT7628_FDT -- Kernel configuration file for FreeBSD/MIPS MT7628/MT7688 SoCs
+#
+# This includes all the configurable parts of the kernel. Please read through
+# MEDIATEK kernel config and customize the options to fit your board if needed.
+#
+# $FreeBSD$
+#
+
+#NO_UNIVERSE
+
+#
+# FDT_DTS_FILE should be modified to suit the target board type.
+#
+#makeoptions FDT_DTS_FILE=MT7628.dts
+
+#
+# The user should never have to edit what's below this line.
+# If customizations are needed, they should be done to the MEDIATEK kernel
+# configuration.
+#
+
+# Start with a base configuration
+include MEDIATEK_BASE
+
+ident MT7628
+cpu CPU_MIPS24K
+
+# Include optional configuration (to be edited by the user if needed)
+include MEDIATEK
diff --git a/sys/mips/conf/RT3050_FDT b/sys/mips/conf/RT3050_FDT
new file mode 100644
index 0000000..435020f
--- /dev/null
+++ b/sys/mips/conf/RT3050_FDT
@@ -0,0 +1,31 @@
+#
+# RT3050_FDT -- Kernel configuration file for FreeBSD/MIPS RT3050/RT3052/RT3350
+# SoCs
+#
+# This includes all the configurable parts of the kernel. Please read through
+# MEDIATEK kernel config and customize the options to fit your board if needed.
+#
+# $FreeBSD$
+#
+
+#NO_UNIVERSE
+
+#
+# FDT_DTS_FILE should be modified to suit the target board type.
+#
+#makeoptions FDT_DTS_FILE=DIR-600-B1.dts
+
+#
+# The user should never have to edit what's below this line.
+# If customizations are needed, they should be done to the MEDIATEK kernel
+# configuration.
+#
+
+# Start with a base configuration
+include MEDIATEK_BASE
+
+ident RT3050
+cpu CPU_MIPS24K
+
+# Include optional configuration (to be edited by the user if needed)
+include MEDIATEK
diff --git a/sys/mips/conf/RT3352_FDT b/sys/mips/conf/RT3352_FDT
new file mode 100644
index 0000000..ec33b9c
--- /dev/null
+++ b/sys/mips/conf/RT3352_FDT
@@ -0,0 +1,30 @@
+#
+# RT3352_FDT -- Kernel configuration file for FreeBSD/MIPS RT3352 SoC
+#
+# This includes all the configurable parts of the kernel. Please read through
+# MEDIATEK kernel config and customize the options to fit your board if needed.
+#
+# $FreeBSD$
+#
+
+#NO_UNIVERSE
+
+#
+# FDT_DTS_FILE should be modified to suit the target board type.
+#
+#makeoptions FDT_DTS_FILE=DIR-615-H1.dts
+
+#
+# The user should never have to edit what's below this line.
+# If customizations are needed, they should be done to the MEDIATEK kernel
+# configuration.
+#
+
+# Start with a base configuration
+include MEDIATEK_BASE
+
+ident RT3352
+cpu CPU_MIPS24K
+
+# Include optional configuration (to be edited by the user if needed)
+include MEDIATEK
diff --git a/sys/mips/conf/RT3883_FDT b/sys/mips/conf/RT3883_FDT
new file mode 100644
index 0000000..6229e2c
--- /dev/null
+++ b/sys/mips/conf/RT3883_FDT
@@ -0,0 +1,30 @@
+#
+# RT3883_FDT -- Kernel configuration file for FreeBSD/MIPS RT3662/RT3883 SoCs
+#
+# This includes all the configurable parts of the kernel. Please read through
+# MEDIATEK kernel config and customize the options to fit your board if needed.
+#
+# $FreeBSD$
+#
+
+#NO_UNIVERSE
+
+#
+# FDT_DTS_FILE should be modified to suit the target board type.
+#
+#makeoptions FDT_DTS_FILE=DIR-645.dts
+
+#
+# The user should never have to edit what's below this line.
+# If customizations are needed, they should be done to the MEDIATEK kernel
+# configuration.
+#
+
+# Start with a base configuration
+include MEDIATEK_BASE
+
+ident RT3883
+cpu CPU_MIPS74K
+
+# Include optional configuration (to be edited by the user if needed)
+include MEDIATEK
diff --git a/sys/mips/conf/RT5350_FDT b/sys/mips/conf/RT5350_FDT
new file mode 100644
index 0000000..827bdd3
--- /dev/null
+++ b/sys/mips/conf/RT5350_FDT
@@ -0,0 +1,30 @@
+#
+# RT5350_FDT -- Kernel configuration file for FreeBSD/MIPS RT5350 SoC
+#
+# This includes all the configurable parts of the kernel. Please read through
+# MEDIATEK kernel config and customize the options to fit your board if needed.
+#
+# $FreeBSD$
+#
+
+#NO_UNIVERSE
+
+#
+# FDT_DTS_FILE should be modified to suit the target board type.
+#
+#makeoptions FDT_DTS_FILE=DIR-300-B7.dts
+
+#
+# The user should never have to edit what's below this line.
+# If customizations are needed, they should be done to the MEDIATEK kernel
+# configuration.
+#
+
+# Start with a base configuration
+include MEDIATEK_BASE
+
+ident RT5350
+cpu CPU_MIPS24K
+
+# Include optional configuration (to be edited by the user if needed)
+include MEDIATEK
OpenPOWER on IntegriCloud