[PATCH 1/3] ramips: lzma-loader: make FLASH_START configurable
Adrian Schmutzler
mail at adrianschmutzler.de
Wed Sep 2 13:03:39 EDT 2020
Hi,
> -----Original Message-----
> From: openwrt-devel [mailto:openwrt-devel-bounces at lists.openwrt.org]
> On Behalf Of Chuanhong Guo
> Sent: Mittwoch, 2. September 2020 08:22
> To: openwrt-devel at lists.openwrt.org
> Cc: Chuanhong Guo <gch981213 at gmail.com>
> Subject: [PATCH 1/3] ramips: lzma-loader: make FLASH_START configurable
>
> FLASH_START is supposed to point at the memory area where NOR flash are
> mapped. We currently have an incorrect FLASH_START copied from ar71xx
> back then and the loader doesn't work under OKLI mode.
> On ramips, mt7621 has it's flash mapped to 0x1fc00000 and other SoCs uses
> 0x1c000000. This commit makes FLASH_START a configurable value to handle
> both cases.
>
> Signed-off-by: Chuanhong Guo <gch981213 at gmail.com>
> ---
> target/linux/ramips/image/lzma-loader/Makefile | 2 ++
> target/linux/ramips/image/lzma-loader/src/Makefile | 5 +++++
> target/linux/ramips/image/lzma-loader/src/loader.c | 5 +----
> 3 files changed, 8 insertions(+), 4 deletions(-)
>
> diff --git a/target/linux/ramips/image/lzma-loader/Makefile
> b/target/linux/ramips/image/lzma-loader/Makefile
> index f22151c9d7..4cf700d8c6 100644
> --- a/target/linux/ramips/image/lzma-loader/Makefile
> +++ b/target/linux/ramips/image/lzma-loader/Makefile
> @@ -13,6 +13,7 @@ LOADER := loader.bin
> LOADER_NAME := $(basename $(notdir $(LOADER)))
> LOADER_DATA :=
> TARGET_DIR :=
> +FLASH_START :=
> FLASH_OFFS :=
> FLASH_MAX :=
> BOARD :=
> @@ -40,6 +41,7 @@ loader-compile: $(PKG_BUILD_DIR)/.prepared
> $(MAKE) -C $(PKG_BUILD_DIR)
> CROSS_COMPILE="$(TARGET_CROSS)" \
> LZMA_TEXT_START=$(LZMA_TEXT_START) \
> LOADER_DATA=$(LOADER_DATA) \
> + FLASH_START=$(FLASH_START) \
> FLASH_OFFS=$(FLASH_OFFS) \
> FLASH_MAX=$(FLASH_MAX) \
> BOARD="$(BOARD)" \
> diff --git a/target/linux/ramips/image/lzma-loader/src/Makefile
> b/target/linux/ramips/image/lzma-loader/src/Makefile
> index d20cd77346..97fd6dad47 100644
> --- a/target/linux/ramips/image/lzma-loader/src/Makefile
> +++ b/target/linux/ramips/image/lzma-loader/src/Makefile
> @@ -19,6 +19,7 @@ LOADADDR :=
> LZMA_TEXT_START := 0x80a00000
> LOADER_DATA :=
> BOARD :=
> +FLASH_START :=
> FLASH_OFFS :=
> FLASH_MAX :=
> PLATFORM :=
> @@ -64,6 +65,10 @@ ifneq ($(strip $(KERNEL_CMDLINE)),)
> CFLAGS += -
> DCONFIG_KERNEL_CMDLINE='"$(KERNEL_CMDLINE)"'
> endif
>
> +ifneq ($(strip $(FLASH_START)),)
> +CFLAGS += -DCONFIG_FLASH_START=$(FLASH_START)
> +endif
> +
> ifneq ($(strip $(FLASH_OFFS)),)
> CFLAGS += -DCONFIG_FLASH_OFFS=$(FLASH_OFFS)
> endif
> diff --git a/target/linux/ramips/image/lzma-loader/src/loader.c
> b/target/linux/ramips/image/lzma-loader/src/loader.c
> index c73b60b351..a3513eccf1 100644
> --- a/target/linux/ramips/image/lzma-loader/src/loader.c
> +++ b/target/linux/ramips/image/lzma-loader/src/loader.c
> @@ -28,9 +28,6 @@
> #include "printf.h"
> #include "LzmaDecode.h"
>
> -#define AR71XX_FLASH_START 0x1f000000
> -#define AR71XX_FLASH_END 0x1fe00000
> -
Am I understanding this right, that if FLASH_START is not defined and set in ramips/image/Makefile, then compilation will fail here as the CONFIG_FLASH_START symbol is not defined?
Best
Adrian
> #define KSEG0 0x80000000
> #define KSEG1 0xa0000000
>
> @@ -178,7 +175,7 @@ static void lzma_init_data(void)
> unsigned long kernel_ofs;
> unsigned long kernel_size;
>
> - flash_base = (unsigned char *) KSEG1ADDR(AR71XX_FLASH_START);
> + flash_base = (unsigned char *) KSEG1ADDR(CONFIG_FLASH_START);
>
> printf("Looking for OpenWrt image... ");
>
> --
> 2.26.2
>
>
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel at lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: openpgp-digital-signature.asc
Type: application/pgp-signature
Size: 834 bytes
Desc: not available
URL: <http://lists.openwrt.org/pipermail/openwrt-devel/attachments/20200902/3e6020a7/attachment.sig>
More information about the openwrt-devel
mailing list