aboutsummaryrefslogtreecommitdiffstats
path: root/target
Commit message (Collapse)AuthorAgeFilesLines
* gemini: Fix up flash accessesLinus Walleij2019-08-172-0/+140
| | | | | | | | The SL93512r and the NAS4220B have Redboot partition tables (rely on these) and need to boot from mtdblock3. Add two patches from upstream to fix this. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
* gemini: Fix up some confused pin config on SL93512rLinus Walleij2019-08-171-0/+54
| | | | | | Upstream patch fixing the errors in the device tree. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
* zynq: remove kernel 4.14 supportLuis Araneda2019-08-174-846/+0
| | | | Signed-off-by: Luis Araneda <luaraneda@gmail.com>
* zynq: switch to kernel 4.19Luis Araneda2019-08-171-1/+1
| | | | | | Use kernel 4.19 by default Signed-off-by: Luis Araneda <luaraneda@gmail.com>
* zynq: k4.19: fix kernel panic on smp bring-upLuis Araneda2019-08-171-0/+35
| | | | | | | | | | | This fixes a kernel panic when validating the arguments of memcpy at runtime, which is enabled by generic's CONFIG_FORTIFY_SOURCE for k4.19 This wasn't triggered on 4.14, as ARCH_HAS_FORTIFY_SOURCE was added on k4.17 for the ARM architecture Signed-off-by: Luis Araneda <luaraneda@gmail.com>
* zynq: kernel: use some configs provided by genericLuis Araneda2019-08-171-9/+1
| | | | | | | | | - Select CONFIG_PREEMPT_NONE (server) instead of CONFIG_PREEMPT (low-latency desktop) - Remove CONFIG_USELIB - Remove CONFIG_SYSCTL_SYSCALL Signed-off-by: Luis Araneda <luaraneda@gmail.com>
* zynq: add k4.19 configLuis Araneda2019-08-171-0/+664
| | | | | | | Copied from kernel 4.14 and refreshed with make kernel_oldconfig Signed-off-by: Luis Araneda <luaraneda@gmail.com>
* mvebu: sysupgrade: sdcard: fix platform_do_upgrade_sdcardKlaus Kudielka2019-08-161-18/+16
| | | | | | | | | | | | Unconditionally execute the final case statement, even if the disk layout changed. This is necessary, to keep the original Turris Omnia flash instructions working: The disk layout WILL change, when switching from TurrisOS to OpenWRT. Without updating the uboot environment at the same time, the user would end up with an unbootable system. Fixes commit 2e5a0b81ec ("mvebu: sysupgrade: sdcard: keep user added ...") Signed-off-by: Klaus Kudielka <klaus.kudielka@gmail.com>
* brcm63xx: do not build images for 16 MiB RAM devices by defaultJonas Gorski2019-08-161-0/+24
| | | | | | | | OpenWrt will run out of RAM while booting with the default package set, so let's not provide images that will likely fail. They can still be built manually through source or IB if needed. Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
* lantiq: unify Fritz!Box LED mappingsDavid Bauer2019-08-154-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | This commit unifies the LED mapping of the AVM Fritz!Box routers, which have a combined Power/DSL LED. With the stock firmware, the Power LED has the following characteristics: - Blink when DSL sync is being established - Solid when DSL sync is present We can't completely resemble this behavior in OpenWrt. Currently, the Power LED is completely off, when DSL sync is missing. This is not really helpful, as a user might have the impression, that he bricked his device. Instead, map the Info-LED to the state of the DSL connection. There is no consistent behavior for the Info-LED in the stock firmware, as the user can set it's function by himself. The DSL connection state is one possible option for the Info LED there. Also use the red Power LED to indicate a running upgrade, in case the board has a two-color Power LED. Signed-off-by: David Bauer <mail@david-bauer.net>
* ath79: remove SUPPORTED_DEVICES for TP-Link Archer D50 v1Adrian Schmutzler2019-08-151-1/+0
| | | | | | | This device has not been supported in ar71xx, so there is no need for an explicit SUPPORTED_DEVICES entry. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: use Power LED as System LED for TL-WR842Nv3David Bauer2019-08-151-6/+6
| | | | | | | | | | | The TP-Link TL-WR842N v3 has a software-controllable Power LED. The WPS LED is normally only used as a System LED, when the Power LED can't be controlled by software. Additionally, the Power LED is also the System LED for this board in ar71xx. Signed-off-by: David Bauer <mail@david-bauer.net>
* ipq40xx: fix AVM NAND caldata extractionDavid Bauer2019-08-151-3/+15
| | | | | | | | | | | | | The AVM Fritz!Box 7530 (and probably other AVM IPQ4019 NAND devices) has it's caldata not stored consistently, but instead at currently 3 known possible offsets. As we get a non-zero exit code from fritz_cal_extract, simply try all three possible offsets on both bootloader partitions, until a matching caldata for each radio is found. Reported-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: David Bauer <mail@david-bauer.net>
* kernel: bump 4.19 to 4.19.66Koen Vandeputte2019-08-1410-29/+29
| | | | | | | | | Refreshed all patches. Compile-tested on: cns3xxx Runtime-tested on: cns3xxx Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.14 to 4.14.138Koen Vandeputte2019-08-145-18/+18
| | | | | | | | | Refreshed all patches. Compile-tested on: cns3xxx Runtime-tested on: cns3xxx Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.9 to 4.9.189Koen Vandeputte2019-08-147-22/+22
| | | | | | | | | Refreshed all patches. Compile-tested on: none Runtime-tested on: none Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* treewide: convert WiFi caldata size and offset to hexadecimalAdrian Schmutzler2019-08-1411-202/+202
| | | | | | | | | | | | | | This changes size and offset set for WiFi caldata extraction and MAC address adjustment to hexadecimal notation. This will be much clearer for the reader when numbers are big, and will also match the style used for mtd-cal-data in DTS files. Since dd cannot deal with hexadecimal notation, one has to convert back to decimal by simple $(($hexnum)). Acked-by: Alexander Couzens <lynxis@fe80.eu> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* treewide: convert MAC address location offsets to hexadecimalAdrian Schmutzler2019-08-1422-113/+113
| | | | | | | | | | | | | This changes the offsets for the MAC address location in mtd_get_mac_binary* and mtd_get_mac_text to hexadecimal notation. This will be much clearer for the reader when numbers are big, and will also match the style used for mtd-mac-address in DTS files. (e.g. 0x1006 and 0x5006 are much more useful than 4102 and 20486) Acked-by: Alexander Couzens <lynxis@fe80.eu> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* imagebuilder: fix `make info` for empty SUPPORTED_DEVICESPaul Spooren2019-08-141-1/+2
| | | | | | | | | For x86/64 (maybe more) target the SUPPORTED_DEVICES variable is empty which causes the `&&` junction to fail, producing a non zero exit code. Tested-by: Paul Spooren <mail@aparcar.org> Fixed-by: Jo-Philipp Wich <jo@mein.io> Signed-off-by: Paul Spooren <mail@aparcar.org>
* ath79: update DTS for TP-Link WDR3600/WDR4300 v1Adrian Schmutzler2019-08-131-30/+29
| | | | | | | This replaces gpio-export by gpio-hogs and switches buttons to interrupt-driven gpio-keys. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* Revert faulty tree pushFelix Fietkau2019-08-127-391/+0
| | | | | | | | | | | | Revert "mac80211: add new minstrel_ht patches to improve probing on mt76x2" (9861050b85e5381c93d73ffdbc24c130400e0fb8) Revert "kernel: use bulk free in kfree_skb_list to improve performance" (98b654de2e7502507b31f0fb82befbb48f9c8542) Revert "ramips: add preliminary support for WIO ONE" (085141dc5ba5e763e1bf4c1a2fd6957160810ccc) Revert "ramips: add preliminary support for SGE AP-MTKH7-0006 developer board" (b1db6d0539511f60bf65fbde28b16afa31180e34) Revert "build: use config.site generated by autoconf-lean, drop hardcoded sitefiles" (363ce4329d4f6c00b4a7cb83dd1821fafc0d40ad) Revert "toolchain: add autoconf-lean" (fdb30eed03ae56cd87078b64d9b2fac00799e783) Revert "build: allow overriding the filename on the remote server when downloading" (6fa0e07758524eddf20c9b66dfcb55c490e1961e) Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: use bulk free in kfree_skb_list to improve performanceFelix Fietkau2019-08-122-0/+122
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ramips: add preliminary support for WIO ONEFelix Fietkau2019-08-123-0/+144
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ramips: add preliminary support for SGE AP-MTKH7-0006 developer boardFelix Fietkau2019-08-124-0/+125
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* sdk: fix GCC and Python dangling symlinksPetr Štetiar2019-08-121-1/+2
| | | | | | | | | | | | | Force prereq again in SDK in order to fix GCC and Python dangling symlinks: staging_dir/host/bin/g++ -> /builder/ath79_generic/ccache_cxx.sh staging_dir/host/bin/gcc -> /builder/ath79_generic/ccache_cc.sh staging_dir/host/bin/python -> /usr/bin/python3.5 staging_dir/host/bin/python3 -> /usr/bin/python3.5 Ref: FS#2424 Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ramips: fix lan and wan mac addresses for Cudy WR1000Davide Fioravanti2019-08-112-1/+2
| | | | | | | Lan and Wan addresses are swapped compared to the original firmware. This patch fixes this problem Signed-off-by: Davide Fioravanti <pantanastyle@gmail.com>
* lantiq: add led-upgrade alias for Fritz!Box 7412David Bauer2019-08-101-0/+1
| | | | | | | This adds the led-upgrade alias for the AVM Fritz!Box 7412 to indicate a running firmware upgrade. Signed-off-by: David Bauer <mail@david-bauer.net>
* lantiq: enable second VPE on Fritz!Box 7412David Bauer2019-08-102-2/+2
| | | | | | | | | The AVM Fritz!Box 7412 does not use the VMMC part of the Lantiq chip but rather a proprietary solution based on the DECT chip for the FXS ports. Therefore, the second VPE can be enabled for use with OpenWrt. Signed-off-by: David Bauer <mail@david-bauer.net>
* lantiq: correct Fritz!Box 7412 button logic levelDavid Bauer2019-08-101-2/+2
| | | | | | | | | The AVM FRITZ!Box 7412 buttons are both active low, which is currently incorrectly defined in the device-tree. This leads to the device booting directly into failsafe. Signed-off-by: David Bauer <mail@david-bauer.net>
* ramips: fix LED labels not updated during device name changesAdrian Schmutzler2019-08-1019-106/+173
| | | | | | | | | | | | | | In commit d93969a13a5b ("ramips: Improve compatible for TP-Link Archer devices") and subsequent ones, names of several devices in ramips have been changed. Since LED names are frequently invoked by $boardname, this has broken LED setup in 01_leds, as $boardname and prefix in DTS do not match anymore. This patch updates device name prefixes for LEDs in DTS files, and provides a migration script. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: add kmod-mt7615e to Xiaomi Mi Router 3 Pro imagesOzgur Can Leonard2019-08-102-3/+5
| | | | | | Now that the mt76/mt7615e driver is in Openwrt, might as well use it. Signed-off-by: Ozgur Can Leonard <ozgurcan@gmail.com>
* ath79: add missing IMAGE_SIZE for Comfast WR650AC v1/v2Adrian Schmutzler2019-08-091-0/+2
| | | | | | | | When adding support in 9ed272fe9500 ("ath79: add support for Comfast WR650AC v1/v2"), IMAGE_SIZE has not been added to device definition. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ar71xx: ag71xx: init rings with GFP_KERNELKoen Vandeputte2019-08-091-1/+1
| | | | | | | ar71xx got lost during final rebase .. Fixes: b417a0c48d63 ("ar71xx/ath79: ag71xx: init rings with GFP_KERNEL") Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ar71xx/ath79: ag71xx: init rings with GFP_KERNELKoen Vandeputte2019-08-091-1/+1
| | | | | | | | | | | | | | | Upstream commit 246902bdf562d45ea3475fac64c93048a7a39f01 Which contains following explanation: -- There is no need to use GFP_ATOMIC here, GFP_KERNEL should be enough. The 'kcalloc()' just a few lines above, already uses GFP_KERNEL. -- Looking at the code, all other descriptors also use plain GFP_KERNEL Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ar71xx/ath79: ag71xx: fix sleep in atomicKoen Vandeputte2019-08-092-12/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When enabling atomic-sleep-debugging options in the kernel, following splat is seen when disabling the interface (which happens on boot): [ 10.892878] eth0: link down [ 10.896788] BUG: sleeping function called from invalid context at net/core/dev.c:5563 [ 10.904730] in_atomic(): 1, irqs_disabled(): 1, pid: 425, name: ip [ 10.911004] 2 locks held by ip/425: [ 10.914539] #0: (rtnl_mutex){....}, at: [<80377474>] rtnetlink_rcv_msg+0x2d8/0x380 [ 10.922441] #1: (&(&ag->lock)->rlock){....}, at: [<80330158>] ag71xx_hw_disable+0x24/0x94 [ 10.930976] CPU: 0 PID: 425 Comm: ip Not tainted 4.14.136 #0 [ 10.936716] Stack : 805e0000 80589228 80557404 876998ec 80610000 80610000 87cdcafc 805b5327 [ 10.945233] 80551534 000001a9 8061386c 87699ccc 87cfb180 00000001 876998a0 84f70903 [ 10.953751] 00000000 00000000 80b00000 8769979c 6a7407fa 00000000 00000007 00000000 [ 10.962270] 000000b7 16d0954a 000000b6 00000000 80000000 87cb658c 87cb65b0 00000001 [ 10.970787] 8046f97c 87699ccc 87cfb180 87ff2810 00000003 802ce724 0806e098 80610000 [ 10.979306] ... [ 10.981797] Call Trace: [ 10.984287] [<8006cb0c>] show_stack+0x58/0x100 [ 10.988814] [<800aab34>] ___might_sleep+0x100/0x120 [ 10.993774] [<8035c434>] napi_disable+0x30/0xd8 [ 10.998377] [<80330198>] ag71xx_hw_disable+0x64/0x94 [ 11.003418] [<8033069c>] ag71xx_stop+0x24/0x38 [ 11.007959] [<80359e30>] __dev_close_many+0xcc/0x104 [ 11.013009] [<80362eac>] __dev_change_flags+0xc8/0x1ac [ 11.018227] [<80362fb8>] dev_change_flags+0x28/0x70 [ 11.023182] [<80376890>] do_setlink+0x31c/0x91c [ 11.027786] [<80379360>] rtnl_newlink+0x3ec/0x7f8 [ 11.032563] [<80377498>] rtnetlink_rcv_msg+0x2fc/0x380 [ 11.037799] [<8039a734>] netlink_rcv_skb+0xd4/0x178 [ 11.042754] [<80399d10>] netlink_unicast+0x168/0x250 [ 11.047796] [<8039a2d4>] netlink_sendmsg+0x3d8/0x434 [ 11.052841] [<8033f0e4>] ___sys_sendmsg+0x1dc/0x290 [ 11.057794] [<80340140>] __sys_sendmsg+0x54/0x84 [ 11.062495] [<8007212c>] syscall_common+0x34/0x58 This is caused by calling napi_disable() while holding the spinlock. Fix it by omitting the spinlock, which is not required here Extensively tested on GL-MiFi, RB-912 and RB-922 hardware Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.19 to 4.19.65Koen Vandeputte2019-08-097-13/+13
| | | | | | | | | Refreshed all patches. Compile-tested on: cns3xxx Runtime-tested on: cns3xxx Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.14 to 4.14.137Koen Vandeputte2019-08-095-8/+8
| | | | | | | | | Refreshed all patches. Compile-tested on: cns3xxx Runtime-tested on: cns3xxx Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.9 to 4.9.188Koen Vandeputte2019-08-095-8/+8
| | | | | | | | | Refreshed all patches. Compile-tested on: none Runtime-tested on: none Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ath79: fix identation errors in 01_ledsDavid Bauer2019-08-091-7/+7
| | | | | | Fix the identation of 01_leds to keep the style of the file consistent. Signed-off-by: David Bauer <mail@david-bauer.net>
* ath79: add missing IMAGE_SIZE for Comfast E314N-v2Adrian Schmutzler2019-08-091-0/+1
| | | | | | | | When adding support in abbbecaa73dc ("ath79: add support for Comfast E314N-v2"), IMAGE_SIZE has not been added to device definition. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: fix whitespace errors from adding D-Link DIR-842 C3Adrian Schmutzler2019-08-094-13/+13
| | | | | | | | | We completely overlooked whitespace errors when reviewing 796ad2f7ef6f ("ath79: add support for D-Link DIR-842 C3"). Fix them and and also fix Makefile indent for C1/C2. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add support for Comfast WR650AC v1/v2Joan Moreau2019-08-096-3/+287
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a dual band 11a/11n router with 1x wan and 4x gig lan ports. There are two versions of this router which can be identified through the factory web interface, v1 has 128mb ram and a uboot size of 128k, v2 has 256mb ram and a uboot size of 256k, the remaining hardware and PCB markings are the same. Short specification: SoC: Qualcomm Atheros QCA9558 - 720 MHz Switch: Atheros AR8327 Second radio : Qualcomm Atheros QCA9880 802.11ac 4 LAN/1 WAN 1000Mps Ethernet 256 MB of RAM (DDR2) 16 MB of FLASH 3x2.4 GHz, 3x5GHz antennas Steps to install : Option A : Use vendor UI Option B (if A is not working) : (a) Download 'backup' from vendor UI and rename it backup.tar.gz (b) Open the archive, and update the root password in /etc/shadow by '$1$9wX3HGfB$X5Sb3kqzzBLdKRUR2kfFd0' (c) 'Restore' from the archive using the vendor UI. Root password is now 'aaa' (d) Scp the firwmware to the device: $ scp <openwrt-sysupgrade>.bin root@192.168.1.1:/ (d) ssh to the device and flash the firmware: $ cd / $ mtd -e firmware -r write <openwrt-sysupgrade>.bin firmware Signed-off-by: Gareth Parker <gareth41@orcon.net.nz> Signed-off-by: Ding Tengfei <dtf@comfast.cn> Signed-off-by: Joan Moreau <jom@grosjo.net> [reformatted commit message] Signed-off-by: David Bauer <mail@david-bauer.net>
* brcm2708: bcm2711: remove unneeded boot fileÁlvaro Fernández Rojas2019-08-091-2/+1
| | | | | | | bootcode.bin isn't needed for RPi 4B since it's stored on a SPI-attached EEPROM. More info: https://www.raspberrypi.org/documentation/hardware/raspberrypi/booteeprom.md Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* ath79: add support for Comfast E314N-v2Joan Moreau2019-08-094-0/+173
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Taken code from https://patchwork.ozlabs.org/patch/884850/ that was never pushed by the author, and adapted to ath79. The Comfast E314N-V2 is a 2.4 GHz 2x2 radio with a built-in directional antenna and a second Ethernet port - very similar to the Ubiquiti NanoStation M2. The Ethernet port features a pass-through PoE capability, enabled or disabled with a slide switch. Specifications : - System-On-Chip: Qualcomm/Atheros QCA9531 - CPU/Speed: 650 MHz - Flash size: 8 MiB - RAM: 64 MiB - 2 Ethernet 1Gbp - 1 reset button - 1 switch to choose PoE from LAN or Wan. 48Vdc - Wifi 2.4 Ghz (b/g/n) - UART inside the box (3.3V, pins marked on the PCB) Firmware can be flashed on these units by the following method: 1.) Apply power to the unit 2.) Immediately AFTER applying power, hold down the reset button 3.) The WAN, LAN, and wireless lights will flash - wait three seconds (three flashes) and then release the button. 4.) After a second, the lights will flutter quickly and the unit will be visible at 192.168.1.1. A web page will be available to enable quick and simple uploading and flashing of firmware. During the boot process, these units also look for a tftp server at 192.168.1.10. If one is present, the firmware can be uploaded as a file called firmware-auto.bin Signed-off-by: Joan Moreau <jom@grosjo.net> [wrapped commit message - fix commit title capitalization] Signed-off-by: David Bauer <mail@david-bauer.net>
* ramips: add support for HiWiFi HC5761ADENG Qingfang2019-08-084-0/+68
| | | | | | | | | | | | | | | | | | | | | | | | HiWiFi HC5761A is an "MT7628AN variant" of HC5761 Specifications: - MediaTek MT7628AN 580MHz - 128 MB DDR2 RAM - 16 MB SPI Flash - 2.4G MT7628AN 802.11bgn 2T2R 300Mbps - 5G MT7610EN 802.11ac 433Mbps - 3x 10/100 Mbps Ethernet Flash instruction: 1. Get SSH access to the router 2. SSH to router with `ssh -p 1022 root@192.168.199.1`, The SSH password is the same as the webconfig one 3. Upload OpenWrt sysupgrade firmware into the router's `/tmp` folder with SCP 4. Run `mtd write /tmp/<filename> firmware` 5. reboot Known bug: - SD slot does not work (See PR 1500) Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
* ramips: improve support for HiWiFi HC5661A and HC5861BDENG Qingfang2019-08-083-8/+25
| | | | | | | | | | | | | HC5661A: - Fix pinctrl - Fix image size (15808k) - Use switch trigger for WAN LED Both: - Use tpt LED trigger for wireless - Explicitly disable USB nodes Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
* ramips: add HC5X61A.dtsi for HiWiFi MT7628AN boardsDENG Qingfang2019-08-083-186/+104
| | | | | | | HiWiFi has several MT7628AN routers which have similar specs Add HC5X61A.dtsi to include them, like HC5X61.dtsi (for MT7620A) Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
* ath79: add support for PISEN WMB001NChuanhong Guo2019-08-085-0/+259
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specifications: - SoC: AR9341 - RAM: 64M - Flash: 16M - Ethernet: 1 * FE port - WiFi: ar934x-wmac - Sound: WM8918 DAC 1 * 3.5mm headphone jack 2 * RCA connectors for speakers 1 * SPDIF out - USB: 1 * USB2.0 port Flash instruction: Upload generated factory image via vendor's web interface. Notes: A. Audio stuff: 1. Since AR934x, all pins for peripheral blocks can be mapped to any available GPIOs. We currently don't have a PCM/I2S driver for AR934x so pinmux for i2s and SPDIF are bound to i2c gpio node. This should be moved into I2S node when a PCM/I2S driver is available. 2. The i2c-gpio node is for WM8918. DT binding for it can't be added currently due to a missing clock from I2S PLL. B. Factory image: Image contains a image header and a tar.gz archive. 1. Header: A 288 byte header that has nothing to do with appended tarball. Format: 0x0-0x7 and 0x18-0x1F: magic values 0x20: Model number string 0xFC: Action string. It's either "update" or "backup" 0x11C: A 1 byte checksum. It's XOR result of 0x8-0x11B Firmware doesn't care about the rest of the header as long as checksum result is correct. The same header is used for backup and update routines so the magic values and model number can be obtained by generating a backup bin and grab values from it. 2. Tarball: It contains two files named uImage and rootfs, which will be flashed into corresponding mtd partition. Writing a special utility that can only output a fixed binary blob is overkill so factory image header is placed under image/bin instead. C. LED The wifi led has "Wi-Fi" marked on the case but vendor's firmware used it as system status indicator. I did the same in this device support patch. D. Firmware Factory u-boot is built without 'savenv' support so it's impossible to change kernel offset. A 2MB kernel partition won't be enough in the future. OKLI loader is used here to migrate this problem: 1. add OKLI image magic support into uImage parser. 2. build an OKLI loader, compress it with lzma and add a normal uImage header. 3. flash the loader to where the original kernel supposed to be. 4. create a uImage firmware using OKLI loader. 5. flash the created firmware to where rootfs supposed to be. By doing so, u-boot will start OKLI loader, which will then load the actual kernel at 0x20000. The kernel partition is 2MB, which is too much for our loader. To save this space, "mtd-concat" is used here: 1. create a 64K (1 erase block) partition for OKLI loader and create another partition with the left space. 2. concatenate rootfs and this partition into a virtual flash. 3. use the virtual flash for firmware partition. Currently OKLI loader is flashed with factory image only. sysupgrade won't replace it. Since it only has one function and it works for several years, its unlikely to have some bugs that requires a replacement. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* kernel: mtdsplit_uimage: add support for okli imageChuanhong Guo2019-08-081-0/+58
| | | | | | | | | | This adds support for uImage used by OpenWrt kernel loader. The parser searches for uImage header at flash eraseblock boundary and it might attempt to split any firmware with loader, therefore this entry doesn't have MTD_PARSER_TYPE_FIRMWARE so that this parser is only used when explicitly defined in dts. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ath79: add support for D-Link DIR-842 C3Perry Melange2019-08-076-0/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware spec of DIR-842 C3: SoC: QCA9563 DRAM: 128MB DDR2 Flash: 16MB SPI-NOR Switch: QCA8337N WiFi 5.8GHz: QCA9888 WiFi 2.4Ghz: QCA9563 USB: circuit onboard, but components are not soldered Flash instructions: 1. Upgrade the factory.bin through the factory web interface or the u-boot failsafe interface. The firmware will boot up correctly for the first time. Do not power off the device after OpenWrt has booted. Otherwise the u-boot will enter failsafe mode as the checksum of the firmware has been changed. 2. Upgrade the sysupgrade.bin in OpenWrt. After upgrading completes the u-boot won't complain about the firmware checksum and it's OK to use now. 3. If you powered off the device before upgrading the sysupgrade.bin, just upgrade the factory.bin through the u-boot failsafe interface and then goto step 2. Signed-off-by: Perry Melange <isprotejesvalkata@gmail.com>