aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/lantiq
Commit message (Collapse)AuthorAgeFilesLines
* 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 section mismatch in PCIe driverHauke Mehrtens2017-02-122-2/+2
| | | | | | | Do not put the probe function into the __init section, but use the normal section. This fixes a section mismatch warning. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* lantiq: add support for kernel 4.9Hauke Mehrtens2017-02-1137-1/+16803
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The following patches were dropped because they are already applied upstream: 0012-pinctrl-lantiq-fix-up-pinmux.patch 0013-MTD-lantiq-xway-fix-invalid-operator.patch 0014-MTD-lantiq-xway-the-latched-command-should-be-persis.patch 0015-MTD-lantiq-xway-remove-endless-loop.patch 0016-MTD-lantiq-xway-add-missing-write_buf-and-read_buf-t.patch 0017-MTD-xway-fix-nand-locking.patch 0044-pinctrl-lantiq-introduce-new-dedicated-devicetree-bi.patch 0045-pinctrl-lantiq-Fix-GPIO-Setup-of-GPIO-Port3.patch 0046-pinctrl-lantiq-2-pins-have-the-wrong-mux-list.patch 0047-irq-fixes.patch 0047-mtd-plat-nand-pass-of-node.patch 0060-usb-dwc2-Add-support-for-Lantiq-ARX-and-XRX-SoCs.patch 0120-MIPS-lantiq-add-support-for-device-tree-file-from-bo.patch 0121-MIPS-lantiq-make-it-possible-to-build-in-no-device-t.patch 122-MIPS-store-the-appended-dtb-address-in-a-variable.patch The PHY driver was reduced to the code adding the LED configuration, the rest is already upstream: 0023-NET-PHY-adds-driver-for-lantiq-PHY11G.patch The SPI driver was replaced with the version pending for upstream inclusion: New driver: 0090-spi-add-transfer_status-callback.patch 0091-spi-lantiq-ssc-add-support-for-Lantiq-SSC-SPI-controller.patch Old driver: 0100-spi-add-support-for-Lantiq-SPI-controller.patch Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* generic: rtl8366rb: fix compatible stringMathias Kresin2017-02-031-1/+1
| | | | | | | Use a vendor prefix as it has to be for all not core driver. Update the compatible string in the device tree files accordingly. Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: enable SMP for XRX200Felix Fietkau2017-02-013-2/+21
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* 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>
* lantiq: write protect vgv7519 u-boot and u-boot-env partitionsEddi De Pieri2016-11-231-0/+2
| | | | Signed-off-by: Eddi De Pieri <eddi@depieri.net>
* lantiq: add missing metadata for tp-link imagesFelix Fietkau2016-11-211-1/+1
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* lantiq: use dwc2 by default on danubeBen Mulvihill2016-11-211-13/+13
| | | | | | Use dwc2 by default on all danube boards. Signed-off-by: Ben Mulvihill <ben.mulvihill@gmail.com>
* lantiq: dwc2 parameters for danubeBen Mulvihill2016-11-211-2/+31
| | | | | | | | | | Parameters for dwc2 on lantiq. A separate dwc2_core_params structure is defined for danube because danube fifo sizes are large enough to be autodetected. This is not the case on arx and vrx. Signed-off-by: Ben Mulvihill <ben.mulvihill@gmail.com>
* lantiq: device tree bindings for dwc2 on danubeBen Mulvihill2016-11-211-1/+2
| | | | | | | | | Device tree binding for dwc2 usb driver on danube. Leave old ifxhcd-danube driver as an alternative. Also adds dr_mode = "host" to eliminate warning on boot. Signed-off-by: Ben Mulvihill <ben.mulvihill@gmail.com>
* lantiq: initialise dwc2 on danubeBen Mulvihill2016-11-211-0/+10
| | | | | | Initialise dwc2 usb driver on danube boards as well as ar9 and vr9. Signed-off-by: Ben Mulvihill <ben.mulvihill@gmail.com>
* lantiq: remove device specific sysupgrade image checksFelix Fietkau2016-11-201-22/+1
| | | | | | Replaced by image metadata Signed-off-by: Felix Fietkau <nbd@nbd.name>
* lantiq: run append-metadata before check-size to fix build errorsFelix Fietkau2016-11-191-4/+4
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* lantiq: append metadata to imagesFelix Fietkau2016-11-192-5/+7
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>