aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/octeon
Commit message (Collapse)AuthorAgeFilesLines
* kernel: Set CONFIG_FRAME_WARN depending on targetHauke Mehrtens2023-06-021-1/+0
| | | | | | | | | This set the CONFIG_FRAME_WARN option depending on some target settings. It will use the default from the upstream kernel and not the hard coded value of 1024 now. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> (cherry picked from commit 16a20512d852f6ecebf8c57cd7fa2572a06a9d0b)
* treewide: remove files for building 5.10 kernelNick Hainke2023-05-1210-550/+0
| | | | | | | | | | | All targets are bumped to 5.15. Remove the old 5.10 patches, configs and files using: find target/linux -iname '*-5.10' -exec rm -r {} \; Further, remove the 5.10 include. Signed-off-by: Nick Hainke <vincent@systemli.org>
* octeon: switch to Kernel 5.15 by defaultPaul Spooren2023-04-081-2/+1
| | | | | | Getting ready for the next release. Signed-off-by: Paul Spooren <mail@aparcar.org>
* kernel: disable CONFIG_CPU_LITTLE_ENDIAN in generic configAleksander Jan Bajkowski2022-10-212-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | Endianness depends on CPU architecture. CONFIG_CPU_(BIG/LITTLE)_ENDIAN should be enabled on target or subtarget based on SoC architecture. Fixes warning: $ make kernel_oldconfig CONFIG_TARGET=subtarget ... .config:1008:warning: override: CPU_LITTLE_ENDIAN changes choice state .... Summary: - ARC - only the CONFIG_CPU_BIG_ENDIAN symbol is defined for this architeture. If it is disabled then the processor operates in LITTLE_ENDIAN mode (default), - ARM32 - CONFIG_CPU_LITTLE_ENDIAN symbol available since kernel 5.19. This option should be enabled after OpenWRT moves to kernel 6.x. After refreshing the kernel, the symbol disappears, - ARM64 - enabled CONFIG_CPU_LITTLE_ENDIAN, - MIPS - enabled relevant symbols, - POWERPC - enabled CONFIG_CPU_BIG_ENDIAN, - UML - Symbols are not defined for this architecture, - X86 - always little endian. Symbols are not defined for this architecture. Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
* kernel: move kernel image cmdline hack to the octeon targetFelix Fietkau2022-09-302-0/+76
| | | | | | It is the only remaining user of this hack Signed-off-by: Felix Fietkau <nbd@nbd.name>
* octeon: fix imagebuilder generation by introducing generic targetNick Hainke2022-09-242-5/+5
| | | | | | | | | | | | | The generic imagebuilder does not have a generic in the name, although this is the default naming scheme. Use bcm53xx as template for this fix. Before the fix: openwrt-imagebuilder-octeon.Linux-x86_64.tar.xz After: openwrt-imagebuilder-octeon-generic.Linux-x86_64.tar.xz Signed-off-by: Nick Hainke <vincent@systemli.org>
* kernel: bump 5.15 to 5.15.63John Audia2022-08-252-2/+2
| | | | | | | | | | All patches automatically rebased. Build system: x86_64 Build-tested: bcm2711/RPi4B, mt7622/RT3200 Run-tested: bcm2711/RPi4B, mt7622/RT3200 Signed-off-by: John Audia <therealgraysky@proton.me>
* kernel: bump 5.10 to 5.10.138John Audia2022-08-252-2/+2
| | | | | | All patches automatically rebased. Signed-off-by: John Audia <therealgraysky@proton.me>
* kernel: Activate CONFIG_GPIOLIB in generic configurationHauke Mehrtens2022-08-102-2/+0
| | | | | | | | All targets expect the malta target already activate the CONFIG_GPIOLIB option. Move it to generic kernel configuration and also activate it for malta. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* octeon: add support for Ubiquiti UniFi Security GatewayClemens Hopfer2022-06-248-6/+211
| | | | | | | | | | | | | | | | | | | Ubiquiti UniFi Security Gateway (USG) is largely identical to the EdgeRouter Lite (ERLite-3) apart from a different board ID and two dome leds. Device data (from WikiDev): CPU: Cavium Octeon Plus CN5020 @500MHz 2-cores Ethernet: 3x Atheros AR8035-A GbE PHY's Flash: On-board 4MB Flash Storage: Internal 3.8GB USB Flash (Kingston ID) drive w/ 1.5GB free for use occupies single internal USB port. Serial: 1x RJ45 port on front panel. 115200, 8N1 Buttons: 1x Reset Flash instructions are identical to EdgeRouter Lite. Signed-off-by: Clemens Hopfer <openwrt@wireloss.net>
* generic: enable CRYPTO_LIB_BLAKE2S[_X86|_ARM]Tomasz Maciej Nowak2022-06-242-0/+4
| | | | | | | | | | | | This is now built-in, enable so it won't propagate on target configs. Link: https://lkml.org/lkml/2022/1/3/168 Fixes: 79e7a2552e89 ("kernel: bump 5.15 to 5.15.44") Fixes: 0ca93670693b ("kernel: bump 5.10 to 5.10.119") Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com> (Link to Kernel's commit taht made it built-in, CRYPTO_LIB_BLAKE2S[_ARM|_X86] as it's selectable, 5.10 backport) Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* octeon: add SUPPORTED_DEVICES to er/erlitePaul Spooren2022-06-091-0/+2
| | | | | | | | | | | | | | | | Using the BOARD_NAME variable results for both er and erlite devices to identify themselfs as `er` and `erlite` (via `ubus call system board`). This is problematic when devices search for firmware upgrades since the OpenWrt profile is actually called `ubnt_edgerouter` and `ubnt_edgerouter-lite`. By adding the `SUPPORTED_DEVICE` a mapping is created to point devices called `er` or `erlite` to the corresponding profile. FIXES: https://github.com/openwrt/asu/issues/348 Signed-off-by: Paul Spooren <mail@aparcar.org>
* kernel: move some symbols to generic configAleksander Jan Bajkowski2022-04-091-10/+0
| | | | | | | | | | | | | | | | | | | This commit add some enabled symbols to generic config. LTO is only supported by clang compiler and therefore should be disabled in the generic config instead of duplicating this symbol in each target. CONFIG_LTO_NONE do this job. The second group of symbols is enabled by the options available in the generic config and is therefore added here: * CONFIG_AF_UNIX_OOB is selected by CONFIG_NET && CONFIG_UNIX, * CONFIG_BINARY_PRINTF is selected by CONFIG_BPF_SYSCALL, * CONFIG_NET_SOCK_MSG is selected by CONFIG_BPF_SYSCALL && CONFIG_NET. The other symbols are disabled and should be in the generic config. This commit also removes these symbols from subtargets. Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
* octeon: Introduce 5.15 testing kernelDonald Hoskins2022-04-038-0/+465
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | octeon/patches-5.10 -> octeon/patches-5.15 Removed 140-octeon_e300_support.patch as E300 support appears to be upstreamed. Reworked 130-add_itus_support.patch to compensate for the upstreaming of E300 octeon/config-5.15 The following Kernel Symbols were ADDED: Line 5: +CONFIG_AF_UNIX_OOB=y Line 6: +CONFIG_AHCI_OCTEON=y Line 9: +CONFIG_ARCH_KEEP_MEMBLOCK=y Line 16: +CONFIG_ATA=y Line 17: +CONFIG_BINARY_PRINTF=y Line 29: +CONFIG_CPU_R4K_FPU=y Line 45: +CONFIG_FWNODE_MDIO=y Line 51: +CONFIG_GENERIC_FIND_FIRST_BIT=y Line 59: +CONFIG_GLOB=y Line 61: +CONFIG_GPIO_CDEV=y Line 77: +CONFIG_LTO_NONE=y Line 85: +CONFIG_MIPS_FP_SUPPORT=y Line 93: +CONFIG_NET_SELFTESTS=y Line 94: +CONFIG_NET_SOCK_MSG=y Line 105: +CONFIG_PATA_OCTEON_CF=y Line 106: +CONFIG_PATA_TIMINGS=y Line 114: +CONFIG_PTP_1588_CLOCK_OPTIONAL=y Line 121: +CONFIG_SATA_AHCI_PLATFORM=y Line 122: +CONFIG_SATA_HOST=y Line 124: +CONFIG_SCSI_COMMON=y Line 132: +CONFIG_SOCK_RX_QUEUE_MAPPING=y Line 157: +CONFIG_USB_XHCI_HCD=y Line 158: +CONFIG_USB_XHCI_PLATFORM=y The following kernel symbols were REMOVED: Line 21: -CONFIG_BLK_SCSI_REQUEST=y Line 37: -CONFIG_ENABLE_MUST_CHECK=y Line 69: -CONFIG_HOLES_IN_ZONE=y Line 102: -CONFIG_OF_NET=y Line 140: -CONFIG_SYS_SUPPORTS_HUGETLBFS=y Compiled for Itus Shield, Boots successfully, continuing to test for existing 5.10 memory leak. Signed-off-by: Donald Hoskins <grommish@gmail.com> [refresh patches] Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* Revert "octeon: mark source-only"Stijn Tintel2022-04-031-1/+1
| | | | | | | | | The memory leak is fixed by the kernel patches backported in the previous commit. This reverts commit 1fa8780056a8c7a2e26c8b4d5e6979232f117349. Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* octeon: mark source-onlyStijn Tintel2022-04-011-1/+1
| | | | | | | There is a hard to reproduce, even harder to track down memory leak in Octeon since kernel 5.10. Mark octeon source-only until it is plugged. Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* kernel: delete Linux 5.4 config and patchesDaniel Golle2022-03-218-488/+0
| | | | | | | | As the upcoming release will be based on Linux 5.10 only, remove all kernel configuration as well as patches for Linux 5.4. There were no targets still actively using Linux 5.4. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* octeon: switch to Kernel 5.10Paul Spooren2022-02-111-2/+1
| | | | | Acked-by: Stijn Tintel <stijn@linux-ipv6.be> Signed-off-by: Paul Spooren <mail@aparcar.org>
* kernel: bump 5.10 to 5.10.94Rui Salvaterra2022-02-011-1/+1
| | | | | | | | | | | | | | | | | | | | Deleted (upstreamed): bcm27xx/patches-5.10/950-0669-drm-vc4-hdmi-Make-sure-the-device-is-powered-with-CE.patch [1] bcm27xx/patches-5.10/950-0672-drm-vc4-hdmi-Move-initial-register-read-after-pm_run.patch [1] gemini/patches-5.10/0003-ARM-dts-gemini-NAS4220-B-fis-index-block-with-128-Ki.patch [2] Manually rebased: bcm27xx/patches-5.10/950-0675-drm-vc4-hdmi-Drop-devm-interrupt-handler-for-CEC-int.patch Manually reverted: generic/pending-5.10/860-Revert-ASoC-mediatek-Check-for-error-clk-pointer.patch [3] [1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.10.94&id=55b10b88ac8654fc2f31518aa349a2e643b37f18 [2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.10.94&id=958a8819d41420d7a74ed922a09cacc0ba3a4218 [3] https://lore.kernel.org/all/trinity-2a727d96-0335-4d03-8f30-e22a0e10112d-1643363480085@3c-app-gmx-bap33/ Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com> Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* kernel: bump 5.4 to 5.4.174John Audia2022-01-281-1/+1
| | | | | | | | | | | | | | Removed upstreamed patches: layerscape/patches-5.4/302-dts-0083-arm64-ls1028a-qds-correct-bus-of-rtc.patch[1] All other patches automatically rebased. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.4.174&id=65816c1034769e714edb70f59a33bc5472d9e55f Build system: x86_64 Build-tested: ramips/mt7621 Signed-off-by: John Audia <graysky@archlinux.us>
* kernel: 5.10: consolidate mac80211 crypto optionsSergey Ryazanov2021-12-171-7/+0
| | | | | | | | | | | | | | | | | | | | | | Each of - CRYPTO_AEAD2 - CRYPTO_AEAD - CRYPTO_GF128MUL - CRYPTO_GHASH - CRYPTO_HASH2 - CRYPTO_HASH - CRYPTO_MANAGER2 - CRYPTO_MANAGER - CRYPTO_NULL2 either directly required for mac80211 crypto support, or directly selected by such options. Support for the mac80211 crypto was enabled in the generic config since c7182123b9 ("kernel: make cryptoapi support needed by mac80211 built-in"). So move the above options from the target configs to the generic config to make it clear why do we need them. CC: Felix Fietkau <nbd@nbd.name> Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
* kernel: filter out both Clang and LLD versionsSergey Ryazanov2021-12-171-1/+0
| | | | | | | | Both CLANG_VERSION and LLD_VERISON are autogenerated runtime configuration options, so add them to the kernel configuration filter and remove from generic and per-target configs to keep configs clean. Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
* octeon: add USB3 support (for Ubiquiti EdgeRouter 6P)Laurent DEBOMY2021-11-202-0/+4
| | | | | | Fixes: FS#4086 Signed-off-by: Laurent DEBOMY <laurent.debomy@canal-belletrud.fr>
* kernel: move two symbols to the generic kconfigsRui Salvaterra2021-08-292-4/+0
| | | | | | | CONFIG_RCU_{NEED_SEGCBLIST,STALL_COMMON} are set basically everywhere. Move them to the generic kconfigs. And resort the generic kconfigs while at it. Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* kernel: bump 5.4 to 5.4.139John Audia2021-08-143-8/+9
| | | | | | | | | | | | All patches automatically rebased. Build system: x86_64 Build-tested: ipq806x/R7800 Run-tested: ipq806x/R7800 No dmesg regressions, everything functional Signed-off-by: John Audia <graysky@archlinux.us>
* kernel: bump 5.10 to 5.10.57Rui Salvaterra2021-08-143-8/+9
| | | | | | No deleted or manually refreshed patches. Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* treewide: backport support for nvmem on non platform devicesAnsuel Smith2021-08-052-18/+14
| | | | | | | | | | | | In the current state, nvmem cells are only detected on platform device. To quickly fix the problem, we register the affected problematic driver with the of_platform but that is more an hack than a real solution. Backport from net-next the required patch so that nvmem can work also with non-platform devices and rework our current patch. Drop the mediatek and dsa workaround and rework the ath10k patches. Rework every driver that use the of_get_mac_address api. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* octeon: convert mtd-mac-address to nvmem implementationAnsuel Smith2021-07-193-9/+46
| | | | | | | Define nvmem-cells and convert mtd-mac-address to nvmem implementation. The conversion is done with an automated script. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* treewide: convert mtd-mac-address-increment* to generic implementationAnsuel Smith2021-07-191-3/+3
| | | | | | | | | | | | | Rework patch 681-NET-add-mtd-mac-address-support to implement only the function to read the mac-address from mtd. Generalize mtd-mac-address-increment function so it can be applied to any source of of_get_mac_address. Rename any mtd-mac-address-increment to mac-address-increment. Rename any mtd-mac-address-increment-byte to mac-address-increment-byte. This should make simplify the conversion of target to nvmem implementation. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* octeon: use shared function for platform_copy_config()Adrian Schmutzler2021-05-171-11/+13
| | | | | | | | | This reduces redundant instructions. The solution is inspired by a different implemention of Roman Kuzmitskii. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* octeon: add new target and support for Ubiquiti EdgeRouter 6PDan Brown2021-05-175-7/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ubiquiti EdgeRouter 6P is 6 port router with similar specifications as the EdgeRouter 4, support for which was added in commit dd651e54cc5eadba480a56a7d2c18471e560f491 There are five 10/100/1000 Mbps RJ/Copper ports and one 1000 Mbps SFP port. SoC: Octeon Cavium 7130 (Cavium 3) at 1000MHz Memory: 1GiB DDR3 Flash: 2x2M chips with uboots (chainloaded) + 512K eeprom LEDs: 1x for power status (white/blue, controllable) and 6x for ethernet and SFP ports (no control over them) Buttons: 1x Reset Serial: 1x RJ45 port on front panel. 115200 baud, 8N1 USB: 1x USB3.0 on front panel MII: 1x QSGMII from SoC PHY: 1x Vitesse VSC8504 of which 4 ports are used (phys 4-7) 1x Vitesse VSC8514 of which 2 ports are used (phys 8-9) Network port mapping - eth0 on device maps to lan0 and phy5 - eth1 on device maps to lan1 and phy6 - eth2 on device maps to lan2 and phy7 - eth3 on device maps to lan3 and phy8 - eth4 on device maps to lan4 and phy9 - eth5 (SFP) on device maps to lan5 and phy4 What is not working: - There is no port status available before it goes up - SFP have no additional status and presented as no different from eth - Power-over-ethernet (passive) support has not been tested How to flash the firmware: - copy openwrt-octeon-ubnt_edgerouter-6p-initramfs-kernel.bin and openwrt-octeon-ubnt_edgerouter-6p-squashfs-sysupgrade.tar to USB flash drive that is formatted to vfat/fat32 - connect USB flash drive to EdgeRouter 6P front USB port - connect serial cable using front RJ45 port (115200 baud, 8N1) - connect power to cable to EdgeRouter 6P - connect terminal to the console to see uboot boot process - interrupt boot by pressing button(s) on your keyboard to log in to the uboot - detect usb connected flash drives by typing to the console: usb start - after drive is detected load initramfs+kernel to the memory by typing: fatload usb 0:1 0x20000000 openwrt-octeon-ubnt_edgerouter-6p-initramfs-kernel.bin - after initramfs+kernel is loaded to the memory load it by typing: bootoctlinux 0 numcores=4 endbootargs mem=0 - boot process should finish and you will be greeted with console after pressing enter - create directory to mount usb flash drive to by typing: mkdir /tmp/sda - mount flash drive to that directory by typing: mount /dev/sda1 /tmp/sda - flash firmware to router internal storage by typing: sysupgrade /tmp/sda/openwrt-octeon-ubnt_edgerouter-6p-squashfs-sysupgrade.tar - device will reboot and after it gets up you will have edgerouter 6p running openwrt Signed-off-by: Dan Brown <danbrown@gmail.com> [reorder/squash patches, move ethernet@0 to DTS, share image setup] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* octeon: create shared DTSI for Ubiquiti E300 platformDan Brown2021-05-172-194/+206
| | | | | | | | | EdgeRouter 4 and upcoming EdgeRouter 6P and 12 have similar setup, so create a shared DTSI to prevent duplicate code. Signed-off-by: Dan Brown <danbrown@gmail.com> [reorder/squash commits, add description, move ethernet@0 to DTS] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* treewide: switch the timer frequency to 100 HzRui Salvaterra2021-04-212-4/+0
| | | | | | | | Some targets select HZ=100, others HZ=250. There's no reason to select a higher timer frequency (and 100 Hz are available in every architecture), so change all targets to 100 Hz. Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* octeon: add 5.10 as testing kernelStijn Tintel2021-04-189-1/+478
| | | | | | | Remove upstreamed parts from 100-ubnt_edgerouter2_support.patch. Compile and runtime tested on Ubiquiti EdgeRouter Lite. Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* kernel: move some disabled symbols to genericAleksander Jan Bajkowski2021-03-191-1/+0
| | | | | | Move some disabled symbols found in armvirt target to generic. Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
* treewide: remove execute bit and shebang from board.d filesAdrian Schmutzler2021-03-061-1/+0
| | | | | | | | | | | | | | | | So far, board.d files were having execute bit set and contained a shebang. However, they are just sourced in board_detect, with an apparantly unnecessary check for execute permission beforehand. Replace this check by one for existance and make the board.d files "normal" files, as would be expected in /etc anyway. Note: This removes an apparantly unused '#!/bin/sh /etc/rc.common' in target/linux/bcm47xx/base-files/etc/board.d/01_network Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* octeon: re-enable CONFIG_CAVIUM_CN63XXP1 and EdgeRouter imageAdrian Schmutzler2021-02-282-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The symbol CONFIG_CAVIUM_CN63XXP1 was disabled during the bump to 4.19 (see Fixes:) with the following reason: No supported hardware uses CN63XXP1 and it causes "slight decrease in performance" However, it later turned out that the edgerouter image needed it, which led to having the device disabled in [1]. Still, dropping support of a device seems a harsh action for just removing a "slight" decrease in performance from the other devices. Thus, this enables CONFIG_CAVIUM_CN63XXP1 again, and essentially restores the situation present until (including) kernel 4.14 on this target. For OpenWrt as a platform, it seems more desirable to support all devices (and have them tested regularly via the snapshots) in this case. Users interested in maximum performance might still just remove the symbol again in their local build. [1] 3824fa26d256 ("octeon: disable edgerouter image") Fixes: 6c22545225cd ("target/octeon: Add Linux 4.19 support") Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* octeon: refresh config for kernel 5.4Adrian Schmutzler2021-02-281-57/+11
| | | | | | Simple run of 'make kernel_oldconfig' Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* target: use SPDX license identifiers on MakefilesAdrian Schmutzler2021-02-103-12/+5
| | | | | | Use SPDX license tags to allow machines to check licenses. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: bump 5.4 to 5.4.75John Audia2020-11-104-11/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Manually rebased patches: bcm27xx: patches-5.4/950-0267-xhci-add-quirk-for-host-controllers-that-don-t-updat.patch bcm53xx: patches-5.4/180-usb-xhci-add-support-for-performing-fake-doorbell.patch layerscape: patches-5.4/802-can-0025-can-flexcan-add-LPSR-mode-support-for-i.MX7D.patch patches-5.4/808-i2c-0002-MLK-10893-i2c-imx-add-irqf_no_suspend.patch patches-5.4/820-usb-0016-MLK-16735-usb-host-add-XHCI_CDNS_HOST-flag.patch Removed since could be reverse-applied by quilt: mediatek: patches-5.4/0700-arm-dts-mt7623-add-missing-pause-for-switchport.patch All modifications made by update_kernel.sh Build system: x86_64 Build-tested: ipq806x/R7800, ath79/generic, bcm27xx/bcm2711, x86_64 Run-tested: ipq806x/R7800, x86_64 No dmesg regressions, everything functional Signed-off-by: John Audia <graysky@archlinux.us> Tested-by: Curtis Deptuck <curtdept@me.com> [x86_64] Rebase of 802-can-0025-can-flexcan-add-LPSR-mode-support-for-i.MX7D.patch Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com> Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
* octeon: add support for Ubiquiti EdgeRouter 4Roman Kuzmitskii2020-11-059-6/+647
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ubiquiti EdgeRouter 4 is 4 port Octeon Cavium 7130 powered router. It has internal power supply and needs c13 power cord. There are three 10/100/1000 Mbps RJ45/Copper ports and one 1000 Mbps SFP port connected directly to a SoC. SoC: Octeon Cavium 7130 (Cavium 3) Clocked at 1000Mhz Memory: 1 GiB (SK hynix H5TQ4G63CFR-RDC × 2) DDR3, clocked at 533 Mhz (1066Mhz effective) Flash: - mtd: 8 MiB (Macronix MX25L6408EMI-12G) used for uboot/eeprom - emmc: 4 GiB (SanDisk SDIN7DP2-4G) used for kernel+rootfs Leds: 1x for power status (white/blue, controllable) and 4x for ethernet and sfp ports (no control over them) Buttons: 1x Reset (from SOC) Serial: 1x RJ45 port on front panel. 115200 baud, 8N1 (from SoC) USB: 1x USB3.0 on front panel (from SoC) MII: 1x QSGMII from SoC is used PHY: 1x Vitesse VSC8504 of which 4x ports is used All physical port numbers are properly mapped inside OS and named by lanX instead of ethX. There is also special purpose four(4) loopX ports available. That loopX ports are currently hardcoded by linux kernel and exact use case of them is currently unknown. We leave them to the linux kernel and octeon board defaults. All four (4) physical ports are connected to the same QSGMII. vsc8504 is used for phys and only 4, 5, 6 and 7 phys are used. Phy mapping: - Phy5 is connected to physical eth0 port - Phy6 is connected to physical eth1 port - Phy7 is connected to physical eth2 port - Phy4 is connected to physical eth3 port Why this device needs external dts: - faster boot time since need to initialize less device tree nodes. - to add actual indication with LED about boot/failure/upgrade. i.e. user could know when to enter failsafe mode or if upgrade is done - reset button support so user can reset their device in case off failure - sfp port indication in dmesg with information about sfp module it also indicates when module inserted or removed Octeon quirks: - There is no port status available before it interface brought up - SFP port can not be tied to actual phy due to octeon-ethernet state and currently we can only get reports a about SFP state in dmesg How to flash the firmware: - copy openwrt-octeon-ubnt_edgerouter-4-initramfs-kernel.bin and openwrt-octeon-ubnt_edgerouter-4-squashfs-sysupgrade.tar to USB flash drive that is formatted to vfat/fat32 - connect USB flash drive to edgerouter 4 front USB port - connect serial cable using front RJ45 port (115200 baud, 8N1) - connect power to cable to edgerouter 4 - connect terminal to the console to see uboot boot process - interrupt boot by pressing button(s) on your keyboard to log in to the uboot - detect usb connected flash drives by typing to the console: usb start - after drive is detected load initramfs+kernel to the memory by typing: fatload usb 0:1 0x20000000 openwrt-octeon-ubnt_edgerouter-4-initramfs-kernel.bin - after initramfs+kernel is loaded to the memory load it by typing: bootoctlinux 0 numcores=4 endbootargs mem=0 - boot process should finish and you will be greeted with console after pressing enter - create directory to mount usb flash drive to by typing: mkdir /tmp/sda - mount flash drive to that directory by typing: mount /dev/sda1 /tmp/sda - flash firmware to router internal storage by typing: sysupgrade /tmp/sda/openwrt-octeon-ubnt_edgerouter-4-squashfs-sysupgrade.tar - device will reboot and after it gets up you will have edgerouter 4 running openwrt Reviewed-by: Johannes Kimmel <fff@bareminimum.eu> Tested-by: Johannes Kimmel <fff@bareminimum.eu> Signed-off-by: Roman Kuzmitskii <damex.pp@icloud.com>
* octeon: honor disabled sgmii device tree nodesRoman Kuzmitskii2020-11-051-0/+27
| | | | | | | | | | | | adds patch to octeon ethernet driver that lets sgmii interface device tree node to be disabled and that disabled interface won't be unnecessarily initialized. It solves the problem with octeon boards that have 8 sgmii or more ports initialized but have nothing connected to them. Tested-by: Johannes Kimmel <fff@bareminimum.eu> Signed-off-by: Roman Kuzmitskii <damex.pp@icloud.com>
* octeon: implement interface rename by label from device treeRoman Kuzmitskii2020-11-051-0/+38
| | | | | | | | adds patch to octeon ethernet driver that to rename interface name by label from device tree Tested-by: Johannes Kimmel <fff@bareminimum.eu> Signed-off-by: Roman Kuzmitskii <damex.pp@icloud.com>
* kernel: remove support for kernel 4.19Adrian Schmutzler2020-10-304-384/+0
| | | | | | | We use 5.4 on all targets by default, and 4.19 has never been released in a stable version. There is no reason to keep it. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* octeon: disable edgerouter imageJohannes Kimmel2020-10-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | This patch disables the image for edgerouter devices by default, since it isn't able to boot at the moment. Currently the edgerouter image won't boot. Current kernels have an option CONFIG_CAVIUM_CN63XXP1 that needs to be enabled for this chip. If the kernel was compiled without this option, following message is displayed and the machine reboots: [ 36.778028] Kernel panic - not syncing: OCTEON II DCache prefetch workaround not in place (cfa0000c). [ 36.778028] Please build kernel with proper options (CONFIG_CAVIUM_CN63XXP1). [ 36.794398] Rebooting in 1 seconds.. This was last confirmed on 2020-10-29. The description of this option states, that enabling it will possibly cause performance issues on other chips. Signed-off-by: Johannes Kimmel <fff@bareminimum.eu>
* octeon: use dedicated function to move config backupRoman Kuzmitskii2020-10-261-8/+14
| | | | | | | | | | | | | | All octeon devices use the same or a very similar way to backup and restore configuration. We expect to have more devices added and in order to stop repeating ourselves move the logic to a separate function. While at it, add a few checks. Signed-off-by: Roman Kuzmitskii <damex.pp@icloud.com> [commit message facelift] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* base-files: remove block2mtd checks from sysupgradeFelix Fietkau2020-10-171-4/+0
| | | | | | This hasn't been used in a long time Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: move CONFIG_F2FS_CHECK_FS to generic kernel configHauke Mehrtens2020-10-111-1/+0
| | | | Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: Move CONFIG_F2FS_FS_SECURITY to generic kernel configHauke Mehrtens2020-10-111-1/+0
| | | | | | | Move the CONFIG_F2FS_FS_SECURITY kernel configuration option to the generic kernel configuration. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: move F2FS_FS_XATTR and F2FS_STAT_FS symbols to genericDaniel Golle2020-10-092-3/+0
| | | | | | | | Similar to how it was already done for other filesystems' *_FS_XATTR kernel config symbols, also move CONFIG_F2FS_FS_XATTR=y and CONFIG_F2FS_STAT_FS=y to target/linux/generic. Signed-off-by: Daniel Golle <daniel@makrotopia.org>