aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ipq806x
Commit message (Collapse)AuthorAgeFilesLines
* ipq806x: switch to new image build systemJonas Gorski2015-08-141-24/+44
| | | | | | | | | Switch ipq806x to the new image build system. Image files might change slightly their names, but the generated files should not change. Signed-off-by: Jonas Gorski <jogo@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46602 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ipq806x: disable dma for spi on linux 4.1 as wellJonas Gorski2015-08-144-16/+3
| | | | | | | | | Linux 4.1 is also affected from the dma issue, so remove the dma proprties there as well. Signed-off-by: Jonas Gorski <jogo@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46599 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ipq806x: disable DMA on the SPI flashFelix Fietkau2015-08-134-16/+3
| | | | | | | | | | | | | Previous patch 6f2905eeb6ce5ddec8d12d677e1f377a940b537b enabled ADM in the kernel, which causes a kernel panic when accessing the SPI flash. As a workaround, We'll disable DMA for the flash for now. It was not enabled previously anyway so we'll just leave it as is. Reported-by: Jonas Gorski <jogo@openwrt.org> Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46587 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ipq806x: enable NAND flash support in the kernelFelix Fietkau2015-08-073-3/+39
| | | | | | | | | | | | | | | | | Previous patch set backported the recently posted NAND flash driver to 3.18 and 4.1 kernel. This patch now enables it in the kernel config. There is no change to the partition layout and init yet. But the NAND flash can be seen in the mtd list on an AP148: root@OpenWrt:/# cat /proc/mtd dev: size erasesize name mtd0: 10000000 00020000 "qcom-nandc" ... Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46569 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ipq806x: add NAND flash controller supportFelix Fietkau2015-08-0716-26/+4739
| | | | | | | | | | | | | These patches add support for ipq806x NAND flash controller. Most of these are cherry-picked & backported from LKML: *https://lkml.org/lkml/2015/8/3/16 This patch just modifies the kernel code, but doesn't change the config. It should be harmless. Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46568 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ipq806x: Add ADM supportFelix Fietkau2015-08-0718-8/+2448
| | | | | | | | | | | | | | | | These are cherry-picked & backported from LKML: *https://lkml.org/lkml/2015/3/17/19 They are enabled on both 3.18 and 4.1 kernel. Patches 150 to 154 are applying changes merged since 3.18; they enable mechanisms used by the ADM driver. ADM engine is used by the NAND controller, so it is necessary to bring-up NAND flash support. Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46567 3c298f89-4303-0410-b956-a3cf2f4a3e73
* kernel: update 4.1 to 4.1.4Jonas Gorski2015-08-052-11/+11
| | | | | | | | | | | Changelog: * https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.1.4 Signed-off-by: Daniel Golle <daniel@makrotopia.org> [jogo: fix brcm2708 patches, refresh target patches] Signed-off-by: Jonas Gorski <jogo@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46560 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ipq806x: add ethernet (stmmac) supportFelix Fietkau2015-08-041-0/+5
| | | | | | | | | We forgot to enable the stmmac driver for 4.1 kernel, so ethernet interfaces don't show-up on this kernel. Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46559 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ipq806x: refresh kernel configsFelix Fietkau2015-08-042-13/+0
| | | | | | | | Remove options which have been moved into the generic config ever since. Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46558 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ipq806x: fix freeze in PCIe code when booting with an old u-bootFelix Fietkau2015-08-049-31/+757
| | | | | | | | | | | | | | | | | | | | Old bootloader (same ones which have DT disabled) don't perform any PCIe initialization. The consequence is a freeze during PCIe bring-up on these old u-boot. Same kernel with a newer bootloaders works fine as they contain the corresponding PCIe init code. In this change, we'll add the missing init and make sure the kernel doesn't rely on some preexisting init to get PCIe to work. That includes the following changes: *GPIOs: set function & drive strength *Clocks: add init code for aux & ref clocks *PCIe driver: additional init of the hardware controller Tested 3.18 and 4.1 on an AP148 with bootloader branch 0.0.1 Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46557 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ipq806x: fix pcie pinmux naming in ipq806x dtsFelix Fietkau2015-08-046-49/+40
| | | | | | | | | | PCIe controller nodes are numbers 0/1/2 in the chipset dtsi file, but the pinmux nodes are numbers 1/2/3. We'll make it consistent by changing the pinmux numbering to match the controller's one. Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46556 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ipq806x: add support for non-dt enabled ap148 bootloaderFelix Fietkau2015-08-047-9/+47
| | | | | | | | | | | | | | | | | | | Certain AP148 platforms (and derivative) use bootloaders which did not have DT enabled. In order to support these old platforms, we'll now make the following modifications: *explicitely add the memory node in the AP148 DT: this used to be added by new u-boot through a run-time patch mechanism. We'll now add it explicitely so it works on boots which don't support that feature. New boots will have the node twice, the second one will be ignored. *add the zImage generation next to the FIT image for AP148. Other platforms using non-DT enabled bootloaders may want to leverage this zImage code to generate their own firmare as well. Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46555 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ipq806x: update bleeding-edge kernel from 4.0 to 4.1Felix Fietkau2015-08-0441-1520/+127
| | | | | | | | Default kernel doesn't change and stays on 3.18 for now. Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46554 3c298f89-4303-0410-b956-a3cf2f4a3e73
* build: Prevent more gzip timestampsJohn Crispin2015-07-141-1/+1
| | | | | | | | | To improve reproducibility, prevent the inclusion of timestamps in the gzip header. Signed-off-by: Reiner Herrmann <reiner@reiner-h.de> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46361 3c298f89-4303-0410-b956-a3cf2f4a3e73
* kernel: update 4.0 to 4.0.5Jonas Gorski2015-06-194-18/+18
| | | | | | | | | Changelog: * https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.0.5 Signed-off-by: Jonas Gorski <jogo@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46063 3c298f89-4303-0410-b956-a3cf2f4a3e73
* kernel: update 3.18 to 3.18.16Jonas Gorski2015-06-171-9/+0
| | | | | | | | | | | Changelogs: * https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.18.15 * https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.18.16 Signed-off-by: Jonas Gorski <jogo@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46011 3c298f89-4303-0410-b956-a3cf2f4a3e73
* kernel: move a symbol from the ipq806x config to generic to prevent it from ↵Felix Fietkau2015-06-071-1/+0
| | | | | | | | being nuked by make kernel_oldconfig Signed-off-by: Felix Fietkau <nbd@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45920 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ipq806x: missing symbolJohn Crispin2015-06-031-0/+1
| | | | | | Signed-off-by: John Crispin <blogic@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45880 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ipq806x: move stmmac support in the kernel binaryJohn Crispin2015-06-012-3/+9
| | | | | | | | | | Ethernet GMAC is built-in the SoC, so there is no need to enable it as a module. We'll just assume we need it. That's what is done for other platform where this driver is used so it'll make things more consistent. Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45871 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ipq806x: replace caf nss-gmac driver by upstream stmmacJohn Crispin2015-05-2931-629/+3962
| | | | | | | | | | | | This driver has been cherry-picked and backported from the following LKML thread: *https://lkml.org/lkml/2015/5/26/744 It also updates the DT accordingly. Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45831 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ipq806x: enable kernel support for Fixed PHY emulationJohn Crispin2015-05-292-0/+2
| | | | | | | | | | Most ipq806x platforms use an ethernet switch, and the new upstream GMAC driver makes use of the Fixed PHY emulation to force the link settings despite the lack of PHY. Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45830 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ipq806x: move arm-gic include into pcie patchJohn Crispin2015-05-294-18/+4
| | | | | | | | | | This include is necessary starting at the PCIe patch, which has a lower number. So in order to keep the patches consistent, we'll move the arm-gic include in the first patch who needs it. Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45827 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ipq806x: fix imagebuilderJohn Crispin2015-05-291-1/+5
| | | | | | Signed-off-by: John Crispin <blogic@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45823 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ipq806x: add missing symbolJohn Crispin2015-05-271-0/+1
| | | | | | Signed-off-by: John Crispin <blogic@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45794 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ipq806x: enable cpu idle support in kernel confJohn Crispin2015-05-232-0/+6
| | | | | | Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45731 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ipq806x: add & enable cpufreq supportJohn Crispin2015-05-2333-2/+6531
| | | | | | | | | | | | | | | This change set enables frequency scaling on ipq806x, which speeds-up the CPU and allows it to achieve its max frequency. These patches are cherry-picked & backported from the following location: *130-132: linux-next *133-143: LKML - https://lkml.org/lkml/2015/3/21/15 *144: derived from other qcom similar dts *145: derived from https://chromium.googlesource.com/chromiumos/third_party/kernel/+/chromeos-3.14/drivers/cpufreq/cpufreq-krait.c Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45730 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ipq806x: add power regulators supportJohn Crispin2015-05-2314-11/+1415
| | | | | | | | | Patches are cherry-picked from linux-next. We're also adding the corresponding config option to the kernel. Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45729 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ipq806x: disable i2c device on gsbi4John Crispin2015-05-237-7/+113
| | | | | | | | | | | | | | Patch cherry-picked from the following location: https://chromium-review.googlesource.com/#/c/269931/ Disable the i2c device on gsbi4 and mark gsbi4_h and gsbi4_qup clks as unused. If they are enabled, clock framework will turn them off at end of probe. On ipq806x by design gsbi4_qup, gsbi4_h clks and i2c on gsbi4 are meant for RPM usage. So turning them off in kernel is incorrect. Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45728 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ipq806x: refresh kernel patchesJohn Crispin2015-05-236-43/+12
| | | | | | Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45727 3c298f89-4303-0410-b956-a3cf2f4a3e73
* kernel: update 3.18 to 3.18.14Jonas Gorski2015-05-217-50/+10
| | | | | | | | | | | | | | Changelogs: * https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.18.12 * https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.18.13 * https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.18.14 Build tested on brcm63xx and ipq806x, runtested on brcm63xx. Signed-off-by: Jonas Gorski <jogo@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45711 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ipq806x: add pcie support to ipq806x based platformsFelix Fietkau2015-05-1012-23/+2662
| | | | | | | | | | | | | | This change adds PCIe support to IPQ806x based platforms. The driver is actually cherry-picked from the following LKML thread: *https://lwn.net/Articles/643086/ (patches 110-111) We also add here an additional fix to support multiple PCI controllers on the same platform (patch 112), and to patch the ap148 & dbs149 DTS files (patch 113). Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45663 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ipq806x: add support for zImage kernelFelix Fietkau2015-05-103-3/+5
| | | | | | | | | | | | | | | This change enable zImage+appended dtb support in ipq806x kernel options. The zImage will now be generated as part of the kernel binaries. Platforms which do not have DT support enabled in U-boot can now make use of it by generating zImage files and appending dtb to it. It is not used yet but it is done as a stepping stone for early IPQ806x platforms, which did not include DT support in U-boot. Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45662 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ipq806x: fix boot freeze on zImage kernelFelix Fietkau2015-05-102-0/+144
| | | | | | | | | | | | | | | | | | | | | | | ARCH_QCOM is using the ARCH_MULTIPLATFORM option, as now recommended on most ARM architectures. This automatically calculate ZRELADDR by masking PHYS_OFFSET with 0xf8000000. On IPQ806x though, the first ~20MB of RAM is reserved for the hardware. In newer bootloader, when DT is used, this is not a problem, we just reserve this memory in the device tree. But if the bootloader doesn't have DT support, then ATAGS have to be used. In this case, the ARM decompressor will position the kernel in this low mem, which will not be in the RAM section mapped by the bootloader, which means the kernel will freeze in the middle of the boot process trying to map the memory. As a work around, this patch allows disabling AUTO_ZRELADDR when ARCH_QCOM is selected. It makes the zImage usage possible on bootloaders which don't support device-tree, which is the case on certain early IPQ806x based designs. Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45661 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ipq806x: add db149 support to OpenWrt init scriptsJohn Crispin2015-04-213-0/+10
| | | | | | | | | | DB149 is a IPQ8064 based platform. This patch adds the init scripts to detect it, configure the network accordingly, and generate a flashable image for it. Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45537 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ipq806x: add db149 dts filesJohn Crispin2015-04-212-0/+586
| | | | | | | | | DB149 is an IPQ806x based development platform. This patch adds the dts files to support it. Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45536 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ipq806x: enable AT803x driverJohn Crispin2015-04-212-0/+2
| | | | | | | | | Certain IPQ806x based platforms are making use of this PHY. So we'll enable it so it gets detected as such. Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45535 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ipq806x: automatically select kmod-usb-phy-qcom-dwc3John Crispin2015-04-101-1/+1
| | | | | | | | | kmod-usb-phy-qcom-dwc3 is required to get USB working on ipq806x. It was missed in previous commit so let's enable it automatically. Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45345 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ipq806x: another missing symbolJohn Crispin2015-04-051-0/+1
| | | | | | Signed-off-by: John Crispin <blogic@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45277 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ipq806x: enable usb3 packages in default profileJohn Crispin2015-04-031-1/+2
| | | | | | | | | Default profile already enables usb2 so we'll do the same for usb3 now that we have support for it. Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45262 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ipq806x: add platform usb supportJohn Crispin2015-04-035-11/+969
| | | | | | | | | | | | | | This change adds DWC3 QCOM USB phys and TCSR drivers. These are cherry-picked from the following LKML threads: *dwc3 qcom: https://lkml.org/lkml/2014/9/12/599 *tcsr: https://lkml.org/lkml/2015/2/9/579 We're also adding an additional patch to add the corresponding dev nodes in the IPQ806x and AP148 dts files. Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45261 3c298f89-4303-0410-b956-a3cf2f4a3e73
* kernel: add package for dwc3 usb driver used on ipq806xJohn Crispin2015-04-031-0/+32
| | | | | | Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45260 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ipq806x: enable usb supportJohn Crispin2015-04-032-0/+2
| | | | | | | | | This change doesn't make USB functional but it does make it selectable from a configuration perspective. Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45259 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ipq806x: another missing symbolJohn Crispin2015-04-031-0/+1
| | | | | | Signed-off-by: John Crispin <blogic@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45257 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ipq806x: clean-up kernel config fileFelix Fietkau2015-04-032-5/+0
| | | | | | | | | Options that used to be in target config have been added to the generic config file, so remove them. Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45255 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ipq806x: add missing symbolJohn Crispin2015-04-011-0/+1
| | | | | | Signed-off-by: John Crispin <blogic@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45228 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ipq806x: clean up kernel confJohn Crispin2015-04-011-5/+0
| | | | | | Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45211 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ipq806x: add support for 4.0 kernelJohn Crispin2015-04-0110-0/+1771
| | | | | | Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45210 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ipq806x: move 020-add-ap148-bootargs.patch in patches-3.18John Crispin2015-04-011-0/+0
| | | | | | Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45209 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ipq806x: fix AP148 boot from NORJohn Crispin2015-03-152-0/+38
| | | | | | | | | | | | | | | | This patch allows AP148 to boot from NOR flash. As we're using a FIT image as kernel (which includes kernel bin + DTB) we enable the MTD_SPLIT_FIT_FW kernel option, which will detect the FIT image and automatically split the "firmware" partition into 2 MTD parts (kernel + rootfs). The rootfs will then be parsed and split between rootfs + rootfs_data, as usual. Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44794 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ipq806x: add ap148 bootargs to DTJohn Crispin2015-03-151-0/+46
| | | | | | | | | Only one bootargs is really needed: the tty port. All the other information will use the OpenWrt mechanisms. Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44793 3c298f89-4303-0410-b956-a3cf2f4a3e73