aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/lantiq
Commit message (Collapse)AuthorAgeFilesLines
* lantiq: fix sleep with spinlock held in xrx200 network driverAndrea Merello2017-07-202-6/+8
| | | | | | | | | | | | | | | | | | | | | | | In the xrx200_close() function we call napi_disable(), that could sleep, with priv->hw->chan[i].lock held. This could lead to deadlock and causes the kernel to complain. Look at the code I couldn't convince myself about why we need to protect that specific code part with the lock. IMHO there seems no reason to protect the refcount variables, because AFAIK ndo_close() and ndo_open() callbacks are already called with a semaphore held. Neither I could figure out why napi_disable() have to be called with that lock held. The only remaining code part for which I could guess the lock is useful for is ltq_dma_close() function call. This patch reduces the lock to the said function call, avoiding the sleep-with-spinlock-held situation Signed-off-by: Andrea Merello <andrea.merello@gmail.com> [fold into 0025-NET-MIPS-lantiq-adds-xrx200-net.patch, backport to kernel 4.4] Signed-off-by: Mathias Kresin <dev@kresin.me>
* treewide: populate boardname and model earlierMathias Kresin2017-07-151-0/+0
| | | | | | | | | | | | | For targets using the generic board detection and board specific settings in diag.sh, the board name is still unset at the time the set_state() provided by diag.sh is called by 10_indicate_preinit. Change the execution order to ensure the boardname is populated before required the first time. Do the target specific board detection as early as possible, directly followed by the generic one to allow a seamless switch to the generic function for populating /tmp/sysinfo/. Signed-off-by: Mathias Kresin <dev@kresin.me>
* kernel: update kernel 4.9 to 4.9.37Koen Vandeputte2017-07-151-37/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - Refreshed all patches - Removed upstreamed - Adapted 4 patches: 473-fix-marvell-phy-initialization-issues.patch ----------------------------------------------- Removed hunk 5 which got upstreamed 403-net-phy-avoid-setting-unsupported-EEE-advertisments.patch 404-net-phy-restart-phy-autonegotiation-after-EEE-advert.patch -------------------------------------------------------------- Adapted these 2 RFC patches, merging the delta's from an upstream commit (see below) which made it before these 2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux- stable.git/commit/?h=v4.9.36&id=97ace183074d306942b903a148aebd5d061758f0 180-usb-xhci-add-support-for-performing-fake-doorbell.patch ----------------------------------------------------------- - Moved fake_doorbell bitmask due to new item Compile tested on: cns3xxx, imx6 Run tested on: cns3xxx, imx6 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* lantiq: fix typo in EASY80920.dtsiMathias Kresin2017-07-071-1/+1
| | | | | | | There is no device tree property named phynmode0. Use phy-mode as it is done for the other ethernet nodes. Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: add Netgear DM200 supportThomas Nixon2017-07-074-0/+234
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Netgear DM200 is an inexpensive VDSL modem: CPU: VRX220 MIPS 34Kc 5.6 @ 500Mhz RAM: 64MiB Flash: 8MiB Ethernet: 1x100M DSL: VDSL2+, ADSL2+ reset button, 3x bi-color LEDs Serial port is 115200 baud, on the 4 pin header; pins from the bottom to top are GND, RX, TX. To upgrade from the vendor firmware, upload factory.img The DM200 bootloader supports flashing over TFTP; hold the reset button while powering on the device, and wait for the power light to start flashing green before releasing. The device is now listening on 192.168.0.1/24, and can be sent a factory.img or a netgear image with a TFTP put. Once the image is loaded, it will be written to the flash, and the device will reboot; this will take a few minutes. Thanks to Edward O'Callaghan and Baptiste Jonglez, who implemented their own ports for this device and provided valuable feedback. Signed-off-by: Thomas Nixon <tom@tomn.co.uk>
* 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>
* build: move mktplinkfw2 related commands to image-commands.mkPiotr Dymacz2017-06-291-17/+8
| | | | | | | | | There are already two targets (lantiq, ramips) which use mktplinkfw2 tool for creating images. This de-duplicates code, introduces two new build commands: tplink-v2-header, tplink-v2-image and makes use of them in place of old, (sub)target specific ones. Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* kernel: cleanup CONFIG_SCHED_HRTICKStijn Tintel2017-06-292-2/+0
| | | | | | | Remove CONFIG_SCHED_HRTICK from target configs, as it was added to the generic config in b47fd7656336162360ebf66147326763ddae3f8d. Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* kernel: update kernel 4.9 to 4.9.34Koen Vandeputte2017-06-272-3/+3
| | | | | | | | | | | | - Refreshed all patches - Adapted 1 (0031-mtd-add-SMEM-parser-for-QCOM-platforms.patch) Compile tested on: brcm2708, cns3xxx, imx6 Run tested on: brcm2708, cns3xxx, imx6 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com> [Compile and run tested on brcm2708] Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* build: move lzma2eva build step to image-commands.mkMathias Kresin2017-06-241-3/+4
| | | | | | | Move it to image-commands.mk so that it can used by other targets with eva based boards as well. Signed-off-by: Mathias Kresin <dev@kresin.me>
* kernel: move Lantiq PEF7061/7071/7072 phy driver to genericMathias Kresin2017-06-242-538/+0
| | | | | | | | | The driver is used for boards outside the lantiq target as well. Move it to generic to make it available for more targets. The phy driver is included in kernel 4.8 as INTEL_XWAY_PHY. Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: show xdsl line init status on shared dsl/internet ledMathias Kresin2017-06-1713-19/+46
| | | | | | | | | | | | | On boards which don't have a distinct internet and dsl led, use the shared LED to indicate the xdsl line state and any traffic that is send/received via the netdev. This traffic doesn't necessarily need to be internet traffic. Rename the shared LED of existing configs to "dsl", to match the new defaults. The configuration of the to be renamed LED is identical with the new defaults. Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: restore netdev trigger of dsl led on line upMartin Schiller2017-06-171-1/+14
| | | | | | | | Allows to use a single LED for line init status indication and to show any rx/tx activity on a synchronized dsl line. Signed-off-by: Martin Schiller <ms@dev.tdt.de> Signed-off-by: Mathias Kresin <dev@kresin.me>
* kernel: disable CONFIG_SG_POOL by defaultSergey Ryazanov2017-06-071-1/+0
| | | | | | | | CONFIG_SG_POOL symbol is selected only by CONFIG_SCSI, since the last one is disabled by default then disable CONFIG_SG_POOL by default too. And explicitly enable it only for platforms that use CONFIG_SCSI. Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
* lantiq: fix 0008-MIPS-lantiq-backport-old-timer-code.patch for Amazon-SETino Reichardt2017-06-034-6/+18
| | | | | | | | | | | | | The patch 0008 removes the vanilla kernel gptu.c of lantiq. But the replacement file timer.c does not work Amazon-SE and is also protected therefore with an CONFIG_SOC_AMAZON_SE :-) This commit will re-activate the default vanilla kernel code in gptu.c for Amazon-SE. Signed-off-by: Tino Reichardt <milky-lede@mcmilk.de> [refresh patches and add same change for kernel 4.9] Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* lantiq: add Allnet ALL0333CJ supportTino Reichardt2017-06-034-0/+139
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for the Allnet ADSL2+ Modem ALL0333CJ. Specifications: - SoC: Amazon-SE - RAM: 16MB - Storage: 4MB NOR FLash - LEDs: Power, Ethernet, DSL (Sync) - Buttons: 1x Reset Button (not currently supported, will be done) - 1x Ethernet-Port: 1x RJ45 10/100BaseTX - 1x WAN-Port: AnnexB & J, G.992.1(ADSL), G.992.3(ADSL2), G.992.5(ADSL2+) Installation: - can be done via telnet+tftp or serial console - default passwords: - via telnet (root:admin) - via webinterface http://172.16.1.254:8235/ (admin:coolwhite) Installation via telnet / tftp: host: # your own host must have an tftpd daemon, then do this: host: ifconfig eth0:172 172.16.1.1 up host: # telnet to allnet modem, root:admin host: telnet 172.16.1.254 modem: # kill this daemon, it spams your console modem: killall dsl_cpe_control modem: # change to some place in ram: modem: cd /ramdisk/tftp_upload modem: # load lede-lantiq-ase-ALL0333CJ-squashfs-sysupgrade.bin alias uImage modem: tftp -g -r uImage 172.16.1.1 modem: # load these extra tools from your tftpd via: modem: # source: https://github.com/mcmilk/uboot-utils/releases/download/0.1/mips32.tar.gz modem: tftp -g -r flashwrite 172.16.1.1 modem: tftp -g -r fw_setenv 172.16.1.1 modem: tftp -g -r fw.conf 172.16.1.1 modem: ln -s fw_setenv fw_printenv modem: chmod +x * modem: ./fw_setenv disable_recovery y modem: ./fw_setenv kernel_addr 0xb0010000 modem: ./flashwrite /dev/mtd/1 uImage 0 Installation via serial line at uboot: uboot: # erase everything exept bootloader uboot: protect on b0000000 +10000; protect on b03f0000 +10000 uboot: erase all uboot: # get new firmware via tftp: uboot: tftpboot 0x80100000 uImage; setenv kernel_addr 0xb0010000 uboot: # copy to flash: uboot: cp.b 0x80100000 $(kernel_addr) $(filesize) uboot: # disable proprietary image checking: uboot: setenv disable_recovery=y; saveenv uboot: # reboot with LEDE ;) uboot: reset Ethernet works as expected, DSL syncronization does not work properly currently, I am working on this issue. Signed-off-by: Tino Reichardt <milky-lede@mcmilk.de>
* lantiq: enable Netgear DGN1000B image buildTino Reichardt2017-06-031-0/+14
| | | | | | | | | | | Enable the building of Netgear DGN1000B images. I have an example device here, but it was not tested currently. Also WLAN and USB is not ready in the moment. This is just the proper way, so that developing on this device is known to be done in the near future. Signed-off-by: Tino Reichardt <milky-lede@mcmilk.de>
* lantiq: add Amazon-SE subtargetTino Reichardt2017-06-034-1/+56
| | | | | | Re-Add support for the Amazon-SE subtarget on Lantiq. Signed-off-by: Tino Reichardt <milky-lede@mcmilk.de>
* lantiq: fix amazonse.dstiTino Reichardt2017-06-031-3/+15
| | | | | | | Add missing memory@0 and localbus@0 sections. Fix MEI and GPTU interrupt definitions. Signed-off-by: Tino Reichardt <milky-lede@mcmilk.de>
* lantiq: modified lantiq_dsl.sh status output of latencyHelge Mader2017-06-021-1/+1
| | | | Signed-off-by: Helge Mader <ma@dev.tdt.de>
* lantiq: fix lantiq_dsl.sh status and lucistat outputHelge Mader2017-06-021-12/+12
| | | | Signed-off-by: Helge Mader <ma@dev.tdt.de>
* lantiq: pinctrl: xway: fix copy/paste error in xrx200_grpsMartin Schiller2017-05-292-1/+12
| | | | Signed-off-by: Martin Schiller <ms@dev.tdt.de>
* kernel: update kernel 4.9 to 4.9.30Hauke Mehrtens2017-05-271-1/+1
| | | | Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* treewide: fix device tree path in scriptsMathias Kresin2017-05-261-1/+1
| | | | | | | | The device tree is at /proc/device-tree/ without a base subdir. Fixes: da472e5b30f6 ("treewide: access device tree from userspace via /proc/") Signed-off-by: Mathias Kresin <dev@kresin.me>
* treewide: access device tree from userspace via /proc/Mathias Kresin2017-05-261-1/+1
| | | | | | | Access the device tree via /proc/device-tree/ is the documented way to access the properties. Everything else might not work in future. Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: spi: double time out toleranceHauke Mehrtens2017-05-211-0/+37
| | | | | | | | | | | | | | | | | | | The generic SPI code calculates how long the issued transfer would take and adds 100ms in addition to the timeout as tolerance. On my 500 MHz Lantiq Mips SoC I am getting timeouts from the SPI like this when the system boots up: m25p80 spi32766.4: SPI transfer timed out blk_update_request: I/O error, dev mtdblock3, sector 2 SQUASHFS error: squashfs_read_data failed to read block 0x6e After increasing the tolerance for the timeout to 200ms I haven't seen these SPI transfer time outs any more. The Lantiq SPI driver in use here has an extra work queue in between, which gets triggered when the controller send the last word and the hardware FIFOs used for reading and writing are only 8 words long. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: update kernel 4.9 to 4.9.29Koen Vandeputte2017-05-213-5/+5
| | | | | | | | | | | | | - Refresh all patches - Removed upstreamed - Adapted 1 Compile tested on: bcm53xx, cns3xxx, imx6, lantiq Run tested on: cns3xxx & imx6 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com> [update from 4.9.28 to 4.9.29] Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: update kernel 4.4 to version 4.4.69Kevin Darbyshire-Bryant2017-05-212-2/+89
| | | | | | | | | | | | | | | | | | | Refresh patches. A number of patches have landed upstream & hence are no longer required locally: 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. As it has now been reverted upstream it needs to be included again for LEDE. Run tested ar71xx Archer C7 v2 and lantiq. Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk> [update from 4.4.68 to 4.4.69] Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* 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>
* lantiq: DGN3500: make switch LEDs blink on activityKevin Darbyshire-Bryant2017-04-251-0/+15
| | | | | | | | | | | | | | | | | Make switch port LEDs blink on activity as they do with stock firmware. The u-boot loader sets suitable values in the LED control register that unfortunately get blown away by the linux switch driver init. Restore that value by using driver 'initvals'. 0x0431 is the led control register, the value 0x0960. Each nybble represents each LED's mode (LED3,2,1,0) in this case OFF, 1000LINK+Activity, 100/10LINK+Activity, OFF. Only LED1&2 are physically present. Enabling the blinkenlights exposed the fact that an RRCP packet was being emitted by the switch on all ports every second. Further initvals copied from stock firmware's u-boot driver disabled this 'feature'. Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
* lantiq: improve DGN3500 LED definitionsKevin Darbyshire-Bryant2017-04-212-9/+65
| | | | | | | | | | | | | | | | Add red:internet led on gpio 30 previously claimed as missing. Wifi led was claimed as blue however there are no blue leds on the board at all. Actually there are two wifi leds, green & amber so add definitions for those. Make the newly discovered green wifi led gpio 14 the default. There is no amber power led on this board. The mention of the amber power led in the manual means power red and power green at the same time. Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk> [removed unnecessary aliases, add migration script] 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>
* lantiq: drop tffs patchesMathias Kresin2017-04-084-224/+2
| | | | | | | With the fritz-tools a userspace parser for the Tiny Flash File System is available and makes the tffs2 kernel patches obsolete. Signed-off-by: Mathias Kresin <dev@kresin.me>
* kernel: update MIPS pci fix to the accepted versionMathias Kresin2017-04-081-3/+2
| | | | | | | Fix the list order instead of adjusting the controller scan order. Revert the former required changes to the lantiq PCIe driver. Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: update spi driver to upstream versionHauke Mehrtens2017-03-265-82/+855
| | | | | | These patches are backported from upstream Linux kernel. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: update kernel 4.9 to 4.9.17Hauke Mehrtens2017-03-261-3/+3
| | | | Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* lantiq: vr9 fxs support: remove unused wdog declarations and initializersStefan Koch2017-03-242-60/+4
| | | | | | | | | | modify 0152-lantiq-VPE.patch from commit e0229a16b000 ("lantiq: added support for VPE1") - remove wdog function declarations from header (asm/vpe.h) - remove wdog command line init functions (vpe.c) Signed-off-by: Stefan Koch <stefan.koch10@gmail.com>
* lantiq: vr9 fxs support: remove soft-watchdog functionalityStefan Koch2017-03-242-340/+0
| | | | | | | | | - remove patched header (vpe.h) because kernel already provides one (asm/vpe.h) - remove module softdog_vpe since watchdog functionality is unused - remove module softdog_vpe from Makefile Signed-off-by: Stefan Koch <stefan.koch10@gmail.com>
* lantiq: fix pci with kernel 4.9Mathias Kresin2017-03-241-2/+3
| | | | | | | | Commit 23dac14d058f ("MIPS: PCI: Use struct list_head lists") changed the controller list from reverse to straight order. Use the last entry in the controller list to get the fist conroller of the system. Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: remove lantiq_board_model, it is unusedFelix Fietkau2017-03-221-9/+0
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* lantiq: remove lantiq_board_name, use the generic function insteadFelix Fietkau2017-03-226-18/+5
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* lantiq: move lantiq_board_detect() to 03_preinit_board.shFelix Fietkau2017-03-222-10/+10
| | | | | | It is only used there Signed-off-by: Felix Fietkau <nbd@nbd.name>
* lantiq: Shortcut non-pppoa interfaces in dsl_notifyOswald Buddenhagen2017-03-171-6/+8
| | | | | | No need to query 'up' and 'auto' when they are not going to be used. Signed-off-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
* lantiq: vr9 fxs support: fixed check of SMP state within vpe-mt.cStefan Koch2017-03-171-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | SMP state is generally affected by - CONFIG_SMP build-time kernel configuration option and - 'nosmp' runtime kernel commandline option The SMP state within vpe-mt.c is determined by CONFIG_SMP option. A runtime check is needed if VPE functionality should be used with a kernel image that supports SMP. This fix introduces a check for 'nosmp' command line option if CONFIG_SMP kernel configuration option is enabled. Note: This patch is needed to use lantiq FXS if CONFIG_MIPS_MT_SMP (that activates CONFIG_SMP) is enabled within kernel configuration and the 'nosmp' command line argument is given to disable SMP at runtime. Without this patch CONFIG_MIPS_MT_SMP must be disabled before using FXS. With this patch setting the 'nosmp' parameter is enough. In general, concurrent usage of FXS and SMP is incompatible and will cause kernel panics. Signed-off-by: Stefan Koch <stefan.koch10@gmail.com>
* lantiq: vr9 fxs support: fixed check of SMP state within vpe-mt.cStefan Koch2017-03-131-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | SMP state is generally affected by - CONFIG_SMP build-time kernel configuration option and - 'nosmp' runtime kernel commandline option The SMP state within vpe-mt.c is determined by CONFIG_SMP option. A runtime check is needed if VPE functionality should be used with a kernel image that supports SMP. This fix introduces a check for 'nosmp' command line option if CONFIG_SMP kernel configuration option is enabled. Note: This patch is needed to use lantiq FXS if CONFIG_MIPS_MT_SMP (that activates CONFIG_SMP) is enabled within kernel configuration and the 'nosmp' command line argument is given to disable SMP at runtime. Without this patch CONFIG_MIPS_MT_SMP must be disabled before using FXS. With this patch setting the 'nosmp' parameter is enough. In general, concurrent usage of FXS and SMP is incompatible and will cause kernel panics. Signed-off-by: Stefan Koch <stefan.koch10@gmail.com>
* kernel: update kernel 4.4 to 4.4.53Hauke Mehrtens2017-03-121-53/+0
| | | | Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: update kernel 4.9 to 4.9.14Hauke Mehrtens2017-03-121-53/+0
| | | | Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* lantiq: use the P2812HNUF* wan port as wanMathias Kresin2017-03-111-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-03-114-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>
* lantiq: fix broadcasts and vlans in two iface modeMathias Kresin2017-03-112-10/+12
| | | | | | | | | | | | | | | | | 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>