VAR-SOM-MX6 1GB NAND: Difference between revisions
From Variscite Wiki
No edit summary |
No edit summary |
||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
{{PageHeader|VAR-SOM-MX6 1GB NAND flash support}} __toc__ | {{PageHeader|VAR-SOM-MX6 1GB NAND flash support}} __toc__ | ||
Variscite uses two 1GB NAND brands. One with 512KiB erase block size, and the other with 128KiB.<br> | Variscite uses two 1GB NAND brands. One with 512KiB erase block size (Micron MT29F8G08ABABAWP), and the other with 128KiB.<br> | ||
= 1GB NAND flash with erase block size of 512KiB = | = 1GB NAND flash with erase block size of 512KiB = | ||
Line 193: | Line 193: | ||
= 1GB NAND flash with erase block size of 128KiB = | = 1GB NAND flash with erase block size of 128KiB = | ||
To use a 1GB NAND flash with erase block size of 128KiB, apply the following meta-variscite | To use a 1GB NAND flash with erase block size of 128KiB, apply the following meta-variscite patch:<br> | ||
<br> | <br> | ||
meta-variscite: | meta-variscite: |
Latest revision as of 10:11, 30 September 2018
VAR-SOM-MX6 1GB NAND flash support
Variscite uses two 1GB NAND brands. One with 512KiB erase block size (Micron MT29F8G08ABABAWP), and the other with 128KiB.
1GB NAND flash with erase block size of 512KiB
To use a 1GB NAND flash with erase block size of 512KiB, apply the following U-Boot, Linux and meta-variscite patches:
U-Boot:
From 7b038e142caf81406a5230b4de06af89b1f27b2c Mon Sep 17 00:00:00 2001
From: Eran Matityahu <eran.m@variscite.com>
Date: Thu, 2 Mar 2017 12:11:07 +0200
Subject: [PATCH 1/2] mx6var_som: nand: Increase mtd0 partition size to 4M
---
include/configs/mx6var_som.h | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/include/configs/mx6var_som.h b/include/configs/mx6var_som.h
index 94d1e9c033..02834db673 100644
--- a/include/configs/mx6var_som.h
+++ b/include/configs/mx6var_som.h
@@ -208,8 +208,8 @@
"else " \
"run bootargs_emmc; " \
"fi; " \
- "nand read ${loadaddr} 0x400000 0x800000; " \
- "nand read ${fdt_addr} 0x3e0000 0x20000; " \
+ "nand read ${loadaddr} 0x600000 0x800000; " \
+ "nand read ${fdt_addr} 0x5e0000 0x20000; " \
"bootm ${loadaddr} - ${fdt_addr}\0" \
"mtdids=" MTDIDS_DEFAULT "\0" \
"mtdparts=" MTDPARTS_DEFAULT "\0"
@@ -379,7 +379,7 @@
#define CONFIG_ENV_IS_IN_NAND
/* NAND boot config */
#define CONFIG_SYS_NAND_U_BOOT_START CONFIG_SYS_TEXT_BASE
-#define CONFIG_SYS_NAND_U_BOOT_OFFS 0x200000
+#define CONFIG_SYS_NAND_U_BOOT_OFFS 0x400000
#else
#define CONFIG_ENV_IS_IN_MMC
#endif
@@ -403,14 +403,14 @@
/*
* Partitions layout for NAND is:
- * mtd0: 2M (spl) First boot loader
+ * mtd0: 4M (spl) First boot loader
* mtd1: 2M (u-boot, dtb)
* mtd2: 8M (kernel)
* mtd3: left (rootfs)
*/
/* Default mtd partition table */
#define MTDPARTS_DEFAULT "mtdparts=nandflash-0:"\
- "2m(spl),"\
+ "4m(spl),"\
"2m(u-boot),"\
"8m(kernel),"\
"-(rootfs)" /* ubifs */
@@ -432,7 +432,7 @@
#define CONFIG_ENV_OFFSET (0x3E0000)
#elif defined(CONFIG_ENV_IS_IN_NAND)
#undef CONFIG_ENV_SIZE
-#define CONFIG_ENV_OFFSET (0x180000)
+#define CONFIG_ENV_OFFSET (0x380000)
#define CONFIG_ENV_SECT_SIZE (128 << 10)
#define CONFIG_ENV_SIZE CONFIG_ENV_SECT_SIZE
#endif
--
2.11.0
Linux:
From 756829210fad2a0c45b088d028ebb3b98032023b Mon Sep 17 00:00:00 2001
From: Eran Matityahu <eran.m@variscite.com>
Date: Thu, 2 Mar 2017 12:17:23 +0200
Subject: [PATCH] imx6-var-som: nand: Increase mtd0 partition size to 4M
---
arch/arm/boot/dts/imx6qdl-var-som.dtsi | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/arch/arm/boot/dts/imx6qdl-var-som.dtsi b/arch/arm/boot/dts/imx6qdl-var-som.dtsi
index da34c19815ce..c6c203700534 100644
--- a/arch/arm/boot/dts/imx6qdl-var-som.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-var-som.dtsi
@@ -699,28 +699,28 @@
pinctrl-0 = <&pinctrl_gpmi_nand_v1>;
status = "okay";
- /* a 2 MiB partition */
+ /* a 4 MiB partition */
partition@0 {
label = "spl";
- reg = <0x00000000 0x00200000>;
+ reg = <0x00000000 0x00400000>;
};
/* a 2 MiB partition */
partition@1 {
label = "bootloader";
- reg = <0x00200000 0x00200000>;
+ reg = <0x00400000 0x00200000>;
};
/* an 8 MiB partition */
partition@2 {
label = "kernel";
- reg = <0x00400000 0x00800000>;
+ reg = <0x00600000 0x00800000>;
};
- /* a 1012 MiB partition */
+ /* a 1010 MiB partition */
partition@3 {
label = "rootfs";
- reg = <0x00c00000 0x3f400000>;
+ reg = <0x00e00000 0x3f200000>;
};
};
--
2.11.0
meta-variscite:
From f93a8e8ec8c08fa24e0f9844ea21d3bfe05a0ff4 Mon Sep 17 00:00:00 2001
From: Eran Matityahu <eran.m@variscite.com>
Date: Thu, 2 Mar 2017 17:24:02 +0200
Subject: [PATCH 1/2] var-som-mx6: Create UBI image for 1GB NAND flash with
512KiB erase blocks
---
conf/machine/var-som-mx6.conf | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/conf/machine/var-som-mx6.conf b/conf/machine/var-som-mx6.conf
index d43ebe7..624137e 100644
--- a/conf/machine/var-som-mx6.conf
+++ b/conf/machine/var-som-mx6.conf
@@ -16,16 +16,16 @@ SERIAL_CONSOLE = "115200 ttymxc0"
MACHINE_FEATURES += " pci bluetooth touchscreen wifi"
# UBIFS for Variscite NAND 0.5 GB
-MKUBIFS_ARGS = " -m 2048 -e 124KiB -c 3965 "
-UBINIZE_ARGS = " -m 2048 -p 128KiB -s 2048 -O 2048 "
+#MKUBIFS_ARGS = " -m 2048 -e 124KiB -c 3965 "
+#UBINIZE_ARGS = " -m 2048 -p 128KiB -s 2048 -O 2048 "
# UBIFS for Variscite NAND 1.0 GB (models with erase block size of 128KiB)
#MKUBIFS_ARGS = " -m 2048 -e 124KiB -c 7855 "
#UBINIZE_ARGS = " -m 2048 -p 128KiB -s 2048 -O 2048 "
# UBIFS for Variscite NAND 1.0 GB (models with erase block size of 512KiB)
-#MKUBIFS_ARGS = " -m 4096 -e 504KiB -c 2000 "
-#UBINIZE_ARGS = " -m 4096 -p 512KiB -s 4096 -O 4096 "
+MKUBIFS_ARGS = " -m 4096 -e 504KiB -c 2000 "
+UBINIZE_ARGS = " -m 4096 -p 512KiB -s 4096 -O 4096 "
UBI_VOLNAME = "rootfs"
--
2.11.0
From 01280aafeb71e64c9783b179611c39f768ccab72 Mon Sep 17 00:00:00 2001
From: Eran Matityahu <eran.m@variscite.com>
Date: Mon, 20 Mar 2017 10:40:39 +0200
Subject: [PATCH 2/2] var-som-mx6: u-boot-fw-utils: Adjust cfg file to 1GB
512KB PEB NAND configuration
---
recipes-bsp/u-boot/u-boot-fw-utils/var-som-mx6/fw_env.config | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/recipes-bsp/u-boot/u-boot-fw-utils/var-som-mx6/fw_env.config b/recipes-bsp/u-boot/u-boot-fw-utils/var-som-mx6/fw_env.config
index 56ae708..9919819 100644
--- a/recipes-bsp/u-boot/u-boot-fw-utils/var-som-mx6/fw_env.config
+++ b/recipes-bsp/u-boot/u-boot-fw-utils/var-som-mx6/fw_env.config
@@ -6,7 +6,7 @@
# NAND example
# MTD device name Device offset Env. size Flash sector size Number of sectors
-/dev/mtd0 0x180000 0x20000 0x20000 1
+/dev/mtd0 0x380000 0x20000 0x80000 1
# Block device example
#/dev/mmcblk0 0x3e0000 0x2000
--
2.11.0
1GB NAND flash with erase block size of 128KiB
To use a 1GB NAND flash with erase block size of 128KiB, apply the following meta-variscite patch:
meta-variscite:
From 3f7a9a537896f1c8bf3dc3be99471a61824ad62f Mon Sep 17 00:00:00 2001
From: Eran Matityahu <eran.m@variscite.com>
Date: Sun, 25 Jun 2017 11:22:38 +0300
Subject: [PATCH] var-som-mx6: Create UBI image for 1GB NAND flash with 128KiB
erase blocks
---
conf/machine/var-som-mx6.conf | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/conf/machine/var-som-mx6.conf b/conf/machine/var-som-mx6.conf
index de5eff9..f9e1ef2 100644
--- a/conf/machine/var-som-mx6.conf
+++ b/conf/machine/var-som-mx6.conf
@@ -16,12 +16,12 @@ SERIAL_CONSOLE = "115200 ttymxc0"
MACHINE_FEATURES += " pci bluetooth touchscreen wifi"
# UBIFS for Variscite NAND 0.5 GB
-MKUBIFS_ARGS = " -m 2048 -e 124KiB -c 3965 "
-UBINIZE_ARGS = " -m 2048 -p 128KiB -s 2048 -O 2048 "
+#MKUBIFS_ARGS = " -m 2048 -e 124KiB -c 3965 "
+#UBINIZE_ARGS = " -m 2048 -p 128KiB -s 2048 -O 2048 "
# UBIFS for Variscite NAND 1.0 GB (models with erase block size of 128KiB)
-#MKUBIFS_ARGS = " -m 2048 -e 124KiB -c 7855 "
-#UBINIZE_ARGS = " -m 2048 -p 128KiB -s 2048 -O 2048 "
+MKUBIFS_ARGS = " -m 2048 -e 124KiB -c 7855 "
+UBINIZE_ARGS = " -m 2048 -p 128KiB -s 2048 -O 2048 "
# UBIFS for Variscite NAND 1.0 GB (models with erase block size of 512KiB)
#MKUBIFS_ARGS = " -m 4096 -e 504KiB -c 2000 "
--
2.13.0