[U-Boot] [RESEND PATCH v3 18/20] rockchip: Add max init size & chip tag configs
Lin Huang
hl at rock-chips.com
Fri Nov 6 10:53:40 CET 2015
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>
---
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"
#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
More information about the U-Boot
mailing list