]> git.karo-electronics.de Git - karo-tx-uboot.git/commitdiff
karo: tx6: fix broken calculation of MTDPARTS parameters
authorLothar Waßmann <LW@KARO-electronics.de>
Thu, 1 Aug 2013 13:11:26 +0000 (15:11 +0200)
committerLothar Waßmann <LW@KARO-electronics.de>
Thu, 1 Aug 2013 13:11:26 +0000 (15:11 +0200)
board/karo/tx6/config.mk
include/configs/tx6.h

index 70600265de211bfa1f3cfac22e6e2e74f85b1247..c899960a1c6c203e8a55d9f10ce3e46c38c69a77 100644 (file)
@@ -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
index afbead9a6c1d9bb07d88e8d88382db9eaa5568b5..e480d7d8b52e49f4f6de90161b7b1eaf0666975c 100644 (file)
 #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
 
 #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
 
 #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 ","         \