[U-Boot] [PATCH v3 01/17] sf: Add bank address register writing support
Jagan Teki
jagannadh.teki at gmail.com
Thu Jun 13 22:25:26 CEST 2013
On Thu, Jun 13, 2013 at 8:56 PM, Tom Rini <trini at ti.com> wrote:
> On Thu, Jun 13, 2013 at 08:23:13AM +0530, Jagan Teki wrote:
>> Hi Simon,
>>
>> On Thu, Jun 13, 2013 at 3:48 AM, Simon Glass <sjg at chromium.org> wrote:
>> > Hi Jagan,
>> >
>> > On Tue, Jun 11, 2013 at 12:23 PM, Jagannadha Sutradharudu Teki
>> > <jagannadha.sutradharudu-teki at xilinx.com> wrote:
>> >>
>> >> This patch provides support to program a flash bank address
>> >> register.
>> >>
>> >> extended/bank address register contains an information to access
>> >> the 4th byte addressing in 3-byte address mode.
>> >>
>> >> Currently added an bank address register writing support for
>> >> spansion flashes.
>> >>
>> >> reff' the spec for more details about bank addr register
>> >> in Page-63, Table 8.16
>> >> http://www.spansion.com/Support/Datasheets/S25FL128S_256S_00.pdf
>> >>
>> >> Signed-off-by: Jagannadha Sutradharudu Teki <jaganna at xilinx.com>
>> >
>> >
>> > Reviewed-by: Simon Glass <sjg at chromium.org>
>> >
>> > See comment below, perhaps a follow-on patch so you can get this in first?
>> >
>> >>
>> >> ---
>> >> Changes for v3:
>> >> - none
>> >> Changes for v2:
>> >> - none
>> >>
>> >> drivers/mtd/spi/spi_flash.c | 37
>> >> ++++++++++++++++++++++++++++++++++++
>> >> drivers/mtd/spi/spi_flash_internal.h | 6 ++++++
>> >> include/spi_flash.h | 2 ++
>> >> 3 files changed, 45 insertions(+)
>> >>
>> >> diff --git a/drivers/mtd/spi/spi_flash.c b/drivers/mtd/spi/spi_flash.c
>> >> index 0e38f59..7aba520 100644
>> >> --- a/drivers/mtd/spi/spi_flash.c
>> >> +++ b/drivers/mtd/spi/spi_flash.c
>> >> @@ -278,6 +278,40 @@ int spi_flash_cmd_write_status(struct spi_flash
>> >> *flash, u8 sr)
>> >> return 0;
>> >> }
>> >>
>> >> +int spi_flash_cmd_bankaddr_write(struct spi_flash *flash, u8 bank_sel)
>> >> +{
>> >> + u8 cmd, idcode0;
>> >> + int ret;
>> >> +
>> >> + idcode0 = flash->idcode0;
>> >> + if (idcode0 == 0x01) {
>> >
>> >
>> > I wonder why you need this to be hard-coded here? As a follow-on patch, I
>> > suggest you have something in the probe function which decides which bank
>> > addressing algorithm to use (e.g. winbond, ST, none). and then this code can
>> > be:
>> >
>> > switch (flash->bank_addr_algo) {
>> > case SF_ALGO_WINBOND:
>> > ...
>> > case SF_ALGO_ST:
>> > ...
>> > }
>>
>> Means in probe time we can assign particular bank commands something like
>>
>> switch (*idp) {
>> case SF_WINBOND_IDCODE0:
>> flash->bank_wr_cmd = ;
>> flash->bank_rd_cmd = ;
>> case SF_SPAN_IDCODE0:
>> flash->bank_wr_cmd = ;
>> flash->bank_rd_cmd = ;
>> }
>>
>> Please let me know your comments.
>
> Correct, and similar to how some of the filesystem code works. Looks
> good to me.
Thank you, I am sending the respective changes on v4.
--
Thanks,
Jagan.
More information about the U-Boot
mailing list