Message ID | 1543321361-15316-1-git-send-email-j-keerthy@ti.com |
---|---|
State | Accepted |
Commit | 3b074fb22b8f09178200b969395fa9f3d97a67e6 |
Delegated to: | Tom Rini |
Headers | show |
Series | [U-Boot] board: ti: ks2_evm: Over ride spl_get_load_buffer function | expand |
On Tuesday 27 November 2018 05:52 PM, Keerthy wrote: > Currently k2 spi boot is broken as the image header > is getting copied to an invalid memory location > > CONFIG_SYS_TEXT_BASE - sizeof (struct image_size) > which maps to 0xc000000 - 0x40 = 0xbffffc0 being a reserved > location. > > We cannot change the CONFIG_SYS_TEXT_BASE address as the single > stage boots like UART boot will need the address to be 0xc000000 > hence override the spl_get_load_buffer to have image_header > address as CONFIG_SYS_TEXT_BASE aka 0xc000000 Tom, Can this be pulled if there are no comments? This fixes SPI boot on k2 platforms which is currently broken. Thanks, Keerthy > > Signed-off-by: Keerthy <j-keerthy@ti.com> > --- > > Boot tetsed on K2G and K2E evms for UART, MMC and SPI modes. > > board/ti/ks2_evm/board.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/board/ti/ks2_evm/board.c b/board/ti/ks2_evm/board.c > index 72709c0..3e06800 100644 > --- a/board/ti/ks2_evm/board.c > +++ b/board/ti/ks2_evm/board.c > @@ -59,6 +59,11 @@ int dram_init(void) > return 0; > } > > +struct image_header *spl_get_load_buffer(ssize_t offset, size_t size) > +{ > + return (struct image_header *)(CONFIG_SYS_TEXT_BASE); > +} > + > int board_init(void) > { > gd->bd->bi_boot_params = CONFIG_SYS_SDRAM_BASE + 0x100; >
On Tue, Nov 27, 2018 at 05:52:41PM +0530, Keerthy wrote: > Currently k2 spi boot is broken as the image header > is getting copied to an invalid memory location > > CONFIG_SYS_TEXT_BASE - sizeof (struct image_size) > which maps to 0xc000000 - 0x40 = 0xbffffc0 being a reserved > location. > > We cannot change the CONFIG_SYS_TEXT_BASE address as the single > stage boots like UART boot will need the address to be 0xc000000 > hence override the spl_get_load_buffer to have image_header > address as CONFIG_SYS_TEXT_BASE aka 0xc000000 > > Signed-off-by: Keerthy <j-keerthy@ti.com> Applied to u-boot/master, thanks!
diff --git a/board/ti/ks2_evm/board.c b/board/ti/ks2_evm/board.c index 72709c0..3e06800 100644 --- a/board/ti/ks2_evm/board.c +++ b/board/ti/ks2_evm/board.c @@ -59,6 +59,11 @@ int dram_init(void) return 0; } +struct image_header *spl_get_load_buffer(ssize_t offset, size_t size) +{ + return (struct image_header *)(CONFIG_SYS_TEXT_BASE); +} + int board_init(void) { gd->bd->bi_boot_params = CONFIG_SYS_SDRAM_BASE + 0x100;
Currently k2 spi boot is broken as the image header is getting copied to an invalid memory location CONFIG_SYS_TEXT_BASE - sizeof (struct image_size) which maps to 0xc000000 - 0x40 = 0xbffffc0 being a reserved location. We cannot change the CONFIG_SYS_TEXT_BASE address as the single stage boots like UART boot will need the address to be 0xc000000 hence override the spl_get_load_buffer to have image_header address as CONFIG_SYS_TEXT_BASE aka 0xc000000 Signed-off-by: Keerthy <j-keerthy@ti.com> --- Boot tetsed on K2G and K2E evms for UART, MMC and SPI modes. board/ti/ks2_evm/board.c | 5 +++++ 1 file changed, 5 insertions(+)