From e6ac9ae6cbb86e5b8a2aa78b1e49cd684b71a029 Mon Sep 17 00:00:00 2001 From: Jagannadha Sutradharudu Teki Date: Sat, 5 Jan 2013 19:14:36 +0530 Subject: [PATCH] sf: Add bank address register reading support This patch provides support to read a flash bank address register. reading bank address register will give whether the flash is operated on bank addressing or normal addressing(3-byte address mode). Currently added bank address register reading support for spansion flashes. Signed-off-by: Jagannadha Sutradharudu Teki --- drivers/mtd/spi/spi_flash.c | 8 ++++++++ drivers/mtd/spi/spi_flash_internal.h | 4 ++++ 2 files changed, 12 insertions(+) diff --git a/drivers/mtd/spi/spi_flash.c b/drivers/mtd/spi/spi_flash.c index 39f85a89801..90c51c7110d 100644 --- a/drivers/mtd/spi/spi_flash.c +++ b/drivers/mtd/spi/spi_flash.c @@ -312,6 +312,14 @@ int spi_flash_cmd_bankaddr_write(struct spi_flash *flash, u8 ear) return 0; } +int spi_flash_cmd_bankaddr_read(struct spi_flash *flash, void *data) +{ + u8 cmd; + + cmd = CMD_BANKADDR_BRRD; + return spi_flash_read_common(flash, &cmd, 1, data, 1); +} + /* * The following table holds all device probe functions * diff --git a/drivers/mtd/spi/spi_flash_internal.h b/drivers/mtd/spi/spi_flash_internal.h index d507fd28625..bb22f5cd8d6 100644 --- a/drivers/mtd/spi/spi_flash_internal.h +++ b/drivers/mtd/spi/spi_flash_internal.h @@ -30,6 +30,7 @@ /* Bank addr acess commands */ #define CMD_BANKADDR_BRWR 0x17 +#define CMD_BANKADDR_BRRD 0x16 /* Common status */ #define STATUS_WIP 0x01 @@ -83,6 +84,9 @@ int spi_flash_cmd_write_status(struct spi_flash *flash, u8 sr); /* Program the bank address register */ int spi_flash_cmd_bankaddr_write(struct spi_flash *flash, u8 ear); +/* Read the bank address register */ +int spi_flash_cmd_bankaddr_read(struct spi_flash *flash, void *data); + /* * Same as spi_flash_cmd_read() except it also claims/releases the SPI * bus. Used as common part of the ->read() operation. -- 2.47.3