Message ID | 1442508773-29993-2-git-send-email-bernhard.nortmann@web.de |
---|---|
State | Accepted |
Delegated to: | Hans de Goede |
Headers | show |
Am 17.09.2015 um 18:52 schrieb Bernhard Nortmann: > The sunxi platform currently doesn't seem to make any use of the > asm/arch-sunxi/spl.h file. This patch moves some declarations from > tools/mksunxiboot.c into it. > > This enables us to reuse those definitions when extending the > sunxi board code (boards/sunxi/boards.c). > > Signed-off-by: Bernhard Nortmann <bernhard.nortmann@web.de> > > --- > > Changes in v3: > - (new with v3) > > Changes in v2: None > > arch/arm/include/asm/arch-sunxi/spl.h | 25 +++++++++++++++++-------- > tools/mksunxiboot.c | 17 +---------------- > 2 files changed, 18 insertions(+), 24 deletions(-) > > diff --git a/arch/arm/include/asm/arch-sunxi/spl.h b/arch/arm/include/asm/arch-sunxi/spl.h > index acbec46..751de75 100644 > --- a/arch/arm/include/asm/arch-sunxi/spl.h > +++ b/arch/arm/include/asm/arch-sunxi/spl.h > @@ -9,12 +9,21 @@ > #ifndef _ASM_ARCH_SPL_H_ > #define _ASM_ARCH_SPL_H_ > > -#define BOOT_DEVICE_NONE 0 > -#define BOOT_DEVICE_XIP 1 > -#define BOOT_DEVICE_NAND 2 > -#define BOOT_DEVICE_ONE_NAND 3 > -#define BOOT_DEVICE_MMC2 5 /*emmc*/ > -#define BOOT_DEVICE_MMC1 6 > -#define BOOT_DEVICE_XIPWAIT 7 > -#define BOOT_DEVICE_MMC2_2 0xff > +#define BOOT0_MAGIC "eGON.BT0" > + > +/* boot head definition from sun4i boot code */ > +struct boot_file_head { > + uint32_t b_instruction; /* one intruction jumping to real code */ > + uint8_t magic[8]; /* ="eGON.BT0" or "eGON.BT1", not C-style str */ > + uint32_t check_sum; /* generated by PC */ > + uint32_t length; /* generated by PC */ > + /* > + * We use a simplified header, only filling in what is needed > + * by the boot ROM. To be compatible with Allwinner tools we > + * would need to implement the proper fields here instead of > + * padding. > + */ > + uint8_t pad[12]; /* align to 32 bytes */ > +}; > + > #endif > diff --git a/tools/mksunxiboot.c b/tools/mksunxiboot.c > index 676d392..54f4d05 100644 > --- a/tools/mksunxiboot.c > +++ b/tools/mksunxiboot.c > @@ -15,23 +15,8 @@ > #include <errno.h> > #include <sys/types.h> > #include <sys/stat.h> > +#include "asm/arch/spl.h" > > -/* boot head definition from sun4i boot code */ > -struct boot_file_head { > - uint32_t b_instruction; /* one intruction jumping to real code */ > - uint8_t magic[8]; /* ="eGON.BT0" or "eGON.BT1", not C-style str */ > - uint32_t check_sum; /* generated by PC */ > - uint32_t length; /* generated by PC */ > - /* > - * We use a simplified header, only filling in what is needed > - * by the boot ROM. To be compatible with Allwinner tools we > - * would need to implement the proper fields here instead of > - * padding. > - */ > - uint8_t pad[12]; /* align to 32 bytes */ > -}; > - > -#define BOOT0_MAGIC "eGON.BT0" > #define STAMP_VALUE 0x5F0A6C39 > > /* check sum functon from sun4i boot code */ One minor thing: This doesn't touch the boilerplate header of asm/arch-sunxi/spl.h. However "a copy of omap3/spl.h" and the copyright notice don't really apply any longer, so feel free to change that to something more suitable... Regards, B. Nortmann
Hi, On 09/18/2015 03:58 AM, Bernhard Nortmann wrote: > Am 17.09.2015 um 18:52 schrieb Bernhard Nortmann: >> The sunxi platform currently doesn't seem to make any use of the >> asm/arch-sunxi/spl.h file. This patch moves some declarations from >> tools/mksunxiboot.c into it. >> >> This enables us to reuse those definitions when extending the >> sunxi board code (boards/sunxi/boards.c). >> >> Signed-off-by: Bernhard Nortmann <bernhard.nortmann@web.de> >> >> --- >> >> Changes in v3: >> - (new with v3) >> >> Changes in v2: None >> >> arch/arm/include/asm/arch-sunxi/spl.h | 25 +++++++++++++++++-------- >> tools/mksunxiboot.c | 17 +---------------- >> 2 files changed, 18 insertions(+), 24 deletions(-) >> >> diff --git a/arch/arm/include/asm/arch-sunxi/spl.h b/arch/arm/include/asm/arch-sunxi/spl.h >> index acbec46..751de75 100644 >> --- a/arch/arm/include/asm/arch-sunxi/spl.h >> +++ b/arch/arm/include/asm/arch-sunxi/spl.h >> @@ -9,12 +9,21 @@ >> #ifndef _ASM_ARCH_SPL_H_ >> #define _ASM_ARCH_SPL_H_ >> -#define BOOT_DEVICE_NONE 0 >> -#define BOOT_DEVICE_XIP 1 >> -#define BOOT_DEVICE_NAND 2 >> -#define BOOT_DEVICE_ONE_NAND 3 >> -#define BOOT_DEVICE_MMC2 5 /*emmc*/ >> -#define BOOT_DEVICE_MMC1 6 >> -#define BOOT_DEVICE_XIPWAIT 7 >> -#define BOOT_DEVICE_MMC2_2 0xff >> +#define BOOT0_MAGIC "eGON.BT0" >> + >> +/* boot head definition from sun4i boot code */ >> +struct boot_file_head { >> + uint32_t b_instruction; /* one intruction jumping to real code */ >> + uint8_t magic[8]; /* ="eGON.BT0" or "eGON.BT1", not C-style str */ >> + uint32_t check_sum; /* generated by PC */ >> + uint32_t length; /* generated by PC */ >> + /* >> + * We use a simplified header, only filling in what is needed >> + * by the boot ROM. To be compatible with Allwinner tools we >> + * would need to implement the proper fields here instead of >> + * padding. >> + */ >> + uint8_t pad[12]; /* align to 32 bytes */ >> +}; >> + >> #endif >> diff --git a/tools/mksunxiboot.c b/tools/mksunxiboot.c >> index 676d392..54f4d05 100644 >> --- a/tools/mksunxiboot.c >> +++ b/tools/mksunxiboot.c >> @@ -15,23 +15,8 @@ >> #include <errno.h> >> #include <sys/types.h> >> #include <sys/stat.h> >> +#include "asm/arch/spl.h" >> -/* boot head definition from sun4i boot code */ >> -struct boot_file_head { >> - uint32_t b_instruction; /* one intruction jumping to real code */ >> - uint8_t magic[8]; /* ="eGON.BT0" or "eGON.BT1", not C-style str */ >> - uint32_t check_sum; /* generated by PC */ >> - uint32_t length; /* generated by PC */ >> - /* >> - * We use a simplified header, only filling in what is needed >> - * by the boot ROM. To be compatible with Allwinner tools we >> - * would need to implement the proper fields here instead of >> - * padding. >> - */ >> - uint8_t pad[12]; /* align to 32 bytes */ >> -}; >> - >> -#define BOOT0_MAGIC "eGON.BT0" >> #define STAMP_VALUE 0x5F0A6C39 >> /* check sum functon from sun4i boot code */ > > One minor thing: This doesn't touch the boilerplate header of > asm/arch-sunxi/spl.h. However "a copy of omap3/spl.h" and the > copyright notice don't really apply any longer, so feel free > to change that to something more suitable... Good point, I've fixed this up in my personal tree. Regards, Hans
diff --git a/arch/arm/include/asm/arch-sunxi/spl.h b/arch/arm/include/asm/arch-sunxi/spl.h index acbec46..751de75 100644 --- a/arch/arm/include/asm/arch-sunxi/spl.h +++ b/arch/arm/include/asm/arch-sunxi/spl.h @@ -9,12 +9,21 @@ #ifndef _ASM_ARCH_SPL_H_ #define _ASM_ARCH_SPL_H_ -#define BOOT_DEVICE_NONE 0 -#define BOOT_DEVICE_XIP 1 -#define BOOT_DEVICE_NAND 2 -#define BOOT_DEVICE_ONE_NAND 3 -#define BOOT_DEVICE_MMC2 5 /*emmc*/ -#define BOOT_DEVICE_MMC1 6 -#define BOOT_DEVICE_XIPWAIT 7 -#define BOOT_DEVICE_MMC2_2 0xff +#define BOOT0_MAGIC "eGON.BT0" + +/* boot head definition from sun4i boot code */ +struct boot_file_head { + uint32_t b_instruction; /* one intruction jumping to real code */ + uint8_t magic[8]; /* ="eGON.BT0" or "eGON.BT1", not C-style str */ + uint32_t check_sum; /* generated by PC */ + uint32_t length; /* generated by PC */ + /* + * We use a simplified header, only filling in what is needed + * by the boot ROM. To be compatible with Allwinner tools we + * would need to implement the proper fields here instead of + * padding. + */ + uint8_t pad[12]; /* align to 32 bytes */ +}; + #endif diff --git a/tools/mksunxiboot.c b/tools/mksunxiboot.c index 676d392..54f4d05 100644 --- a/tools/mksunxiboot.c +++ b/tools/mksunxiboot.c @@ -15,23 +15,8 @@ #include <errno.h> #include <sys/types.h> #include <sys/stat.h> +#include "asm/arch/spl.h" -/* boot head definition from sun4i boot code */ -struct boot_file_head { - uint32_t b_instruction; /* one intruction jumping to real code */ - uint8_t magic[8]; /* ="eGON.BT0" or "eGON.BT1", not C-style str */ - uint32_t check_sum; /* generated by PC */ - uint32_t length; /* generated by PC */ - /* - * We use a simplified header, only filling in what is needed - * by the boot ROM. To be compatible with Allwinner tools we - * would need to implement the proper fields here instead of - * padding. - */ - uint8_t pad[12]; /* align to 32 bytes */ -}; - -#define BOOT0_MAGIC "eGON.BT0" #define STAMP_VALUE 0x5F0A6C39 /* check sum functon from sun4i boot code */
The sunxi platform currently doesn't seem to make any use of the asm/arch-sunxi/spl.h file. This patch moves some declarations from tools/mksunxiboot.c into it. This enables us to reuse those definitions when extending the sunxi board code (boards/sunxi/boards.c). Signed-off-by: Bernhard Nortmann <bernhard.nortmann@web.de> --- Changes in v3: - (new with v3) Changes in v2: None arch/arm/include/asm/arch-sunxi/spl.h | 25 +++++++++++++++++-------- tools/mksunxiboot.c | 17 +---------------- 2 files changed, 18 insertions(+), 24 deletions(-)