aboutsummaryrefslogtreecommitdiffstats
path: root/target
Commit message (Collapse)AuthorAgeFilesLines
* realtek: add support for HPE 1920 seriesJan Hoffmann2022-07-2810-3/+540
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware information: --------------------- - HPE 1920-8G: - RTL8380 SoC - 8 Gigabit RJ45 ports (built-in RTL8218B) - 2 SFP ports (built-in SerDes) - HPE 1920-16G / HPE 1920-24G (same board): - RTL8382 SoC - 16/24 Gigabit RJ45 ports (built-in RTL8218B, 1/2 external RTL8218D) - 4 SFP ports (external RTL8214FC) - Common: - RJ45 RS232 port on front panel - 32 MiB NOR Flash - 128 MiB DDR3 DRAM - PT7A7514 watchdog Booting initramfs image: ------------------------ - Prepare a FTP or TFTP server serving the OpenWrt initramfs image and connect the server to a switch port. - Connect to the console port of the device and enter the extended boot menu by typing Ctrl+B when prompted. - Choose the menu option "<3> Enter Ethernet SubMenu". - Set network parameters via the option "<5> Modify Ethernet Parameter". Enter the FTP/TFTP filename as "Load File Name" ("Target File Name" can be left blank, it is not required for booting from RAM). Note that the configuration is saved on flash, so it only needs to be done once. - Select "<1> Download Application Program To SDRAM And Run". Initial installation: --------------------- - Boot an initramfs image as described above, then use sysupgrade to install OpenWrt permanently. After initial installation, the bootloader needs to be configured to load the correct image file - Enter the extended boot menu again and choose "<4> File Control", then select "<2> Set Application File type". - Enter the number of the file "openwrt-kernel.bin" (should be 1), and use the option "<1> +Main" to select it as boot image. - Choose "<0> Exit To Main Menu" and then "<1> Boot System". NOTE: The bootloader on these devices can only boot from the VFS filesystem which normally spans most of the flash. With OpenWrt, only the first part of the firmware partition contains a valid filesystem, the rest is used for rootfs. As the bootloader does not know about this, you must not do any file operations in the bootloader, as this may corrupt the OpenWrt installation (selecting the boot image is an exception, as it only stores a flag in the bootloader data, but doesn't write to the filesystem). Signed-off-by: Jan Hoffmann <jan@3e8.eu>
* kernel: mtdsplit: add support for H3C VFS filesystemJan Hoffmann2022-07-285-0/+178
| | | | | | | | | | | | | | | | The bootloader on some H3C devices (for example HPE 1920 switches) only supports booting from flash by reading an image from an "VFS" filesystem which spans most of the available flash. The filesystem size is hard- coded in the bootloader. However, as long as no write operations are performed in the bootloader menu, it is sufficient if the start of the partition contains a valid filesystem with the kernel image. This mtdsplit parser reads the size and location of the kernel image and finds the location of the rootfs stored after it. It assumes that the filesystem image matches the layout of one generated by mkh3cvfs, with a filename of "openwrt-kernel.bin" for the kernel image. Signed-off-by: Jan Hoffmann <jan@3e8.eu>
* realtek: clean up rtl838x MDIO busy wait loopJan Hoffmann2022-07-281-15/+22
| | | | | | | | | | | | | Don't use udelay to allow other kernel tasks to execute if the kernel has been built without preemption. Also determine the timeout based on jiffies instead of loop iterations. This is especially important on devices containing a watchdog with a short timeout. Without this change, the watchdog is not serviced during PHY patching which can take multiple seconds. Tested-by: Birger Koblitz <mail@birger-koblitz.de> Signed-off-by: Jan Hoffmann <jan@3e8.eu>
* realtek: add SFP support for RTL8214FC PHYJan Hoffmann2022-07-281-1/+25
| | | | | | | | | | Probe the SFP module during PHY initialization and implement insertion/removal handlers to automatically configure the media type of the respective port. Suggested-by: Birger Koblitz <git@birger-koblitz.de> Tested-by: Birger Koblitz <mail@birger-koblitz.de> Signed-off-by: Jan Hoffmann <jan@3e8.eu>
* realtek: rtl83xx-phy: decouple RTL8214FC media change and power configJan Hoffmann2022-07-281-52/+70
| | | | | | | | | | | | | Move RTL8214FC power configuration to newly created suspend and resume methods. A media change now only results in power configuration if the PHY is not suspended, to avoid powering up a port when the interface is currently not up. While at it, remove the rtl8380 prefix from function names, as this is actually not SoC-specific. Tested-by: Birger Koblitz <mail@birger-koblitz.de> Signed-off-by: Jan Hoffmann <jan@3e8.eu>
* realtek: rtl83xx-phy: fix RTL8214FC media changeJan Hoffmann2022-07-281-16/+16
| | | | | | | | Toggle power on the individual PHY instead of the package. Otherwise a media change always toggles power on the first port, and not the one that is being configured. Signed-off-by: Jan Hoffmann <jan@3e8.eu>
* realtek: make DGS-1210 u-boot-env partition writeableMarkus Stockhausen2022-07-261-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | We are close to provide enduser friendly OpenWrt images for DGS-1210 switches that do not need serial console. Nevertheless a small bit is missing. We cannot switch back to the vendor partition or initiate a download of a vendor firmware image. To issue this from inside OpenWrt we need write access to U-Boot environment. Case 1: Switch back to secondary (vendor) image > fw_setenv bootcmd run addargs\; bootm 0xb4e80000 > fw_setenv image /dev/mtdblock7 > reboot Case 2: Issue D-Link Network Assistant based download on next reboot. This is a combination of some vendor specific protocol (DDP) and a TFTP download afterwards. > fw_setenv bootstop on > reboot Allow these commands by opening up u-boot-env for write access. Tested on DGS-1210-20. Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
* uboot-bcm4908: include SoC in output filesRafał Miłecki2022-07-252-4/+4
| | | | | | | | This fixes problem of overwriting BCM4908 U-Boot and DTB files by BCM4912 ones. That bug didn't allow booting BCM4908 devices. Fixes: f4c2dab544ec2 ("uboot-bcm4908: add BCM4912 build") Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: build bootfs image per-SoCRafał Miłecki2022-07-254-59/+92
| | | | | | | | | | | | | | | | In theory we could have just 1 bootfs image for all devices as each device has its own entry in the "configurations" node. It doesn't work well with default configuration though. If something goes wrong U-Boot SPL can be interrupted (by pressing A) to enter its minimalistic menu. It allows ignoring boardid. In such case bootfs default configuration is used. For above reason each SoC family (BCM4908, BCM4912) should have its own bootfs built. It allows each of them to have working default configuration. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* lantiq: fix network port GPIO settings for Fritzbox 3390Daniel Kestrel2022-07-221-2/+2
| | | | | | | There are forum reports that 2 LAN ports are not working, the GPIO settings are adjusted to fix the problem. Signed-off-by: Daniel Kestrel <kestrel1974@t-online.de>
* ipq806x: Archer VR2600: fix switch ports numberingChristian Lamparter2022-07-221-3/+3
| | | | | | | | The order of LAN ports shown in Luci is reversed compared to what is written on the case of the device. Fix the order so that they match. Fixes: #10275 Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* generic: 5.15: Disable more config symbolsMartin Blumenstingl2022-07-221-0/+1
| | | | | | These came up while trying to build the lantiq target with Linux 5.15. Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
* realtek: clear spurious GPIO interruptsSander Vanheule2022-07-211-0/+30
| | | | | | | | | | | | | | The interrupt controller in the internal GPIO peripheral will sometimes generate spurious interrupts. If these are not properly acknowledged, the system will be held busy until reboot. These spurious interrupts are identified by the fact that there is no system IRQ number associated, since the interrupt line was never allocated. Although most prevalent on RTL839x, RTL838x SoCs have also displayed this behaviour. Reported-by: Luiz Angelo Daros de Luca <luizluca@gmail.com> # DGS-1210-52 Reported-by: Birger Koblitz <mail@birger-koblitz.de> # Netgear GS724TP v2 Reported-by: Jan Hoffmann <jan@3e8.eu> # HPE 1920-16G Signed-off-by: Sander Vanheule <sander@svanheule.net>
* ramips: add support for ZyXEL NWA50AX / NWA55AXEDavid Bauer2022-07-207-2/+248
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware -------- CPU: Mediatek MT7621 RAM: 256M DDR3 FLASH: 128M NAND ETH: 1x Gigabit Ethernet WiFi: Mediatek MT7915 (2.4/5GHz 802.11ax 2x2 DBDC) BTN: 1x Reset (NWA50AX only) LED: 1x Multi-Color (NWA50AX only) UART Console ------------ NWA50AX: Available below the rubber cover next to the ethernet port. NWA55AXE: Available on the board when disassembling the device. Settings: 115200 8N1 Layout: <12V> <LAN> GND-RX-TX-VCC Logic-Level is 3V3. Don't connect VCC to your UART adapter! Installation Web-UI ------------------- Upload the Factory image using the devices Web-Interface. As the device uses a dual-image partition layout, OpenWrt can only installed on Slot A. This requires the current active image prior flashing the device to be on Slot B. If the currently installed image is started from Slot A, the device will flash OpenWrt to Slot B. OpenWrt will panic upon first boot in this case and the device will return to the ZyXEL firmware upon next boot. If this happens, first install a ZyXEL firmware upgrade of any version and install OpenWrt after that. Installation TFTP ----------------- This installation routine is especially useful in case * unknown device password (NWA55AXE lacks reset button) * bricked device Attach to the UART console header of the device. Interrupt the boot procedure by pressing Enter. The bootloader has a reduced command-set available from CLI, but more commands can be executed by abusing the atns command. Boot a OpenWrt initramfs image available on a TFTP server at 192.168.1.66. Rename the image to owrt.bin $ atnf owrt.bin $ atna 192.168.1.88 $ atns "192.168.1.66; tftpboot; bootm" Upon booting, set the booted image to the correct slot: $ zyxel-bootconfig /dev/mtd10 get-status $ zyxel-bootconfig /dev/mtd10 set-image-status 0 valid $ zyxel-bootconfig /dev/mtd10 set-active-image 0 Copy the OpenWrt ramboot-factory image to the device using scp. Write the factory image to NAND and reboot the device. $ mtd write ramboot-factory.bin firmware $ reboot Signed-off-by: David Bauer <mail@david-bauer.net>
* bcm4908: prepare for Asus GT-AX6000 supportRafał Miłecki2022-07-201-0/+10
| | | | | | It isn't tested & Linux DT will surely need more work. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: backport bcmbca DT patches queued for 5.20Rafał Miłecki2022-07-2010-0/+1161
| | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* ramips: add support for Netgear WAX202Wenli Looi2022-07-196-0/+318
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Netgear WAX202 is an 802.11ax (Wi-Fi 6) router. Specifications: * SoC: MT7621A * RAM: 512 MiB NT5CC256M16ER-EK * Flash: NAND 128 MiB F59L1G81MB-25T * Wi-Fi: * MT7915D: 2.4/5 GHz (DBDC) * Ethernet: 4x 1GbE * Switch: SoC built-in * USB: None * UART: 115200 baud (labeled on board) Load addresses (same as ipTIME AX2004M): * stock * 0x80010000: FIT image * 0x81001000: kernel image -> entry * OpenWrt * 0x80010000: FIT image * 0x82000000: uncompressed kernel+relocate image * 0x80001000: relocated kernel image -> entry Installation: * Flash the factory image through the stock web interface, or TFTP to the bootloader. NMRP can be used to TFTP without opening the case. * Note that the bootloader accepts both encrypted and unencrypted images, while the stock web interface only accepts encrypted ones. Revert to stock firmware: * Flash the stock firmware to the bootloader using TFTP/NMRP. References in WAX202 GPL source: https://www.downloads.netgear.com/files/GPL/WAX202_V1.0.5.1_Source.rar * openwrt/target/linux/ramips/dts/mt7621-ax-nand-wax202.dts DTS file for this device. Signed-off-by: Wenli Looi <wlooi@ucalgary.ca>
* mt7622: remove 300 MHz from dtsJohn Audia2022-07-191-0/+25
| | | | | | | | | | | | | | Due to the bug described here[1], remove the 300 MHz clock to avoid a low voltage condition that can cause a hang when rebooting the RT3200/E8450. This solution is probably better than the script-based work-around[2]. 1. https://forum.openwrt.org/t/belkin-rt3200-linksys-e8450-wifi-ax-discussion/94302/1490 2. https://github.com/openwrt/openwrt/pull/5025 Signed-off-by: John Audia <therealgraysky@proton.me> Tested-by: Rui Salvaterra <rsalvaterra@gmail.com> Tested-by: John Audia <therealgraysky@proton.me>
* kernel: switch back 5.15 to fw_devlink=permissiveRafał Miłecki2022-07-191-0/+30
| | | | | | | Kernel switching to fw_devlink=on as default broke probing some devices. Revert it until we get a proper fix. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* kernel: bump 5.10 to 5.10.131John Audia2022-07-181-1/+1
| | | | | | All patches automatically rebased. Signed-off-by: John Audia <therealgraysky@proton.me>
* kernel: bump 5.10 to 5.10.130John Audia2022-07-183-6/+6
| | | | | | | | | All patches automatically rebased. Build system: x86_64 Build-tested: ipq806x/R7800 Signed-off-by: John Audia <therealgraysky@proton.me>
* kernel: bump 5.10 to 5.10.129John Audia2022-07-188-20/+20
| | | | | | | | | All patches automatically rebased. Build system: x86_64 Build-tested: ipq806x/R7800 Signed-off-by: John Audia <therealgraysky@proton.me>
* bcm4908: use upstream-accepted watchdog patchesRafał Miłecki2022-07-182-4/+14
| | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908: backport latest DT patchesRafał Miłecki2022-07-187-1/+363
| | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* kernel: update leds-bcm63138 driverRafał Miłecki2022-07-186-0/+173
| | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* kernel: backport mtk wlan flow offloading fixFelix Fietkau2022-07-181-0/+28
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ipq40xx: add MikroTik wAP ac (RBwAPG-5HacD2HnD) supportMark Mentovai2022-07-188-8/+250
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The MikroTik wAP ac (RBwAPG-5HacD2HnD) is a dual-band dual-radio 802.11ac wireless access point with integrated antenna and two Ethernet ports in a weatherproof enclosure. See https://mikrotik.com/product/wap_ac for more information. Important: this is the new ipq40xx-based wAP ac, not the older ath79-based wAP ac (RBwAPG-5HacT2HnD), already supported in OpenWrt. Specifications: - SoC: Qualcomm Atheros IPQ4018 - CPU: 4x ARM Cortex A7 - RAM: 128MB - Storage: 16MB NOR flash - Wireless - 2.4GHz: Built-in IPQ4018 (SoC) 802.11b/g/n 2x2:2, 2.5 dBi antennae - 5GHz: Built-in IPQ4018 (SoC) 802.11a/n/ac 2x2:2, 2.5 dBi antennae - Ethernet: Built-in IPQ4018 (SoC, QCA8075), 2x 1000/100/10Mb/s ports, one with 802.3af/at PoE in Installation: Boot the initramfs image via TFTP, then flash the sysupgrade image using sysupgrade. Details at https://openwrt.org/toh/mikrotik/common. Notes: This preserves the MAC addresses of the physical Ethernet ports: - eth0 corresponds to the physical port labeled ETH1 and has the base MAC address. This port can be used to power the device. - eth1 corresponds to the physical port labeled ETH2 and has a MAC address one greater than the base. MAC addresses are set from /lib/preinit/05_set_iface_mac_ipq40xx.sh rather than /etc/board.d/02_network so that they are in effect for preinit. This should likely be done for other MikroTik devices and possibly other non-MikroTik devices as well. As this device has 2 physical ports, they are each connected to their respective PHYs, allowing the link status to be visible to software. Since they are not marked on the case with any role (such as LAN or WAN), both are bridged to the lan network by default, although this can easily be changed if needed. Signed-off-by: Mark Mentovai <mark@mentovai.com>
* kernel: backport LEDs driver for BCMBCA devicesRafał Miłecki2022-07-178-0/+981
| | | | | | This includes BCM63xx and BCM4908 families. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* sdk: add spidev-test to the bundle of userspace sourcesChristian Lamparter2022-07-171-2/+13
| | | | | | | | | | | | | moves and extends the current facilities, which have been added some time ago for the the usbip utility, to support more utilites that are shipped with the Linux kernel tree to the SDK. this allows to drop all the hand-waving and code for failed previous attempts to mitigate the SDK build failures. Fixes: bdaaf66e28bd ("utils/spidev_test: build package directly from Linux") Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* realtek: correct egress frame port verificationSander Vanheule2022-07-172-39/+36
| | | | | | | | | | | | | | | | | | | | Destination switch ports for outgoing frame can range from 0 to CPU_PORT-1. Refactor the code to only generate egress frame CPU headers when a valid destination port number is available, and make the code a bit more consistent between different switch generations. Change the dest_port argument's type to 'unsigned int', since only positive values are valid. This fixes the issue where egress frames on switch port 0 did not receive a VLAN tag, because they are sent out without a CPU header. Also fixes a potential issue with invalid (negative) egress port numbers on RTL93xx switches. Reported-by: Arınç ÜNAL <arinc.unal@xeront.com> Suggested-by: Birger Koblitz <mail@birger-koblitz.de> Tested-by: Luiz Angelo Daros de Luca <luizluca@gmail.com> Signed-off-by: Sander Vanheule <sander@svanheule.net>
* realtek: correct egress frame priority assignmentSander Vanheule2022-07-171-12/+14
| | | | | | | | | | | | | | | | | | | | | | | | Priority values passed to the egress (TX) frame header initialiser are invalid when smaller than 0, and should not be assigned to the frame. Queue assignment is then left to the switch core logic. Current code for RTL83xx forces the passed priority value to be positive, by always masking it to the lower bits, resulting in the priority always being set and enabled. RTL93xx code doesn't even check the value and unconditionally assigns the (32 bit) value to the (5 bit) QID field without masking. Fix priority assignment by only setting the AS_QID/AS_PRI flag when a valid value is passed, and properly mask the value to not overflow the QID/PRI field. For RTL839x, also assign the priority to the right part of the frame header. Counting from the leftmost bit, AS_PRI and PRI are in bits 36 and 37-39. The means they should be assigned to the third 16 bit value, containing bits 32-47. Tested-by: Luiz Angelo Daros de Luca <luizluca@gmail.com> Signed-off-by: Sander Vanheule <sander@svanheule.net>
* realtek: fix egress L2 learning on rtl839xSander Vanheule2022-07-171-1/+1
| | | | | | | | | | | | The flag to enable L2 address learning on egress frames is in CPU header bit 40, with bit 0 being the leftmost bit of the header. This corresponds to BIT(7) in the third 16-bit value of the header. Correctly set L2LEARNING by fixing the off-by-one error. Fixes: 9eab76c84e31 ("realtek: Improve TX CPU-Tag usage") Tested-by: Luiz Angelo Daros de Luca <luizluca@gmail.com> Signed-off-by: Sander Vanheule <sander@svanheule.net>
* realtek: fix egress port mask on rtl839xSander Vanheule2022-07-171-1/+1
| | | | | | | | | | | | The flag to enable the outgoing port mask is in CPU header bit 43, with bit 0 being the leftmost bit of the header. This corresponds to BIT(4) in the third 16-bit value of the header. Correctly set AS_DPM by fixing the off-by-one error. Fixes: 9eab76c84e31 ("realtek: Improve TX CPU-Tag usage") Tested-by: Luiz Angelo Daros de Luca <luizluca@gmail.com> Signed-off-by: Sander Vanheule <sander@svanheule.net>
* bcm53xx: add support for Meraki MR26Christian Lamparter2022-07-156-6/+535
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Meraki MR26 is an EOL wireless access point featuring a PoE ethernet port and two dual-band 3x3 MIMO 802.11n radios and 1x1 dual-band WIFI dedicated to scanning. Thank you Amir for the unit and PSU. Hardware info: SOC : Broadcom BCM53015A1KFEBG (dual-core Cortex-A9 CPU at 800 MHz) RAM : SK hynix Inc. H5TQ1G63EFR, 1 Gbit DDR3 SDRAM = 128 MiB NAND : Spansion S34ML01G100TF100, 1 Gbit SLC NAND Flash = 128 MiB ETH : 1 GBit Ethernet Port - PoE WIFI1 : Broadcom BCM43431KMLG, BCM43431 802.11 abgn WIFI1 : Broadcom BCM43431KMLG, BCM43431 802.11 abgn WIFI3 : Broadcom BCM43428 abgn (1x1:1 - id: 43428) BUTTON: one reset button LEDS : RGB-LED MISC : Atmel AT24C64 8KiB EEPROM (i2c - seems empty) : Ti INA219 26V, 12-bit, i2c output current/voltage/power monitor : TPS23754, High Power/High Efficiency PoE Interface+DC/DC Controller SERIAL: WARNING: The serial port needs a TTL/RS-232 3V3 level converter! The Serial setting is 115200-8-N-1. The board has a populated right angle 1x4 0.1" pinheader. The pinout is: VCC (next to J3, has little white arrow), RX, TX, GND. This flashing procedure for the MR26 was tested with firmware: "22-143410M-gf25cbf5a-asa". U-Boot 2012.10-00063-g83f9fe4 (Jun 04 2014 - 21:22:39) A guide how to open up the device is available on the wiki: <https://openwrt.org/toh/meraki/mr26> Notes: - The WIFI do work to a degree. Limited to 802.11bg in the 2.4GHz band. - the WIFI macs are made up. 0. Create a separate Ethernet LAN which can't have access to the internet. Ideally use 192.168.1.2 for your PC. The new OpenWrt firmware will setup the network via DHCP Discovery, so make sure your PC is running a DHCP-Server (i.e.: dnsmasq) '# dnsmasq -i eth# -F 192.168.1.5,192.168.1.50 Download the openwrt-meraki-mr26 initramfs file from openwrt.org and rename it to something simple like mr26.bin. Then put it into the tftp's server directory. 1. Disassemble the MR26 device by removing all screws (4 screws are located under the 4 rubber feets!) and prying open the plastic covers without breaking the plastic retention clips. Once inside, remove the plastic back casing. Be careful, there some "hidden" retention clips on both sides of the LAN port, you need a light to see those. Next, you want to remove all the screws on the outer metal shielding to get to the PCB. It's not necessary to remove the antennas! 2. Connect the serial cable to the serial header and Ethernet patch cable to the device. 4. Before connecting the power, get ready flood the serial console program with the magic: xyzzy . This is necessary in order to get into the u-boot prompt. Once Ready: connect power cable. 5. If you don't get the "u-boot>" prompt within the first few seconds, you have to disconnect and reconnect the power cable and try again. 6. In the u-boot prompt enter: setenv ipaddr 192.168.1.4 setenv serverip 192.168.1.2 tftpboot ${meraki_loadaddr} mr26.bin; bootm this will boot a in-ram-only OpenWrt image. 7. Once it booted use sysupgrade to permanently install OpenWrt. To do this: Download the latest sysupgrade.bin file and move it to the device. Then use sysupgrade *sysupgrade.bin to install it. WARNING: DO NOT DELETE the "storage" ubi volume! Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq-wifi: drop upstreamed board-2.binChristian Lamparter2022-07-151-1/+1
| | | | | | | | | | The BDFs for the: GL.iNet GL-B2200 were upstreamed to the ath10k-firmware repository and landed in linux-firmware.git Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq40xx: R619AC: replace space with - separator in variant stringChristian Lamparter2022-07-151-2/+2
| | | | | | | | | | | | | Kalle: "I see that variant has a space in it, does that work it correctly? My original idea was that spaces would not be allowed, but didn't realise to add a check for that." Is this an easy change? Because the original author (Tim Davis) noted: "You may substitute the & and space with something else saner if they prove to be problematic." Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ath79: fix Tx cleanup when NAPI poll budget is zeroSieng-Piaw Liew2022-07-141-5/+5
| | | | | | | | | | NAPI poll() function may be passed a budget value of zero, i.e. during netpoll, which isn't NAPI context. Therefore, napi_consume_skb() must be given budget value instead of !flush to truly discern netpoll-like scenarios. https://lore.kernel.org/netdev/20220707141056.2644-1-liew.s.piaw@gmail.com/t/#m470f5c20225e76fb08c44d6cfa2f1b739ffaaea4 Signed-off-by: Sieng-Piaw Liew <liew.s.piaw@gmail.com>
* mediatek: mt7622: add linux-next tag to bpi-wps-button fixNick Hainke2022-07-141-0/+0
| | | | | | | | | 920-dts-mt7622-bpi-r64-fix-wps-button.patch is now merged upstream in linux-next [0]. Add "linux-next" as tag so people know it is upstreamed. [0] - https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/arch/arm64/boot/dts?id=c98e6e683632386a3bd284acda4342e68aec4c41 Signed-off-by: Nick Hainke <vincent@systemli.org>
* generic: fix warning orphan section from module exports in aarch64Christian Marangi2022-07-142-0/+48
| | | | | | | | | | | | | | | | | kernel linux now have 2 different export.h include, one from linux/export.h and one from asm-generic/export.h While most of our target user linux/export.h, aarch64 based target use asm-generic/export.h that is not patched with the changes of 221-module_exports. Patch also this additional header to fix multiple aarch64-openwrt-linux-musl-ld: warning: orphan section `__ksymtab_strings' from `arch/arm64/kernel/head.o' being placed in section `__ksymtab_strings' warning during kernel compilation. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* linux/generic/hack-5.15: add missing patch headersFlorian Eckert2022-07-1410-53/+268
| | | | | | | This patches does not have a valid patch headers and does not apply on an external git tree with 'git am'. To fix this add the missing headers. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* linux/generic/pending-5.15: add missing patch headersFlorian Eckert2022-07-147-44/+173
| | | | | | | This patches does not have a valid patch headers and does not apply on an external git tree with 'git am'. To fix this add the missing headers. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* target/linux/pending-5.15: rename patchesFlorian Eckert2022-07-142-0/+0
| | | | | | | The consecutive number 483 is assigned twice. This change fixes this. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* ath79: tplink-archer-c6-v2-us: fix inverted LED colorsRodrigo B. de Sousa Martins2022-07-121-2/+2
| | | | | | | | | | | The amber and green wan led color was inverted in dts file, which ends up leaving the wan led amber when the connection is established, so, switch gpio led number (7 and 8) in qca9563_tplink_archer-c6-v2-us.dts. Tip: the /etc/config/system file needs to be regenerated. Signed-off-by: Rodrigo B. de Sousa Martins <rodrigo.sousa.577@gmail.com> Signed-off-by: Petr Štetiar <ynezz@true.cz> [commit subject]
* bcm27xx: update patch to fix buildDaniel Golle2022-07-111-46/+5
| | | | | | | | | | Linux stable v5.15.51 brought commit 7a3a4683562e ("ARM: dts: bcm2711-rpi-400: Fix GPIO line names") which was already part of a local patch which then failed to apply. Remove the already applied and now failing hunk from the patch to fix the build. Fixes: 552d76f2be ("kernel: bump 5.15 to 5.15.51") Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* generic: 5.15: add missing symbolsPiotr Dymacz2022-07-111-0/+2
| | | | | | | These were found during work on new device support under the imx/cortexa7 target. Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* imx: keep common kernel symbols in target's configPiotr Dymacz2022-07-113-15/+7
| | | | | | Move common kernel symbols from subtargets to target config. Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* imx: cortexa7: add support for TechNexion PICO-PI-IMX7DLech Perczak2022-07-115-5/+98
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TechNexion PICO-PI-IMX7D is a NXP i.MX 7Dual based development board in the well-known "Raspberry Pi" form factor, comprising of PICO-IMX7 SoM and the PICO-PI-IMX7D carrier board. Usually bundled with a 5" 800x480 LVDS display with I2C touchscreen and an Omnivision OV5645 camera on a MIPI CSI bus, on a daughterboard. The board was previously used primarily with "Android Things" ecosystem, but the project was killed by Google. This would not be possible, if not for the great tutorial of setting up Debian on this board, by Robert C. Nelson [1]. Hardware highlights: CPU: NXP i.MX 7Dual SoC, dual-core Cortex-A7 at 1000 MHz RAM: 512 MiB DDR3 SDRAM Storage: 4 GB eMMC Networking: - built-in Gigabit Ethernet with Atheros AR8035 PHY, - Broadcom BCM4339 1x1 802.11ac Wi-Fi (over SDIO) + Bluetooth 4.1 (over SDIO + UART + IS2) combo, with Hirose u.FL connector on the board, - dual CAN interfaces on the 40-pin connector, Interfaces: - USB-C power input plus USB 2.0 OTG host/device port, - single USB-A host port, - serial console over built-in FT232BL USB-UART converter with micro-USB connector (configuration: 115200-8-N-1), - analog audio interface with TRRS connector in CTIA standard, - SPI, I2C and UART interfaces available on the 40-pin, - mikroBUS connector, - I2C connector for the optional touch panel, - parallel LCD output for the optional display, - MIPI CSI connector for the optional camera Installation: 1. Connect the serial console to debug USB connector and the terminal of choice in another window, at 115200-8-N-1. Ensure you can switch to it quickly after next step. 2. Power-on the board from your PC. Ensure your PC can supply required current, the board can take more than 1 A in the peak load during booting and brownout will result in power-on reset loop. Preferably, use charging-capable USB port or connect through self-powered USB hub. If U-Boot is present already on the eMMC, interrupt the booting sequence by pressing any key and skip to point 7. 3. Ensure the boot mode jumpers J1 and J2 are in correct position for USB recovery: 2 6 2 6 -------------- |o o-o||o-o o| |o o-o||o-o o| J1 -------------- J2 1 5 1 5 The jumpers are located just underneath the 40-pin expansion header and are of the smaller 2 mm pitch. 4. Download and build 'imx_usb_loader' from: https://github.com/boundarydevices/imx_usb_loader. 5. Power-on the board again from your PC through USB OTG connector. 6. Use 'imx_usb_loader' to load 'SPL' and 'u-boot-dtb.img' to the board: $ sudo imx_usb u-boot-pico-pi-imx7d/SPL $ sudo imx_usb u-boot-pico-pi-imx7d/u-boot-dtb.img 7. Switch to the terminal from step 2 and interrupt boot sequence by pressing any key within 2 seconds. 8. Configure mmc 0 to boot from the data partition and disable access to boot partitions: => mmc partconf 0 0 7 0 This only needs to be set once. If you were running Debian previously, this is probably already set. 9. Enable USB mass storage passthrough for eMMC from U-boot => ums 0 mmc 0 10. Optionally, backup previous eMMC contents by reading out its image. 11. Copy over the factory image to the USB device, for example: $ sudo dd if=openwrt-imx-cortexa7-pico-pi-imx7d-squashfs.combined.bin \ of=/dev/disk/by-id/usb-Linux_UMS_disk_0-0:0 \ bs=8M status=progress oflag=direct 12. Detach USB MSC interface from your PC and U-Boot by pressing Ctrl+C. 13. Ensure that boot mode jumpers are at the default settings for eMMC boot: 2 6 2 6 -------------- |o-o o||o o-o| |o-o o||o-o o| J1 -------------- J2 1 5 1 5 If they are not, power-off the board, restore them and power-on the board again. Otherwise, if jumpers are set, just reset the board from U-Boot CLI: => reset 14. The installation is now complete and board should boot successfully. Upgrading: just use sysupgrade image, as usual in OpenWrt. Known issues/current limitations: - OV5645 camera - not described in upstream device tree as of kernel 5.15. There are staging drivers present in upstream Linux tree for i.MX 7 CSI, MIPI-CSI and video mux, and the configuration is there in imx7s.dtsi - so this is expected to get supported eventually, - on-chip ADCs are disabled in upstream device tree, so the kernel driver remains disabled as well. [1] https://forum.digikey.com/t/debian-getting-started-with-the-pico-pi-imx7/12429 Signed-off-by: Lech Perczak <lech.perczak@gmail.com> [pepe2k@gmail.com: commit description reworded] Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* imx: add DT aliases for imx7d-pico-piLech Perczak2022-07-112-0/+47
| | | | | | | Add OpenWrt specific aliases for system LED and label MAC device, also set default serial console. Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
* imx: make sdcard/eMMC sysupgrade more resilientLech Perczak2022-07-111-3/+6
| | | | | | | | Ensure, that kernel update is performed atomically on filesystem, to reduce likelihood of failure if power-cut occurs during sysupgrade. If kernel update fails for whatever reason, skip updating rootfs as well. Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
* imx: decouple sdcard sysupgrade from Apalis boardsLech Perczak2022-07-114-56/+67
| | | | | | | | | Sysupgrade procedure for i.MX 6 Apalis boards is suitable for most other i.MX boards booting from eMMC or SD card. Extract the common parts and decouple the procedure from "apalis" board name in sysupgrade TAR contents, so the procedure is reusable for i.MX 7 boards. Signed-off-by: Lech Perczak <lech.perczak@gmail.com>