openwrtv4/target/linux
Mathias Kresin 0b62fe5ed8 lantiq: complete AVM FRITZ!Box 3370 support
Rename the image and use a compatible string which indicates that only
hardware revision 2 and higher is supported.

It allows to use the wireless LED, as HWRev 1 uses GPIO#39 for the
wireless LED and starting with HWRev 2 GPIO#35 is used for the wireless
LED and GPIO#39 for IFX_GPIO_MODULE_EXTPHY_MDIO.

The HWREV can be checked by connecting to the fritzbox right after power
on via ftp:

  ftp> quote GETENV HWSubRevision

Within the same HW revision 5 of the Fritz!Box 3370 different NAND flash
chips are used. Usually it isn't a big deal but depending on the used
NAND flash chip, the ECC calculation is done different (and incompatible
of course).

Boards with a Micron MT29F1G08ABADA NAND flash chip are using the NAND
chip to calculate the ECC (on-die). Boards with a Hynix HY27UF081G2M NAND
flash chip are doing the ECC calculation in software.

Supporting both with a single DTS isn't possible. It might be possible
to add a patch selecting the ECC mode dynamicaly based on the found NAND
flash chip. But such a patch has no chance to get accepted upstream and
most likely need to be touched with every kernel update.

Instead two images are created. One for Micron NAND flash chip and one
for Hynix NAND flash chip. So far no pattern is known to identify the
used flash chip without opening the box.

Add the power off GPIO. At least EVA version 2186 sets/keeps the GPIO as
input, which will cause a reboot 30sec after power on. For boards with
EVA version 2186 the installation is tricky as it has to be finished
within the 30sec time frame.

The EVA version can be checked by connecting to the fritzbox right after
power on via ftp:

  ftp> quote GETENV urlader-version

The ath9k eeprom/caldata is at a different and offset and stored in
reverse order (from the last byte to the beginning) on the flash.
Reverse the bits to bring the data into the format expected by the
ath9k driver.

Since the ath9k eeprom is stored in reverse order on flash, we can not
use the mac address from the on flash eeprom. Get the MAC address from
the tffs instead.

Within the same HW revision 5 of the Fritz!Box 3370 both version of the
vr9 SoC are used. During preparation of kernel 4.14 support, all
devicetree source files were changed to load the vr9 v1.1 and vr9 v1.2
gphy firmware, which fixed the embedded phys for boards using the
version 1.2 of the vr9 SoC.

While at it, add a trigger to make use of the LAN LED. Setup the
build-in switch and add a hint for LuCI two show the ports in order
matching the labels on the case

Add support for the second USB port and provide the volatage GPIOs. Use
GPIO#21 as PCIe reset pin. The lan led is connected to GPIO#38.

Name the rootfs partition ubi and remove the mtd/rootfs related kernel
bootargs to use the OpenWrt autoprobing based on the partition name.

Enable sysupgrade support to allow an upgrade from a running system.
Since sysupgrade wasn't supported till now, drop image build code which
was added to allow a sysupgrade from earlier OpenWrt versions.

Build images that allow an (initial) installation via EVA bootloader.

To install OpenWrt via Eva bootloader, within the first seconds after
power on a ftp connection need to be established to the FRITZ!Box at
192.168.178.1 and the the following ftp commands need to be run:

  ftp> quote USER adam2
  ftp> quote PASS adam2
  ftp> binary
  ftp> debug
  ftp> passive
  ftp> quote SETENV linux_fs_start 0
  ftp> quote MEDIA FLSH
  ftp> put /path/to/openwrt-lantiq-xrx200-FRITZ3370-eva-kernel.bin mtd1
  ftp> put /path/to/openwrt-lantiq-xrx200-FRITZ3370-eva-filesystem.bin mtd0

Signed-off-by: Andrea Merello <andrea.merello@gmail.com>
Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-05-17 07:40:19 +02:00
..
adm5120 treewide: remove obsolete sysupgrade watchdog kill 2018-02-16 14:44:02 +01:00
adm8668
apm821xx build: consolidate fake uImage header build commands 2018-04-20 20:58:52 +02:00
ar7 kernel: bump 4.9 to 4.9.82 2018-02-18 02:59:57 +01:00
ar71xx ar71xx: fix and improve ALFA Network Tube2H support 2018-05-09 20:32:47 +02:00
arc770 arc770: mark as source-only 2017-10-28 13:59:03 +02:00
archs38 kernel: bump 4.14 to 4.14.20 2018-02-18 02:59:48 +01:00
armvirt arm64: enable harden branch predictor 2018-04-27 21:34:18 +02:00
at91 at91: sama5d4: fix bad mkubifs options 2018-05-13 18:33:47 +02:00
ath25 kernel: bump 4.9 to 4.9.96 2018-04-26 08:53:54 +02:00
ath79 ath79: fix gmac compatible in ar9330.dtsi and ag71xx_setup_gmac_933x 2018-05-15 06:38:07 +02:00
au1000 treewide: remove obsolete sysupgrade watchdog kill 2018-02-16 14:44:02 +01:00
bcm53xx bcm53xx: backport the first bunch of 4.18 BCM5301X patches 2018-05-12 15:38:55 +02:00
brcm47xx brcm47xx: switch to the kernel 4.14 2018-05-08 09:55:10 +02:00
brcm63xx brcm63xx: remove linux 4.4 support 2018-04-27 15:19:19 +02:00
brcm2708 kernel: add missing config symbols 2018-04-27 21:34:00 +02:00
cns3xxx kernel: bump 4.14 to 4.14.36 2018-04-26 08:54:01 +02:00
gemini gemini: Augment DIR-685 device tree for RTL8366RB 2018-05-14 16:24:10 +02:00
generic kernel: use accepted version of bcm47xxpart fix commit 2018-05-12 23:53:44 +02:00
imx6 kernel: generic: Move config option to generic 2018-03-02 21:32:19 +01:00
ipq40xx kernel: bump 4.14 to 4.14.36 2018-04-26 08:54:01 +02:00
ipq806x kernel: bump 4.9 to 4.9.96 2018-04-26 08:53:54 +02:00
ixp4xx kernel: update kernel 4.9 to version 4.9.91 2018-03-31 16:31:26 +02:00
kirkwood kirkwood: support for buttons in Audi and Viper 2018-05-15 06:39:37 +02:00
lantiq lantiq: complete AVM FRITZ!Box 3370 support 2018-05-17 07:40:19 +02:00
layerscape kernel: add missing config symbols 2018-04-27 21:34:00 +02:00
malta malta: bump tp v4.14 2018-01-09 10:26:16 +01:00
mcs814x build: replace uses of OpenWrt with $(VERSION_DIST) 2018-02-05 10:15:53 +01:00
mediatek kernel: bump 4.14 to 4.14.36 2018-04-26 08:54:01 +02:00
mpc85xx build: consolidate fake uImage header build commands 2018-04-20 20:58:52 +02:00
mvebu mvebu: add support for WRT32X (venom) 2018-05-14 17:20:10 +02:00
mxs mxs: drop support for 4.9 2018-02-20 13:25:00 +01:00
octeon octeon: switch to kernel 4.14 2018-02-08 19:04:38 +01:00
octeontx arm64: enable harden branch predictor 2018-04-27 21:34:18 +02:00
omap omap: remove linux 4.4 support 2018-04-19 14:38:53 +02:00
omap24xx omap24xx: remove referece to not existing kmod-usb-musb-tusb6010 2018-01-15 13:13:34 +01:00
orion orion: remove linux 4.4 support 2018-04-19 14:38:57 +02:00
oxnas kernel: bump 4.4 to 4.4.119 2018-03-03 12:58:56 +01:00
pistachio kernel: bump 4.14 to 4.14.34 2018-04-16 00:22:57 +03:00
ppc40x treewide: drop target board_name functions 2017-07-15 23:13:34 +02:00
ppc44x ppc44x: mark as broken 2017-01-10 12:49:34 +01:00
ramips Revert "ramips: mmc: Sync with staging drivers" 2018-05-15 12:42:40 +02:00
rb532 treewide: move nand_do_upgrade call to platform_do_upgrade 2018-02-16 14:44:02 +01:00
sunxi arm64: enable harden branch predictor 2018-04-27 21:34:18 +02:00
uml uml: Remove 4.4 patches 2018-03-08 11:44:26 -08:00
x86 x86: Use kernel 4.14 by default 2018-02-18 19:51:58 +01:00
xburst target: disable CONFIG_PROC_PAGE_MONITOR on most targets 2018-01-13 15:04:15 +01:00
zynq target: disable CONFIG_PROC_PAGE_MONITOR on most targets 2018-01-13 15:04:15 +01:00
Makefile