My motivation is to complete syncing the Denali driver with Linux. However, the last sync of NAND core was Linux 4.6 so a lots of parts are missing in U-Boot.
I imported the following: - NAND_ECC_MAXIMIZE flag - nand_data_interface - sync nand_timings - NAND_ECC_CUSTOM_PAGE_ACCESS - mtd_ooblayout_xxx() - chip->buf_align - helpers to match ECC requirement - NAND_ROW_ADDR_3 The blind syncing often broke drivers. Forcible syncing often broke drivers in the past. This time, I imported necessary commits one by one. I put the corresponding commit ID in Linux. And, it should be easy to review that the existing drivers are not affected. Lastly, I updated the Denali driver. I tested it on my boards and worked for me. It is nicely synced with Linux. Boris Brezillon (9): mtd: nand: Add an option to maximize the ECC strength mtd: nand: automate NAND timings selection mtd: nand: Fix data interface configuration logic mtd: nand: Add a few more timings to nand_sdr_timings mtd: add mtd_ooblayout_xxx() helper functions mtd: nand: Drop unused cached programming support mtd: nand: Drop the ->errstat() hook mtd: nand: Wait for PAGEPROG to finish in drivers setting NAND_ECC_CUSTOM_PAGE_ACCESS mtd: nand: Pass the CS line to ->setup_data_interface() Marc Gonzalez (1): mtd: nand: Support controllers with custom page Masahiro Yamada (7): bitops: collect BIT macros to include/linux/bitops.h mtd: nand: add onfi_* stubs in case ONFI_DETECTION is disabled mtd: nand: allow drivers to request minimum alignment for passed buffer mtd: nand: add generic helpers to check, match, maximize ECC settings mtd: nand: add a shorthand to generate nand_ecc_caps structure mtd: nand: introduce NAND_ROW_ADDR_3 flag mtd: nand: denali: sync with Linux 4.15-rc1 Sascha Hauer (5): mtd: nand: remove unnecessary 'extern' from function declarations mtd: nand: Create a NAND reset function mtd: nand: Introduce nand_data_interface mtd: nand: convert ONFI mode into data interface mtd: nand: Expose data interface for ONFI mode 0 arch/arm/include/asm/arch-sunxi/dram_sunxi_dw.h | 3 +- arch/arm/mach-kirkwood/include/mach/gpio.h | 4 - drivers/gpio/kw_gpio.c | 2 +- drivers/mtd/mtdcore.c | 360 ++++ drivers/mtd/nand/Kconfig | 11 - drivers/mtd/nand/davinci_nand.c | 10 +- drivers/mtd/nand/denali.c | 2028 ++++++++++++----------- drivers/mtd/nand/denali.h | 473 ++---- drivers/mtd/nand/denali_dt.c | 17 +- drivers/mtd/nand/denali_spl.c | 14 +- drivers/mtd/nand/nand_base.c | 530 +++++- drivers/mtd/nand/nand_timings.c | 494 +++--- include/linux/bitops.h | 7 + include/linux/mtd/mtd.h | 57 + include/linux/mtd/nand.h | 314 +++- include/usb/lin_gadget_compat.h | 4 +- 16 files changed, 2685 insertions(+), 1643 deletions(-) -- 2.7.4 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot