Add support for TQM-specific chip select logic to FSL-UPM

For the NAND chips on the TQM8548 modules, a special chip-select logic is
used. It uses dedicated address lines to be set via UPM machine address
register (mar). This patch adds such support to the FSL-UPM driver.

Signed-off-by: Wolfgang Grandegger <wg@grandegger.com>
Signed-off-by: Scott Wood <scottwood@freescale.com>
master
Wolfgang Grandegger 16 years ago committed by Scott Wood
parent e93c1c169d
commit 06e9f7df05
  1. 5
      drivers/mtd/nand/fsl_upm.c
  2. 1
      include/linux/mtd/fsl_upm.h

@ -90,8 +90,11 @@ static void fun_cmd_ctrl(struct mtd_info *mtd, int cmd, unsigned int ctrl)
mar = cmd << (32 - fun->width);
io_addr = fun->upm.io_addr;
#if CONFIG_SYS_NAND_MAX_CHIPS > 1
if (fun->chip_nr > 0)
if (fun->chip_nr > 0) {
io_addr += fun->chip_offset * fun->chip_nr;
if (fun->upm_mar_chip_offset)
mar |= fun->upm_mar_chip_offset * fun->chip_nr;
}
#endif
fsl_upm_run_pattern(&fun->upm, fun->width, io_addr, mar);

@ -28,6 +28,7 @@ struct fsl_upm_nand {
int width;
int upm_cmd_offset;
int upm_addr_offset;
int upm_mar_chip_offset;
int wait_pattern;
int (*dev_ready)(int chip_nr);
int chip_delay;

Loading…
Cancel
Save