tegra: Add NAND flash support
Get series with b4
b4 am [email protected]Versions newest first
- v4 Latest2 of 6 patches 0 repliesNew
2 of 6 patches are in this archive. The cover letter announces 6.
Patches in v4 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/6 | nand: Try to align the default buffers | +0 | 1 reply | |
| 1/6 | nand: Try to align the default buffers | +0 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v4 yet.
Cover letter [U-Boot] [PATCH v4 0/6] tegra: Add NAND flash support
Dear Tom Warren,
Quoted 9 lines
Simon,
Quoted 7 lines
-----Original Message-----
From: Simon Glass [mailto:sjg at chromium.org]
Sent: Sunday, July 29, 2012 11:53 PM
To: U-Boot Mailing List
Cc: Tom Warren; Stephen Warren; Scott Wood; Simon Glass
Subject: [PATCH v4 0/6] tegra: Add NAND flash support
Quoted 6 lines
Quoted 1 line
This series adds NAND flash support to Tegra and enables it on Seaboard.
Applied to u-boot-tegra/next, thanks. The fix for the m28evk and apx4devkit builds (moving
common.hto the top inmxs_nand.c) can come from you or Marek, and I'll add it to /next later. But for now, all tegra20 boards build fine.
I'd say, the patchset that breaks something should also fix it.
Quoted 91 lines
Tom
Quoted 89 lines
Included here is a proposed device tree binding with most of the properties private to "nvidia,". The binding includes information about the NAND controller as well as the connected NAND device. The Seaboard has a Hynix HY27UF4G2B.
The driver supports ECC-based access and uses DMA and NAND acceleration features of the Tegra SOC to provide access at reasonable speed.
Changes in v2:
- Add new patch to align default buffers innand_base
- Added comment about the behaviour of the 'resp' register
- Callset_bus_width_page_size()at init to report errors earlier
- Changeset_bus_width_page_size()to return an error when needed
- Change timing structure member to u32 to match device tree
- Check for supported bus width inboard_nand_init()
- Fix tegra nand header file to remove BIT defines
- Implement a dummynand_select_chip()instead ofnand_hwcontro()
- Makenand_command()display an error on an unknown command
- Minor code tidy-ups in driver for style
- Move cache logic into a separatedma_prepare()function
- RemoveCMD_TRANS_SIZE_BYTESxenum
- Remove space after casts
- Remove use of 'register' variables
- Rename structnand_infoto structnand_drvto avoidnand_info_tconfusion - Support 4096 byte page devices, drop 1024 and 2048
- Tidy upnand_waitfor_cmd_completion()logic
- Update NAND binding to add "nvidia," prefix
- Use s32 for device tree integer valuesChanges in v3:
- Add reg property for unit address (should be used for chip select)
- Change note in fdt binding about the need for a hardware-specific binding - Fix up typos in fdt binding, and rename the file
- Update fdt binding to make everything Nvidia-specificChanges in v4:
- Align buffer length to cache line size indma_prepare()
- Fix "Write Page0x0timeout with ECC" error on 4.4.1
- Fix the issue thatread_bytecan read at most 4 times
- Get some information from Read ID data instead of from device tree
- Innand_command, setNAND_CMD_RNDOUTas unsupported command
- Modify eccoob layout
- Move to usingCONFIG_SYS_NAND_SELF_INIT
- Remove "DEFAULT" from comment because that function is not default
- Remove fdt bindings related to page structure
- Remove localread_bufandwrite_buffunctions
- Remove some fields infdt_nandstructure
- RenameCONFIG_TEGRA2_NANDtoCONFIG_TEGRA_NAND
- Rename variables my_* as our_*
- Usevirt_to_phys()when filling address registerJim Lin (1):
tegra: nand: Add Tegra NAND driverSimon Glass (5):
nand: Try to align the default buffers
tegra: Add NAND support to funcmux
tegra: fdt: Add NAND controller binding and definitions
tegra: fdt: Add NAND definitions to fdt
tegra: Enable NAND on Seaboardarch/arm/cpu/tegra20-common/funcmux.c | 7 + arch/arm/dts/tegra20.dtsi | 7 + arch/arm/include/asm/arch-tegra20/funcmux.h | 3 + arch/arm/include/asm/arch-tegra20/tegra20.h | 1 + board/nvidia/dts/tegra20-seaboard.dts | 10 + .../nand/nvidia,tegra20-nand.txt | 53 + drivers/mtd/nand/Makefile | 1 + drivers/mtd/nand/nand_base.c | 3 +- drivers/mtd/nand/tegra_nand.c | 1026++++++++++++++++++++
drivers/mtd/nand/tegra_nand.h | 257 +++++ include/configs/seaboard.h | 9 + include/configs/tegra20-common.h | 2 + include/fdtdec.h | 1 + include/linux/mtd/nand.h | 7 +- lib/fdtdec.c | 1 + 15 files changed, 1384 insertions(+), 4 deletions(-) create mode 100644
doc/device-tree-bindings/nand/nvidia,tegra20-nand.txtcreate mode 100644 drivers/mtd/nand/tegra_nand.c create mode 100644
drivers/mtd/nand/tegra_nand.h--
1.7.7.3
Best regards,
Marek Vasut