summaryrefslogtreecommitdiffstats
path: root/sys/mips
diff options
context:
space:
mode:
authorallanjude <allanjude@FreeBSD.org>2015-11-17 21:02:27 +0000
committerallanjude <allanjude@FreeBSD.org>2015-11-17 21:02:27 +0000
commit2832a618fc6e3ea1f7db0c9ceca44216b99bd609 (patch)
tree000f3202f0f908510efceaa8689a5038fae6f6e0 /sys/mips
parent3de9025c5c34fbd67d89ecee08190a4c4fa30fe5 (diff)
downloadFreeBSD-src-2832a618fc6e3ea1f7db0c9ceca44216b99bd609.zip
FreeBSD-src-2832a618fc6e3ea1f7db0c9ceca44216b99bd609.tar.gz
Add a kernel config for the Onion Omega
Small $25 IoT device, 400mhz Atheros cpu, Atheros WiFi and Ethernet 18 GPIOs, and support for Relay, Servo, and OLED expansion https://onion.io/omega/ Reviewed by: adrian Approved by: bapt (mentor) Relnotes: yes Sponsored by: ScaleEngine Inc. Differential Revision: https://reviews.freebsd.org/D4188
Diffstat (limited to 'sys/mips')
-rw-r--r--sys/mips/conf/ONIONOMEGA53
-rw-r--r--sys/mips/conf/ONIONOMEGA.hints94
2 files changed, 147 insertions, 0 deletions
diff --git a/sys/mips/conf/ONIONOMEGA b/sys/mips/conf/ONIONOMEGA
new file mode 100644
index 0000000..94c8a33
--- /dev/null
+++ b/sys/mips/conf/ONIONOMEGA
@@ -0,0 +1,53 @@
+#
+# Onion Omega - an AR9330 based SoC
+#
+# https://onion.io/omega/
+#
+# * AR9330 SoC
+# * 64MB RAM
+# * 16MB flash
+# * Integrated 1x1 2GHz wifi and optional 10/100 ethernet
+#
+# $FreeBSD$
+#
+
+# Include the default AR933x parameters
+include "AR933X_BASE"
+
+ident ONIONOMEGA
+
+# Override hints with board values
+hints "ONIONOMEGA.hints"
+
+# Board memory - 64MB
+options AR71XX_REALMEM=(64*1024*1024)
+
+# i2c GPIO bus
+#device gpioiic
+#device iicbb
+#device iicbus
+#device iic
+
+# Options required for miiproxy and mdiobus
+options ARGE_MDIO # Export an MDIO bus separate from arge
+device miiproxy # MDIO bus <-> MII PHY rendezvous
+
+device etherswitch
+device arswitch
+
+# read MSDOS formatted disks - USB
+#options MSDOSFS
+
+# Enable the uboot environment stuff rather then the
+# redboot stuff.
+options AR71XX_ENV_UBOOT
+
+# uzip - to boot natively from flash
+device geom_uncompress
+options GEOM_UNCOMPRESS
+
+# Used for the static uboot partition map
+device geom_map
+
+# Boot off of the rootfs, as defined in the geom_map setup.
+options ROOTDEVNAME=\"ufs:map/rootfs.uncompress\"
diff --git a/sys/mips/conf/ONIONOMEGA.hints b/sys/mips/conf/ONIONOMEGA.hints
new file mode 100644
index 0000000..d3a6869
--- /dev/null
+++ b/sys/mips/conf/ONIONOMEGA.hints
@@ -0,0 +1,94 @@
+#
+# This file adds to the values in AR933X_BASE.hints.
+#
+# $FreeBSD$
+
+# mdiobus on arge1
+hint.argemdio.0.at="nexus0"
+hint.argemdio.0.maddr=0x1a000000
+hint.argemdio.0.msize=0x1000
+hint.argemdio.0.order=0
+
+# Embedded Atheros Switch
+hint.arswitch.0.at="mdio0"
+
+# XXX this should really say it's an AR933x switch, as there
+# are some vlan specific differences here!
+hint.arswitch.0.is_7240=1
+hint.arswitch.0.numphys=4
+hint.arswitch.0.phy4cpu=1 # phy 4 is a "CPU" separate PHY
+hint.arswitch.0.is_rgmii=0
+hint.arswitch.0.is_gmii=1 # arge1 <-> switch PHY is GMII
+
+# arge0 - MII, autoneg, phy(4)
+hint.arge.0.phymask=0x10 # PHY4
+hint.arge.0.mdio=mdioproxy1 # .. off of the switch mdiobus
+hint.arge.0.eeprommac=0x1fff0000
+
+# arge1 - GMII, 1000/full
+hint.arge.1.phymask=0x0 # No directly mapped PHYs
+hint.arge.1.media=1000
+hint.arge.1.fduplex=1
+hint.arge.1.eeprommac=0x1fff0006
+
+# 16MB flash layout:
+# [ 0.510000] 5 tp-link partitions found on MTD device spi0.0
+# [ 0.510000] Creating 5 MTD partitions on "spi0.0":
+# [ 0.520000] 0x000000000000-0x000000020000 : "u-boot"
+# [ 0.520000] 0x000000020000-0x000000136468 : "kernel"
+# [ 0.530000] 0x000000136468-0x000000ff0000 : "rootfs"
+# [ 0.530000] mtd: device 2 (rootfs) set to be root filesystem
+# [ 0.540000] 1 squashfs-split partitions found on MTD device rootfs
+# [ 0.540000] 0x000000730000-0x000000fe0000 : "rootfs_data"
+# [ 0.540000] 0x000000fe0000-0x000000ff0000 : "nvram"
+# [ 0.550000] 0x000000ff0000-0x000001000000 : "art"
+# [ 0.560000] 0x000000020000-0x000000fe0000 : "firmware"
+
+# 64KiB uboot
+hint.map.0.at="flash/spi0"
+hint.map.0.start=0x00000000
+hint.map.0.end=0x00010000
+hint.map.0.name="u-boot"
+hint.map.0.readonly=1
+
+# 64KiB uboot
+hint.map.1.at="flash/spi0"
+hint.map.1.start=0x00010000
+hint.map.1.end=0x00020000
+hint.map.1.name="uboot-env"
+hint.map.1.readonly=1
+
+# kernel
+hint.map.2.at="flash/spi0"
+hint.map.2.start=0x00020000
+hint.map.2.end="search:0x00020000:0x10000:.!/bin/sh"
+hint.map.2.name="kernel"
+hint.map.2.readonly=1
+
+# rootfs ulzma
+hint.map.3.at="flash/spi0"
+hint.map.3.start="search:0x00020000:0x10000:.!/bin/sh"
+hint.map.3.end=0x00fe0000
+hint.map.3.name="rootfs"
+hint.map.3.readonly=1
+
+# 64KiB cfg
+hint.map.4.at="flash/spi0"
+hint.map.4.start=0x00fe0000
+hint.map.4.end=0x00ff0000
+hint.map.4.name="cfg"
+hint.map.4.readonly=0
+
+# all firmware 16000KiB
+hint.map.5.at="flash/spi0"
+hint.map.5.start=0x00020000
+hint.map.5.end=0x00ff0000
+hint.map.5.name="firmware"
+hint.map.5.readonly=0
+
+# 64KiB ART
+hint.map.6.at="flash/spi0"
+hint.map.6.start=0x00ff0000
+hint.map.6.end=0x01000000
+hint.map.6.name="ART"
+hint.map.6.readonly=1
OpenPOWER on IntegriCloud