summaryrefslogtreecommitdiff
path: root/target/linux
Commit message (Collapse)AuthorAgeFilesLines
* brcm47xx: use DMZ LED as status indicatorMirko Parthey2017-07-021-15/+7
| | | | | | | | | | | | | On the Linksys WRT54GSv1, the Power LED flickers in the "off" state. Indicate status using the DMZ LED if available, since it has solid "on" and "off" states. This change was tested on the WRT54GSv1, but may also affect other brcm47xx devices. Fixes FS#793. Signed-off-by: Mirko Parthey <mirko.parthey@web.de>
* brcm47xx: resolve GPIO conflict for WRT54GSv1Mirko Parthey2017-07-023-14/+7
| | | | | | | | | | | | | | | On the Linksys WRT54GSv1, the adm6996 switch driver and the gpio_button_hotplug module both claim GPIO 6, which is connected to the Reset button. When the switch driver's request wins, the Reset button cannot work. This makes it impossible to enter failsafe mode without a serial console. Stop requesting the "adm_rc" GPIO in the switch driver, since it is not used anywhere. Fixes FS#792. Signed-off-by: Mirko Parthey <mirko.parthey@web.de>
* kernel: add missing symbol to genericJonas Gorski2017-06-301-0/+1
| | | | Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
* brcm63xx: refresh smp configJonas Gorski2017-06-301-3/+8
| | | | Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
* brcm63xx: enable KEXEC for SMP againJonas Gorski2017-06-301-1/+0
| | | | | | It seems it compiles again, so there is no reason to keep it disabled. Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
* brcm63xx: disable commandline parts parserJonas Gorski2017-06-301-1/+0
| | | | | | We don't use it, so no need to have it enabled. Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
* brcm63xx: add support for the Actiontec R1000H gatewayAnthony Sepa2017-06-308-0/+170
| | | | | | | | | | | | | | | | | | | | | | | SOC: Broadcom BCM6368 (2 * Broadcom BMIPS4350 V3.1 / 400 MHz) Flash size: 32MB (split 16/16 dual boot) RAM size: 64MB Wireless: BCM432x 802.11a/b/g/n(pci) Ethernet: Broadcom BCM53115 USB: 1 x USB 2.0 Known issues: - Unable to detect 53115 switch attached to MDIO. Not supported - No support for the cable port More info on the device and the research can be found at: http://www.actiontec.com/212.html Same FCC ID as: https://wikidevi.com/wiki/Actiontec_V1000H_(Telus) Signed-off-by: Anthony Sepa <anthonysepa@yahoo.ca> [jonas.gorski: fix commit subject/message] Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
* brcm63xx: fix bcm6328 pinmux other registerJonas Gorski2017-06-301-1/+1
| | | | | | | The pinmux register is at relative offset 0x8, not 0xc. Fixes hang when trying to modify pins >= 32. Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
* ar71xx: fix typo in network defaultsJo-Philipp Wich2017-06-291-1/+1
| | | | | | | | Commit 9fec39a (ar71xx: add support for TP-Link TL-WA855RE v1) introduced a typo in 02_network, fix it by removing the stray paren. Reported-by: Henryk Heisig <hyniu@o2.pl> Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* ar71xx: image: specify TPLINK_HWID for TP-Link RE450Piotr Dymacz2017-06-291-0/+1
| | | | | | | | | | TPLINK_HWID hasn't been specified for TP-Link RE450 since the begin. As we don't want to break sysupgrade (all existing LEDE release images for this board have TPLINK_HWID set to 0x0), set it explicitly to 0x0. Fixes FS#852 Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ramips: add support for TP-Link TL-WR840N v4 and TL-WR841N v13Piotr Dymacz2017-06-2911-1/+271
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TP-Link TL-WR840N v4 and TL-WR841N v13 are simple N300 routers with 5-port FE switch and non-detachable antennas. Both are very similar and are based on MediaTek MT7628NN (aka MT7628N) WiSoC. The difference between these two models is in number of available LEDs, buttons and power input switch. This work is partially based on GitHub PR#974. Specification: - MT7628N/N (580 MHz) - 64 MB of RAM (DDR2) - 8 MB of FLASH - 2T2R 2.4 GHz - 5x 10/100 Mbps Ethernet - 2x external, non-detachable antennas - UART (J1) header on PCB (115200 8n1) - TL-WR840N v4: 5x LED (GPIO-controlled), 1x button - TL-WR841N v13: 8x LED (GPIO-controlled*), 2x button, power input switch * WAN LED in TL-WR841N v13 is a dual-color, dual-leads type which isn't (fully) supported by gpio-leds driver. This type of LED requires both GPIOs state change at the same time to select color or turn it off. For now, we support/use only the green part of the LED. Factory image notes: These devices use version 3 of TP-Link header, fortunately without RSA signature (at least in case of devices sold in Europe). The difference lays in the requirement for a non-zero value in "Additional Hardware Version" field. Ideally, it should match the value stored in vendor firmware header on device ("0x4"/"0x13" for these devices) but it seems that anything other than "0" is correct. We are able to prepare factory firwmare file which is accepted and (almost) correctly flashed from the vendor GUI. As it turned out, it accepts files without U-Boot image with second header at the beginning but due to some kind of bug in upgrade routine, flashed image gets corrupted before it's written to flash. Tests showed that the GUI upgrade routine copies value of "Additional Hardware Version" from existing firmware into offset "0x2023c" in provided file, _before_ storing it in flash. In case of vendor firmware upgrade files (which all include U-Boot image and two headers), this offset points to the matching field in kernel+rootfs firmware part header. Unfortunately, in case of LEDE factory image file which contains only one header, it points to the offset "0x2023c" in kernel image. This leads to a corrupted kernel and ends up with a "soft-bricked" device. The good news is that U-Boot in these devices contains well known tftp recovery mode, which can be triggered with "reset" button. What's more, in comparison to some of older MediaTek based TP-Link devices, this recovery mode doesn't write whole file at offset "0x0" in flash, without verifying provided file in advance. In case of recovery mode in these devices, first "0x20000" bytes are always skipped and "0x7a0000" bytes from rest of the file are stored in flash at offset "0x20000". Flash instruction: Until (if at all) TP-Link fixes described problem, the only way to flash LEDE image in these devices is to use tftp recovery mode in U-Boot: 1. Configure PC with static IP 192.168.0.66/24 and tftp server. 2. Rename "lede-ramips-mt7628-tl-wr84...-squashfs-tftp-recovery.bin" to "tp_recovery.bin" and place it in tftp server directory. 3. Connect PC with one of LAN ports, press the reset button, power up the router and keep button pressed for around 6-7 seconds, until device starts downloading the file. 4. Router will download file from server, write it to flash and reboot. To access U-Boot CLI, keep pressed "4" key during boot. Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ramips: image: simplify TP-Link Archer devices definitionsPiotr Dymacz2017-06-291-11/+10
| | | | Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* build: move mktplinkfw2 related commands to image-commands.mkPiotr Dymacz2017-06-292-29/+20
| | | | | | | | | There are already two targets (lantiq, ramips) which use mktplinkfw2 tool for creating images. This de-duplicates code, introduces two new build commands: tplink-v2-header, tplink-v2-image and makes use of them in place of old, (sub)target specific ones. Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* build: rename TPLINK_BOARD_NAME to TPLINK_BOARD_IDPiotr Dymacz2017-06-292-16/+16
| | | | Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ar71xx: fix switch port mapping for TP-Link TL-WR74xN/D seriesPiotr Dymacz2017-06-291-1/+1
| | | | | | Fixes FS#843 Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ar71xx: add support for TP-Link Archer C58 v1Henryk Heisig2017-06-2915-7/+120
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TP-Link Archer C58 v1 is a dual-band AC1350 router, based on Qualcomm QCA9561 + QCA9886. It looks like Archer C59 v1 without USB port. Specification: - 775/650/258 MHz (CPU/DDR/AHB) - 64 MB of RAM (DDR2) - 8 MB of FLASH (SPI NOR) - 3T3R 2.4 GHz - 2T2R 5 GHz - 5x 10/100 Mbps Ethernet - 6x LED, 3x button - UART header on PCB, RX, TX at TP4+5 (backside) QCA9886 wlan needs pre_cal_data file and enable ieee80211 phy hotplug to patch macaddress. Flash instruction: Use "factory" image directly in vendor GUI. Recovery method: 1. Set PC to fixed ip address 192.168.0.66/24. 2. Download "lede-ar71xx-generic-archer-c58-v1-squashfs-factory.bin" and rename it to "tp_recovery.bin". 3. Start a tftp server with the file "tp_recovery.bin" in its root directory. 4. Turn off the router. 5. Press and hold Reset button. 6. Turn on router with the reset button pressed and wait ~15 seconds. 7. Release the reset button and after a short time the firmware should be transferred from the tftp server. 8. Wait ~30 second to complete recovery. Flash instruction under U-Boot, using UART: tftp 0x81000000 lede-ar71xx-...-sysupgrade.bin erase 0x9f020000 +$filesize cp.b $fileaddr 0x9f020000 $filesize reset This commit is based on GitHub PR#1112 Signed-off-by: Henryk Heisig <hyniu@o2.pl>
* ar71xx: add support for TP-Link TL-WA855RE v1Federico Cappon2017-06-2912-6/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TP-Link TL-WA855RE v1 is a wall-plug N300 Wi-Fi range extender, based on Qualcomm/Atheros QCA9533 v2. Short specification: - 550/397/198 MHz (CPU/DDR/AHB) - 1x 10/100 Mbps Ethernet - 32 MB of RAM (DDR1) - 4 MB of FLASH - 2T2R 2.4 GHz - 2x external antennas - 2x LED (green and orange in the same package), 2x button - UART: TP5(TX) and TP4(RX) test points on PCB Flash instruction: use "factory" image directly in vendor GUI. Warning: this device does not include any kind of recovery mechanism in the bootloader and disassembling process is not trivial. You can access vendor firmware over serial line using: - login: root - password: sohoadmin Image was tested only in EU version of the device, but should work also with the same device version sold in other countries. Signed-off-by: Federico Cappon <dududede371@gmail.com>
* ar71xx: fix EnGenius ENS202EXT mtd definitionPiotr Dymacz2017-06-291-4/+4
| | | | | | | | | | | | | | Use statically defined sizes for kernel and rootfs mtd partitions. Vendor upgrade script writes both firmware parts independently which ends up in a gap between kernel and rootfs images. This results in incorrectly calculated rootfs_data start offset. Also, fix IMAGE_SIZE, DEVICE_PACKAGES and drop redundant KERNEL definition. Fixes FS#835 Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
* ar71xx: move Arduino Yun to generic building codeCamille Bilodeau2017-06-293-8/+10
| | | | | | | | | | | | | | | | | | Migrate Arduino Yun from legacy to generic building code. Note: the mtd partitioning is changed to adopt the LEDE default partitioning. It allows to have a kernel bigger than 1280k. It is necessary as kernel > 4.4 with default LEDE configuration grows bigger. To use the new partitioning, you need to update your U-Boot env in advance: setenv mtdparts "spi0.0:256k(u-boot)ro,64k(u-boot-env),15936k(firmware),64k(nvram),64k(art)ro" setenv bootcmd "run addboard; run addtty; run addparts; run addrootfs; bootm 0x9f050000 || bootm 0x9fea0000" saveenv Signed-off-by: Camille Bilodeau <camille.bilodeau@protonmail.com>
* ar71xx: remove Arduino Yun 8 MiB prototypeCamille Bilodeau2017-06-292-8/+0
| | | | | | | | | The Arduino Yun has 16 MiB flash. Early prototype boards with 8 MiB were not available for sell: https://blog.arduino.cc/2013/08/21/updating-about-arduino-yun-and-arduino-robot/ Signed-off-by: Camille Bilodeau <camille.bilodeau@protonmail.com>
* ar71xx: wpj344: set MAC on wanLeon M. George2017-06-291-0/+3
| | | | Signed-off-by: Leon M. George <leon@georgemail.eu>
* ar71xx: wpj344: remove unused eth1 deviceLeon M. George2017-06-291-8/+0
| | | | Signed-off-by: Leon M. George <leon@georgemail.eu>
* ar71xx: wpj344: read MAC addresses from u-boot mtdLeon M. George2017-06-291-4/+5
| | | | | | | This way, the assigned addresses match those on the barcode labels. Otherwise, the addresses appear to vary on boot. Signed-off-by: Leon M. George <leon@georgemail.eu>
* kernel: cleanup CONFIG_SCHED_HRTICKStijn Tintel2017-06-2946-46/+0
| | | | | | | Remove CONFIG_SCHED_HRTICK from target configs, as it was added to the generic config in b47fd7656336162360ebf66147326763ddae3f8d. Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* armvirt: rename config-default to config-4.9Stijn Tintel2017-06-291-0/+0
| | | | | | | | The kernel configs for all targets should have the version in the filename, for clearness and consistency across all targets. It is also expected by the update_kernel.sh script. Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* kernel: backport usbport LED trigger driver support for DTRafał Miłecki2017-06-282-0/+212
| | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* mxs: drop 4.4 supportMichael Heimpold2017-06-276-1231/+0
| | | | Signed-off-by: Michael Heimpold <mhei@heimpold.de>
* mxs: add support for 4.9 and switch overMichael Heimpold2017-06-273-1/+348
| | | | | | | | | | | | | | | | | | | | I did not port the regulator and power patches from Stefan Wahren because I talked to him and he told me that work on this is currently stalled. And since AFAIK nothing depends on these patches, leaving them out seems reasonable. I build minimum default configurations and run-tested them on both I2SE Duckbill devices and Olimex Olinuxino Maxi boards successfully [1]. [1] Tested: - debug uart is working - boot without any obvious kernel problem - network is coming up and data transfer is possible - Olinuxino: USB detects a plugged-in pen drive Signed-off-by: Michael Heimpold <mhei@heimpold.de> [refreshed config and patches] Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: disable various symbols for v4.9Michael Heimpold2017-06-271-0/+4
| | | | | | | In preparation for bumping mxs target to 4.9, disable a bunch of configuration symbols that provoked config prompts. Signed-off-by: Michael Heimpold <mhei@heimpold.de>
* kernel: update kernel 4.4 to 4.4.74Stijn Tintel2017-06-2721-52/+52
| | | | | | | | Refresh patches. Compile-tested on ar71xx. Runtime-tested on ar71xx. Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* kernel: update kernel 4.9 to 4.9.34Koen Vandeputte2017-06-2721-40/+40
| | | | | | | | | | | | - Refreshed all patches - Adapted 1 (0031-mtd-add-SMEM-parser-for-QCOM-platforms.patch) Compile tested on: brcm2708, cns3xxx, imx6 Run tested on: brcm2708, cns3xxx, imx6 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com> [Compile and run tested on brcm2708] Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* kernel: use .patch extension for all patchesStijn Tintel2017-06-272-0/+0
| | | | Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* ar71xx/images/senao: fix reproducible issue using tarAlexander Couzens2017-06-251-0/+1
| | | | | | | | Use deterministic sorting Use numeric owner/group Set uid/gid to 0 Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
* ar71xx/image: make tar calls reproducibleAlexander Couzens2017-06-252-3/+11
| | | | | | | | Use --mtime when SOURCE_DATE_EPOCH is set. Use gzip -n9z instead of tar z to remove timestamp in gzip header. Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
* apm821xx: MR24: fix ethernet phy detection on the MR24Christian Lamparter2017-06-243-5/+116
| | | | | | | | | | | | | | | | | | | | | | | | | | To mitigate this problem, the original message has been wrapped automatically by the mailing list software. This patch fixes a problem where the AR8035 PHY can't be detected on the Cisco Meraki MR24, when the ethernet cable is not connected during boot. Russell Senior reported: |This appears to be a problem during probing of the AR8035 |phy chip. When ethernet has no link, the phy detection fails, |and eth0 is not created. Plugging ethernet later has no effect, |because there is no interface as far as the kernel is |concerned. The relevant part of the boot log looks like this: | |[ 0.876611] /plb/opb/emac-rgmii@ef601500: input 0 in RGMII mode |[ 0.882532] /plb/opb/ethernet@ef600c00: reset timeout |[ 0.888546] /plb/opb/ethernet@ef600c00: can't find PHY! (<https://bugs.lede-project.org/index.php?do=details&task_id=687>) Fixes FS#687 Cc: Chris Blake <chrisrblake93@gmail.com> Reported-by: Russell Senior <russell@personaltelco.net> Fixes: 23fbb5a87c56e98 ("emac: Fix EMAC soft reset on 460EX/GT") Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
* ramips: add MT7603E driver to AFoundry EW1200Mathias Kresin2017-06-241-1/+1
| | | | | | Add the MT7603E driver for the 2.4GHz wireless. Signed-off-by: Mathias Kresin <dev@kresin.me>
* ar71xx: add AVM FRITZ!WLAN Repeater 300E supportMathias Kresin2017-06-2414-0/+205
| | | | | | | | | | | | | | | | | | | | | | Specifications: * SoC: AR7242 (Virian 400MHz) * RAM: 64 MB DDR (W9751G6JB-25) * Flash: 16MB SPI flash (S25FL129PIF) * WiFi: AR9382 (2.4/5GHz) + 2x SE2595L * LAN: 1x1000M (PEF7071V) To install LEDE via EVA bootloader, a FTP connection need to be established to 192.168.178.1 within the first seconds after power on: ftp> quote USER adam2 ftp> quote PASS adam2 ftp> binary ftp> debug ftp> passive ftp> quote MEDIA FLSH ftp> put lede-ar71xx-generic-fritz300e-squashfs-sysupgrade.bin mtd1 Signed-off-by: Mathias Kresin <dev@kresin.me>
* ar71xx: add AR724x PCIe init fixesMathias Kresin2017-06-248-33/+175
| | | | | | | | | | | | Add upstream send AR724x PCIe patches to get the PCIe controller out of reset during driver init. The AVM Fritz 300E bootloader doesn't take care of releasing the different PCIe controller related resets which causes an endless hang as soon as either the PCIE Reset register (0x180f0018) or the PCI Application Control register (0x180f0000) is read from. Signed-off-by: Mathias Kresin <dev@kresin.me>
* build: move lzma2eva build step to image-commands.mkMathias Kresin2017-06-241-3/+4
| | | | | | | Move it to image-commands.mk so that it can used by other targets with eva based boards as well. Signed-off-by: Mathias Kresin <dev@kresin.me>
* kernel: move Lantiq PEF7061/7071/7072 phy driver to genericMathias Kresin2017-06-2415-19/+19
| | | | | | | | | The driver is used for boards outside the lantiq target as well. Move it to generic to make it available for more targets. The phy driver is included in kernel 4.8 as INTEL_XWAY_PHY. Signed-off-by: Mathias Kresin <dev@kresin.me>
* kernel: backport MTD patch extracing TRX code to separated parserRafał Miłecki2017-06-236-60/+362
| | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* kernel: backport upstream mtd support for partition parsersRafał Miłecki2017-06-239-23/+229
| | | | | | | In a log term it should replace our implementation. For now both can coexist. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* kernel: backport upstream mtdpart.c cleanupsRafał Miłecki2017-06-2315-54/+1094
| | | | | | | | Except for renames and line changes the only conflict was in allocate_partition in handling MTD_WRITEABLE. Hopefully it was handled correctly. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* kernel: don't switch allocate_partition to use mtd_roundup_to_ebRafał Miłecki2017-06-232-21/+3
| | | | | | | | | | | | | | | | | This mtd_roundup_to_eb helper was introduced years ago in the commit daec7ad768841 ("kernel/3.10: add separate rootfs partition parser") and it was probably supposed to simplify code a bit. With the recent upstream commit 1eeef2d7483a7 ("mtd: handle partitioning on devices with 0 erasesize") the logic in allocate_partition got slightly more complex and we can't use this simple helper anymore as it doesn't support MTD_NO_ERASE properly. There also isn't any real gain from this helper, so it's probably easier to just don't use it *or* work on upstreaming it to avoid maintenance cost. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* ramips: remove optional ucidef_set_led_rssi parametersMathias Kresin2017-06-171-3/+3
| | | | | | The same values are set if the parameters are not specified. Signed-off-by: Mathias Kresin <dev@kresin.me>
* ramips: add support for TRENDnet TEW-638APB V2Pavlo Samko2017-06-176-0/+116
| | | | | | | | | | | | | | | | | | | | | | | | | | This patch add support for the TRENDnet TEW-638APB V2. Specification: - SoC: Ralink SoC RT3052F - Flash: 4MB - RAM: 32MB - Ethernet: 1x LAN (100 Mbps) - Wireless: 2.4GHz b/g/n, 2x external antenna - Buttons: 1x Reset, 1x WPS - LEDs: Power (green), Ethernet (green), WPS (green and orange), Wireless (green) - UART: 1x UART on PCB (3.3V, GND, RX, TX) - 57600 8N1 Installation via vendor firmware: - upload sysupgrade.bin image via TFTP: - stop uboot into tftp-load into option "2" - upload sysupgrade.bin image Signed-off-by: Pavlo Samko <bulldozerbsg@gmail.com>
* lantiq: show xdsl line init status on shared dsl/internet ledMathias Kresin2017-06-1713-19/+46
| | | | | | | | | | | | | On boards which don't have a distinct internet and dsl led, use the shared LED to indicate the xdsl line state and any traffic that is send/received via the netdev. This traffic doesn't necessarily need to be internet traffic. Rename the shared LED of existing configs to "dsl", to match the new defaults. The configuration of the to be renamed LED is identical with the new defaults. Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: restore netdev trigger of dsl led on line upMartin Schiller2017-06-171-1/+14
| | | | | | | | Allows to use a single LED for line init status indication and to show any rx/tx activity on a synchronized dsl line. Signed-off-by: Martin Schiller <ms@dev.tdt.de> Signed-off-by: Mathias Kresin <dev@kresin.me>
* ipq806x: qca99xx: fix wifi calibrationPavel Kubelun2017-06-171-2/+2
| | | | | | | | | | As of now OTP is being correctly parsed and the driver requires to parse pre-caldata to follow corresponding routine. Rename cal file into pre-calfile so the board initialized correctly with API 2 board data (board-2.bin). Also remove the now unneeded for qca9984 board.bin symlink to 5GHz calfile. Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
* ramips: fix Phicomm K1S(PSG1208) pinmux小桥2017-06-121-1/+1
| | | | | | Use gpio function for pins with LEDs. Signed-off-by: 小桥 <29551030@qq.com>