From: Lothar Waßmann Date: Thu, 1 Aug 2013 13:11:26 +0000 (+0200) Subject: karo: tx6: fix broken calculation of MTDPARTS parameters X-Git-Tag: KARO_TX6-2013-08-01~1 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=a5fa8cc84ea71908a2819897012e14d7ecd9d4ed;p=karo-tx-uboot.git karo: tx6: fix broken calculation of MTDPARTS parameters --- diff --git a/board/karo/tx6/config.mk b/board/karo/tx6/config.mk index 70600265de..c899960a1c 100644 --- a/board/karo/tx6/config.mk +++ b/board/karo/tx6/config.mk @@ -7,3 +7,23 @@ LOGO_BMP = logos/karo.bmp #PLATFORM_CPPFLAGS += -DDEBUG #PLATFORM_CPPFLAGS += -Wno-unused-but-set-variable PLATFORM_CPPFLAGS += -Werror + +# calculate U_BOOT_IMG_SIZE to be at least 3 eraseblocks larger than the maximum expected image size +CONFIG_SYS_NAND_BLOCK_SIZE := 131072 +CONFIG_SYS_NAND_BLOCKS := 1024 +ifneq ($(CONFIG_SYS_NAND_BLOCK_SIZE),) +CONFIG_U_BOOT_IMG_SIZE = $(shell echo 'e=$(CONFIG_SYS_NAND_BLOCK_SIZE);s=640*1024;s + (e - s % e) % e + 3*e' | bc) +CONFIG_SYS_USERFS_SIZE = $(shell expr \( $(CONFIG_SYS_NAND_BLOCKS) - 9 \) \* $(CONFIG_SYS_NAND_BLOCK_SIZE) - $(CONFIG_U_BOOT_IMG_SIZE) - 36 \* 1048576) +CONFIG_SYS_USERFS_SIZE2 = $(shell expr \( $(CONFIG_SYS_NAND_BLOCKS) - 12 \) \* $(CONFIG_SYS_NAND_BLOCK_SIZE) - $(CONFIG_U_BOOT_IMG_SIZE) - 36 \* 1048576) + +PLATFORM_CPPFLAGS += -DCONFIG_SYS_NAND_BLOCK_SIZE=$(CONFIG_SYS_NAND_BLOCK_SIZE) +PLATFORM_CPPFLAGS += -DCONFIG_U_BOOT_IMG_SIZE=$(CONFIG_U_BOOT_IMG_SIZE) +PLATFORM_CPPFLAGS += -DCONFIG_SYS_U_BOOT_PART_SIZE=$(shell printf "%uk" `expr $(CONFIG_U_BOOT_IMG_SIZE) / 1024`) +PLATFORM_CPPFLAGS += -DCONFIG_SYS_NAND_U_BOOT_OFFS=$(shell printf "0x%x" `expr $(CONFIG_SYS_NAND_BLOCK_SIZE)`) +PLATFORM_CPPFLAGS += -DCONFIG_SYS_ENV_PART_SIZE=$(shell printf "%uk" `expr 3 \* $(CONFIG_SYS_NAND_BLOCK_SIZE) / 1024`) +PLATFORM_CPPFLAGS += -DCONFIG_SYS_USERFS_PART_SIZE=$(shell printf "%uk" `expr $(CONFIG_SYS_USERFS_SIZE) / 1024`) +PLATFORM_CPPFLAGS += -DCONFIG_SYS_USERFS_PART_SIZE2=$(shell printf "%uk" `expr $(CONFIG_SYS_USERFS_SIZE) / 1024`) +PLATFORM_CPPFLAGS += -DCONFIG_SYS_DTB_PART_SIZE=$(shell printf "%uk" `expr $(CONFIG_SYS_NAND_BLOCK_SIZE) / 1024`) +PLATFORM_CPPFLAGS += -DCONFIG_SYS_NAND_BBT_SIZE=$(shell printf "%uk" `expr 4 \* $(CONFIG_SYS_NAND_BLOCK_SIZE) / 1024`) +PLATFORM_CPPFLAGS += -DCONFIG_SYS_NAND_BBT_OFFSET=$(shell printf "0x%x" `expr \( $(CONFIG_SYS_NAND_BLOCKS) - 4 \) \* $(CONFIG_SYS_NAND_BLOCK_SIZE)`) +endif diff --git a/include/configs/tx6.h b/include/configs/tx6.h index afbead9a6c..e480d7d8b5 100644 --- a/include/configs/tx6.h +++ b/include/configs/tx6.h @@ -138,7 +138,6 @@ #endif /* CONFIG_MFG */ #define CONFIG_LOADADDR 18000000 #define CONFIG_SYS_LOAD_ADDR _pfx(0x, CONFIG_LOADADDR) -#define CONFIG_U_BOOT_IMG_SIZE SZ_1M #define CONFIG_IMX_WATCHDOG #define CONFIG_WATCHDOG_TIMEOUT_MSECS 3000 @@ -270,15 +269,11 @@ #define CONFIG_MTD_DEBUG #define CONFIG_MTD_DEBUG_VERBOSE 4 #endif -#ifndef CONFIG_SYS_NAND_BLOCK_SIZE -#define CONFIG_SYS_NAND_BLOCK_SIZE SZ_128K -#endif #define CONFIG_NAND_MXS #define CONFIG_NAND_MXS_NO_BBM_SWAP #define CONFIG_APBH_DMA #define CONFIG_APBH_DMA_BURST #define CONFIG_APBH_DMA_BURST8 -#define CONFIG_SYS_NAND_U_BOOT_OFFS CONFIG_SYS_NAND_BLOCK_SIZE #define CONFIG_CMD_NAND_TRIMFFS #define CONFIG_SYS_MXS_DMA_CHANNEL 4 #define CONFIG_SYS_MAX_FLASH_BANKS 1 @@ -345,7 +340,7 @@ #define MTDPARTS_DEFAULT "mtdparts=" MTD_NAME ":" \ xstr(CONFIG_SYS_U_BOOT_PART_SIZE) \ - "@" xstr(CONFIG_SYS_U_BOOT_OFFSET) \ + "@" xstr(CONFIG_SYS_NAND_U_BOOT_OFFS) \ "(u-boot)," \ CONFIG_SYS_ENV_PART_STR \ "4m(linux),32m(rootfs)," CONFIG_SYS_USERFS_PART_STR "," \