aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/lantiq
Commit message (Collapse)AuthorAgeFilesLines
* lantiq: use img file extension for DGN3500 factory imagesMathias Kresin2017-07-041-5/+5
| | | | | | | | The Netgear UI in basic mode refuses the upgrade file if the the fileextension is not img. The expert/advanced mode accepts any fileextension. Use img to make it work in any case. Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: fix broadcasts and vlans in two iface modeMathias Kresin2017-06-031-5/+6
| | | | | | | | | | | | | | | | | The two phy operation mode where one phy is assigned to an interface without lantiq,* device tree property and the other phy is assigned to an interface with the lantiq,wan device property was broken with the multicast package leaks between vlans fixes. Move the multicast packages relevant portmap settings to the condition which handles multicast packages for better readability. Replace the priv->port_map based port_map only for the interface which has the lantiq,switch device tree property set, to allow tagged multicast packages in two phy mode where the lantiq,switch device tree property isn't used. Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: select kmod-mt7603 instead of kmod-mt76 for WBMR-300HPDFelix Fietkau2017-06-031-1/+1
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* lantiq: use the P2812HNUF* wan port as wanMathias Kresin2017-06-031-1/+1
| | | | | | | The port is labeled as wan and was only used as lan port because of the "tx ring full" issues fixed with 8f02f7c. Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: xrx200: use vlan for ethernet wan portMathias Kresin2017-06-034-39/+9
| | | | | | | | | | | | | | | | | | | | | | | Using the lantiq,wan device tree property for one interface node and the lantiq,switch device tree property for another interface node at the same time was never intended/isn't supported at the moment. The property is meant to be used in two phy operation mode where one phy is assigned to an interface without lantiq,* device tree property and the other phy is assigned to an interface with the lantiq,wan device property to have two netdevs. If both properties are used at the same time, the lantiq,wan interface is shown as independent netdev but not able to operate independent. The port needs to be managed via swconfig. These dependency is not obvious and fooled already a lot of users. Add a default WAN vlan for xrx200 devices having an ethernet WAN port and remove the lantiq,wan device tree property. Leave it up to the user to set the ethernet WAN port as default WAN interface or to use this port as additional LAN port. Signed-off-by: Mathias Kresin <dev@kresin.me>
* kernel: update kernel 4.4 to 4.4.69Stijn Segers2017-05-242-2/+89
| | | | | | | | | | | | | | | | | | | | | Bump the 17.01 tree kernel to 4.4.69. Trunk 4.4 and 17.01 4.4 have diverged, talked this through with jow, he was okay with a clean diff against 17.01 and not a backported trunk patch. The following patches were applied upstream: * 062-[1-6]-MIPS-* series * 042-0004-mtd-bcm47xxpart-fix-parsing-first-block Reintroduced lantiq/patches-4.4/0050-MIPS-Lantiq-Fix-cascaded-IRQ-setup, as it was incorrectly included upstream thus dropped from LEDE, but subsequently reverted upstream. Thanks to Kevin Darbyshire-Bryant for pointing me to it. Compile-tested on: ar71xx, ramips/mt7621, x86/64. Run-tested on: ar71xx, ramips/mt7621, x86/64. Signed-off-by: Stijn Segers <francesco.borromini@inventati.org>
* lantiq: fix avm fritz box mac addressesMathias Kresin2017-05-055-9/+17
| | | | | | | | | It has been shown that the Fritz boxes have the correct mac address set in the wireless calibration data/eeeprom. Use this mac address as base for the ethernet and xdsl interface increment/decrement the address to match the values stored in the tffs. Signed-off-by: Mathias Kresin <dev@kresin.me>
* kernel: update kernel 4.4 to 4.4.61Jo-Philipp Wich2017-04-152-89/+2
| | | | Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* kernel: update kernel 4.4 to 4.4.59Hauke Mehrtens2017-04-021-53/+0
| | | | Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* lantiq: fix broadcast packets leaking on the wrong vlan on xrx200Felix Fietkau2017-02-231-5/+6
| | | | | | | | | | | | | | | The ethernet driver uses a port map override via special tag to control the ports on which multicast packets are sent. This was added to work around an issue in the switch that was occasionally leaking packets onto the wrong vlan. Unfortunately the change had some leftover lines that were overwrting the port map with a list of all ports, thus always leaking packets onto the wront vlan. Fix this by only enabling the override with the VLAN port map and only if a matching VLAN port map was actually found Signed-off-by: Felix Fietkau <nbd@nbd.name>
* lantiq: set the internet led interface according to wan interfaceMathias Kresin2017-02-181-0/+1
| | | | | | | | Use the nas0 interface for the netdev trigger as default. Use the ptm0 interface for xRX200 boards to match the default wan interface set in 02_network. Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: introduce lantiq_is_vdsl_systemMathias Kresin2017-02-182-1/+5
| | | | | | | Move the code to check if the current system is a system with vdsl support to a dedicate function to make it reusable. Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: fix ARV7519RW22 switch port indexingMathias Kresin2017-02-181-1/+1
| | | | | | Fixes FS#454. Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: fix patching the wifi mac address on BTHOMEHUBV3AMartin Blumenstingl2017-02-131-1/+1
| | | | | | | | | | | | | | | | | | | The firmware hotplug script tries to read the mac address from a partition with the name "uboot-env" which does not exist (instead it's name is uboot_env). This broke calculation of the new checksum (after patching the mac address) which resulted in ath9k refusing to use the EEPROM data. The original error reported by ath9k was: PCI: Enabling device 0000:00:0e.0 (0000 -> 0002) ath: phy0: Bad EEPROM checksum 0x2523 ath: phy0: Unable to initialize hardware; initialization status: -22 ath9k 0000:00:0e.0: Failed to initialize device Fixes: a20616863d32d9 ("lantiq: use ath9k device tree bindings binding/owl-loader") Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
* lantiq: fix unaligned access in xrx200_poll_rx()Alexander Couzens2017-01-301-2/+2
| | | | Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
* lantiq: fix brnImage signature for the VGV7510KW22BRN imagesMathias Kresin2017-01-281-2/+2
| | | | | | | | The VGV7510KW22BRN and VGV7519BRN do not have the same brnImage signature. It was accidentally changed with ba42c1d ("lantiq: un-macro the image building code"). Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: remove CPU_TYPE:=mips32r2, it gets overwritten anywayFelix Fietkau2017-01-241-2/+0
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: remove mips16 feature flag from target makefilesFelix Fietkau2017-01-244-4/+4
| | | | | | | It can be implicitly derived from the MIPS32 revision support in the kernel configuration Signed-off-by: Felix Fietkau <nbd@nbd.name>
* lantiq: fix an ethernet stability issue triggered by receving packets during ↵Felix Fietkau2017-01-191-0/+53
| | | | | | | | | | | | | | boot Disabling ethernet during reboot (only to enable it again when the ethernet driver attaches) can put the chip into a faulty state where it corrupts the header of all incoming packets. This happens if packets arrive during the time window where the core is disabled, and it can be easily reproduced by rebooting while sending a flood ping to the broadcast address. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* lantiq: fix spurious irq stormFelix Fietkau2017-01-191-0/+87
| | | | | | | | | | | Since the MIPS IRQ stack patches, lantiq devices were emitting a storm of messages like this: [ 567.872172] Spurious IRQ: CAUSE=0x1100c300 Fix this by reworking the IRQ dispatch code Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: backport MIPS changes introducing a separate IRQ stackFelix Fietkau2017-01-151-1/+1
| | | | | | | | Prevents crashes when IRQs arrive when the current kernel stack context already contains deeply nested function calls, e.g. when stacking lots of network devices on top of each other Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: update 4.4 kernel to 4.4.42Hauke Mehrtens2017-01-131-1/+1
| | | | | | | Refresh patches on all 4.4 supported platforms. Compile & run tested: lantiq/xrx200 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* lantiq: update USB controller initializationHauke Mehrtens2017-01-0911-95/+394
| | | | | | | | | | | | | This adds USB initialization fixes for Danube, Amazon SE and xrx300 and should fix the clock on at least Danube which hopefully closes FS#351. The xrx200 usb driver now uses more memory for the dwc2 fifos, this was increased in the chip compared to ar9. This is based in part on the vendor documentation and the vendor code base as a reference. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* lantiq: fix dma locking problems with SMPHauke Mehrtens2017-01-091-0/+152
| | | | | | | The DMA controller used only local locks, which will not lock the section against other CPUs, fix this by using spin locks. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: remove ubifs xz decompression supportFelix Fietkau2017-01-092-2/+0
| | | | | | | It has been unused, and less useful than squashfs for cases where flash space usage matters. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* lantiq: fix console print for additional boardsHauke Mehrtens2017-01-063-0/+12
| | | | | | | | | | | | | | I missed 3 boards in this commit: commit d8dde8c5178eba8c847dd48e7d06e6663ba1979f Author: Hauke Mehrtens <hauke@hauke-m.de> Date: Wed Jan 4 21:53:22 2017 +0100 lantiq: fix console print Add bootargs parameters for ARV4525PW, ARV7506PW11 and ARV8539PW22 again. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* lantiq: fix console printHauke Mehrtens2017-01-0535-4/+128
| | | | | | | | | | | | | | | | | | The boot loader of many boards provides a kernel boot argument with a broken console parameter to the kernel. This will be taken before the stdout-path defined in device tree and the serial will not work on this board. Multiple boards are affected by this problem, so revert this patch for all boards. Later we can remove the boot arguments from the device tree again, after the individual board was checked to work. This partly reverts this commit: commit 4995c64857a09c4cc92238ba0bd52cdb06c4c581 Author: Martin Blumenstingl <martin.blumenstingl@googlemail.com> Date: Sun Dec 11 21:55:00 2016 +0100 lantiq: specify console using stdout-path instead of cmdline argument Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* lantiq: fix falcon buildJohn Crispin2016-12-251-1/+1
| | | | | | | | | The following commit changed the build templates name but forgot to update the TARGET_DEVICES variable properly. commit f9226158bed52aeae408730 (lantiq: rename EASY98000 to EASY98000NOR) Signed-off-by: John Crispin <john@phrozen.org>
* lantiq: rename EASY98000 to EASY98000NORHauke Mehrtens2016-12-241-2/+1
| | | | Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* lantiq: drop the FRITZ7360SL led-dsl aliasMathias Kresin2016-12-241-1/+0
| | | | | | | | | | | | | The power LED can not be used for indicating the xDSL line state and the in system (boot) state at the same time in LEDE. As soon as the xDSL Line goes down, the power LED is switched off. During xDSL handshake the power led would blink with the same or a similar pattern as during boot. Both might confuse users. Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: add FRITZ7360SL phy reset gpiosMathias Kresin2016-12-241-5/+5
| | | | | | | | | | | | | | | Due to a hardware bug of Atheros 8030 phys, the driver need to reset the phys on link state change. Use the correct compatible string for the at903x phys connected to switch port 0 and 1. Fix the pinmux of the gpio lines connected to the reset pin of the phys and define the reset-pins to let the driver do the fixups. Fixes FS#343 Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: fix DGN1000B boot status ledsMathias Kresin2016-12-241-9/+7
| | | | | | The alias node should not be a child of the chosen node. Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: remove "init" kernel command line parameter from bootargsMartin Blumenstingl2016-12-1234-125/+2
| | | | | | | | | | /etc/preinit has been the default init-script for a very long time (at least since Linux 2.6.30 in OpenWrt). Remove the kernel command line "init" parameter to get rid of duplicate and inconsistent definitions of this parameter (some boards, like FRITZ3370 for example did not use it at all, while it's just copy and paste on others). Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
* lantiq: specify console using stdout-path instead of cmdline argumentMartin Blumenstingl2016-12-1240-37/+70
| | | | | | | | Use devicetree's /chosen/stdout-path instead of the kernel command line (embedded in the .dts-files) to specify the serial console. Using the chosen node is recommended on devicetree based platforms. Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
* lantiq: falcon: remove bootargs-appendHauke Mehrtens2016-12-1010-40/+0
| | | | | | | This attribute is not evaluated any more and the boot loader on these reference boards does not provide a broken root= or console= parameter. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* lantiq: simplify ath9k eeprom extraction scriptMathias Kresin2016-12-081-11/+16
| | | | | | | | | | | Add an extra function to patch the mac and fixup the checksum afterwards. Calculate the checksum position automatically. The offset to the mac address is the same for all checksum protected EEPROMs. No EEPROM requires a byte swapped mac address. The mac byte swap code was required due to an bug in the script that is now fixed. Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: fix ath9k EEPROM data swapping for some devicesMartin Blumenstingl2016-12-081-14/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The EEPROM data in the flash of the ARV7518PW, ARV8539PW22, BTHOMEHUBV2B and BTHOMEHUBV3A is stored byte-swapped (swab16), meaning that for example the ath9k base_eep_header fields "version" (high and low byte), "opCapFlags" and "eepMisc" are swapped (the latter ones are just 1 byte wide, thus their position is swapped). The old "ath,eep-endian" property enabled the corresponding swapping logic in the ath9k driver (swab16 in ath9k_hw_nvram_swap_data, which is based on the magic bytes in the EEPROM data which have nothing to do with the calibration data - thus this logic should not be used anymore). Since we have switched to the upstream ath9k devicetree bindings there is no binding anymore which enables swab16 in ath9k (as this logic is not recommended anymore as explained above), leading to ath9k initialization errors: ath: phy0: Bad EEPROM VER 0x0001 or REV 0x00e0 (this shows that the version field is swapped, expected values are VER 0x000E and REV 0x0001) Swapping the ath9k calibration data when extracting it from the flash fixes the devices listed above (all other devices do not require additional swapping, since the position of the fields is already as expected by ath9k). This allows ath9k to read the version correctly again, as well as the more important "eepmisc" field (which is used for determining whether the data inside the EEPROM is Big or Little Endian which is required to parse the EEPROM contents correctly). Fixes: a20616863d3 ("lantiq: use ath9k device tree bindings binding/owl-loader") Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
* kernel: bump to 4.4.36Álvaro Fernández Rojas2016-12-041-1/+1
| | | | | | | Refresh patches on all 4.4 supported platforms. Compile & run tested: brcm2708/bcm2710 - Raspberry Pi 3 Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* lantiq: fix image validation errorsMathias Kresin2016-12-0415-15/+20
| | | | | | | The boards did not have the name set that is expected during metadata validation on sysupgrade. Signed-off-by: Mathias Kresin <dev@kresin.me>
* kernel: bump to 4.4.35Kevin Darbyshire-Bryant2016-11-292-3/+3
| | | | | | | | | | | Refresh patches on all 4.4 supported platforms. 077-0005-bgmac-stop-clearing-DMA-receive-control-register-rig.patch removed as now upstream. Compile & run tested: ar71xx - Archer C7 v2 Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
* lantiq: drop obsolete patchMathias Kresin2016-11-291-31/+0
| | | | | | | | | | | | ifxhcd never had roothub support but since kernel 3.x it was expected that a roothub always exists. The patched fixed a null pointer deref in the usb subsystem because of the missing roothub. Since ifxhcd is gone, this whole patch isn't required any longer. Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: use BT HomeHub 5 Type A OEM partition layoutMathias Kresin2016-11-294-35/+36
| | | | | | | | | | | | | | | | | | | | This way the on nand bad block table is preserved and used. Add support for nand OOB ECC checksums as well. It should fix all reported ubi errors, which were all related to bad nand blocks and a purged on nand bad block table. The existing ubi partition will be reused, which eliminates the need to touch the caldata during initial install. The BT u-boot has support for loading a kernel from an ubi volume. It isn't necessary any longer to replace the BT u-boot with a custom compiled one to use LEDE. It is required to restore the BT Firmware and install LEDE from scratch to switch to the new partition layout. An image for restoring the BT firmware and installing LEDE is provided at https://github.com/mkresin/lede/releases. Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: backport kernel patch to pass of node to nand_dt_initMathias Kresin2016-11-292-2/+27
| | | | | | | | | | | | | | | | | | | Backport upstream commit a61ae81a1907af1987ad4c77300508327bc48b23. The actually purpose of the patch was to do some cleanup. As a side effect of this cleanup, the device node is now passed to nand_dt_init. This allows to use the common nand device tree properties - nand-bus-width - nand-on-flash-bbt - nand-ecc-mode - nand-ecc-step-size - nand-ecc-strength for the plat_nand driver. Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: drop ath9k device tree binding & ath9k pci fixupMathias Kresin2016-11-291-304/+7
| | | | | | | | | | Due to the addition of the bindings to the ath9k driver, this code isn't used any longer. The fixup is now done by the owloader. Rename the ath_eep.c file to ath5k_eep.c to indicate that this files includes ath5k related code only. Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: use ath9k device tree bindings binding/owl-loaderMartin Blumenstingl2016-11-2914-141/+305
| | | | | | | | | | | | | | | | | This moves the extraction of the eeprom/calibration data to a hotplug firmware script. Additionally it modifies all .dts to configure ath9k directly from within the .dts. The owl-loader approach enables support on devices with exotic eeprom data locations (such as unaligned positions on the flash or data inside an UBI volume). Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> [add ath9k caldata mac address patcher] [fixes DGN3500 wifi mac] [fixes BTHOMEHUBV3A wifi mac] [set invalid mac for BTHOMEHUB2B, FRITZ3370, FRITZ7320 & FRITZ7360SL to restore previous random mac behavior] Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: add Falcon supportHauke Mehrtens2016-11-2720-1/+1494
| | | | | | | | | | | | This adds support for the Intel Falcon SoC for GPON. Support for the Falcon SoC was removed in commit c8218363951 svn rev: 40392 from OpenWrt, this commit adds it again. This patch adds a new subtarget for the Falcon SoC, but it still misses all the drivers needed to control the GPON part. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* lantiq: add swconfig to the default packagesMathias Kresin2016-11-273-46/+28
| | | | | | | | | | | | The DEVICE_PACKAGES are not included in the initramfs image in case TARGET_PER_DEVICE_ROOTFS is set. This might produces initramfs images with a not working network configuration because of a missing swconfig. Workaround the issues by adding the essential swconfig package to the default packages selection and deselect swconfig for boards not having swconfig included before via device packages. Signed-off-by: Mathias Kresin <dev@kresin.me>
* treewide: fix button keys codes used in dtsMathias Kresin2016-11-2715-19/+20
| | | | | | Use keycodes that matches the intended use case based on the label. Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: specify the PCIe controller's interrupt, size and address cellsMartin Blumenstingl2016-11-261-2/+10
| | | | | | This allows adding devices to the PCIe controller in the .dts files. Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
* lantiq: Register the device tree node with the PCIe controllerMartin Blumenstingl2016-11-261-1/+9
| | | | | | | This allows specifying PCI devices as children of the PCIe controller node to pass configuration data to them. Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>