summaryrefslogtreecommitdiff
path: root/target/linux/ipq806x
Commit message (Collapse)AuthorAgeFilesLines
* ipq806x: add support for NEC Aterm WG2600HPINAGAKI Hiroshi2018-06-199-7/+484
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NEC Aterm WG2600HP is a 2.4/5 GHz band 11ac router, based on Qualcomm IPQ8064. Specification: - IPQ8064 (384 - 1,400 MHz) - 512 MB of RAM - 32 MB of Flash (SPI) - 4T4R 2.4/5 GHz - 5x 10/100/1000 Mbps Ethernet - 12x LEDs, 4x keys - 1x USB 3.0 Type-A - UART header on PCB - RX, TX, NC, GND, Vcc from power connector side - baudrate: 115200 bps Flash instruction using initramfs image: 1. Connect serial cable to UART header 2. Connect power cable and turn on the router 3. When the "Press the [f] key and hit [enter] to enter failsafe mode" message is displayed on the console, press the "f" key and Enter key sequentially to enter the failsafe mode 4. create fw_env.config file with following contents on failsafe mode: /dev/mtd9 0x0 0x10000 0x10000 5. Execute following commands to add and change the environment variables of U-Boot fw_setenv ipaddr "192.168.0.1" fw_setenv serverip "192.168.0.2" fw_setenv autostart "yes" fw_setenv bootcmd "tftpboot 0x44000000 wg2600hp-initramfs.bin; bootipq" 6. Set the IP address of the computer to 192.168.0.2, connect to the LAN port of WG2600HP, and start the TFTP server on the computer 7. Rename OpenWrt initramfs image for WG2600HP to "wg2600hp-initramfs.bin" and place it in the TFTP directory 8. Remove power cable from WG2600HP, reconnect it and restart WG2600HP 9. WG2600HP downloads initramfs image from TFTP server on the computer, loads it and boot with initramfs image 10. On the initramfs image, execute "mtd erase firmware" to erase stock firmware and execute sysupgrade with the sysupgrade image 11. Wait ~180 seconds to complete flashing Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
* ipq806x: D7800 only has a single sata portJohn Crispin2018-06-181-0/+1
| | | | | Signed-off-by: John Crispin <john@phrozen.org> (cherry picked from commit ee1dbffeed442b4968af48b2492ad41ac988dab8)
* ipq806x: Limit NR_CPUS to 2Rosen Penev2018-06-181-1/+1
| | | | | | | | | | | ipq806x is all dual core processors. ipq807x is quad core. Removes this from dmesg: RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2. RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2 Signed-off-by: Rosen Penev <rosenp@gmail.com> (cherry picked from commit fff65dbe2436351ea1feee6c79110971ec4d5881)
* kernel: bump 4.14 to 4.14.48 for 18.06Stijn Segers2018-06-0751-844/+847
| | | | | | | | | | | | | | Refreshed patches. The following patches were upstreamed and have been deleted: * target/linux/lantiq/patches-4.14/0025-MIPS-lantiq-gphy-Remove-reboot-remove-reset-asserts.patch * target/linux/generic/pending-4.14/101-clocksource-mips-gic-timer-fix-clocksource-counter-w.patch * target/linux/generic/pending-4.14/103-MIPS-c-r4k-fix-data-corruption-related-to-cache-coherence.patch * target/linux/generic/pending-4.14/181-net-usb-add-lte-modem-wistron-neweb-d18q1.patch Compile-tested: ramips/mt7621, x86/64 Run-tested: ramips/mt7621 Signed-off-by: Stijn Segers <foss@volatilesystems.org>
* ipq806x: drop "mtd: nand: add Winbond manufacturer and chip"Stefan Lippers-Hollmann2018-05-241-38/+0
| | | | | | | The W25N01GV NAND is currently not used in any ipq806x device. Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> (cherry picked from commit a436ef992d26768652e5a76d9e0983377adfc89b)
* ipq806x: drop linux 4.9 supportStefan Lippers-Hollmann2018-05-2487-29438/+0
| | | | | Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> (cherry picked from commit 2819732219904a81205abe0fa3fbe9c06884f119)
* ipq806x: switch to linux 4.14Stefan Lippers-Hollmann2018-05-241-1/+1
| | | | | Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> (cherry picked from commit 18e9ed2482d6988b5962e856ec0792d5794ad93f)
* ipq806x: remove spi-nor from r7800 dtsPavel Kubelun2018-05-242-90/+0
| | | | | | | | | | There's no spi-nor in R7800, so disable unequipped interfaces. Signed-off-by: Pavel Kubelun <be.dissent@gmail.com> [slh: rebase for kernel v4.14 as well] Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> (cherry picked from commit 8c1c1c4874c3bcaa16a21257a8fe15c2f6ec4012)
* ipq806x: remove rpm pinctrl from board dtsPavel Kubelun2018-05-2416-80/+0
| | | | | | | | | | | These pins seem to be used by hw exclusively, so claiming it in kernel causes an error in syslog in k4.14+. Signed-off-by: Pavel Kubelun <be.dissent@gmail.com> [slh: rebase for kernel v4.14 as well] Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> (cherry picked from commit 96cd31655d3de9078036ff74562ee50ef8724318)
* ipq806x: fix EA8500 switch controlPavel Kubelun2018-05-242-8/+36
| | | | | | | | | | | | | | | | | | | EA8500 has pcie2 slot unequipped. By EA8500 hw design default pcie2 reset gpio (gpio63) is used to reset the switch. That's why enabling pcie2 brings the switch into a working state. So let's just control the gpio63 without enabling the pcie2 slot. We have to remove the pcie2_pins node so the gpio63 is not defined twice. Because pcie2 node has a reference to pcie2_pins we have to remove it as well. Signed-off-by: Pavel Kubelun <be.dissent@gmail.com> [slh: rebase for kernel v4.14 as well] Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> (cherry picked from commit 7f694ef3d9f1121c03935c330093c594b8437098)
* ipq806x: move mmc specific nodes into v1.0 dtsiPavel Kubelun2018-05-244-150/+150
| | | | | | | | | | | These nodes are common for all revisions so put it into SoC v1.0 dtsi file. Signed-off-by: Pavel Kubelun <be.dissent@gmail.com> [slh: rebase for kernel v4.14 as well] Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> (cherry picked from commit 7a4f9c5993a726a3009a93dcd6aacb93d2aea6e1)
* ipq806x: fix pcie tx termination offsetPavel Kubelun2018-05-242-0/+24
| | | | | | | | | | | | | | | | According to GPL tarballs and QSDK related branch tx termination offset for ipq8064 SoC version >= 2.0 should be equal to 0 and not 7. https://github.com/paul-chambers/netgear-r7800/blob/master/git_home/linux.git/sourcecode/arch/arm/mach-msm/board-ipq806x.c#L1682-L1685 Fix this. Signed-off-by: Pavel Kubelun <be.dissent@gmail.com> [slh: rebase for kernel v4.14 as well] Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> (cherry picked from commit fbedc2213c19023bb4ec4ed7bd71908501aaf6d1)
* ipq806x: apply updated USB PHY settings to v2.0 SoCPavel Kubelun2018-05-244-22/+34
| | | | | | | | | | | | | | | | | | | | | USB PHY power settings introduced for ipq8065 SoC with commit 644a0d5 "ipq8065: adjust SS USB PHY power settings" According to that commit msg and in correspondence to GPL tarballs and related QSDK branch those settings are applied to ipq8064 SoCs of version >= 2.0. https://github.com/paul-chambers/netgear-r7800/blob/master/git_home/linux.git/sourcecode/arch/arm/mach-msm/board-ipq806x.c#L2507-L2514 Now as we have clarified that mass market boards are of SoC v2.0 move those USB PHY settings from ipq8065 (v3.0 SoC) dtsi to ipq8064 v2.0 dtsi. Signed-off-by: Pavel Kubelun <be.dissent@gmail.com> [slh: rebase for kernel v4.14 as well] Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> (cherry picked from commit d4b98c38c6acdabf37c9d099be5e2c3cf06a05fb)
* ipq806x: reference ipq8065 as ipq8064 v3.0Pavel Kubelun2018-05-248-8/+6
| | | | | | | | | | | | | ipq8065 is ipq8064 v3.0 > socinfo_init: v6, id=280, ver=3.0, raw_id=17, raw_ver=17, hw_plat=0, hw_plat_ver=65536 Include dtsi accordingly and remove the unneeded qcom-ipq8065-v1.0.dtsi Signed-off-by: Pavel Kubelun <be.dissent@gmail.com> [slh: rebase for kernel v4.14 as well] Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> (cherry picked from commit e16f9abf6b5b5d56d83892d7d86d89023f1e5d42)
* ipq806x: move mass market ipq8064 to v2 dtsiPavel Kubelun2018-05-2410-10/+10
| | | | | | | | | | | | | | | | | | | According to OEM bootlog entry mass market devices are ipq8064 SoC v2.0: > socinfo_init: v6, id=202, ver=2.0, raw_id=2064, raw_ver=2064, hw_plat=0, hw_plat_ver=65536 I've checked C2600, EA8500 and VR2600v but couldn't find other boards bootlog. I think it's safe to assume that other boards are also v2.0. R7500 may be an exception because it was the first device to hit the market. So switch to v2.0 dtsi. Signed-off-by: Pavel Kubelun <be.dissent@gmail.com> [slh: rebase for kernel v4.14 as well] Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> (cherry picked from commit 067036e8750a61a700718bf874e52b18a11cb277)
* ipq806x: introduce ipq8064 SoC v2 dtsiPavel Kubelun2018-05-242-0/+2
| | | | | | | | | | | | | | | | | According to QCA internal numbering there are 3 versions of ipq8064/5 SoC: ipq8064 v1.0 - probably ipq8064 evaluation boards only ipq8064 v2.0 - probably ipq8064 mass market boards only ipq8064 v3.0 - aka ipq8065, boards based on ipq8065. Each next revision includes configuration differences from previous revision and adds something new. Signed-off-by: Pavel Kubelun <be.dissent@gmail.com> [slh: rebase for kernel v4.14 as well] Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> (cherry picked from commit adbdf780492c0b877057ffb6765d0329adcbd2be)
* kernel: iqp806x low latency kernel does not bootMarc Benoit2018-05-242-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It keeps failing (R7800) with the stack trace below BUG: scheduling while atomic: kworker/0:1/26/0x00000002 (unwind_backtrace) from [<c02121d0>] (show_stack+0x10/0x14) (show_stack) from [<c03932e4>] (dump_stack+0x7c/0x9c) (dump_stack) from [<c0239b90>] (__schedule_bug+0x5c/0x80) (__schedule_bug) from [<c05b7260>] (__schedule+0x50/0x3f4) (__schedule) from [<c05b76a8>] (schedule+0xa4/0xd4) (schedule) from [<c05ba430>] (schedule_hrtimeout_range_clock+0xc8/0x100) (schedule_hrtimeout_range_clock) from [<c05ba480>] (schedule_hrtimeout_range+0x18/0x20) (schedule_hrtimeout_range) from [<c05b9f78>] (usleep_range+0x48/0x50) (usleep_range) from [<c03f333c>] (__clk_hfpll_enable+0x44/0xd0) (__clk_hfpll_enable) from [<c03f3474>] (clk_hfpll_set_rate+0xac/0xc4) (clk_hfpll_set_rate) from [<c03ec390>] (clk_change_rate+0xf4/0x1fc) (clk_change_rate) from [<c03ec510>] (clk_core_set_rate_nolock+0x78/0x94) (clk_core_set_rate_nolock) from [<c03ec54c>] (clk_set_rate+0x20/0x30) (clk_set_rate) from [<c0424168>] (dev_pm_opp_set_rate+0x190/0x26c) (dev_pm_opp_set_rate) from [<c04a8548>] (set_target+0x40/0x108) (set_target) from [<c04a4.140>] (__cpufreq_driver_target+0x3f4/0x488) (__cpufreq_driver_target) from [<c04a7494>] (od_dbs_timer+0xcc/0x154) (od_dbs_timer) from [<c04a7998>] (dbs_work_handler+0x2c/0x54) (dbs_work_handler) from [<c02309e8>] (process_one_work+0x1c0/0x2f0) (process_one_work) from [<c02319a8>] (worker_thread+0x2a4/0x404) (worker_thread) from [<c0235944>] (kthread+0xd8/0xe8) (kthread) from [<c020eef0>] (ret_from_fork+0x14/0x24) Signed-off-by: Marc Benoit <marcb62185@gmail.com> [slh: rebase for kernel v4.14 as well] Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> (cherry picked from commit e40db2907e2a7d4837b25be3bedb1f25fc248bbf)
* ipq806x: define KERNEL_SIZE in KB instead of byte for the image generationStefan Lippers-Hollmann2018-05-241-5/+5
| | | | | Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> (cherry picked from commit 05f53eecca5e1b28706ef074477a55917ed6deb1)
* ipq806x: increase kernel partition size for the Netgear Nighthawk X4 R7500v2Stefan Lippers-Hollmann2018-05-243-7/+7
| | | | | | | | | | | | | | | | | | | Starting with kernel 4.14 and gcc 7, the kernel doesn't fit into the 2 MB reserved for the kernel partition by the OEM firmware anymore. This patch increases the kernel partition from 2 MB to 4 MB, at the expense of the rootfs, for all supported kernels. WARNING: This breaks sysupgrade! Flashing a firmware containing this changed partitioning from an older image with 2 MB reserved for the kernel partion requires the tftp recovery procedure, thereby losing all settings. This change follows the functional example of the Netgear r7800, but has not been runtime tested on a Netgear Nighthawk X4 R7500v2. Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> (cherry picked from commit c3af761e4740820a29e993414d3d2f49c7eff6e7)
* ipq806x: increase kernel partition size for the Netgear Nighthawk X4 R7500Stefan Lippers-Hollmann2018-05-243-7/+7
| | | | | | | | | | | | | | | | | | | | Starting with kernel 4.14 and gcc 7, the kernel doesn't fit into the 2 MB reserved for the kernel partition by the OEM firmware anymore. This patch increases the kernel partition from 2 MB to 4 MB, at the expense of the rootfs, for all supported kernels. WARNING: This breaks sysupgrade! Flashing a firmware containing this changed partitioning from an older image with 2 MB reserved for the kernel partion requires the tftp recovery procedure, thereby losing all settings. This change follows the functional example of the Netgear r7800, but has not been runtime tested on a Netgear Nighthawk X4 R7500 Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> Cc: Jonas Gorski <jonas.gorski@gmail.com> (cherry picked from commit c228bbe616a52921a9d8fc961b3efcbdd3880c25)
* ipq806x: increase kernel partition size for the Netgear Nighthawk X4 D7800Stefan Lippers-Hollmann2018-05-243-7/+7
| | | | | | | | | | | | | | | | | | | | Starting with kernel 4.14 and gcc 7, the kernel doesn't fit into the 2 MB reserved for the kernel partition by the OEM firmware anymore. This patch increases the kernel partition from 2 MB to 4 MB, at the expense of the rootfs, for all supported kernels. WARNING: This breaks sysupgrade! Flashing a firmware containing this changed partitioning from an older image with 2 MB reserved for the kernel partion requires the tftp recovery procedure, thereby losing all settings. This change follows the functional example of the Netgear r7800, but has not been runtime tested on a Netgear Nighthawk X4 D7800. Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> Cc: Tathagata Das <tathagata@alumnux.com> (cherry picked from commit 45b8a7c1a6415125f4fe872ec83b3d31a2fa799b)
* ipq806x: increase kernel partition size for the TP-Link Archer VR2600vStefan Lippers-Hollmann2018-05-243-7/+7
| | | | | | | | | | | | | | | | | | | The default image does not fit 2 MB anymore, expand kernel partition to 3 MB. Upgrading should work transparently via sysupgrade in both directions. Another option would be to merge "kernel" and "rootfs" into a single "firmware" partition using MTD_SPLIT_TPLINK_FW, but just changing the sizes of the existing partitioning has been deemed safer in the absence of an actual runtime test on an affected device; the maximum for rootfs changes from 10.4 MB to 9.4 MB. This change follows the example for the TP-Link Archer C2600, but has not been runtime tested on a TP-Link Archer VR2600v. Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> Cc: Sebastian Quilitz <zeraphim@x-pantion.de> (cherry picked from commit 0c967d92b3d9ca34f01f194ad0353f131b42e986)
* ipq806x: increase kernel partition size for the TP-Link Archer C2600Stefan Lippers-Hollmann2018-05-241-3/+3
| | | | | | | | | | | | | | | | | | | | The default image does not fit 2 MB anymore, expand os-image partition to 4 MB. Upgrading works transparently via sysupgrade in both directions. Another option would have been to merge "os-image" and "rootfs" into a single "firmware" partition using MTD_SPLIT_TPLINK_FW, but just changing the sizes of the existing partitioning has been deemed safer and actually tested on an affected device; the maximum for rootfs changes from 27 MB to 25 MB. Run-tested on TP-Link Archer C2600. Signed-off-by: Joris de Vries <joris@apptrician.nl> [slh: extend comments and commit message, rename rootfs] Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> (cherry picked from commit b72b36653a3fc8347456ab9c45d26a3144688a4c)
* ipq806x: increase kernel partition size for the Netgear r7800Stefan Lippers-Hollmann2018-05-243-7/+7
| | | | | | | | | | | | | | | | | | | | Starting with kernel 4.14 and gcc 7, the kernel doesn't fit into the 2 MB reserved for the kernel partition by the OEM firmware anymore. This patch increases the kernel partition from 2 MB to 4 MB, at the expense of the rootfs, for all supported kernels. WARNING: This breaks sysupgrade! Flashing a firmware containing this changed partitioning from an older image with 2 MB reserved for the kernel partion requires the tftp recovery procedure, thereby losing all settings. This patch is based on a corresponding change by Pavel Kubelun <be.dissent@gmail.com> and has been tested by Michael Yartys <michael.yartys@protonmail.com> Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> (cherry picked from commit dc50694bd1a8f81b40c185bc8cacbdc8e821a3c6)
* ipq806x: cleanup kernel configRam Chandra Jangir2018-05-241-14/+8
| | | | | | | | | | | Disable MSM8960, MSM8974 and APQ8084 - since these are different SoC's than IPQ806x Removed unrequired serial configs - since ipq806x uses SERIAL_MSM only Signed-off-by: Ram Chandra Jangir <rjangir@codeaurora.org> Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> (cherry picked from commit 7ac6697fe269e7915e2dd55ba872cffcc102338b)
* ipq806x: add kernel 4.14 supportRam Chandra Jangir2018-05-2468-0/+25602
| | | | | | | | | | | | | | | | | | | - Rebased the patches for 4.14 - Dropped spi-qup and 0027, 0028, 0029 clk patches since it's already included in upstream. Tested on IPQ AP148 Board: 1) NOR boot and NAND boot 2) Tested USB and PCIe interfaces 3) WDOG test 4) cpu frequency scaling 5) ethernet, 2G and 5G WiFi 6) ubi sysupgrade Signed-off-by: Ram Chandra Jangir <rjangir@codeaurora.org> Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> (cherry picked from commit 93dd2f7211db6607184adadb488582e01fd5c29b)
* kernel: bump 4.9 to 4.9.96Kevin Darbyshire-Bryant2018-04-261-2/+2
| | | | | | | | | | | | | | | | | | Refresh patches, following required reworking: ar71xx/patches-4.9/930-chipidea-pullup.patch layerscape/patches-4.9/302-dts-support-layercape.patch sunxi/patches-4.9/0052-stmmac-form-4-12.patch Fixes for CVEs: CVE-2018-1108 CVE-2018-1092 Tested on: ar71xx Archer C7 v2 Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk> Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com> Tested-by: Arjen de Korte <build+openwrt@de-korte.org>
* build: consolidate fake uImage header build commandsMathias Kresin2018-04-201-3/+3
| | | | | | | | | | | Merge the two existing functions and use a parameter for the type header field. It updates the syntax of the former mpc85xx fake ramdisk header command to be compatible with mkimage from u-boot 2018.03 and fixes the build error spotted by the build bot. Signed-off-by: Mathias Kresin <dev@kresin.me>
* ipq806x: replace linux,part-probe with a proper partitions subnodeRafał Miłecki2018-04-094-5/+20
| | | | | | | | | | | This solution is more upstream compatible as it only requires specifying of_match_table in the parser code and doesn't depend on linux,part-probe which is solution made generic by a LEDE downstream patch that can't be upstreamed. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> Acked-by: John Crispin <john@phrozen.org>
* ipq806x: add support for Compex WPQ864Christian Mehlis2018-03-156-13/+601
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware highlights: - SoC: Qualcomm Atheros IPQ8064/5 ARM Dual Core CPU - RAM: (512MB or 1GB) DDR3 System Memory - Storage: 32MB NOR (Cypress S25FL256S1) 256MB NAND (Micron MT29F2G08ABBEAH4) - Ethernet: 5 x 1G via QCA8337N - USB: 1 x USB 2.0/3.0 + 1 x USB 2.0 on mini PCIe3 socket - PCIe: 3x mini PCIe (third mini PCIE3 is PCIe/USB shared) - SIM Card Slot: 2 x Slot - Buttons: Reset Button - LEDs: 18x, 8x GPIO controllable - Buzzer The correct amount of RAM will be passed by the bootloader. In contrast to the documentation provided by Compex, the third PCIe doesn't use GPIO16 for PERST. Instead, GPIO3 is shared and used as PERST for PCIe0 and PCIe2. So far, no one was able to get USB 3.0 working with the 1GB RAM version, while it works fine for my 512MB version. Since USB 3.0 doesn't work with the Compex firmware for the 1G variant either, it could be a hardware issue with these boards. OpenWrt will be installed to the NAND flash. Make sure to have a full working image on the NOR flash. It will be the backup in case anything goes wrong. It has been observed that an image loaded via tftpboot might have bitflips. Hence the extra step to create a crc32 checksum to allow to compare the checksum with the one from the source file prior to flashing. In all cases it is necessary to set the following u-boot parameter to an empty (whitespace) value, to ensure that the chosen bootargs of the dts isn't overwritten or set to bogus - not working - values: (IPQ) # set bootargs " " (IPQ) # set fsbootargs " " (IPQ) # saveenv The sysupgrade image can be installed directly on flash using u-boot (put jumper in JP13 (leave JP9 open) to boot from nand): (IPQ) # set serverip 192.168.1.20 (IPQ) # set ipaddr 192.168.1.1 (IPQ) # tftpboot 0x42000000 openwrt-ipq806x-compex_wpq864-squashfs-nand-factory.bin (IPQ) # crc32 0x42000000 $filesize (IPQ) # nand erase 0x1340000 0x4000000 (IPQ) # nand write 0x42000000 0x1340000 $filesize The initramfs image can be started using: (IPQ) # set fdt_high 0x48000000 (IPQ) # tftpboot 0x44000000 openwrt-ipq806x-compex_wpq864-initramfs-fit-uImage.itb (IPQ) # bootm 0x44000000 Signed-off-by: Christian Mehlis <christian@m3hlis.de> Signed-off-by: Mathias Kresin <dev@kresin.me>
* ipq40xx/ipq806x: move qcom-dwc3 usb driver to genericMathias Kresin2018-03-141-33/+0
| | | | | | | If the a kernel package exists within multiple targets an error/warning is shown. Signed-off-by: Mathias Kresin <dev@kresin.me>
* ipq806x: drop ipq40xx supportJohn Crispin2018-03-1448-15076/+3
| | | | Signed-off-by: John Crispin <john@phrozen.org>
* kernel: bump 4.9 to 4.9.85Magnus Kroken2018-03-033-4/+4
| | | | Signed-off-by: Magnus Kroken <mkroken@gmail.com>
* ipq806x: add support for GL.iNet GL-B1300Dongming Han2018-02-146-1/+339
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for GL.iNet GL-B1300 Specification: - SOC: IPQ4028 / QCA Dakota - RAM: 256 MiB - FLASH: 32 MiB - ETH: Qualcomm Atheros QCA8075 Gigabit Switch (2 x LAN, 1 x WAN) - USB: 1 x 3.0 (via Synopsys DesignWare DWC3 controller in the SoC) - WLAN1: Qualcomm Atheros QCA4028 2.4GHz 802.11bgn 2:2x2 - WLAN2: Qualcomm Atheros QCA4028 5GHz 802.11a/n/ac 2:2x2 - INPUT: one reset and one WPS button - LEDS: 3 leds: Power, WIFI(only for 2.4G currently), and one reserved - UART: 1 x UART on PCB (3.3V, TX, RX, GND) - 115200 8N1 Installation: Method 1: - use serial port to stop uboot - uboot command: run lf Method 2: - push down reset button and power on - wait until three leds constantly on then release - upgrade by uboot web at http://192.168.1.1 Note: - the sysupgrade image need to be renamed to lede-gl-b1300.bin in both method. - the sysupgrade image can be automatically downloaded if tftp server at 192.168.1.2 have that file. - the wifi led will be flashing when writing image. Signed-off-by: Dongming Han <handongming@gl-inet.com>
* ipq806x: switch to full dual-boot for the nbg6817 sysupgrade supportStefan Lippers-Hollmann2018-02-131-3/+23
| | | | | | | | | | | | | | Instead of writing to the currently booted partition set, this implements full dual-boot support for sysupgrade by always writing to the other, currently inactive, partition set and toggling the dualflag after a successful flash. The currently active/ booted partition set is determined by parsing /proc/cmdline for its rootfs parameter (supplied by the DTS), instead of reading from the 0:DUAL_FLAG mtd, in order to prevent (potentially) bricking both partition sets. Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
* ipq806x: request the first free loop device dynamically for the nbg6817 ↵Stefan Lippers-Hollmann2018-02-131-4/+5
| | | | | | | | | | | | sysupgrade Instead of hardcoding /dev/loop0, it's safer to query for the first free loop device and assign that dynamically. While /dev/loop0 is a reasonable assumption immediately following "losetup --detach-all", detaching the mounted overlay is no longer strictly necessary once dual-boot support has been added for the nbg6817. Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
* ipq806x: use absolute the device path in $kernel for the nbg6817 sysupgradeStefan Lippers-Hollmann2018-02-131-4/+4
| | | | | | | Harmonize the variable usage for $kernel and $rootfs to always contain the full device path, instead of just its basename. Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
* ipq806x: support new location of USB PHY kernel moduleLuis Araneda2018-02-131-1/+3
| | | | | | | PHY drivers were grouped into vendor specific directories by upstream commit 0b56e9a7e8358e59b21d8a425e463072bfae523c Signed-off-by: Luis Araneda <luaraneda@gmail.com>
* ipq-wifi: drop OpenMesh A42 board-2.binSven Eckelmann2018-02-111-1/+1
| | | | | | | | | | | The BDFs for OpenMesh A42 were upstreamed [1] to the ath10k-firmware repository and are now part of ath10k-firmware 2018-01-26. The ipq-wifi-openmesh_a42 package can now be dropped because OpenWrt already ships the QCA4019 board-2.bin from this version. [1] https://wireless.wiki.kernel.org/en/users/drivers/ath10k/boardfiles Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
* ipq806x: mark AVM FB4040 switchport as untaggedDavid Bauer2018-02-111-1/+1
| | | | | | | | This commit marks the CPUs switchport explicit as untagged. Otherwise, an eth0.1 interface is created and the devices LAN-ports are not working. Signed-off-by: David Bauer <mail@david-bauer.net>
* ipq806x: make patches apply againHauke Mehrtens2018-01-201-18/+0
| | | | | | | | Some part of this patch was added to the generic patches as it was needed also for some other target. Do not add it here any more. Fixes: 02050f7e7d5b ("kernel/4.{4, 9}: add manufacturer ID for Winbond NANDs") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: bump 4.9 to 4.9.77Kevin Darbyshire-Bryant2018-01-203-11/+7
| | | | | | | | | | | | | | | | | | | | | | | Refresh patches. Remove upstreamed patches: target/linux/generic/backport-4.9/023-2-smsc75xx-use-skb_cow_head-to-deal-with-cloned-skbs.patch target/linux/generic/backport-4.9/023-3-cx82310_eth-use-skb_cow_head-to-deal-with-cloned-skb.patch target/linux/generic/backport-4.9/023-4-sr9700-use-skb_cow_head-to-deal-with-cloned-skbs.patch target/linux/generic/backport-4.9/023-5-lan78xx-use-skb_cow_head-to-deal-with-cloned-skbs.patch CVEs completely or partially addressed: CVE-2017-5715 CVE-2017-5753 CVE-2017-17741 CVE-2017-1000410 Compile-tested: ar71xx Archer C7 v2 Run-tested: ar71xx Archer C7 v2 Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk> Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ipq806x: remove merged ipq4019 patchChristian Lamparter2018-01-1811-39/+11
| | | | | | | | | The patch 0022-dts-ipq4019-support-ARMv7-PMU.patch was merged into 4.8-rc1. Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [refresh patches] Signed-off-by: Mathias Kresin <dev@kresin.me>
* ipq806x: remove dependency on non-existent kmodChristian Lamparter2018-01-181-1/+1
| | | | | | | | During the integration of the ipq40xx target, the phy drivers were included into the ipq806x's target kernel config. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq-wifi: align AVM FRITZ!Box 4040's board-2.bin packageChristian Lamparter2018-01-181-1/+1
| | | | | | | This patch renames the AVM FRITZ!Box 4040's board-2.bin file and package to match the 'vendor_product' format. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq806x: overhaul AVM FRITZ!box 4040 device-tree fileChristian Lamparter2018-01-181-38/+143
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch aligns the device-tree file with the latest guidelines. - No longer include qcom-ipq4019-ap.dk01.1.dtsi. This file is only partially upstream and therefore subjected to changes that might not be compatible with the board. As a result, the definitions from the file have been copied into this dts. - exclusively use decimal GPIO addresses. - reorganize the reserved-memory layout to waste less memory. There's no point in keeping the u-boot loader around. This should also make it possible to create an image that will boot with the original EVA/ADAM2 loader without needing to install the modified u-boot loader. And finally mark the "tz-apps" as reusable. There isn't a way to upload apps to the trust-zone in OpenWrt yet. But it might see some use in the future as a "secure" key-store/TPM. - sort the first-level nodes alphabetically. - sort nodes with an address by the address. Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* ipq806x: fix ZyXEL NBG6817 sysupgradeMathias Kresin2018-01-181-7/+10
| | | | | | | | | | | Use the first found directory in the tar archive instead of relying on a directory named according to the userspace boardname. It allows to change the boardname without adding another compatibility layer to the zyxel sysupgrade. Fixes: 33f09cf15178 ("ipq806x: convert to dt-based board-detection") Signed-off-by: Mathias Kresin <dev@kresin.me>
* ipq8065: adjust SS USB PHY power settingsPavel Kubelun2018-01-171-0/+11
| | | | | | | | | | | According to QSDK ipq8065 has different SS USB PHY power settings. Adjust it according to QSDK settings. It also corresponds to oem Netgear R7800 tarball for soc ver >= 2. https://github.com/paul-chambers/netgear-r7800/blob/eeac2e10190f6f45e32e4c7012c4babc351898d8/git_home/linux.git/sourcecode/arch/arm/mach-msm/board-ipq806x.c#L2494 Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
* ipq806x: usb: add phy 1 master reset controlPavel Kubelun2018-01-172-12/+26
| | | | | | | In current state only phy 0 master reset is controlled. Add the phy 1 reset. Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
* ipq806x: usb: Control USB master resetPavel Kubelun2018-01-172-0/+67
| | | | | | | | | | | | | | Picking commit from QSDK https://source.codeaurora.org/quic/qsdk/oss/kernel/linux-msm/commit/?h=eggplant&id=a86bda9f8a7965f0cedd347a9c04800eb9f41ea3 Commit message: "During removal of the glue layer(dwc3-of-simple), USB master reset is set to active and during insertion it is de-activated." Change-Id: I537dc810f6cb2a46664ee674840145066432b957 Signed-off-by: Vasudevan Murugesan <vmuruges@codeaurora.org> (cherry picked from commit 4611e13580a216812f85f0801b95442d02eeb836)" Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>