From: "Daniel Kochmański" <dkochmanski@turtle-solutions.eu>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 1/5] nand: sunxi: change BLOCK_SIZE in mksunxiboot to match NAND block size
Date: Tue, 05 May 2015 11:02:03 +0200 [thread overview]
Message-ID: <87383bv1mc.fsf@hellsgate.pl> (raw)
In-Reply-To: <1430575710.15640.127.camel@hellion.org.uk>
Ian Campbell writes:
> On Wed, 2015-04-29 at 17:02 +0200, Daniel Kochma?ski wrote:
>> This change is necessary to calculate correct checksum for NAND
>> boot. Works both for MMC and NAND. Without it BROM rejects boot image
>> as invalid (bad checksum). (Changes block size from 0x200 to 0x2000).
>
> I'm inferring here that for MMC boot this checksum is ignored by the
> BROM? If that is the case then I think it should be explicitly
> mentioned.
It isn't ignored, just larger block is taken into checksum and put in
header (which is read by BROM). I think, that in NAND case BROM just
ignores length field in header, and calculates checksum for whole page
(8KB), while on MMC it respects this field, hence 0x2000 works for
both.
I've tried to put garbage into checksum field, and MMC doesn't boot if
checksum isn't correct.
>
> As well as the checksum this also changes the header's length field,
> FWIW.
>
Yes, this is true. Should I change it to set block size conditionally
depending on defines - if it's SPL NAND boot, then use 0x2000, in other
occasion use 0x200? Whole `u-boot-sunxi-with-spl.bin` size doesn't
increase tough (probably because of space between spl and proper
u-boot).
>
>> Signed-off-by: Daniel Kochma?ski <dkochmanski@turtle-solutions.eu>
>> Cc: Ian Campbell <ijc@hellion.org.uk>
>> Cc: Hans De Goede <hdegoede@redhat.com>
>> ---
>>
>> tools/mksunxiboot.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/tools/mksunxiboot.c b/tools/mksunxiboot.c
>> index 0035f6e..bef0c79 100644
>> --- a/tools/mksunxiboot.c
>> +++ b/tools/mksunxiboot.c
>> @@ -65,7 +65,7 @@ int gen_check_sum(struct boot_file_head *head_p)
>>
>> #define SUN4I_SRAM_SIZE 0x7600 /* 0x7748+ is used by BROM */
>> #define SRAM_LOAD_MAX_SIZE (SUN4I_SRAM_SIZE - sizeof(struct boot_file_head))
>> -#define BLOCK_SIZE 512
>> +#define BLOCK_SIZE 0x2000
>>
>> struct boot_img {
>> struct boot_file_head header;
--
Daniel Kochma?ski | Pozna?, Poland
;; aka jackdaniel
"Be the change that you wish to see in the world." - Mahatma Gandhi
next prev parent reply other threads:[~2015-05-05 9:02 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-29 15:02 [U-Boot] [PATCH 0/5] nand: sunxi: Add SPL support for booting from NAND Daniel Kochmański
2015-04-29 15:02 ` [U-Boot] [PATCH 1/5] nand: sunxi: change BLOCK_SIZE in mksunxiboot to match NAND block size Daniel Kochmański
2015-05-02 14:08 ` Ian Campbell
2015-05-05 9:02 ` Daniel Kochmański [this message]
2015-05-09 13:51 ` Ian Campbell
2015-04-29 15:02 ` [U-Boot] [PATCH 2/5] nand: sunxi: Add support for booting from internal NAND memory Daniel Kochmański
2015-05-02 14:21 ` Ian Campbell
2015-05-05 9:14 ` Daniel Kochmański
2015-05-05 9:19 ` Daniel Kochmański
2015-05-09 13:53 ` Ian Campbell
2015-05-09 14:33 ` Hans de Goede
2015-05-18 23:47 ` Scott Wood
2015-04-29 15:02 ` [U-Boot] [PATCH 3/5] nand: sunxi: Add secondary U-Boot offset on second syndrome partition Daniel Kochmański
2015-05-02 14:24 ` Ian Campbell
2015-05-05 14:21 ` Tim Harvey
2015-05-05 14:34 ` Daniel Kochmański
2015-05-18 23:10 ` Scott Wood
2015-04-29 15:03 ` [U-Boot] [PATCH 4/5] nand: sunxi: Add multiimage preload option Daniel Kochmański
2015-05-02 14:24 ` Ian Campbell
2015-05-18 23:43 ` Scott Wood
2015-04-29 15:03 ` [U-Boot] [PATCH 5/5] nand: sunxi: And a20_nandread command utilizing spl nand read driver Daniel Kochmański
2015-05-02 14:26 ` Ian Campbell
2015-05-04 14:20 ` Hans de Goede
2015-05-05 9:17 ` Daniel Kochmański
2015-05-05 9:45 ` Hans de Goede
2015-05-18 23:52 ` Scott Wood
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87383bv1mc.fsf@hellsgate.pl \
--to=dkochmanski@turtle-solutions.eu \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox