summaryrefslogtreecommitdiffstats
path: root/sys/mips/conf
diff options
context:
space:
mode:
authoradrian <adrian@FreeBSD.org>2015-10-10 05:00:18 +0000
committeradrian <adrian@FreeBSD.org>2015-10-10 05:00:18 +0000
commit90402024b42a8be51a2c4d66936b5808076789ac (patch)
tree1e2b1e6ca3704683e16037eae4908f451de87a7b /sys/mips/conf
parent3a9c9f307e6487a1a4ad84c1186a1fc0885c4e3d (diff)
downloadFreeBSD-src-90402024b42a8be51a2c4d66936b5808076789ac.zip
FreeBSD-src-90402024b42a8be51a2c4d66936b5808076789ac.tar.gz
Update the AP135 reference design flash layout to be more useful.
* Shuffle the kernel to be at the beginning * Give the kernel 2mb, the rootfs 6mb, and 'mib0' the rest * put the cfg parition just before the ART calibration data for the wifi part in the SoC * .. and make sure ART points to the right 64k region. I've updated the freebsd-wifi-build wiki the instructions on using this. If someone has an AP135 with 8MB SPI flash then this won't work; everything minus the big mib0 partition is just a bit over 8MB. Come see me if this ever happens (you'll likely just have to shrink the rootfs and the kernel a little in order to make it fit.) Tested: * AP135 reference board.
Diffstat (limited to 'sys/mips/conf')
-rw-r--r--sys/mips/conf/AP135.hints45
1 files changed, 28 insertions, 17 deletions
diff --git a/sys/mips/conf/AP135.hints b/sys/mips/conf/AP135.hints
index 3db44d0..ec7761e 100644
--- a/sys/mips/conf/AP135.hints
+++ b/sys/mips/conf/AP135.hints
@@ -127,6 +127,17 @@ hint.ath.0.eepromsize=16384
#
# bootargs=console=ttyS0,115200 root=31:02 rootfstype=jffs2 init=/sbin/init mtdparts=ath-nor0:256k(u-boot),64k(u-boot-env),6336k(rootfs),1408k(uImage),8256k(mib0),64k(ART)
+# The default flash layout isn't enough to fit a freebsd kernel
+# now, so the layout has been shuffled around.
+#
+# By default it's set to:
+# 256KB uboot, 64KB uboot-env, 6336KB rootfs, 1344KB kernel, 64KB cfg, 8256MB mib0, 64KB ART
+# With 'bootcmd=bootm 0x9f680000' in the environment.
+#
+# Instead, now let's make it:
+# 256KB uboot, 64KB uboot-env, 2048MB kernel, 6144MB rootfs, 7644KB mib0, 64KB cfg, 64KB ART
+# .. and then you change the boot env to be:
+# 'bootcmd=bootm 0x9f050000'
# 256KiB u-boot
hint.map.0.at="flash/spi0"
@@ -142,37 +153,37 @@ hint.map.1.end=0x00050000 # 64k u-boot-env
hint.map.1.name="u-boot-env"
hint.map.1.readonly=1
-# 6336KiB rootfs
+# 2048KiB kernel
hint.map.2.at="flash/spi0"
hint.map.2.start=0x00050000
-hint.map.2.end=0x00680000 # 6336k rootfs
-hint.map.2.name="rootfs"
+hint.map.2.end=0x00250000 # 2048k rootfs
+hint.map.2.name="kernel"
hint.map.2.readonly=1
-# 1344KiB uImage
+# 6144KiB rootfs
hint.map.3.at="flash/spi0"
-hint.map.3.start=0x00680000
-hint.map.3.end=0x007d0000 # 1408k uImage, 64k off the end..
-hint.map.3.name="uImage"
+hint.map.3.start=0x00250000
+hint.map.3.end=0x00850000
+hint.map.3.name="rootfs"
hint.map.3.readonly=1
-# 64KiB cfg
+# 7644KiB mib0
hint.map.4.at="flash/spi0"
-hint.map.4.start=0x007d0000
-hint.map.4.end=0x007e0000
-hint.map.4.name="cfg"
+hint.map.4.start=0x00850000
+hint.map.4.end=0x00fe0000
+hint.map.4.name="mib0"
hint.map.4.readonly=0
-# 8256 KiB mib0
+# 64KiB cfg
hint.map.5.at="flash/spi0"
-hint.map.5.start=0x007e0000
-hint.map.5.end=0x00ff0000 # 64k mib0
-hint.map.5.name="mib0"
-hint.map.5.readonly=1
+hint.map.5.start=0x00fe0000
+hint.map.5.end=0x00ff0000
+hint.map.5.name="cfg"
+hint.map.5.readonly=0
# 64KiB ART
hint.map.6.at="flash/spi0"
-hint.map.6.start=0x007f0000
+hint.map.6.start=0x00ff0000
hint.map.6.end=0x01000000 # 64k ART
hint.map.6.name="ART"
hint.map.6.readonly=1
OpenPOWER on IntegriCloud