aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux
Commit message (Collapse)AuthorAgeFilesLines
* mpc85xx: refresh kernel configPawel Dembicki2021-02-061-68/+16
| | | | | | Simple "make kernel_oldconfig" was done. Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
* kirkwood: use 3 temperature sensors for Zyxel NSA310BThomas Beckler2021-02-051-4/+16
| | | | | | | | | | | | | | | | | | | | Instead of taking the input of one temperature sensor (temp1), the script takes into account three temperature sensors to control the PWM of the cooling fan. temp1 -> placed on main board temp2 -> placed on main board temp3 -> placed on or close to chipset All three temperatures give valid input for the PWM of the fan on NSA310 and are actually changing. Tested on two NSA310. Signed-off-by: Thomas Beckler <thomas.beckler@hotmail.com> Reviewed-by: Alberto Bursi <bobafetthotmail@gmail.com> [commit title/message facelift, code cleanup] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: wrap ucidef_add_switch in 02_networkAdrian Schmutzler2021-02-051-1/+2
| | | | | | Wrap line to be consistent with all other definitions. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* build: move elx-header into image-commands.mkYanase Yuki2021-02-051-20/+0
| | | | | | | ELECOM WAB-I1750-PS will need this in ath79, so move it to common Makefile. Signed-off-by: Yanase Yuki <dev@zpc.sakura.ne.jp>
* kirkwood: refresh kernel configSungbo Eo2021-02-051-63/+2
| | | | | | Refresh config with make kernel_oldconfig. Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* lantiq: change phy-mode to mii for FRITZ!Box 7412Aleksander Jan Bajkowski2021-02-051-1/+1
| | | | | | | | | | | FRITZ!Box 7412 loads the firmware for fast ethernet PHY and mii is more accurate in this case. Gmii is used by Gigabit ethernet PHYs. Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl> Reviewed-by: Mathias Kresin <dev@kresin.me> [minor commit title/message adjustments] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ipq806x: replace full-text BSC license by SPDX identifierAdrian Schmutzler2021-02-051-27/+1
| | | | | | | | | | This replaces a full-text BSD clause by the corresponding SPDX identifier. This should make it easier to identify the license both by humans and machines. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: replace full-text licenses by SPDX identifierAdrian Schmutzler2021-02-0512-269/+12
| | | | | | | | | | This replaces several full-text and abbreviated licenses found in DTS files by the corresponding SPDX identifiers. This should make it easier to identify the license both by humans and machines. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: add support for UniElec U7621-01David Bentham2021-02-053-0/+174
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | UniElec U7621-01 is a router platform board, the smaller model of the U7621-06. The device has the following specifications: - MT7621AT (880 MHz) - 256 of RAM (DDR3) - 16 MB of FLASH (SPI NOR) - 5x 1 Gbps Ethernet (MT7621 built-in switch) - 1x 2.4Ghz MT7603E - 1x 5Ghz MT7612 - 1x miniPCIe slots (PCIe bus only) - 1x miniSIM slot - 1x USB 2.0 (uses the usb 3.0 driver) - 8x LEDs (1x GPIO-controlled) - 1x reset button - 1x UART header (4-pins) - 1x GPIO header (30-pins) - 1x DC jack for main power (12 V) The following has been tested and is working: - Ethernet switch - 1x 2.4Ghz MT7603E (wifi) - 1x 5Ghz MT7612 (wifi) - miniPCIe slots (tested with Wi-Fi cards and LTE modem cards) - miniSIM slot (works with normal size simcard) - sysupgrade - reset button Installation: This board has no locked down bootloader. The seller can be asked to install openwrt v18.06, so upgrades are standard sysupgrade method. Recovery: This board contains a Chinese, closed-source bootloader called Breed (Boot and Recovery Environment for Embedded Devices). Breed supports web recovery and to enter it, you keep the reset button pressed for around 5 seconds during boot. Your machine will be assigned an IP through DHCP and the router will use IP address 192.168.1.1. The recovery website is in Chinese, but is easy to use. Click on the second item in the list to access the recovery page, then the second item on the next page is where you select the firmware. In order to start the recovery, you click the button at the bottom. LEDs list (left to right): - ESW_P0_LED_0 - ESW_P1_LED_0 - ESW_P2_LED_0 - ESW_P3_LED_0 - ESW_P4_LED_0 - CTS2_N (GPIO10, configured as "status" LED) - LED_WLAN# (connected with pin 44 in wifi1 slot) Signed-off-by: David Bentham <db260179@gmail.com> [add DEVICE_VARIANT, fix DEVICE_PACKAGES, remove &gpio] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add support for Meraki MR12Martin Kennedy2021-02-057-9/+209
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Port device support for Meraki MR12 from the ar71xx target to ath79. Specifications: - SoC: AR7242-AH1A CPU - RAM: 64MiB (NANYA NT5DS32M16DS-5T) - NOR Flash: 16MiB (MXIC MX25L12845EMI-10G) - Ethernet: 1 x PoE Gigabit Ethernet Port (SoC MAC + AR8021-BL1E PHY) - Ethernet: 1 x 100Mbit port (SoC MAC+PHY) - Wi-Fi: Atheros AR9283-AL1A (2T2R, 11n) Installation: 1. Requires TFTP server at 192.168.1.101, w/ initramfs & sysupgrade .bins 2. Open shell case 3. Connect a USB->TTL cable to headers furthest from the RF shield 4. Power on the router; connect to U-boot over 115200-baud connection 5. Interrupt U-boot process to boot Openwrt by running: setenv bootcmd bootm 0xbf0a0000; saveenv; tftpboot 0c00000 <filename-of-initramfs-kernel>.bin; bootm 0c00000; 6. Copy sysupgrade image to /tmp on MR12 7. sysupgrade /tmp/<filename-of-sysupgrade>.bin Notes: - kmod-owl-loader is still required to load the ART partition into the driver. - The manner of storing MAC addresses is updated from ar71xx; it is at 0x66 of the 'config' partition, where it was discovered that the OEM firmware stores it. This is set as read-only. If you are migrating from ar71xx and used the method mentioned above to upgrade, use kmod-mtd-rw or UCI to add the MAC back in. One more method for doing this is described below. - Migrating directly from ar71xx has not been thoroughly tested, but one method has been used a couple of times with good success, migrating 18.06.2 to a full image produced as of this commit. Please note that these instructions are only for experienced users, and/or those still able to open their device up to flash it via the serial headers should anything go wrong. 1) Install kmod-mtd-rw and uboot-envtools 2) Run `insmod mtd-rw.ko i_want_a_brick=1` 3) Modify /etc/fw_env.config to point to the u-boot-env partition. The file /etc/fw_env.config should contain: # MTD device env offset env size sector size /dev/mtd1 0x00000 0x10000 0x10000 See https://openwrt.org/docs/techref/bootloader/uboot.config for more details. 4) Run `fw_printenv` to verify everything is correct, as per the link above. 5) Run `fw_setenv bootcmd bootm 0xbf0a0000` to set a new boot address. 6) Manually modify /lib/upgrade/common.sh's get_image function: Change ... cat "$from" 2>/dev/null | $cmd ... into ... ( dd if=/dev/zero bs=1 count=$((0x66)) ; # Pad the first 102 bytes echo -ne '\x00\x18\x0a\x12\x34\x56' ; # Add in MAC address dd if=/dev/zero bs=1 count=$((0x20000-0x66-0x6)) ; # Pad the rest cat "$from" 2>/dev/null ) | $cmd ... which, during the upgrade process, will pad the image by 128K of zeroes-plus-MAC-address, in order for the ar71xx's firmware partition -- which starts at 0xbf080000 -- to be instead aligned with the ath79 firmware partition, which starts 128K later at 0xbf0a0000. 7) Copy the sysupgrade image into /tmp, as above 8) Run `sysupgrade -F /tmp/<sysupgrade>.bin`, then wait Again, this may BRICK YOUR DEVICE, so make *sure* to have your serial cable handy. Signed-off-by: Martin Kennedy <hurricos@gmail.com> [add LED migration and extend compat message] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: add support for Hi-Link HLK-7688AEwan Parker2021-02-054-0/+128
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specifications: - SoC: MediaTek MT7688AN - RAM: 128 MB - Flash: 32 MB - Ethernet: 5x 10/100 (1x WAN, 4x LAN) - Wireless: built in 2.4GHz (bgn) - USB: 1x USB 2.0 port - Buttons: 1x Reset - LEDs: 1x (WiFi) Flash instructions: - Configure TFTP server with IP address 10.10.10.3 - Name the firmware file as firmware.bin - Connect any Ethernet port to the TFTP server's LAN - Choose option 2 in U-Boot - Alternatively choose option 7 to upload firmware to the built-in web server MAC addresses as verified by OEM firmware: use address source 2g *:XX factory 0x4 LAN *:XX+1 factory 0x28 WAN *:XX+1 factory 0x2e Notes: This board is ostensibly a module containing the MediaTek MT7688AN SoC, 128 MB DDR2 SDRAM and 32 MB flash storage. The SoC can be operated in IoT Gateway Mode or IoT Device Mode. From some vendors the U-Boot that comes installed operates on UART 2 which is inaccessible in gateway mode and operates unreliably in the Linux kernel when using more than 64 MB of RAM. For those, updating U-Boot is recommended. Signed-off-by: Ewan Parker <ewan@ewan.cc> [add WLAN to 01_leds] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: bump 5.4 to 5.4.95John Audia2021-02-042-38/+1
| | | | | | | | | | | | | | | Ran update_kernel.sh in a fresh clone without any existing toolchains. Removed upstreamed patches: imx6: 303-ARM-dts-imx6qdl-gw52xx-fix-duplicate-regulator-namin.patch Build system: x86_64 Build-tested: ipq806x/R7800, bcm27xx/bcm2711 Run-tested: ipq806x/R7800 No dmesg regressions, everything functional Signed-off-by: John Audia <graysky@archlinux.us>
* bcm63xx: sprom: override the PCI device IDDaniel González Cabanelas2021-02-022-1/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The PCI device ID detected by the wifi drivers on devices using a fallback SPROM is wrong. Currently the chipnum is used for this parameter. Most SSB based Broadcom wifi chips are 2.4 and 5GHz capable. But on devices without a physical SPROM, the only one way to detect if the device suports both bands or only the 5GHz band, is by reading the device ID from the fallback SPROM. In some devices, this may lead to a non working wifi on a 5GHz-only card, or in the best case a working 2.4GHz-only in a dual band wifi card. The offset for the deviceid in SSB SPROMs is 0x0008, whereas in BCMA is 0x0060. This is true for any SPROM version. Override the PCI device ID with the one defined at the fallback SPROM, to detect the correct wifi card model and allow using the 5GHz band if supported. The patch has been tested with the following wifi radios: BCM43222: b43: both 2.4/5GHz working brcm-wl: both 2.4/5GHz working BCM43225: b43: 2.4GHz, working brcmsmac: working brcm-wl: it lacks support BCM43217: b43: 2.4GHz, working brcmsmac: it lacks support brcm-wl: it lacks support Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com> [amend commit description, rework patch to avoid using a new global variable and keep ssb sprom extraction code as close to ssb/pci.c as possible] Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm63xx: backport upstream SSB SPROM extractionÁlvaro Fernández Rojas2021-02-026-38/+102
| | | | | | | New upstream changes extract more SPROM values and fix the antenna gain. These changes can be found in linux drivers/ssb/pci.c. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* kernel: bump 5.4 to 5.4.94John Audia2021-02-018-29/+29
| | | | | | | | | | | | All modification made by update_kernel.sh in a fresh clone without existing toolchains. Build-tested: bcm27xx/bcm2711, ipq806x/R7800, Run-tested: ipq806x/R7800 No dmesg regressions, everything functional Signed-off-by: John Audia <graysky@archlinux.us>
* ath79: ag71xx: add ethtool statistics supportLeon Leijssen2021-02-011-0/+86
| | | | | | | | | Add statistics to ethtool. The statistics can be useful to debug network issues. The code is backported from mainline ag71xx.c driver. Signed-off-by: Leon Leijssen <leon.git@leijssen.info>
* ath79: add support for Ubiquiti UniFi AP Outdoor+David Bauer2021-02-016-55/+180
| | | | | | | | | | | | | | | | | | | Hardware -------- Atheros AR7241 16M SPI-NOR 64M DDR2 Atheros AR9283 2T2R b/g/n 2x Fast Ethernet (built-in) Installation ------------ Transfer the Firmware update to the device using SCP. Install using fwupdate.real -m <openwrt.bin> -d Signed-off-by: David Bauer <mail@david-bauer.net>
* mac80211: convert UniFi Outdoor+ HSR support to OFDavid Bauer2021-02-011-2/+0
| | | | | | | | Enable support for the Ubiquiti UniFi Outdoor+ RF filter via device-tree. The old way of using platform data is not required anymore, as it was only used on the now removed ar71xx target. Signed-off-by: David Bauer <mail@david-bauer.net>
* mvebu: omnia: make initramfs image usable out of the boxPetr Štetiar2021-01-311-2/+2
| | | | | | | | | | | | | | | Currently it's not possible to boot the device with just initramfs image without additional effort as the initramfs image doesn't contain device tree. Fix it by producing FIT based image which could be booted with following commands: setenv bootargs earlyprintk console=ttyS0,115200 tftpboot ${kernel_addr_r} openwrt-mvebu-cortexa9-cznic_turris-omnia-initramfs-kernel.bin bootm ${kernel_addr_r} Acked-by: Klaus Kudielka <klaus.kudielka@gmail.com> Reviewed-by: Tomasz Maciej Nowak <tmn505@gmail.com> Signed-off-by: Petr Štetiar <ynezz@true.cz>
* mvebu: LS421DE: fix the thermal zonesDaniel González Cabanelas2021-01-301-13/+42
| | | | | | | | | | | | | | | | | | | | | | The thermal zones kernel documentation is misleading, we cannot use more than one sensor in a thermal zone node. Furthermore the drivetemp driver for some reason it only catches one sensor from the hard drives array (the first available). In the Buffalo Linkstation LS421DE board there is also a sensor at the ethernet phy chip that can also be monitored. Very useful to stop the fan when there are no hard drives in the bays. (It might be also possible to add the CPU sensor, but it requires kernel patching for registering the sensor via device tree, using the function: devm_thermal_zone_of_sensor_register) Fix the thermal zones to use only one sensor per node and add the ethernet phy sensor. Also adjust the hdd temperatures to be more conservative for a mechanical hard drive. Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
* ramips: add support for ELECOM WRC-2533GHBK-IINAGAKI Hiroshi2021-01-293-0/+218
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ELECOM WRC-2533GHBK-I is a 2.4/5 GHz band 11ac (Wi-Fi 5) router, based on MT7621A. Specification: - SoC : MediaTek MT7621A - RAM : DDR3 128 MiB - Flash : SPI-NOR 16 MiB - WLAN : 2.4/5 GHz 4T4R (2x MediaTek MT7615) - Ethernet : 10/100/1000 Mbps x5 - Switch : MediaTek MT7530 (SoC) - LED/keys : 4x/3x (2x buttons, 1x slide-switch) - UART : through-hole on PCB - J4: 3.3V, RX, GND, TX from SoC side - 57600n8 - Power : 12VDC, 1.5A Flash instruction using factory image: 1. Boot WRC-2533GHBK-I normally 2. Access to "http://192.168.2.1/" and open firmware update page ("ファームウェア更新") 3. Select the OpenWrt factory image and click apply ("適用") button 4. Wait ~150 seconds to complete flashing MAC addresses: LAN : BC:5C:4C:xx:xx:89 (Config, ethaddr (text)) WAN : BC:5C:4C:xx:xx:88 (Config, wanaddr (text)) 2.4GHz : BC:5C:4C:xx:xx:8A (Factory, 0x4 (hex)) 5GHz : BC:5C:4C:xx:xx:8B (Factory, 0x8004 (hex)) Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com> Reviewed-by: Sungbo Eo <mans0n@gorani.run>
* build: add elecom-product-header for ELECOM devicesINAGAKI Hiroshi2021-01-291-7/+3
| | | | | | | | | A header used in ELECOM WRC-300GHBK2-I and WRC-1750GHBK2-I/C is also used in ELECOM WRC-2533GHBK-I, so split the code to generate the header and move it to image-commands.mk to use from ramips target. Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com> Reviewed-by: Sungbo Eo <mans0n@gorani.run>
* treewide: drop shebang from non-executable lib filesAdrian Schmutzler2021-01-293-8/+0
| | | | | | | | | | | | This drops the shebang from another bunch of files in various /lib folders, as these are sourced and the shebang is useless. Fix execute bit in one case, too. This should cover almost all trivial cases now, i.e. where /lib is actually used for library files. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: bump 5.4 to 5.4.93John Audia2021-01-2928-47/+47
| | | | | | | | | | | | | | | | | All modification made by update_kernel.sh in a fresh clone without existing toolchains. Build system: x86_64 Build-tested: ipq806x/R7800, bcm27xx/bcm2711 Run-tested: ipq806x/R7800 Compile-tested [*]: ath79/{tiny,generic}, ipq40xx, octeon, ramips/mt7621, realtek, x86/64 Run-tested [*]: ath79/generic, ipq40xx, octeon, ramips/mt7621 No dmesg regressions, everything functional Signed-off-by: John Audia <graysky@archlinux.us> Tested-by: Stijn Segers <foss@volatilesystems.org> [*]
* bcm63xx: fix bcm63xx ethernet kernel panicsÁlvaro Fernández Rojas2021-01-287-17/+52
| | | | | | | | | | | | Calling netdev_reset_queue() from _stop() functions is causing sporadic kernel panics on bcm63xx, which happen mainly on BCM6318 and BCM6328. This reverts to the previous behaviour, which called netdev_reset_queue() from _open() functions. Tested on Comtrend AR-5315u (BCM6318). Fixes: 1d6f422e346b ("bcm63xx: sync ethernet driver with net-next") Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* sunxi: add support for linksprite pcDuino3 nano boardJiang Yongquan2021-01-273-1/+9
| | | | | | | | | | | | | | | | | | Specifications: - SoC: Allwinner A20 @ 1Ghz - DRAM: 1GiB DDR3 @ 408MHz (K4B4G1646Q-HYK0) - NAND: 4GB MLC NAND (H27UBG8T2BTR-BC) - Ethernet: 10/100/1000Mbps Ethernet (Realtek RTL8211E) Flash instructions: dd if=openwrt-sunxi-cortexa7-linksprite_pcduino3-nano-ext4-sdcard.img of=/dev/sdX Signed-off-by: Jiang Yongquan <woxwchc@foxmail.com> [Remove CONFIG_REALTEK_PHY from sunxi/cortexa53 config] Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* rockchip: fix SUPPORTED_DEVICES for Radxa ROCK Pi 4Marty Jones2021-01-271-1/+2
| | | | | | | | | | | This sets SUPPORTED_DEVICES to match the compatible in the DTS. While at it, synchronize the capitalization in DEVICE_MODEL and DTS model. Signed-off-by: Marty Jones <mj8263788@gmail.com> [commit title/message facelift, move variable in armv8.mk] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* bcm4908: sort and wrap build recipesAdrian Schmutzler2021-01-271-12/+16
| | | | | | | | | | This sorts the Build recipes alphabetically, wraps some long lines and moves the DEVICE_VARS to the top like common on several other targets. Cc: Rafał Miłecki <rafal@milecki.pl> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* mediatek: remove generic profilesAdrian Schmutzler2021-01-273-45/+0
| | | | | | | | | | We have support for reference boards available on this target, so support for an additional generic profile does not make much sense. Remove it to have one thing less to maintain. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Acked-by: Paul Spooren <mail@aparcar.org>
* kirkwood: remove generic profileAdrian Schmutzler2021-01-271-17/+0
| | | | | | | | | | | On a platform with many very different devices, like found on kirkwood, the generic profile seems like a remnant of the past that does not have a real use anymore. Remove it to have one thing less to maintain. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Acked-by: Paul Spooren <mail@aparcar.org>
* ipq806x: remove generic profileAdrian Schmutzler2021-01-271-10/+0
| | | | | | | | | | | On a platform with many very different devices, like found on ipq806x, the generic profile seems like a remnant of the past that does not have a real use anymore. Remove it to have one thing less to maintain. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Acked-by: Paul Spooren <mail@aparcar.org>
* ipq40xx: remove generic profileAdrian Schmutzler2021-01-271-9/+0
| | | | | | | | | | | On a platform with many very different devices, like found on ipq40xx, the generic profile seems like a remnant of the past that does not have a real use anymore. Remove it to have one thing less to maintain. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Acked-by: Paul Spooren <mail@aparcar.org>
* ramips: remove generic profilesAdrian Schmutzler2021-01-275-89/+0
| | | | | | | | | | | | | On a platform with many very different devices, like found on ramips, the generic profiles seem like remnants of the past that do not have a real use anymore. Remove them to have one thing less to maintain. Actually, rt288x didn't have a default profile in the first place. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Acked-by: Paul Spooren <mail@aparcar.org>
* ath79: remove generic profilesAdrian Schmutzler2021-01-274-61/+0
| | | | | | | | | | | On a platform with many very different devices, like found on ath79, the generic profiles seem like remnants of the past that do not have a real use anymore. Remove them to have one thing less to maintain. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Acked-by: Paul Spooren <mail@aparcar.org>
* ramips: use lzma-loader on zbtlink devicesFelix Fietkau2021-01-271-0/+3
| | | | | | Fixes boot loader LZMA decompression issues Signed-off-by: Felix Fietkau <nbd@nbd.name>
* realtek: add debugfs support for mirroringBirger Koblitz2021-01-261-14/+391
| | | | | | This adds debugfs support to monitor mirroring via debugfs Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
* realtek: add API for the hw tables of RTL83XX/93XX SoCsBirger Koblitz2021-01-261-100/+436
| | | | | | | | Add a table API that has per accss register locking and uses register description information to handle all table access through a single set of api calls. Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
* realtek: add switch driver support for the RTL93XX based switchesBirger Koblitz2021-01-265-245/+1522
| | | | | | | Adds support for the RTL9300 and RTL9310 series of switches with 10GBit per port and up to 56 ports. Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
* realtek: add internal and external SDS/PHYs of RTL9300 devicesBirger Koblitz2021-01-262-28/+523
| | | | | | | | This adds support for the internal SerDes of the RTL9300 SoC and for the RTL8218D and RTL8226B phys found in combination with this SoC in switches. Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
* realtek: fix RTL8231 gpio expander usage with RTL839X SoCBirger Koblitz2021-01-261-24/+40
| | | | | | | | This fixes the usage of the RTL8231 GPIO extender chip when used with the RTL839X SoCs. Specifically, the PHY addresses may be different from 0. Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
* realtek: enable default rate limiting and qos settingsBirger Koblitz2021-01-261-64/+0
| | | | | | | Enable default rate limiting and QoS support. Remove previous storm control code. Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
* realtek: correct l2 offloading tag handlingBirger Koblitz2021-01-261-4/+7
| | | | | | | Makes sure the DSA trailer information on any L2 offloading done by the switch is honoured by the bridge layer Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
* realtek: add QoS and rate controlBirger Koblitz2021-01-266-530/+1955
| | | | | | | | | This adds support for identifying QoS information in packets and use this and rate control information to submit to multiple egress queues. The ethernet driver is also made to support 2 egress and up to 32 egress queues. Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
* realtek: add dtsi for RTL930X SoCsBirger Koblitz2021-01-261-0/+182
| | | | | | Add a default dtsi to support RTL930X SoCs. Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
* realtek: add support for the RTL9300 timerBirger Koblitz2021-01-264-22/+349
| | | | | | | | this adds support for the SoC timer of the RTL9300 chips, it provides 6 independent timer/counters, of which the first one is used as a clocksource and the second one as event timer. Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
* realtek: add support for the RTL8390 and RTL9300 SoC IRQsBirger Koblitz2021-01-264-150/+174
| | | | | | | | This adds support for the RTL8390 and RTL9300 SoCs it also cleans up unnecessary definitions in mach-rtl83xx.h and moves definitions relevant for irq routing to irq.h Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
* realtek: add detection of RTL930X SoCs and RTL8313 SoCBirger Koblitz2021-01-261-6/+65
| | | | | | | | This adds support to detect RTL930X based SoCs and the RTL9313 SoC. Tested on Zyxel XGS1210-10 (RTL9302B SoC) and the Zyxel XS1930-12 (RTL9313 SoC) Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
* kernel: bump 5.4 to 5.4.92John Audia2021-01-264-6/+6
| | | | | | | | | | | | | | | | | All modification made by update_kernel.sh in a fresh clone without existing toolchains. Build system: x86_64 Build-tested: ipq806x/R7800, bcm27xx/bcm2711 Run-tested: ipq806x/R7800 Compile-tested [*]: ath79/{tiny,generic}, ipq40xx, octeon, ramips/mt7621, realtek, x86/64. Run-tested [*]: ath79/generic, octeon, ramips/mt7621, realtek. No dmesg regressions, everything functional Signed-off-by: John Audia <graysky@archlinux.us> Tested-by: Stijn Segers <foss@volatilesystems.org> [*]
* config: limit CONFIG_PERF_EVENTS to top-level generic configsTony Ambardar2021-01-2511-11/+0
| | | | | | Remove redundant target-level settings. Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
* malta: update target configs and fix build warningsTony Ambardar2021-01-251-4/+4
| | | | | | | | | | | Comment out some conflicting target configs that are set from subtarget configs, which sometimes lead to kernel compile warnings: scripts/kconfig/conf --syncconfig Kconfig net/sched/Kconfig:45: warning: menuconfig statement without prompt .config:1038:warning: override: CPU_MIPS32_R2 changes choice state Signed-off-by: Tony Ambardar <itugrok@yahoo.com>