On Mon, 21 Mar 2016 14:24:15 +0100 Jens Kuske <[email protected]> wrote:
> The A80 has the V bit in SCTLR set to 0 because of the BROM > being at 0x00000000 now, so the SCTLR check has to be relaxed. > > Signed-off-by: Jens Kuske <[email protected]> Thanks! > --- > fel.c | 21 +++++++++++++++++++-- > 1 file changed, 19 insertions(+), 2 deletions(-) > > diff --git a/fel.c b/fel.c > index ba58105..dedde55 100644 > --- a/fel.c > +++ b/fel.c > @@ -489,6 +489,16 @@ sram_swap_buffers a31_sram_swap_buffers[] = { > { 0 } /* End of the table */ > }; > > +/* > + * A80 has 40KiB SRAM A1 at 0x10000 where the SPL has to be loaded to. The > + * secure SRAM B at 0x20000 is used as backup area for FEL stacks and data. > + */ > +sram_swap_buffers a80_sram_swap_buffers[] = { > + { .buf1 = 0x11800, .buf2 = 0x20000, .size = 0x800 }, > + { .buf1 = 0x15400, .buf2 = 0x20800, .size = 0x18000 - 0x15400 }, > + { 0 } /* End of the table */ > +}; > + > soc_sram_info soc_sram_info_table[] = { > { > .soc_id = 0x1623, /* Allwinner A10 */ > @@ -541,6 +551,13 @@ soc_sram_info soc_sram_info_table[] = { > .thunk_addr = 0x46E00, .thunk_size = 0x200, > .swap_buffers = a31_sram_swap_buffers, > }, > + { > + .soc_id = 0x1639, /* Allwinner A80 */ > + .spl_addr = 0x10000, > + .scratch_addr = 0x12000, We have a reason to use 0x11000 instead of 0x12000 here: http://permalink.gmane.org/gmane.comp.hardware.netbook.arm.sunxi/21153 But I'll just add this change into my old patch and re-send an updated version of it. > + .thunk_addr = 0x23400, .thunk_size = 0x200, > + .swap_buffers = a80_sram_swap_buffers, > + }, > { 0 } /* End of the table */ > }; > > @@ -792,9 +809,9 @@ uint32_t *aw_backup_and_disable_mmu(libusb_device_handle > *usb, > * checks needs to be relaxed). > */ > > - /* Basically, ignore M/Z/I bits and expect no TEX remap */ > + /* Basically, ignore M/Z/I/V bits and expect no TEX remap */ > sctlr = aw_get_sctlr(usb, sram_info); > - if ((sctlr & ~((1 << 12) | (1 << 11) | 1)) != 0x00C52078) { > + if ((sctlr & ~((0x7 << 11) | 1)) != 0x00C50078) { > fprintf(stderr, "Unexpected SCTLR (%08X)\n", sctlr); > exit(1); > } Reviewed-by: Siarhei Siamashka <[email protected]> And pushed to github. -- Best regards, Siarhei Siamashka -- You received this message because you are subscribed to the Google Groups "linux-sunxi" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
