From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Warren Date: Wed, 23 Sep 2015 09:22:27 -0600 Subject: [U-Boot] [PATCH] dfu: dfu_sf: Take the start address into account In-Reply-To: <1442980239-3931-1-git-send-email-festevam@gmail.com> References: <1442980239-3931-1-git-send-email-festevam@gmail.com> Message-ID: <5602C3B3.2050102@wwwdotorg.org> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 09/22/2015 09:50 PM, Fabio Estevam wrote: > From: Fabio Estevam > > The dfu_alt_info_spl variable allows passing a starting point > for the binary to be flashed in the SPI NOR. > > For example, if we have 'dfu_alt_info_spl=spl raw 0x400', this means > that we want to flash the binary starting at address 0x400. > > In order to do so we need to erase the entire sector and write to > the the subsequent SPI NOR sectors taking such start address > into account for the address calculations. > > Tested by succesfully writing SPL binary into 0x400 offset and > the u-boot.img at offset 64 kiB of a SPL NOR. This feels wrong. The entries in the DFU list must already be sector-aligned, so there's no need for the code to round them. If the entries are not already aligned, then the aligned erase operations will erase other data, which will cause corruption.