diff options
author | Stefan Roese <sr@denx.de> | 2008-08-13 06:47:12 +0200 |
---|---|---|
committer | Stefan Roese <sr@denx.de> | 2008-08-13 06:47:12 +0200 |
commit | 5a7ddf4e1fb9347f783eb1473c30187d7a22bd81 (patch) | |
tree | 5e30fc06d7bbd5b382b1a7b89f57cd81a5246f32 /board/tqc | |
parent | 9939ffd5fbf1f5aff4d8172531d4fc33797c62c8 (diff) | |
parent | 8641ff266ae6638da201747c239fd39ba34c4958 (diff) | |
download | u-boot-imx-5a7ddf4e1fb9347f783eb1473c30187d7a22bd81.zip u-boot-imx-5a7ddf4e1fb9347f783eb1473c30187d7a22bd81.tar.gz u-boot-imx-5a7ddf4e1fb9347f783eb1473c30187d7a22bd81.tar.bz2 |
Merge branch 'master' of /home/stefan/git/u-boot/u-boot
Diffstat (limited to 'board/tqc')
-rw-r--r-- | board/tqc/tqm8272/tqm8272.c | 34 |
1 files changed, 16 insertions, 18 deletions
diff --git a/board/tqc/tqm8272/tqm8272.c b/board/tqc/tqm8272/tqm8272.c index cde0296..a0ec254 100644 --- a/board/tqc/tqm8272/tqm8272.c +++ b/board/tqc/tqm8272/tqm8272.c @@ -1068,24 +1068,22 @@ int update_flash_size (int flash_size) static u8 hwctl = 0; -static void upmnand_hwcontrol(struct mtd_info *mtdinfo, int cmd) +static void upmnand_hwcontrol(struct mtd_info *mtd, int cmd, unsigned int ctrl) { - switch (cmd) { - case NAND_CTL_SETCLE: - hwctl |= 0x1; - break; - case NAND_CTL_CLRCLE: - hwctl &= ~0x1; - break; - - case NAND_CTL_SETALE: - hwctl |= 0x2; - break; - - case NAND_CTL_CLRALE: - hwctl &= ~0x2; - break; + struct nand_chip *this = mtd->priv; + + if (ctrl & NAND_CTRL_CHANGE) { + if ( ctrl & NAND_CLE ) + hwctl |= 0x1; + else + hwctl &= ~0x1; + if ( ctrl & NAND_ALE ) + hwctl |= 0x2; + else + hwctl &= ~0x2; } + if (cmd != NAND_CMD_NONE) + writeb(cmd, this->IO_ADDR_W); } static void upmnand_write_byte(struct mtd_info *mtdinfo, u_char byte) @@ -1188,9 +1186,9 @@ int board_nand_init(struct nand_chip *nand) memctl->memc_br3 = CFG_NAND_BR; memctl->memc_mbmr = (MxMR_OP_NORM); - nand->eccmode = NAND_ECC_SOFT; + nand->ecc.mode = NAND_ECC_SOFT; - nand->hwcontrol = upmnand_hwcontrol; + nand->cmd_ctrl = upmnand_hwcontrol; nand->read_byte = upmnand_read_byte; nand->write_byte = upmnand_write_byte; nand->dev_ready = tqm8272_dev_ready; |