@ -34,20 +34,20 @@
/* Structure of the main header, version 0 (Kirkwood, Dove) */
/* Structure of the main header, version 0 (Kirkwood, Dove) */
struct main_hdr_v0 {
struct main_hdr_v0 {
uint8_t blockid ; /*0 */
uint8_t blockid ; /* 0x0 */
uint8_t nandeccmode ; /*1 */
uint8_t nandeccmode ; /* 0x 1 */
uint16_t nandpagesize ; /*2-3 */
uint16_t nandpagesize ; /* 0x 2-0x 3 */
uint32_t blocksize ; /*4-7 */
uint32_t blocksize ; /* 0x 4-0x 7 */
uint32_t rsvd1 ; /*8-11 */
uint32_t rsvd1 ; /* 0x8-0xB */
uint32_t srcaddr ; /*12-15 */
uint32_t srcaddr ; /* 0xC-0xF */
uint32_t destaddr ; /*16-19 */
uint32_t destaddr ; /* 0x10-0x13 */
uint32_t execaddr ; /*20-23 */
uint32_t execaddr ; /* 0x14-0x17 */
uint8_t satapiomode ; /*24 */
uint8_t satapiomode ; /* 0x18 */
uint8_t rsvd3 ; /*25 */
uint8_t rsvd3 ; /* 0x19 */
uint16_t ddrinitdelay ; /*26-27 */
uint16_t ddrinitdelay ; /* 0x1A-0x1B */
uint16_t rsvd2 ; /*28-29 */
uint16_t rsvd2 ; /* 0x1C-0x1D */
uint8_t ext ; /*30 */
uint8_t ext ; /* 0x1E */
uint8_t checksum ; /*31 */
uint8_t checksum ; /* 0x1F */
} ;
} ;
struct ext_hdr_v0_reg {
struct ext_hdr_v0_reg {
@ -72,23 +72,23 @@ struct kwb_header {
/* Structure of the main header, version 1 (Armada 370/38x/XP) */
/* Structure of the main header, version 1 (Armada 370/38x/XP) */
struct main_hdr_v1 {
struct main_hdr_v1 {
uint8_t blockid ; /* 0 */
uint8_t blockid ; /* 0x0 */
uint8_t flags ; /* 1 */
uint8_t flags ; /* 0x 1 */
uint16_t reserved2 ; /* 2-3 */
uint16_t reserved2 ; /* 0x 2-0x 3 */
uint32_t blocksize ; /* 4-7 */
uint32_t blocksize ; /* 0x 4-0x 7 */
uint8_t version ; /* 8 */
uint8_t version ; /* 0x 8 */
uint8_t headersz_msb ; /* 9 */
uint8_t headersz_msb ; /* 0x 9 */
uint16_t headersz_lsb ; /* A-B */
uint16_t headersz_lsb ; /* 0x A-0x B */
uint32_t srcaddr ; /* C-F */
uint32_t srcaddr ; /* 0x C-0x F */
uint32_t destaddr ; /* 10-13 */
uint32_t destaddr ; /* 0x 10-0x 13 */
uint32_t execaddr ; /* 14-17 */
uint32_t execaddr ; /* 0x 14-0x 17 */
uint8_t options ; /* 18 */
uint8_t options ; /* 0x 18 */
uint8_t nandblocksize ; /* 19 */
uint8_t nandblocksize ; /* 0x 19 */
uint8_t nandbadblklocation ; /* 1A */
uint8_t nandbadblklocation ; /* 0x 1A */
uint8_t reserved4 ; /* 1B */
uint8_t reserved4 ; /* 0x 1B */
uint16_t reserved5 ; /* 1C-1D */
uint16_t reserved5 ; /* 0x 1C-0x 1D */
uint8_t ext ; /* 1E */
uint8_t ext ; /* 0x 1E */
uint8_t checksum ; /* 1F */
uint8_t checksum ; /* 0x 1F */
} ;
} ;
/*
/*