summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Agner <stefan.agner@toradex.com>2017-03-09 15:25:49 -0800
committerMarcel Ziswiler <marcel.ziswiler@toradex.com>2017-03-30 10:06:54 +0200
commit25eb2538f6d16eaef886485780ceecd1ec9c4e14 (patch)
treec8faee1fee432433c9e0d49bda4e569aad52f66e
parentcedf55d098b4b0af2815c92ee40576a4c899fcfb (diff)
colibri_imx7: use device-tree for MTD partitions
Use device-tree fixup to communicate the MTD partitions to the kernel. Remove mtdparts from the kernel command line. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
-rw-r--r--board/toradex/colibri_imx7/colibri_imx7.c19
-rw-r--r--configs/colibri_imx7_defconfig1
-rw-r--r--include/configs/colibri_imx7.h2
3 files changed, 16 insertions, 6 deletions
diff --git a/board/toradex/colibri_imx7/colibri_imx7.c b/board/toradex/colibri_imx7/colibri_imx7.c
index 9f831671e0..3ff68c4259 100644
--- a/board/toradex/colibri_imx7/colibri_imx7.c
+++ b/board/toradex/colibri_imx7/colibri_imx7.c
@@ -18,9 +18,11 @@
#include <dm/platform_data/serial_mxc.h>
#include <fdt_support.h>
#include <fsl_esdhc.h>
+#include <jffs2/load_kernel.h>
#include <linux/sizes.h>
#include <mmc.h>
#include <miiphy.h>
+#include <mtd_node.h>
#include <netdev.h>
#include <power/pmic.h>
#include <power/rn5t567_pmic.h>
@@ -431,12 +433,19 @@ ulong board_get_usable_ram_top(ulong total_size)
#if defined(CONFIG_OF_LIBFDT) && defined(CONFIG_OF_BOARD_SETUP)
int ft_board_setup(void *blob, bd_t *bd)
{
+ int ret = 0;
+#if defined(CONFIG_FDT_FIXUP_PARTITIONS)
+ static struct node_info nodes[] = {
+ { "fsl,imx7d-gpmi-nand", MTD_DEV_TYPE_NAND, }, /* NAND flash */
+ };
+
+ /* Update partition nodes using info from mtdparts env var */
+ puts(" Updating MTD partitions...\n");
+ fdt_fixup_mtdparts(blob, nodes, ARRAY_SIZE(nodes));
+#endif
#if defined(CONFIG_IMX_BOOTAUX)
- int up;
-
- up = arch_auxiliary_core_check_up(0);
- if (up) {
- int ret;
+ ret = arch_auxiliary_core_check_up(0);
+ if (ret) {
int areas = 1;
u64 start[2], size[2];
diff --git a/configs/colibri_imx7_defconfig b/configs/colibri_imx7_defconfig
index 7425500bc6..47a521b043 100644
--- a/configs/colibri_imx7_defconfig
+++ b/configs/colibri_imx7_defconfig
@@ -55,4 +55,5 @@ CONFIG_G_DNL_MANUFACTURER="Toradex"
CONFIG_G_DNL_VENDOR_NUM=0x1b67
CONFIG_G_DNL_PRODUCT_NUM=0x4000
CONFIG_OF_LIBFDT_OVERLAY=y
+CONFIG_FDT_FIXUP_PARTITIONS=y
# CONFIG_EFI_LOADER is not set
diff --git a/include/configs/colibri_imx7.h b/include/configs/colibri_imx7.h
index 4cc518949a..1709032500 100644
--- a/include/configs/colibri_imx7.h
+++ b/include/configs/colibri_imx7.h
@@ -137,7 +137,7 @@
"${board}/flash_blk.img && source ${loadaddr}\0" \
"setup=setenv setupargs " \
"console=tty1 console=${console}" \
- ",${baudrate}n8 ${memargs} consoleblank=0 ${mtdparts}\0" \
+ ",${baudrate}n8 ${memargs} consoleblank=0\0" \
"setupdate=run setsdupdate || run setusbupdate || run setethupdate\0" \
"setusbupdate=usb start && setenv interface usb && " \
"fatload ${interface} 0:1 ${loadaddr} " \