[U-Boot] [PATCH v4 18/20] rockchip: Add max init size & chip tag configs

Simon Glass sjg at chromium.org
Mon Nov 9 21:24:19 CET 2015


Hi Lin,

On 9 November 2015 at 00:02, Lin Huang <hl at rock-chips.com> wrote:
> From: Jeffy Chen <jeffy.chen at rock-chips.com>
>
> Our chips may have different sram size limits and chip tag, so
> we need to add configs for that.
>
> Signed-off-by: Jeffy Chen <jeffy.chen at rock-chips.com>
> ---
> Changes in v1: None
> Changes in v2: None
> Changes in v3: None
> Changes in v4: None
>
>  include/configs/rk3288_common.h | 3 +++
>  tools/Makefile                  | 6 ++++++
>  tools/rkcommon.c                | 2 +-
>  tools/rkcommon.h                | 1 -
>  tools/rkimage.c                 | 2 +-
>  tools/rksd.c                    | 4 ++--
>  tools/rkspi.c                   | 4 ++--
>  7 files changed, 15 insertions(+), 7 deletions(-)
>
> diff --git a/include/configs/rk3288_common.h b/include/configs/rk3288_common.h
> index 5ba084d..3ee0390 100644
> --- a/include/configs/rk3288_common.h
> +++ b/include/configs/rk3288_common.h
> @@ -44,6 +44,9 @@
>  #define CONFIG_SPL_STACK               0xff718000
>  #define CONFIG_SPL_TEXT_BASE           0xff704004
>
> +
> +#define CONFIG_ROCKCHIP_MAX_INIT_SIZE  (32 << 10)
> +#define CONFIG_ROCKCHIP_CHIP_TAG       "RK32"

Can these go in Kconfig?

>  #define CONFIG_ROCKCHIP_COMMON
>  #define CONFIG_SPL_ROCKCHIP_COMMON
>
> diff --git a/tools/Makefile b/tools/Makefile
> index 9082bda..39a852f 100644
> --- a/tools/Makefile
> +++ b/tools/Makefile
> @@ -108,6 +108,12 @@ fit_check_sign-objs   := $(dumpimage-mkimage-objs) fit_check_sign.o
>
>  # TODO(sjg at chromium.org): Is this correct on Mac OS?
>
> +ifneq ($(CONFIG_ARCH_ROCKCHIP),)
> +HOST_EXTRACFLAGS += \
> +               -DCONFIG_ROCKCHIP_MAX_INIT_SIZE=$(CONFIG_ROCKCHIP_MAX_INIT_SIZE) \
> +               -DCONFIG_ROCKCHIP_CHIP_TAG="\"$(CONFIG_ROCKCHIP_CHIP_TAG)\""
> +endif
> +
>  ifneq ($(CONFIG_MX23)$(CONFIG_MX28),)
>  # Add CONFIG_MXS into host CFLAGS, so we can check whether or not register
>  # the mxsimage support within tools/mxsimage.c .
> diff --git a/tools/rkcommon.c b/tools/rkcommon.c
> index 4389622..7aa4c7c 100644
> --- a/tools/rkcommon.c
> +++ b/tools/rkcommon.c
> @@ -50,7 +50,7 @@ int rkcommon_set_header(void *buf, uint file_size)
>  {
>         struct header0_info *hdr;
>
> -       if (file_size > RK_MAX_CODE1_SIZE)
> +       if (file_size > CONFIG_ROCKCHIP_MAX_INIT_SIZE)
>                 return -ENOSPC;
>
>         memset(buf,  '\0', RK_CODE1_OFFSET * RK_BLK_SIZE);
> diff --git a/tools/rkcommon.h b/tools/rkcommon.h
> index 57fd726..39b1d52 100644
> --- a/tools/rkcommon.h
> +++ b/tools/rkcommon.h
> @@ -11,7 +11,6 @@
>  enum {
>         RK_BLK_SIZE             = 512,
>         RK_CODE1_OFFSET         = 4,
> -       RK_MAX_CODE1_SIZE       = 32 << 10,
>  };
>
>  /**
> diff --git a/tools/rkimage.c b/tools/rkimage.c
> index 7b292f4..efd91bb 100644
> --- a/tools/rkimage.c
> +++ b/tools/rkimage.c
> @@ -30,7 +30,7 @@ static void rkimage_print_header(const void *buf)
>  static void rkimage_set_header(void *buf, struct stat *sbuf, int ifd,
>                                struct image_tool_params *params)
>  {
> -       memcpy(buf, "RK32", 4);
> +       memcpy(buf, CONFIG_ROCKCHIP_CHIP_TAG, 4);
>  }
>
>  static int rkimage_extract_subimage(void *buf, struct image_tool_params *params)
> diff --git a/tools/rksd.c b/tools/rksd.c
> index a8dbe98..2dccb78 100644
> --- a/tools/rksd.c
> +++ b/tools/rksd.c
> @@ -50,7 +50,7 @@ static void rksd_set_header(void *buf,  struct stat *sbuf,  int ifd,
>                        size);
>         }
>
> -       memcpy(buf + RKSD_SPL_HDR_START, "RK32", 4);
> +       memcpy(buf + RKSD_SPL_HDR_START, CONFIG_ROCKCHIP_CHIP_TAG, 4);
>  }
>
>  static int rksd_extract_subimage(void *buf,  struct image_tool_params *params)
> @@ -72,7 +72,7 @@ static int rksd_vrec_header(struct image_tool_params *params,
>  {
>         int pad_size;
>
> -       pad_size = RKSD_SPL_HDR_START + RK_MAX_CODE1_SIZE;
> +       pad_size = RKSD_SPL_HDR_START + CONFIG_ROCKCHIP_MAX_INIT_SIZE;
>         debug("pad_size %x\n", pad_size);
>
>         return pad_size - params->file_size;
> diff --git a/tools/rkspi.c b/tools/rkspi.c
> index a3c4c73..e16d5c0 100644
> --- a/tools/rkspi.c
> +++ b/tools/rkspi.c
> @@ -53,7 +53,7 @@ static void rkspi_set_header(void *buf, struct stat *sbuf, int ifd,
>                        size);
>         }
>
> -       memcpy(buf + RKSPI_SPL_HDR_START, "RK32", 4);
> +       memcpy(buf + RKSPI_SPL_HDR_START, CONFIG_ROCKCHIP_CHIP_TAG, 4);
>
>         /*
>          * Spread the image out so we only use the first 2KB of each 4KB
> @@ -89,7 +89,7 @@ static int rkspi_vrec_header(struct image_tool_params *params,
>  {
>         int pad_size;
>
> -       pad_size = (RK_MAX_CODE1_SIZE + 0x7ff) / 0x800 * 0x800;
> +       pad_size = (CONFIG_ROCKCHIP_MAX_INIT_SIZE + 0x7ff) / 0x800 * 0x800;
>         params->orig_file_size = pad_size;
>
>         /* We will double the image size due to the SPI format */
> --
> 1.9.1
>

Regards,
Simon


More information about the U-Boot mailing list