
arun sharma wrote:
- Index: u-boot/drivers/mtd/nand/fsl_upm.c
*>* =================================================================== *>* --- u-boot.orig/drivers/mtd/nand/fsl_upm.c *>* +++ u-boot/drivers/mtd/nand/fsl_upm.c *>* @@ -90,8 +90,11 @@ static void fun_cmd_ctrl(struct mtd_info *>* 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; *>* + }
above patch is not suitable for 832x becuase mar register has only 26 bit (6 bit are resrved) what should be done
Simply do not define fun->upm_mar_chip_offset in your BSP code. It is used on the TQM8548 modules to driver some board-specific chip select logic. Anyhow, do you need to support a multi-chip (multi-die) device all?
Wolfgang.