mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-12 13:55:32 +00:00
mtd: bcm47xxnflash: support NAND_CMD_STATUS
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
This commit is contained in:
parent
e7e46168bc
commit
a6b3ed29ae
1 changed files with 11 additions and 0 deletions
|
@ -156,6 +156,7 @@ static void bcm47xxnflash_ops_bcm4706_cmdfunc(struct mtd_info *mtd,
|
||||||
{
|
{
|
||||||
struct nand_chip *nand_chip = (struct nand_chip *)mtd->priv;
|
struct nand_chip *nand_chip = (struct nand_chip *)mtd->priv;
|
||||||
struct bcm47xxnflash *b47n = (struct bcm47xxnflash *)nand_chip->priv;
|
struct bcm47xxnflash *b47n = (struct bcm47xxnflash *)nand_chip->priv;
|
||||||
|
struct bcma_drv_cc *cc = b47n->cc;
|
||||||
u32 ctlcode;
|
u32 ctlcode;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
@ -196,6 +197,11 @@ static void bcm47xxnflash_ops_bcm4706_cmdfunc(struct mtd_info *mtd,
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
case NAND_CMD_STATUS:
|
||||||
|
ctlcode = NCTL_CSA | NCTL_CMD0 | NAND_CMD_STATUS;
|
||||||
|
if (bcm47xxnflash_ops_bcm4706_ctl_cmd(cc, ctlcode))
|
||||||
|
pr_err("STATUS command error\n");
|
||||||
|
break;
|
||||||
case NAND_CMD_READ0:
|
case NAND_CMD_READ0:
|
||||||
break;
|
break;
|
||||||
case NAND_CMD_READOOB:
|
case NAND_CMD_READOOB:
|
||||||
|
@ -213,6 +219,7 @@ static u8 bcm47xxnflash_ops_bcm4706_read_byte(struct mtd_info *mtd)
|
||||||
{
|
{
|
||||||
struct nand_chip *nand_chip = (struct nand_chip *)mtd->priv;
|
struct nand_chip *nand_chip = (struct nand_chip *)mtd->priv;
|
||||||
struct bcm47xxnflash *b47n = (struct bcm47xxnflash *)nand_chip->priv;
|
struct bcm47xxnflash *b47n = (struct bcm47xxnflash *)nand_chip->priv;
|
||||||
|
struct bcma_drv_cc *cc = b47n->cc;
|
||||||
u32 tmp = 0;
|
u32 tmp = 0;
|
||||||
|
|
||||||
switch (b47n->curr_command) {
|
switch (b47n->curr_command) {
|
||||||
|
@ -223,6 +230,10 @@ static u8 bcm47xxnflash_ops_bcm4706_read_byte(struct mtd_info *mtd)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return b47n->id_data[b47n->curr_column++];
|
return b47n->id_data[b47n->curr_column++];
|
||||||
|
case NAND_CMD_STATUS:
|
||||||
|
if (bcm47xxnflash_ops_bcm4706_ctl_cmd(cc, NCTL_READ))
|
||||||
|
return 0;
|
||||||
|
return bcma_cc_read32(cc, BCMA_CC_NFLASH_DATA) & 0xff;
|
||||||
case NAND_CMD_READOOB:
|
case NAND_CMD_READOOB:
|
||||||
bcm47xxnflash_ops_bcm4706_read(mtd, (u8 *)&tmp, 4);
|
bcm47xxnflash_ops_bcm4706_read(mtd, (u8 *)&tmp, 4);
|
||||||
return tmp & 0xFF;
|
return tmp & 0xFF;
|
||||||
|
|
Loading…
Reference in a new issue