openwrt/target/linux
Michal Cieslakiewicz 758a4d1766 ath79: add AR934x NAND Flash Controller driver
This patch contains updated driver for Atheros NAND Flash Controller
written originally by Gabor Juhos for ar71xx (aka 'ar934x-nfc').
ath79 version has adapted to work with kernel 4.19 and Device Tree.
It has also been renamed to 'ar934x-nand' to avoid confusion with
Near-Field Communication technology.
Controller is present on Atheros AR934x SoCs and required for accessing
internal flash storage on routers like Netgear WNDR4300.
This port preserves all NAND programming code while moving platform
configuration to Device Tree and replacing some kernel functions marked
for retirement by 4.19.
Suitable definition is included in 'ar934x.dtsi' ('nand@1b000200' section).

Most important changes to ar71xx version are:
* old kernel sections of code removed
* 'bool swap_dma' provided by platform data is now set by boolean DT
  property 'qca,nand-swap-dma'
* board-supplied (mach-*.c code) platform data removed - its elements
  become either unused, redundant or replaced by DT methods (like reset)
* IRQ is reserved by devm_request_irq() so free_irq() is not needed anymore
* calls to deprecated nand_scan_ident() + nand_scan_tail() function pair
  replaced by using recommended nand_scan() with attach_chip() callback
* ECC is set to hardware by default, can be overriden by standard DT
  'nand-ecc-*' properties (software Hamming or BCH are other options)

This driver has been successfully tested on Netgear WNDR4300 running
experimental ath79 OpenWrt master branch.

Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
[add reset control]
Signed-off-by: David Bauer <mail@david-bauer.net>
2019-10-20 15:32:53 +02:00
..
apm821xx treewide: move MAC address patch functions to common library 2019-10-14 12:36:02 +02:00
ar7 kernel: bump 4.9 to 4.9.194 2019-09-24 12:52:05 +02:00
ar71xx ar71xx: remove unnecessary execute permission bit 2019-10-12 23:37:00 +02:00
arc770 treewide: remove kmod-usb-core from DEVICE_PACKAGES 2019-10-06 21:28:49 +02:00
archs38 treewide: remove kmod-usb-core from DEVICE_PACKAGES 2019-10-06 21:28:49 +02:00
armvirt armvirt: fix overlay support by updating to f2fs/ext4 based overlays 2019-06-25 14:12:22 +00:00
at91 at91: split up remaining DEVICE_TITLE definitions 2019-10-19 13:16:57 +02:00
ath25 ath25: split up DEVICE_TITLE 2019-10-19 13:16:57 +02:00
ath79 ath79: add AR934x NAND Flash Controller driver 2019-10-20 15:32:53 +02:00
bcm53xx bcm53xx: sysupgrade: support Luxul NAND devices 2019-10-15 20:23:04 +02:00
brcm47xx brcm47xx: fix switch port labels for Asus WL500GP V2 2019-10-15 20:22:42 +02:00
brcm63xx treewide: move calibration data extraction function to library 2019-10-13 21:48:58 +02:00
brcm2708 kernel: bump 4.19 to 4.19.79 2019-10-15 16:11:28 +02:00
cns3xxx treewide: sysupgrade: don't use $ARGV in platform_do_upgrade() 2019-07-17 08:05:38 +02:00
gemini treewide: remove kmod-usb-core from DEVICE_PACKAGES 2019-10-06 21:28:49 +02:00
generic kernel: Fix arm64 include files 2019-10-20 12:33:40 +02:00
imx6 imx6: install-dtb as separate IMAGE 2019-09-15 15:00:17 +00:00
ipq40xx ipq40xx: essedma: Fix dead lock 2019-10-20 13:01:43 +02:00
ipq806x ipq806x: WPQ864: fix partition unit-address 2019-10-18 21:05:34 +02:00
ixp4xx treewide: remove kmod-usb-core from DEVICE_PACKAGES 2019-10-06 21:28:49 +02:00
kirkwood kirkwood: Fix FS#505 - Can't install LEDE on Linksys EA3500 2019-10-12 23:42:59 +02:00
lantiq lantiq: fix dsl_control status handling. 2019-10-15 23:23:08 +02:00
layerscape kernel: layerscape: fix compilation error 2019-10-19 13:16:57 +02:00
malta malta: fix overlay support by updating to f2fs/ext4 based overlays 2019-06-25 14:12:22 +00:00
mediatek mediatek: split up DEVICE_TITLE 2019-10-19 13:16:57 +02:00
mpc85xx mpc85xx: correct TP-LINK TL-WDR4900 MAC addresses 2019-10-15 18:13:54 +02:00
mvebu mvebu: split up DEVICE_TITLE 2019-10-19 13:16:57 +02:00
mxs treewide: replace backticks by $(...) in gen_*_img.sh scripts 2019-09-29 00:46:13 +02:00
octeon octeon: split up remaining DEVICE_TITLE 2019-10-19 13:16:57 +02:00
octeontx kernel: Remove CONFIG_COMPAT 2019-05-11 17:15:41 +02:00
omap omap: split up DEVICE_TITLE 2019-10-12 01:22:46 +02:00
orion orion: replace backticks by $(...) 2019-09-29 00:46:13 +02:00
oxnas oxnas: convert DEVICE_TITLE to new variables 2019-07-10 16:56:16 +02:00
pistachio pistachio: split up DEVICE_TITLE 2019-10-12 23:37:00 +02:00
ramips ramips: fix WiFi MAC addresses for D-Link DIR-810L 2019-10-15 23:31:13 +02:00
rb532 rb532: split up DEVICE_TITLE 2019-10-19 13:16:57 +02:00
samsung samsung: split up DEVICE_TITLE 2019-09-11 15:17:09 +02:00
sunxi sunxi: update kernel config 2019-10-06 21:28:49 +02:00
tegra treewide: use new procd sysupgrade $UPGRADE_BACKUP variable 2019-09-05 23:33:19 +02:00
uml kernel: Deactivate CONFIG_BINFMT_MISC 2019-05-11 17:15:41 +02:00
x86 treewide: use new procd sysupgrade $UPGRADE_BACKUP variable 2019-09-05 23:33:19 +02:00
zynq kernel: bump 4.19 to 4.19.77 2019-10-08 12:44:35 +02:00
Makefile