u-boot-2016/drivers
Md Sadre Alam 599391c231 driver: mtd: qpic: Enable support for page_scope & multi_page read command.
This change will enable page_scope_read & multipage_read support for
QPIC.
QPIC version 2.0 onwards , QPIC support page_scope_read &
multipage_read command to enhance the read performance.
In normal page read command SW is needed to write EXEC_CMD register
for each Code word and collect any Status related to that CW before
issueing EXEC_CMD for next CW.

For page_scope read command SW is required to issue EXEC_CMD
only once for a page. Controller HW takes care of Codeword specific
details and automatically returns status associated with each CW to
BAM pipe, dedicated for status deposition.

enabling all bits in NAND_AUTO_STATUS_EN will require 4 data
descriptors of 24 bytes each. This will publish all NANDc status
registers in system memory.

For multipage_read command SW is required to issue EXEC_CMD only
once for all the pages which configured in QPIC_NAND_MULTI_PAGE_CMD
register.
All interrupts will be operational and valid in these modes.

To check the status for each codeword, it is not possible to access
the status registers while the read command is operational in
page_scope & multi_page read  modes. Hence, another feature to publish the
status data (for all NAND status registers) by programming the
NAND_AUTO_STATUS_EN register.

For serial NAND:
Read command for page_scope_read = 0x78800032 (QPIC_NAND_FLASH_CMD)
Read command for multi_page_read = 0x78400032 (QPIC_NAND_FLASH_CMD)

For Parallel NAND:
Read command for page_scope_read = 0x00800032 (QPIC_NAND_FLASH_CMD)
Read command for multi_page_read = 0x00400032 (QPIC_NAND_FLASH_CMD)

Now we fixed maximum data bytes read in one go 128KiB(2KiB page),
256KiB (4KiB page), 512 KiB (8kiB page), because from upper layer
we are getting more than 128KiB data bytes request in one go. if so
just changing the value of "MAX_MULTI_PAGE" macro will increase the
maximum data bytes in one go.

Change-Id: I48eea51ff8f5f79f3490d8a538c295ecc3eeee19
Signed-off-by: Md Sadre Alam <mdalam@codeaurora.org>
2020-03-06 15:52:15 +05:30
..
adc sandbox: add ADC driver 2015-11-02 10:38:00 +09:00
bios_emulator Various Makefiles: Add SPDX-License-Identifier tags 2015-11-10 09:19:52 -05:00
block Fix typo: firstly -> first. 2015-12-05 18:22:23 -05:00
bootcount bootcount: Correct #endif comment to match, other aesthetics 2016-01-08 10:15:43 -05:00
clk drivers: clk: ipq40xx: Clear divider value while doing deinit 2018-11-20 15:25:22 +05:30
core dm: core: Fix Kconfig text to mention SPL in SPL_OF_TRANSLATE 2015-12-10 20:41:56 -07:00
cpu x86: Move MP initialization codes into a common place 2015-07-14 18:03:16 -06:00
crypto drivers/crypto/fsl: fix endianness issue in RNG 2015-12-15 08:57:35 +08:00
ddr move erratum a008336 and a008514 to soc specific file 2015-12-15 08:57:32 +08:00
demo drivers: hierarchize drivers Kconfig menu 2015-08-12 20:47:44 -04:00
dfu dfu: dfu_sf: Pass duplicate devstr to parse_dev 2015-11-03 17:29:33 +01:00
dma Merge "ipq40xx: Add maximum timeout for BAM interrupt" 2018-02-27 23:40:21 -08:00
fpga Move console definitions into a new console.h file 2015-11-19 20:27:50 -07:00
gpio ipq5018: Update TLMM gpio configuration 2019-11-27 12:29:14 +05:30
hwmon Fix bad return value checks (detected with Coccinelle) 2015-10-24 13:50:30 -04:00
i2c ipq807x: Fix compiler warnings in u-boot 2019-01-22 12:57:57 +05:30
input Move console definitions into a new console.h file 2015-11-19 20:27:50 -07:00
led dm: led: Tidy up SPL options for the led and led-gpio 2015-09-02 21:28:22 -06:00
memory Various Makefiles: Add SPDX-License-Identifier tags 2015-11-10 09:19:52 -05:00
misc Move console definitions into a new console.h file 2015-11-19 20:27:50 -07:00
mmc ipq5018: Enable eMMC support. 2019-11-21 19:58:18 +05:30
mtd driver: mtd: qpic: Enable support for page_scope & multi_page read command. 2020-03-06 15:52:15 +05:30
net ipq5018: Enable GMAC support 2020-01-06 00:24:58 -08:00
pci ipq5018: Add Pcie support 2020-02-19 22:57:03 -08:00
pcmcia powerpc: mpc824x: remove MPC824X cpu support 2015-01-05 12:08:55 -05:00
pinctrl rockchip: rk3036: Add pinctrl driver 2015-12-01 08:07:22 -07:00
power sunxi: power: axp818: add support for axp818 driver 2015-12-10 11:14:22 +01:00
pwm pwm: imx: Remove unreachable code 2015-05-26 14:13:12 +02:00
qe driver/qe: use strncpy instead of strcpy 2015-08-03 12:06:36 -07:00
ram ram: rename CONFIG_SPL_RAM_SUPPORT to CONFIG_SPL_RAM 2015-08-18 13:46:02 -04:00
remoteproc drivers: remoteproc: rproc-uclass: Fix check for NULL pointers 2015-12-05 18:22:32 -05:00
rtc rtc: Add MCP79411 support to DS1307 rtc driver 2015-11-04 15:19:12 -08:00
serial qca: ipq5018: Adding support for IPQ5018 2019-10-10 21:55:42 +05:30
soc Various Makefiles: Add SPDX-License-Identifier tags 2015-11-10 09:19:52 -05:00
sound of: clean up OF_CONTROL ifdef conditionals 2015-08-18 13:46:05 -04:00
spi ipq5018: Add spi nor support 2019-10-17 23:08:48 +05:30
thermal imx: mx7: fix the temperature checking for Rev1.1 2016-01-07 17:53:11 +01:00
timer x86: Move i8254_init() to x86_cpu_init_f() 2015-12-09 17:44:44 +08:00
tpm dm: tpm: Drop CONFIG_DM_TPM 2015-10-23 09:42:28 -06:00
twserial drivers: convert makefiles to Kbuild style 2013-10-31 13:26:01 -04:00
usb usb: xhci: Program 'route string' in the input slot context 2018-06-05 15:40:00 +05:30
video Merge branch 'master' of git://www.denx.de/git/u-boot-imx 2015-12-04 08:21:28 -05:00
watchdog imx_watchdog: always set minimal timeout in reset_cpu 2016-01-07 17:54:53 +01:00
Kconfig dm: adc: add simple ADC uclass implementation 2015-11-02 10:38:00 +09:00
Makefile Fix compilation errors in clk driver 2016-09-29 21:03:49 +05:30