mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-07-05 02:36:39 +09:00
![]() As per following Sections in ONFI Spec, NAND_CMD_READID should use only lower 8-bit for transfering command, address and data even on x16 NAND device. *Section: Target Initialization" "The Read ID and Read Parameter Page commands only use the lower 8-bits of the data bus. The host shall not issue commands that use a word data width on x16 devices until the host determines the device supports a 16-bit data bus width in the parameter page." *Section: Bus Width Requirements* "When the host supports a 16-bit bus width, only data is transferred at the 16-bit width. All address and command line transfers shall use only the lower 8-bits of the data bus. During command transfers, the host may place any value on the upper 8-bits of the data bus. During address transfers, the host shall set the upper 8-bits of the data bus to 00h." Thus porting following commit from linux-kernel to ensure that column address is not altered to align to x16 bus when issuing NAND_CMD_READID command. commit 3dad2344e92c6e1aeae42df1c4824f307c51bcc7 mtd: nand: force NAND_CMD_READID onto 8-bit bus Author: Brian Norris <computersforpeace@gmail.com> (preserving authorship) The NAND command helpers tend to automatically shift the column address for x16 bus devices, since most commands expect a word address, not a byte address. The Read ID command, however, expects an 8-bit address (i.e., 0x00, 0x20, or 0x40 should not be translated to 0x00, 0x10, or 0x20). This fixes the column address for a few drivers which imitate the nand_base defaults. Signed-off-by: Pekon Gupta <pekon@ti.com> |
||
---|---|---|
.. | ||
am335x_spl_bch.c | ||
atmel_nand_ecc.h | ||
atmel_nand.c | ||
bfin_nand.c | ||
davinci_nand.c | ||
docg4_spl.c | ||
docg4.c | ||
fsl_elbc_nand.c | ||
fsl_elbc_spl.c | ||
fsl_ifc_nand.c | ||
fsl_ifc_spl.c | ||
fsl_upm.c | ||
fsmc_nand.c | ||
jz4740_nand.c | ||
kb9202_nand.c | ||
kirkwood_nand.c | ||
kmeter1_nand.c | ||
Makefile | ||
mpc5121_nfc.c | ||
mxc_nand_spl.c | ||
mxc_nand.c | ||
mxc_nand.h | ||
mxs_nand.c | ||
nand_base.c | ||
nand_bbt.c | ||
nand_bch.c | ||
nand_ecc.c | ||
nand_ids.c | ||
nand_plat.c | ||
nand_spl_load.c | ||
nand_spl_simple.c | ||
nand_util.c | ||
nand.c | ||
ndfc.c | ||
nomadik.c | ||
omap_elm.c | ||
omap_gpmc.c | ||
s3c2410_nand.c | ||
tegra_nand.c | ||
tegra_nand.h |