Skip to content
Snippets Groups Projects
  1. Jun 08, 2018
  2. Jun 07, 2018
  3. Jun 06, 2018
  4. Jun 05, 2018
  5. Jun 04, 2018
    • Tom Rini's avatar
      Prepare v2018.07-rc1 · ee1855dc
      Tom Rini authored
      
      Signed-off-by: default avatarTom Rini <trini@konsulko.com>
      ee1855dc
    • Carlo Caione's avatar
      sf: Add support for gd25q32b gigadevice flash · b1f2b72e
      Carlo Caione authored
      
      This flash IC is used in some chromebook models
      manufactured by Bitland.
      
      Signed-off-by: default avatarCarlo Caione <carlo@endlessm.com>
      Reviewed-by: default avatarJagan Teki <jagan@openedev.com>
      b1f2b72e
    • Marek Vasut's avatar
      sf: Set current flash bank to 0 in clean_bar() · 8ff4130d
      Marek Vasut authored
      
      The clean_bar() function resets the SPI NOR BAR register to 0, but
      does not set the flash->curr_bar to 0 , therefore those two can get
      out of sync, which could ultimatelly result in corrupted flash content.
      
      The simplest test case is this:
      
        => mw 0x10000000 0x1234abcd 0x4000
        => sf probe
        => sf erase 0x1000000 0x10000
        => sf write 0x10000000 0x1000000 0x10000
      
        => sf probe ; sf read 0x12000000 0 0x10000 ; md 0x12000000
      
      That is, erase a sector above the 16 MiB boundary and write it with
      random pre-configured data. What will actually happen without this
      patch is the sector will be erased, but the data will be written to
      BAR 0 offset 0x0 in the flash.
      
      This is because the erase command will call write_bar()+clean_bar(),
      which will leave flash->bank_curr = 1 while the hardware BAR registers
      will be set to 0 through clean_bar(). The subsequent write will also
      trigger write_bar()+clean_bar(), but write_bar checks if the target
      bank == flash->bank_curr and if so, does NOT reconfigure the BAR in
      the SPI NOR. Since flash->bank_curr is still 1 and out of sync with
      the HW, the condition matches, BAR programming is skipped and write
      ends up at address 0x0, thus corrupting flash content.
      
      Signed-off-by: default avatarMarek Vasut <marex@denx.de>
      Cc: Tom Rini <trini@konsulko.com>
      Reviewed-by: default avatarJagan Teki <jagan@openedev.com>
      8ff4130d
Loading