All of lore.kernel.org
 help / color / mirror / Atom feed
From: Simon Glass <sjg@chromium.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v4 0/6] tegra: Add NAND flash support
Date: Sun, 29 Jul 2012 23:53:24 -0700	[thread overview]
Message-ID: <1343631210-22278-1-git-send-email-sjg@chromium.org> (raw)

This series adds NAND flash support to Tegra and enables it on Seaboard.

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 in nand_base
- Added comment about the behaviour of the 'resp' register
- Call set_bus_width_page_size() at init to report errors earlier
- Change set_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 in board_nand_init()
- Fix tegra nand header file to remove BIT defines
- Implement a dummy nand_select_chip() instead of nand_hwcontro()
- Make nand_command() display an error on an unknown command
- Minor code tidy-ups in driver for style
- Move cache logic into a separate dma_prepare() function
- Remove CMD_TRANS_SIZE_BYTESx enum
- Remove space after casts
- Remove use of 'register' variables
- Rename struct nand_info to struct nand_drv to avoid nand_info_t confusion
- Support 4096 byte page devices, drop 1024 and 2048
- Tidy up nand_waitfor_cmd_completion() logic
- Update NAND binding to add "nvidia," prefix
- Use s32 for device tree integer values

Changes 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-specific

Changes in v4:
- Align buffer length to cache line size in dma_prepare()
- Fix "Write Page 0x0 timeout with ECC" error on 4.4.1
- Fix the issue that read_byte can read at most 4 times
- Get some information from Read ID data instead of from device tree
- In nand_command, set NAND_CMD_RNDOUT as unsupported command
- Modify eccoob layout
- Move to using CONFIG_SYS_NAND_SELF_INIT
- Remove "DEFAULT" from comment because that function is not default
- Remove fdt bindings related to page structure
- Remove local read_buf and write_buf functions
- Remove some fields in fdt_nand structure
- Rename CONFIG_TEGRA2_NAND to CONFIG_TEGRA_NAND
- Rename variables my_* as our_*
- Use virt_to_phys() when filling address register

Jim Lin (1):
  tegra: nand: Add Tegra NAND driver

Simon 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 Seaboard

 arch/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.txt
 create mode 100644 drivers/mtd/nand/tegra_nand.c
 create mode 100644 drivers/mtd/nand/tegra_nand.h

-- 
1.7.7.3

             reply	other threads:[~2012-07-30  6:53 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-30  6:53 Simon Glass [this message]
2012-07-30  6:53 ` [U-Boot] [PATCH v4 1/6] nand: Try to align the default buffers Simon Glass
2012-07-30 22:45   ` Scott Wood
2012-09-07 18:20   ` Tom Warren
2012-09-07 18:43     ` Marek Vasut
2012-09-07 19:58       ` Tom Warren
2012-09-08  5:03         ` Marek Vasut
2012-07-30  6:53 ` [U-Boot] [PATCH v4 2/6] tegra: Add NAND support to funcmux Simon Glass
2012-07-30  6:53 ` [PATCH v4 3/6] tegra: fdt: Add NAND controller binding and definitions Simon Glass
2012-07-30  6:53   ` [U-Boot] " Simon Glass
2012-07-30 23:05   ` Scott Wood
2012-07-30 23:05     ` [U-Boot] " Scott Wood
     [not found]     ` <50171331.8060708-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
2012-07-31  9:19       ` Simon Glass
2012-07-31  9:19         ` [U-Boot] " Simon Glass
     [not found] ` <1343631210-22278-1-git-send-email-sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2012-07-30  6:53   ` [PATCH v4 4/6] tegra: fdt: Add NAND definitions to fdt Simon Glass
2012-07-30  6:53     ` [U-Boot] " Simon Glass
     [not found]     ` <1343631210-22278-5-git-send-email-sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2012-07-30 22:49       ` Scott Wood
2012-07-30 22:49         ` [U-Boot] " Scott Wood
     [not found]         ` <50170F63.70403-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
2012-07-31  9:15           ` Simon Glass
2012-07-31  9:15             ` [U-Boot] " Simon Glass
2012-07-30  6:53 ` [U-Boot] [PATCH v4 5/6] tegra: nand: Add Tegra NAND driver Simon Glass
2012-07-30 22:32   ` Scott Wood
2012-07-30  6:53 ` [U-Boot] [PATCH v4 6/6] tegra: Enable NAND on Seaboard Simon Glass
2012-11-01 21:57   ` Stephen Warren
2012-11-01 23:13     ` Lucas Stach
2012-11-01 23:16       ` Simon Glass
2012-07-30 17:28 ` [U-Boot] [PATCH v4 0/6] tegra: Add NAND flash support Tom Warren
2012-07-30 17:34 ` Stephen Warren
2012-07-30 17:50   ` Tom Warren
2012-07-31  6:19 ` Thierry Reding
2012-09-07 21:31 ` Tom Warren
2012-09-07 21:33   ` Simon Glass
2012-09-21 21:44     ` Tom Warren
2012-09-21 21:57       ` Stephen Warren
2012-09-27 17:23         ` Simon Glass
2012-09-08  5:02   ` Marek Vasut

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1343631210-22278-1-git-send-email-sjg@chromium.org \
    --to=sjg@chromium.org \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.