mirror of
https://git.codelinaro.org/clo/qsdk/oss/boot/u-boot-2016.git
synced 2026-03-06 09:21:26 +01: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>
|
||
|---|---|---|
| .. | ||
| byteorder | ||
| mtd | ||
| unaligned | ||
| usb | ||
| apm_bios.h | ||
| bch.h | ||
| bitops.h | ||
| bitrev.h | ||
| compat.h | ||
| compiler-gcc.h | ||
| compiler-gcc3.h | ||
| compiler-gcc4.h | ||
| compiler.h | ||
| crc7.h | ||
| crc8.h | ||
| crc32.h | ||
| ctype.h | ||
| edd.h | ||
| err.h | ||
| ethtool.h | ||
| fb.h | ||
| input.h | ||
| ioctl.h | ||
| ioport.h | ||
| kbuild.h | ||
| linkage.h | ||
| linux_string.h | ||
| list.h | ||
| lzo.h | ||
| math64.h | ||
| mc146818rtc.h | ||
| mdio.h | ||
| mii.h | ||
| netdevice.h | ||
| poison.h | ||
| posix_types.h | ||
| rbtree.h | ||
| screen_info.h | ||
| sizes.h | ||
| stat.h | ||
| stddef.h | ||
| string.h | ||
| stringify.h | ||
| time.h | ||
| types.h | ||