From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dirk Behme Date: Thu, 23 Feb 2012 15:44:11 +0100 Subject: [U-Boot] [PATCH v2] imximage: Remove overwriting of flash_offset In-Reply-To: <4F463AD3.40607@denx.de> References: <1329987019-24379-1-git-send-email-dirk.behme@de.bosch.com> <4F463AD3.40607@denx.de> Message-ID: <4F4650BB.6070805@de.bosch.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 23.02.2012 14:10, Stefano Babic wrote: > On 23/02/2012 09:50, Dirk Behme wrote: >> The flash header supports different flash offsets for different >> boot devices. E.g. parallel NOR or OneNAND use a different offset >> than FLASH_OFFSET_STANDARD (== 0x400). >> >> The flash offset is correctly read from the configuration in >> parse_cfg_cmd(). But is then overwritten wrongly in set_imx_hdr_v1/2(). >> >> Fix this by removing this overwriting. Use the flash offset >> correctly read from the configuration, instead. >> >> If there is no flash_offset read from the configuration file, i.e. >> the BOOT_FROM tag is missing, exit with an error message. >> >> Signed-off-by: Dirk Behme >> CC: Jason Liu >> CC: Stefano Babic >> --- > > Tested on ima-mx53 with MX53 (header V2), booting from NOR. > > Tested-by: Stefano Babic > > > Dirk, > > apart this patch that fixes in any case a wrong offset in header, I have > investigated in more detail this issue. The bug sets a wrong value in > the boot_data.start field that inform the processor which is the start > address of the image to be copied into the RAM. All other fields are > still correct. > > However, if we boot from NOR we have a XIP device and we do not need > this first copy into the RAM. We could skip it if we set > CONFIG_SYS_TEXT_BASE to point to a region in the NOR flash, as it is > usually done when booting from NOR (see for example PowerPc boards). > I understand that this is the reason why my board has always booted, > while yours not. Is it right ? Ah, XIP. Yes, this does make sense! :) > Where do you set CONFIG_SYS_TEXT_BASE ? To main memory, i.e. no XIP. We just took the configuration as it is in mainline and normally is used to start from SD card: Initialize the main memory using the DCD data. And then copy the image to main memory, e.g. 0x17800000, and jump to it. And this jump fails if boot_data.start is wrong. Many thanks for this update! Best regards Dirk