aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/lantiq
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* kernel: update kernel 4.4 to version 4.4.32Stijn Tintel2016-11-161-1/+1
| | | | | | | | Refresh patches for all targets that support kernel 4.4. Compile-tested on all targets that use kernel 4.4 and aren't marked broken. Runtime-tested on ar71xx, octeon. Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* lantiq: add tapi/vmmc to VGV7519 defaultsdpeddi2016-11-161-2/+2
| | | | Signed-off-by: Eddi De Pieri <eddi@depieri.net>
* lantiq: enable VMMC for VGV7519dpeddi2016-11-161-1/+10
| | | | Signed-off-by: Eddi De Pieri <eddi@depieri.net>
* lantiq: add tapi/vmmc to VGV7510KW22 defaultsEddi De Pieri2016-11-161-2/+2
| | | | Signed-off-by: Eddi De Pieri <eddi@depieri.net>
* lantiq: enable VMMC for VGV7510KW22Eddi De Pieri2016-11-161-1/+10
| | | | Signed-off-by: Eddi De Pieri <eddi@depieri.net>
* lantiq: fix port indexing for WBMR-300Felix Fietkau2016-11-141-1/+1
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* treewide: dts: use keycode defines from input dt-bindingMathias Kresin2016-11-1339-4/+70
| | | | | | | | | | | | | | | | | | | | | All compiled device tree files not mentioned are binary identical to the former ones. Fix the obvious decimal/hex confusion for the power key of ramips/M2M.dts. Due to the include of the input binding header, the BTN_* node names in: - ramips/GL-MT300A.dts - ramips/GL-MT300N.dts - ramips/GL-MT750.dts - ramips/Timecloud.dts will be changed by the compiler to the numerical equivalent. Move the binding include of lantiq boards to the file where they are used the first time to hint the user where the values do come from. Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: fix pci issue if mem kernel parameter is usedEddi De Pieri2016-11-121-0/+22
| | | | | | | | | | | | | | | | | | | | As specified by e0229a16b0001c08e6c2611fa0bb9814507fced4 if the VR9 based router provides FXS ports and they should enabled then the following must added to the kernel command line: mem=[TOTALMEMSIZE-2M] vpe1_load_addr=ADDRESS vpe1_mem=2M By adding mem= parameter a pci device stop working correctly. The pci-lantiq.c module use get_num_physpages() to compute dynamically the memory amount of the board. The mem= make the module to compute in the wrong way the BAR11MASK, so in this situation the mask is misaligned with the dma area that the hardware expects. This patch is a port of what legacy ifxmips_pci.c does. Signed-off-by: Eddi De Pieri <eddi@depieri.net>
* lantiq: drop ralink eeprom handling functionMathias Kresin2016-11-091-73/+9
| | | | | | | The eeprom handling function from the rt2x00 driver is used and this code is obsolete. Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: use the device tree bindings from rt2x00 driverMathias Kresin2016-11-0911-170/+136
| | | | | | | | | | | | | Set a device specific wireless mac address for ARV7506PW11, VGV7519 and VGV7510KW22. The one from the EEPROM is a generic one and the same on all boards. Use the wifi@0,0 label and the pci0,0 compatible string for the ARV7519PW and ARV7525PW since the pci vendor and device id is unknown. It should work anyway since the compatible string isn't evaluated (yet). Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: fix VGV7519 and VGV7510KW22 mac addressesMathias Kresin2016-11-093-4/+5
| | | | | | | | | | | | | | | | | The VGV7510KW22 stock firmware uses the following mac-addresses: lan (ifno 1): AA:BB:CC:DD:EE:60 wlan (ifno 2): AA:BB:CC:DD:EE:61 atm0 (ifno 3): AA:BB:CC:DD:EE:62 atm1/wan (ifno 4): AA:BB:CC:DD:EE:63 The VGV7519 stock firmware uses the following mac-addresses: lan: AA:BB:CC:DD:EE:EF wlan: AA:BB:CC:DD:EE:EF wan: AA:BB:CC:DD:EE:EE Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: use external pci clock on ARV7506PW11Mathias Kresin2016-11-031-0/+1
| | | | | | | Fixes a ralink wireless driver related kernel crash as soon as a lot of data is tranfered via wireless. Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: cleanup dts filesMathias Kresin2016-11-0333-312/+35
| | | | | | | | | | | | | | - remove not existing properties - remove properties having the same values as the included dtsi - remove nodes which are disabled in the included dtsi and not enabled in dts - replace the deprecated pinctrl-* compatible strings - use the same labels for nodes as the included dtsi - move common used vr9 pci properties to vr9.dtsi - remove the unused stp node from HomeHub 2B devcie tree source file - fix spaces vs. tabs and remove superfluous linebreaks Signed-off-by: Mathias Kresin <dev@kresin.me>
* kernel: update kernel 4.4 to version 4.4.30Stijn Segers2016-11-022-2/+1
| | | | | | | | | | This patch bumps the 4.4 kernel from .28 to .30 and refreshes the patches. Compile-tested on ar71xx, x86/64, ramips/mt7621, brcm47xx and kirkwood. Run-tested on ar71xx & ramips/mt7621, brcm47xx and kirkwood (last two confirmed by P. Wassi). Signed-off-by: Stijn Segers <francesco.borromini@inventati.org>
* lantiq: add vpe/watchdog modules to kernelStefan Koch2016-10-311-0/+6
| | | | | | | | | (required not-distributable firmware blob - dump it by yourself from original firmware) Signed-off-by: Eddi De Pieri <eddi@depieri.net> (cherry picked from commit 064f467264c5c9b6eca0bb96b587f9412b770cc5) Signed-off-by: Stefan Koch <stefan.koch10@gmail.com>
* lantiq: vpe softdogStefan Koch2016-10-311-0/+171
| | | | | | | | | | | | | (required not-distributable firmware blob - dump it by yourself from original firmware) Signed-off-by: Eddi De Pieri <eddi@depieri.net> (cherry picked from commit eb0ce57270d0b5b81b224b9336cf54707497eede) Modified after cherry-pick: obj in Makefile Signed-off-by: Stefan Koch <stefan.koch10@gmail.com>
* lantiq: added support for VPE1Stefan Koch2016-10-311-0/+208
| | | | | | | | | | | | | | | | | | Created minimal patchset based on BB rev 43158 by Eddi De Pieri 14.07/openwrt.git 79472c025449efae9310defad0d3a73cff14d756 If the VR9 based router provides FXS ports and they shoud enabled then the following must added to the kernel command line: mem=[TOTALMEMSIZE-2M] vpe1_load_addr=ADDRESS vpe1_mem=2M maxvpes=1 maxtcs=1 To use FXS 2M of RAM are needed for the VPE firmware. The size is set by vpe1_mem. The available RAM must be reduced by this size using the mem argument. A correct load address (example 0x83e00000) for the firmware must be given, too. Signed-off-by: Stefan Koch <stefan.koch10@gmail.com>
* lantiq: modify vr9.dts to support vmmcStefan Koch2016-10-311-0/+8
| | | | | | | | | | | | | (required not-distributable firmware blob - dump it by yourself from original firmware) Signed-off-by: Eddi De Pieri <eddi@depieri.net> (cherry picked from commit 8d924d43c0ea6839a3a33e54982e8da48b736001) Modified after cherry-pick: compatible attribute Signed-off-by: Stefan Koch <stefan.koch10@gmail.com>
* lantiq: danube fxs bugfix: changed compatible attribute of vmmcStefan Koch2016-10-261-1/+1
| | | | | | | | This bugfix enables FXS support on dabube based devices. Changed "compatible" attribute from "vmmc" to "vmmc-xway". The vmmc driver uses "vmmc-xway". Signed-off-by: Stefan Koch <stefan.koch10@gmail.com>
* lantiq: enable cpu temp driver for all vr9 boardsMathias Kresin2016-10-196-20/+4
| | | | | | | Only present on v1.2 vr9 SoCs but the driver takes care to not load on boards having a v1.1 SoC. Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: fix thermal sensors driverMathias Kresin2016-10-191-5/+21
| | | | | | | | | | | | | | | | | | | | Read the temperature including the decimale place from the CGU_GPHY1_CR register. Decrement the temperature read from the register by 38.0 degree celsius. The temperature range of the sensor is -38.0 to +154 °C and the register value 0 is equal to -38.0 °C. This fixes the report of unrealistic temperatures as seen on all tested boards. Give the SoC a few milliseconds to get the first temperature value. On some rare occasions there is no temperature value in the register when read the first time after activation. This leads to a reported temperature of -38.0 °C on boot. Only version 1.2 of the vr9 SoC has a temperature sensor. Add a check to make sure the driver doesn't load on v1.1 vr9 SoCs. Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: Sanitize device tree filesAndreas Eberlein2016-10-1956-656/+668
| | | | | | | | | | The device tree file of ARV752DPW uses numbers/hex values for gpio states and input event codes. This cleans it up and uses the available macros from header files. This way the functions are easier to read and comprehend. Signed-off-by: Andreas Eberlein <foodeas@aeberlein.de> [sanitize all device tree files] Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: Fix buttons for ARV752DPWAndreas Eberlein2016-10-191-5/+5
| | | | | | | | The GPIO for reset switch is wrong in definition. Further the key codes for the two additional buttons are ineffective. Both is fixed here. Signed-off-by: Andreas Eberlein <foodeas@aeberlein.de>
* lantiq: use new build code for DGN3500Mathias Kresin2016-10-191-99/+36
| | | | Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: drop lzma-loaderMathias Kresin2016-10-1924-2792/+0
| | | | | | It isn't used any more. Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: rework VG3503J imageMathias Kresin2016-10-193-79/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the new image build code and remove the lzma loader. The lzma loader was used to cheat the signature validation of the bootloader and I found another way to do this. To migrate boards already using LEDE/OpenWrt to the new image the following steps need to be done once: VR9 # run reset_uboot_config VR9 # reset VR9 # setenv ethaddr AA:BB:CC:DD:EE:FF VR9 # setenv preboot ping 1.1.1.1\;bootm 0xb001f000 VR9 # saveenv VR9 # tftp 0x81000000 lede-lantiq-xrx200-VG3503J-squashfs-sysupgrade.bin VR9 # erase 0xb0020000 $(filesize) VR9 # cp.b 0x81000000 0xb0020000 $(filesize) The mac address is printed on the label at the bottom of the case. The following steps are need to be done during first install: VR9 # setenv preboot ping 1.1.1.1\;bootm 0xb001f000 VR9 # saveenv VR9 # tftp 0x81000000 lede-lantiq-xrx200-VG3503J-squashfs-sysupgrade.bin VR9 # erase 0xb0020000 $(filesize) VR9 # cp.b 0x81000000 0xb0020000 $(filesize) The image uses the uImage firmware splitter now instead of hardcoded kernel and rootfs partitions. The firmware partition size was extended to use flash space that was reserved for partitions required only by the ECI firmware. Due to the changes an upgrade to a later LEDE revision from a running LEDE is supported now. A default switch config was added and the device uses the same MAC addresses as the ECI firmware now instead of the same for all VG3503J. Signed-off-by: Mathias Kresin <dev@kresin.me>