You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
openwrt/target/linux
Jeff Kletsky 55e6c903ae ath79: GL-AR300M: provide NAND support; increase to 4 MB kernel
The GL.iNet GL-AR300M has been supported by the ar71xx and ath79
platforms with access to its 16 MB NOR flash, but not its 128 MB
SPI NAND flash.

This commit provides support for the NAND through the upstream
SPI-NAND framework. Devices with both NOR and NAND flash can support
independent firmware on each, with U-Boot able to boot from either.
The OEM U-Boot will fall back to the NOR firmware after three
"unsuccessful" boots.

The family of GL-AR300M devices on the ath79 platform now includes:

  * glinet,gl-ar300m-lite       "generic" target, NOR-only board
  * glinet,gl-ar300m-nand       "nand" target
  * glinet,gl-ar300m-nor        "nand" target (NAND-aware)

NB: This commit increases the kernel size from 2 MB to 4 MB

"Force-less" sysupgrade is presently supported from the current
versions of following NOR-based firmwre images to the version of
glinet,gl-ar300m-nor firmware produced by this commit:

  * gl-ar300m            -- OEM v3 NOR    ar71xx (openwrt-ar300m16-*.bin)
  * gl-ar300m            -- OpenWrt 18.06 ar71xx
  * gl-ar300m            -- OpenWrt 19.07 ar71xx

Other upgrades to these images should be performed through U-Boot.

The GL-AR300M OEM U-Boot allows upload and flashing of either NOR
firmware (sysupgrade.bin) or NAND firmware (factory.img) through its
HTTP-based GUI. Serial connectivity is not required.

The glinet,gl-ar300m-nand and glinet,gl-ar300m-nor images generated
after this commit should safely flash each other using sysupgrade.

The boot counter is implemented by the OEM using u-boot-env. At this
time, it does not appear that the switch on the side of the unit can
be used to select NOR vs. NAND boot and the fail-over is only from
NAND to NOR. To save flash wear, it is only reset when running the
glinet,gl-ar300m-nand firmware.

NAND-specific base-files are used to remove impact on existing
generic and tiny targets.

As there is now no "generic" build appropriate for the GL-AR300M16,
(or for users of the GL-AR300M that do not need access to NAND)
it will be introduced in a subsequent commit.

Note: `mtd_get_mac_binary art 0x6` does not return the proper MAC
and the GL.iNet source indicates that only the 0x0 offset is valid

The ar71xx targets are unmodified.

Signed-off-by: Jeff Kletsky <git-commits@allycomm.com>
5 years ago
..
apm821xx treewide: move MAC address patch functions to common library 5 years ago
ar7 kernel: bump 4.9 to 4.9.194 5 years ago
ar71xx ar71xx: fix MAC addresses for Archer C5 v1, C7 v1/v2, WDR4900 v2 5 years ago
arc770 treewide: remove kmod-usb-core from DEVICE_PACKAGES 5 years ago
archs38 treewide: remove kmod-usb-core from DEVICE_PACKAGES 5 years ago
armvirt armvirt: fix overlay support by updating to f2fs/ext4 based overlays 5 years ago
at91 at91: split up remaining DEVICE_TITLE definitions 5 years ago
ath25 ath25: split up DEVICE_TITLE 5 years ago
ath79 ath79: GL-AR300M: provide NAND support; increase to 4 MB kernel 5 years ago
bcm53xx bcm53xx: sysupgrade: support Luxul NAND devices 5 years ago
brcm47xx kernel: bump 4.19 to 4.19.81 5 years ago
brcm63xx brcm63xx: add linux 4.19 support 5 years ago
brcm2708 kernel: bump 4.19 to 4.19.82 5 years ago
cns3xxx treewide: sysupgrade: don't use $ARGV in platform_do_upgrade() 5 years ago
gemini treewide: remove kmod-usb-core from DEVICE_PACKAGES 5 years ago
generic kernel: bump 4.19 to 4.19.82 5 years ago
imx6 imx6: install-dtb as separate IMAGE 5 years ago
ipq40xx ipq40xx: u4019: use reset-gpios instead of phy-reset-gpio 5 years ago
ipq806x Revert "ipq806x: fix EA8500 switch control" 5 years ago
ixp4xx treewide: remove kmod-usb-core from DEVICE_PACKAGES 5 years ago
kirkwood kirkwood: Fix FS#505 - Can't install LEDE on Linksys EA3500 5 years ago
lantiq lantiq: remove redundant WiFi LED on FRITZ!Box 7320 5 years ago
layerscape kernel: bump 4.14 to 4.14.152 5 years ago
malta malta: fix overlay support by updating to f2fs/ext4 based overlays 5 years ago
mediatek kernel: bump 4.19 to 4.19.82 5 years ago
mpc85xx mpc85xx: correct TP-LINK TL-WDR4900 MAC addresses 5 years ago
mvebu x86,tegra,mvebu: image: use common reproducible IMG_PART_SIGNATURE 5 years ago
mxs mxs: start a console on USB gadget serial ports 5 years ago
octeon octeon: split up remaining DEVICE_TITLE 5 years ago
octeontx octeontx: fix thunderx BGX underflow irq name 5 years ago
omap omap: split up DEVICE_TITLE 5 years ago
orion orion: replace backticks by $(...) 5 years ago
oxnas oxnas: convert DEVICE_TITLE to new variables 5 years ago
pistachio pistachio: split up DEVICE_TITLE 5 years ago
ramips ramips: add support for ALFA Network Quad-E4G 5 years ago
rb532 rb532: split up DEVICE_TITLE 5 years ago
samsung samsung: split up DEVICE_TITLE 5 years ago
sunxi sunxi: update kernel config 5 years ago
tegra x86,tegra,mvebu: image: use common reproducible IMG_PART_SIGNATURE 5 years ago
uml kernel: Deactivate CONFIG_BINFMT_MISC 5 years ago
x86 x86,tegra,mvebu: image: use common reproducible IMG_PART_SIGNATURE 5 years ago
zynq kernel: bump 4.19 to 4.19.77 5 years ago
Makefile