aboutsummaryrefslogtreecommitdiffstats
path: root/target
Commit message (Collapse)AuthorAgeFilesLines
* mt7621: hiwifi_hc5962: fix reboot loop by using LZMA loaderPetr Štetiar2022-10-181-0/+1
| | | | | | | | | This fixes a well known "LZMA ERROR 1" error, reported previously on numerous of similar devices. References: https://github.com/openwrt/openwrt/issues/10645#issuecomment-1282607274 Signed-off-by: Petr Štetiar <ynezz@true.cz> (cherry picked from commit b63d6d4730fd0dc30ce6707338c398e8b9d61d86)
* mt7621: netgear_ex6150: fix reboot loop by using LZMA loaderPetr Štetiar2022-10-181-0/+1
| | | | | | | | | This fixes a well known "LZMA ERROR 1" error, reported previously on numerous of similar devices. Fixes: #10645 Signed-off-by: Petr Štetiar <ynezz@true.cz> (cherry picked from commit 7dd1cab1c16f374716b1ee7a5bf99f849b74c1dc)
* mpc85xx: p1010: make TP-Link WDR4900 v1 build againMatthias Schiffer2022-10-141-3/+17
| | | | | | | | Add the spi-loader as a pre-kernel stage, so we can lift the kernel size limit. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net> (cherry picked from commit 2fa53c9214b7b93fd82ad1ff885145b9e1c1f71b)
* mpc85xx: add SPI kernel loader for TP-Link TL-WDR4900 v1Matthias Schiffer2022-10-1422-0/+1364
| | | | | | | | | | | Similar to the lzma-loader on our MIPS targets, the spi-loader acts as a second-stage loader that will then load and start the actual kernel. As the TL-WDR4900 uses SPI-NOR and the P1010 family does not have support for memory mapping of this type of flash, this loader needs to contain a basic driver for the FSL ESPI controller. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net> (cherry picked from commit a296055b82fbb20457273492069ce9d62009e2a1)
* ramips: fix ZyXEL NWA55AXE model nameDavid Bauer2022-10-141-1/+1
| | | | | | | The model name was missing a letter. Signed-off-by: David Bauer <mail@david-bauer.net> (cherry picked from commit 9c8605dee238cdf52e88b6a1aa64d5b7bf5dd846)
* ramips: add support for ZyXEL NWA50AX / NWA55AXEDavid Bauer2022-10-147-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> (cherry picked from commit a0b7fef0ffe4cd9cca39a652a37e4f3ce8f0a681)
* ramips: skip bbt scan on mt7621Felix Fietkau2022-10-101-1/+1
| | | | | | | reduces unnecessary flash reads and speeds up boot time Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry-picked from commit 55e8d52157f191bf578cf716983764e64c6f94e4)
* ramips: enable support for mtk_bmt in the nand flash driverFelix Fietkau2022-10-101-0/+5
| | | | | Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry-picked from commit 4947623d6c801365a60f383217c187e3d9dae953)
* ramips: mt7621_nand: initialize ECC_FDMADDRFelix Fietkau2022-10-101-0/+4
| | | | | | | This is needed for the ECC controller to access FDM data Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry-picked from commit 73b2a4ca033bbd84d3e0373d4fd21c559ddc090b)
* ramips: mt7621_nand: reduce log verbosityStijn Tintel2022-10-101-1/+1
| | | | | | | | | | Avoid flooding the log with the message below by increasing the log level to debug: mt7621-nand 1e003000.nand: Using programmed access timing: 31c07388 Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be> (cherry-picked from commit 89c195925109d2b59f284bfdd23a3d853c67e27b)
* ramips: move mt7621_nand driver to filesStijn Tintel2022-10-102-1356/+1353
| | | | | | | | | | | | The patch was rejected by upstream. The mtk_nand driver should be modified to support the mt7621 flash controller instead. As there is no newer version to backport, or no upstream version to fix bugs, let's move the driver to the files dir under the ramips target. This makes it easier to make changes to the driver while waiting for mt7621 support to land in mtk_nand. Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be> (cherry-picked from commit 2f2e81a4ea110328c5434054d1412b4d1d8fde81)
* kernel: mtdsplit: support UBI after FIT imagesFelix Fietkau2022-10-101-2/+7
| | | | | | | Change the partition name accordingly. Same behavior as mtdsplit_uimage Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry-picked from commit 62fd9f97090d05637a283d594f2d02958fd36a80)
* kernel: mtk_bmt: skip bitflip check if threshold isn't setChuanhong Guo2022-10-101-1/+1
| | | | | | | kernel spi-nand driver leaves this field empty and let mtd set it later. Signed-off-by: Chuanhong Guo <gch981213@gmail.com> (cherry-picked from commit 6fa50e26e7c1221085d8e71cde7e9148c540c752)
* kernel: mtk_bmt: add debugfs file to attempt repair of remapped sectorsFelix Fietkau2022-10-101-1/+26
| | | | | | | This can be used for sectors that are not physically damaged Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry-picked from commit 2a8a333ee96fb0c8d9875abf9fcd5c412f4b19ae)
* kernel: add support for mediatek NMBM flash mapping supportFelix Fietkau2022-10-104-4/+2361
| | | | | | | | This NAND flash remapping method is used on newer MediaTek devices with NAND flash. Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry-picked from commit 06382d1af7b2c5afcde605db436522326fbf5467)
* kernel: mtk_bmt: on error, do not attempt to remap out-of-range blocksFelix Fietkau2022-10-102-15/+24
| | | | | | | Pass errors to caller instead Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry-picked from commit be1f2b4d9d01594c2fd20f37b8e63e7cb7a81572)
* kernel: mtk_bmt: fix block copying on remap with bmt v2Felix Fietkau2022-10-101-6/+6
| | | | | | | Copy from the previously mapped block (in case it was remapped already) Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry-picked from commit 7d1e2be1605eda85e1a607a3d3ddefed1b961d3d)
* kernel: mtk_bmt: allow get_mapping_block to return an errorFelix Fietkau2022-10-104-8/+25
| | | | | | | | Used by the mapping implementation to indicate that no backing block is available Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry-picked from commit b4c7f8c5f7a2dab76fe90849e112c6bd8f80ab19)
* kernel: split up mtk_bmt driver codeFelix Fietkau2022-10-105-806/+857
| | | | | | | Keep a separate source file per variant Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry-picked from commit 601c7b4adb0f91005a8755bf9575c68ac623cc33)
* ath79: fix model name of Extreme Networks WS-AP3805iTom Herbers2022-10-081-1/+1
| | | | | | | | Everywhere else the device is referred to as WS-AP3805i, only the model name wrongly only said AP3805i. Signed-off-by: Tom Herbers <mail@tomherbers.de> (cherry picked from commit 7d6032f310058d7e9b96d7e1dc4d49c8232beff7)
* ath79: add low_mem to tiny imageNick Hainke2022-10-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Devices with SMALL_FLASH enabled have "SQUASHFS_BLOCK_SIZE=1024" in their config. This significantly increases the cache memory required by squashfs [0]. This commit enables low_mem leading to a much better performance because the SQUASHFS_BLOCK_SIZE is reduced to 256. Example Nanostation M5 (XM): The image size increases by 128 KiB. However, the memory statisitcs look much better: Default tiny build: ------ MemTotal: 26020 kB MemFree: 5648 kB MemAvailable: 6112 kB Buffers: 0 kB Cached: 3044 kB low_mem enabled: ----- MemTotal: 26976 kB MemFree: 6748 kB MemAvailable: 11504 kB Buffers: 0 kB Cached: 7204 kB [0] - https://github.com/freifunk-gluon/gluon/commit/7e8af99cf504ca1dc389f282a0c94f4a911571be Signed-off-by: Nick Hainke <vincent@systemli.org> (cherry picked from commit f54ac98f8cec676761e5144ae06640b8007b4b04)
* ath79: move ubnt-xm to tinyNick Hainke2022-10-0511-265/+281
| | | | | | | | | | | | | | ath79 has was bumped to 5.10. With this, as with every kernel change, the kernel has become larger. However, although the kernel gets bigger, there are still enough flash resources. But the RAM reaches its capacity limits. The tiny image comes with fewer kernel flags enabled and fewer daemons. Improves: 15aa53d7ee65 ("ath79: switch to Kernel 5.10") Tested-by: Robert Foss <me@robertfoss.se> Signed-off-by: Nick Hainke <vincent@systemli.org> (cherry picked from commit f4415f7635164ec07ddc22f56df93555804b5767)
* kernel: fix possible mtd NULL pointer dereferenceRafał Miłecki2022-10-044-3/+33
| | | | | | Fixes: cae4d089bc1d3 ("kernel: backport mtd dynamic partition patch") Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit a5265497a4f6da158e95d6a450cb2cb6dc085cab)
* kernel: bump 5.10 to 5.10.146John Audia2022-10-047-19/+19
| | | | | | | All patches automatically rebased. Signed-off-by: John Audia <therealgraysky@proton.me> (cherry picked from commit eed0a31b90e4feeb65f3b54853bd4db1f5bcd524)
* kernel: bump 5.10 to 5.10.145John Audia2022-10-047-50/+8
| | | | | | | | | | | | | | | Manually rebased: hack-5.10/780-usb-net-MeigLink_modem_support.patch Removed upstreamed: patches-5.10/110-gpio-mpc8xxx-Fix-support-for-IRQ_TYPE_LEVEL_LOW-flow.patch[1] All other patches automatically rebased. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.10.145&id=24196210b198e8e39296e277bb93b362aa207775 Signed-off-by: John Audia <therealgraysky@proton.me> (cherry picked from commit 8fe67fae1d619467b2b3300178d4309f17cfdb54)
* kernel: bump 5.10 to 5.10.144John Audia2022-10-041-1/+1
| | | | | | | All patches automatically rebased. Signed-off-by: John Audia <therealgraysky@proton.me> (cherry picked from commit eff4f8b2f0a2900c945c21c8183d1faa0ac35ec1)
* ramips: fix switch setup for ASUS RT-AX53UMatthias Schiffer2022-10-032-5/+1
| | | | | | | | The device has only 1 WAN + 3 LAN ports. Remove "lan4" interface corresponding to the non-existing port. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net> (cherry picked from commit 149fc3a269b435483b31df03d6fd9679286cf9e7)
* ramips: enable LZMA loader to fix Linksys RE6500 bootMark King2022-10-031-0/+1
| | | | | | | | | | | | At some point after 21.02.3 and before 22.03.0, the size limits of the Linksys RE6500 were reached and prevent booting from the 22.03.0 release or builds of current SNAPSHOT. This patch allows builds of master to boot again and has been tested on my device. Fixes: #8577 Signed-off-by: Mark King <mark@vemek.co> (cherry picked from commit bf5b1a53d4ff3f1d742f9ece1ab16555280417ec)
* toolchain: Select USE_SSTRIP with external musl toolchainHauke Mehrtens2022-10-031-1/+0
| | | | | | | | | | When we use the internal toolchain USE_SSTRIP will be selected by default for musl libc and USE_STRIP when glibc is used. Do the same when an external toolchain is used. USE_GLIBC will also be set for external toolchain builds based on the EXTERNAL_TOOLCHAIN_LIBC_USE_GLIBC setting. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> (cherry picked from commit 9403810c020cca136149973a3929bf77a1f501aa)
* bcm53xx: backport clk driver fix for DT nodes namesRafał Miłecki2022-10-032-62/+72
| | | | | | | It allows dropping downstream patch renaming DT nodes. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 77d9cce604d32005ddb90e91c6cc9b9cf35068d7)
* ath79: fix LibreRouter-v1 watchdog and poe_passSantiago Piccinini2022-10-021-0/+4
| | | | | | | Watchdog and poe_passthrough gpios require the jtag disabled. Signed-off-by: Santiago Piccinini <spiccinini@altermundi.net> (cherry picked from commit 2ad949b11dbaa4c634868d55a4452d5a558776bd)
* build: fix warnings from grepChris Osgood2022-09-291-1/+1
| | | | | | | | | | Fixes build warnings when using newer versions of grep. Signed-off-by: Chris Osgood <chris_github@functionalfuture.com> Tested-by: Georgi Valkov <gvalkov@gmail.com> (cherry picked from commit c5e167e0d6075c46ca92c30b425c4dcb05fec5ed) [ fix conflict error ] Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* build: fix issues with targets installed via feedsFelix Fietkau2022-09-271-1/+1
| | | | | | | | - fix including modules.mk when a target is being replaced - fix calling make targets from target/linux Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry-picked from commit 3a8825ad6acbf18b2b472ace56be58868af78be7)
* mpc85xx: add patch to fix gpio mpc8xxxJosef Schlehofer2022-09-241-0/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Backports Linux kernel patch [1] for kernel 5.10 where it applies cleanly. This was tested on CZ.NIC Turris 1.1 router running OpenWrt 22.03 release. Before: - In /var/log/messages: ``` [ 16.392988] lm90 0-004c: cannot request IRQ 48 [ 16.398280] lm90: probe of 0-004c failed with error -22 ``` - Sensors does not work: ``` root@turris:~# sensors No sensors found! Make sure you loaded all the kernel drivers you need. Try sensors-detect to find out which these are. ``` After: ``` root@turris:/# sensors sa56004-i2c-0-4c Adapter: MPC adapter (i2c@3000) temp1: +44.0°C (low = +0.0°C, high = +70.0°C) (crit = +85.0°C, hyst = +75.0°C) temp2: +73.8°C (low = +0.0°C, high = +70.0°C) ALARM (HIGH) (crit = +85.0°C, hyst = +75.0°C) ``` [1] https://lore.kernel.org/linux-gpio/20220906105431.30911-1-pali@kernel.org/ Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com> (cherry picked from commit 2f496c34b6dfbedbfbff8d2ade5d629f096e40bd) (c&p commit ID from openwrt's master) Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* bcm4908: fix -EPROBE_DEFER support in bcm4908_enetRafał Miłecki2022-09-212-1/+58
| | | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 1722e23ffcf9038114142a2129c29eb3cdec8ff9)
* kernel: update U-Boot NVMEM driverRafał Miłecki2022-09-213-0/+59
| | | | | | | | 1. Fix casting 2. Support DT-defined variables Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 5652f378c6c607f99a15e6472cdca46c9c4b6162)
* bcm4908: backport mtd parser for Broadcom's U-Boot partitionRafał Miłecki2022-09-212-0/+138
| | | | | | | | Broadcom's U-Boot contains environment data blocks. They need to be found (offsets aren't predefined) to access env variables. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 137149847d0f374515f38952ce0986b03a97f2e4)
* mediatek: fix Unifi 6LR network configStijn Tintel2022-09-201-2/+1
| | | | | | | | | | | | | | | | | When the v1 and v2 variants of the U6LR were introduced, the board network config was not adapted to the new device names. Due to this, the wrong network config is applied during initial boot. The resulting config has lan, wan and a switch, while this device only has a single ethernet interface without a switch. Fix this by using a wildcard that matches all the variants. Fixes: 15a02471bb85 ("mediatek: new target mt7622-ubnt-unifi-6-lr-v1") Fixes: 5c8d3893a78f ("mediatek: new target ubnt_unifi-6-lr-v1-ubootmod") Fixes: 31d86a1a1192 ("mediatek: add Ubiquiti UniFi 6 LR v2 targets") Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be> Acked-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit 117f41ee95ec445dce5ab9332bc27a6311747c0d)
* mpc85xx: fix unset kernel symbolsDavid Bauer2022-09-201-0/+2
| | | | Signed-off-by: David Bauer <mail@david-bauer.net>
* mac80211: rt2x00: experimental improvements for MT7620 wifiDaniel Golle2022-09-1916-15/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Serge Vasilugin reports: To improve mt7620 built-in wifi performance some changes: 1. Correct BW20/BW40 switching (see comments with mark (1)) 2. Correct TX_SW_CFG1 MAC reg from v3 of vendor driver see https://gitlab.com/dm38/padavan-ng/-/blob/master/trunk/proprietary/rt_wifi/rtpci/3.0.X.X/mt76x2/chips/rt6352.c#L531 3. Set bbp66 for all chains. 4. US_CYC_CNT init based on Programming guide, default value was 33 (pci), set chipset bus clock with fallback to cpu clock/3. 5. Don't overwrite default values for mt7620. 6. Correct some typos. 7. Add support for external LNA: a) RF and BBP regs never be corrected for this mode b) eLNA is driven the same way as ePA with mt7620's pin PA but vendor driver explicitly pin PA to gpio mode (for forrect calibration?) so I'm not sure that request for pa_pin in dts-file will be enough First 5 changes (really 2) improve performance for boards w/o eLNA/ePA. Changes 7 add support for eLNA Configuration w/o eLAN/ePA and with eLNA show results tx/rx (from router point of view) for each stream: 35-40/30-35 Mbps for HT20 65-70/60-65 Mbps for HT40 Yes. Max results for 2T2R client is 140-145/135-140 with peaks 160/150, It correspond to mediatek driver results. Boards with ePA untested. Reported-by: Serge Vasilugin <vasilugin@yandex.ru> Signed-off-by: Daniel Golle <daniel@makrotopia.org> [directly include v3 of the patchset submitted upstream] (cherry picked from commit 31a6605de04218e1c04bd5c2436c24d7d1c07506) (cherry picked from commit e785ca05e9f0502894772f5df92192b816ba5d7c) (cherry picked from commit 412fcf3d4400f84551f3ead0514834c62d94a251)
* mediatek: fix ledbar of UniFi 6 LR when running custom U-BootDaniel Golle2022-09-181-1/+2
| | | | | | | | | | | The RGB LED of the UniFi 6 LR v1 doesn't work when using the Openwrt- built U-Boot. This is because the vendor loader resets the ledbar controller while our U-Boot doesn't care. Add reset-gpio so the ledbar driver in Linux will always reset the ledbar controller. Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit 0b5cf952cf5b70d3af2424d05b15ce2730a3dc11)
* ramips: add support for Ubiquiti UniFi FlexHDSven Wegener2022-09-184-0/+194
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware -------- - SoC: MediaTek MT7621AT with 128 MiB RAM and 32 MiB Flash - Wi-Fi: MediaTek MT7603 (b/g/n, 2x2) and MediaTek MT7615 (ac, 4x4) - Bluetooth: CSR8811 (internal USB, install kmod-bluetooth) Installation ------------ 1. Connect to the booted device at 192.168.1.20 using username/password "ubnt". 2. Update the bootloader environment. $ fw_setenv devmode TRUE $ fw_setenv boot_openwrt "fdt addr \$(fdtcontroladdr); fdt rm /signature; bootubnt" $ fw_setenv bootcmd "run boot_openwrt" 3. Transfer the OpenWrt sysupgrade image to the device using SCP. 4. Check the mtd partition number for bs / kernel0 / kernel1 $ cat /proc/mtd 5. Set the bootselect flag to boot from kernel0 $ dd if=/dev/zero bs=1 count=1 of=/dev/mtdblock4 6. Write the OpenWrt sysupgrade image to both kernel0 as well as kernel1 $ dd if=openwrt.bin of=/dev/mtdblock6 $ dd if=openwrt.bin of=/dev/mtdblock7 7. Reboot the device. It should boot into OpenWrt. Signed-off-by: Sven Wegener <sven.wegener@stealer.net> (cherry picked from commit 820f0c07c544652c1c53a45262a481ac5dbe139b)
* ath79: Make patches apply againDaniel Golle2022-09-182-13/+13
| | | | | | | | | | The patch adding support for LEDs connected to a reset controller did not apply any more, refresh it on top of current master. Fixes: 53fc987b2552 ("generic: move ledbar driver from mediatek target") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit 76fc277917fc847892dbbf525aea9f90a035d296)
* generic: move ledbar driver from mediatek targetSven Wegener2022-09-183-3/+4
| | | | | | | This moves the ledbar driver to generic, to be also used by the ramips target. Signed-off-by: Sven Wegener <sven.wegener@stealer.net> (cherry picked from commit 53fc987b25524c28525313347f0e2e5653dce43c)
* mediatek: add led countSven Wegener2022-09-181-1/+7
| | | | | | | | | | The LEDs connected to the MCU are so-called smart LEDs and their signal is daisy-chained. Because of this, the MCU needs to be told how many LEDs are connected. It also means the LEDs could be individually controlled, if the MCU has a command for this. Signed-off-by: Sven Wegener <sven.wegener@stealer.net> (cherry picked from commit 76198e8f09a607c6aca2621f59d7a4cd7f6653e3)
* mediatek: add initialization after resetSven Wegener2022-09-181-0/+14
| | | | | | | | | During GPIO initialization the pin state flips and triggers a reset of the ledbar MCU. It needs to be moved through an initialization sequence before working correctly. Signed-off-by: Sven Wegener <sven.wegener@stealer.net> (cherry picked from commit 013a956f086dc5d88f6e9cbd852ed4d900d436e0)
* mediatek: add support for reset gpioSven Wegener2022-09-181-0/+26
| | | | | | | | Some versions of the ledbar MCU have a reset pin. It needs to be correctly initialized or we might keep the MCU in reset state. Signed-off-by: Sven Wegener <sven.wegener@stealer.net> (cherry picked from commit 84e4bbf5f049cdb862eb25c446bd6973ed4238aa)
* mediatek: support reading more than one byte of responseSven Wegener2022-09-181-7/+8
| | | | | | | There are commands that return more than one byte of response. Signed-off-by: Sven Wegener <sven.wegener@stealer.net> (cherry picked from commit 7c852e7df50e370b26b060c96c3cc4491cee88eb)
* mediatek: cast literal value to charSven Wegener2022-09-181-1/+1
| | | | | | | | | | | Or the comparison against a signed char is always true, because the literal 0xaa is treated as an unsigned int, to which the signed char is casted during comparison. 0xaa is above the positive values of a signed char and negative signed char values result in values larger than 0xaa when casted to unsigned int. Signed-off-by: Sven Wegener <sven.wegener@stealer.net> (cherry picked from commit e9a22ce2535c4a0faf83d5595304fe0e2c7bd1b2)
* mediatek: correctly log i2c responseSven Wegener2022-09-181-2/+2
| | | | | | | | The read response is in the i2c_response variable. Also use %hhx format, because we're dealing with a single char. Signed-off-by: Sven Wegener <sven.wegener@stealer.net> (cherry picked from commit c4f9f9b44c82ffeacd9d3c00ba07171c35831337)