diff mbox

[U-Boot,v2,4/4] ARM: configs: cm_fx6: add mtd support

Message ID 56eb9245d4344b6dbac260fa6335eeb7@rwthex-s1-b.rwth-ad.de
State Awaiting Upstream
Delegated to: Stefano Babic
Headers show

Commit Message

Christopher Spinrath July 12, 2016, 9:37 p.m. UTC
From: Christopher Spinrath <christopher.spinrath@rwth-aachen.de>

The cm-fx6 module has an on-board spi flash chip. Enable mtd support
and the mtdparts command. Also define a default partitioning, add
it to the default environment, and enable support to overwrite the
partitioning defined in a device tree by it. Finally, probe for the
chip on preboot to register the flash chip and, thus, establish the
connection between the mtd environment settings and the actual device.

These changes move the effective default partitioning from the device
tree shipped with the vendor kernels to U-Boot which becomes the single
point of definition for the partitioning for all device tree based
kernels (in particular, for the upstream Linux kernel which does not
have a default partitioning defined in its device tree).

Signed-off-by: Christopher Spinrath <christopher.spinrath@rwth-aachen.de>
---

Notes:
    Changes since v1:
     - explain the "sf probe" command added to preboot in the commit message

 include/configs/cm_fx6.h | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

Comments

Stefano Babic July 13, 2016, 10:53 a.m. UTC | #1
On 12/07/2016 23:37, christopher.spinrath@rwth-aachen.de wrote:
> From: Christopher Spinrath <christopher.spinrath@rwth-aachen.de>
> 
> The cm-fx6 module has an on-board spi flash chip. Enable mtd support
> and the mtdparts command. Also define a default partitioning, add
> it to the default environment, and enable support to overwrite the
> partitioning defined in a device tree by it. Finally, probe for the
> chip on preboot to register the flash chip and, thus, establish the
> connection between the mtd environment settings and the actual device.
> 
> These changes move the effective default partitioning from the device
> tree shipped with the vendor kernels to U-Boot which becomes the single
> point of definition for the partitioning for all device tree based
> kernels (in particular, for the upstream Linux kernel which does not
> have a default partitioning defined in its device tree).
> 
> Signed-off-by: Christopher Spinrath <christopher.spinrath@rwth-aachen.de>
> ---
> 
> Notes:
>     Changes since v1:
>      - explain the "sf probe" command added to preboot in the commit message
> 
>  include/configs/cm_fx6.h | 19 ++++++++++++++++++-
>  1 file changed, 18 insertions(+), 1 deletion(-)
> 
> diff --git a/include/configs/cm_fx6.h b/include/configs/cm_fx6.h
> index f054ca8..c839b03 100644
> --- a/include/configs/cm_fx6.h
> +++ b/include/configs/cm_fx6.h
> @@ -18,6 +18,7 @@
>  #define CONFIG_MACH_TYPE		4273
>  
>  /* CMD */
> +#define CONFIG_CMD_MTDPARTS
>  
>  /* MMC */
>  #define CONFIG_SYS_FSL_USDHC_NUM	3
> @@ -53,6 +54,20 @@
>  #define CONFIG_SF_DEFAULT_SPEED		25000000
>  #define CONFIG_SF_DEFAULT_MODE		(SPI_MODE_0)
>  
> +/* MTD support */
> +#ifndef CONFIG_SPL_BUILD
> +#define CONFIG_FDT_FIXUP_PARTITIONS
> +#define CONFIG_MTD_DEVICE
> +#define CONFIG_MTD_PARTITIONS
> +#define CONFIG_SPI_FLASH_MTD
> +#endif
> +
> +#define MTDIDS_DEFAULT		"nor0=spi0.0"
> +#define MTDPARTS_DEFAULT	"mtdparts=spi0.0:" \
> +				"768k(uboot)," \
> +				"256k(uboot-environment)," \
> +				"-(reserved)"
> +
>  /* Environment */
>  #define CONFIG_ENV_IS_IN_SPI_FLASH
>  #define CONFIG_ENV_SPI_MAX_HZ		CONFIG_SF_DEFAULT_SPEED
> @@ -83,6 +98,8 @@
>  	"video_dvi=mxcfb0:dev=dvi,1280x800M-32@50,if=RGB32\0" \
>  	"doboot=bootm ${loadaddr}\0" \
>  	"doloadfdt=false\0" \
> +	"mtdids=" MTDIDS_DEFAULT "\0" \
> +	"mtdparts=" MTDPARTS_DEFAULT "\0" \
>  	"setboottypez=setenv kernel ${zImage};" \
>  		"setenv doboot bootz ${loadaddr} - ${fdtaddr};" \
>  		"setenv doloadfdt true;\0" \
> @@ -157,7 +174,7 @@
>  	"run setupnandboot;" \
>  	"run nandboot;"
>  
> -#define CONFIG_PREBOOT		"usb start"
> +#define CONFIG_PREBOOT		"usb start;sf probe"
>  
>  /* SPI */
>  #define CONFIG_SPI
> 

I put these on my queue list to be apply - I wait just for Nikita's ACK
as board's maintainer.

Reviewed-by: Stefano Babic <sbabic@denx.de>

Best regards,
Stefano Babic
Igor Grinberg July 14, 2016, 8:23 a.m. UTC | #2
On 07/13/2016 12:37 AM, christopher.spinrath@rwth-aachen.de wrote:
> From: Christopher Spinrath <christopher.spinrath@rwth-aachen.de>
> 
> The cm-fx6 module has an on-board spi flash chip. Enable mtd support
> and the mtdparts command. Also define a default partitioning, add
> it to the default environment, and enable support to overwrite the
> partitioning defined in a device tree by it. Finally, probe for the
> chip on preboot to register the flash chip and, thus, establish the
> connection between the mtd environment settings and the actual device.
> 
> These changes move the effective default partitioning from the device
> tree shipped with the vendor kernels to U-Boot which becomes the single
> point of definition for the partitioning for all device tree based
> kernels (in particular, for the upstream Linux kernel which does not
> have a default partitioning defined in its device tree).
> 
> Signed-off-by: Christopher Spinrath <christopher.spinrath@rwth-aachen.de>

Acked-by: Igor Grinberg <grinberg@compulab.co.il>
diff mbox

Patch

diff --git a/include/configs/cm_fx6.h b/include/configs/cm_fx6.h
index f054ca8..c839b03 100644
--- a/include/configs/cm_fx6.h
+++ b/include/configs/cm_fx6.h
@@ -18,6 +18,7 @@ 
 #define CONFIG_MACH_TYPE		4273
 
 /* CMD */
+#define CONFIG_CMD_MTDPARTS
 
 /* MMC */
 #define CONFIG_SYS_FSL_USDHC_NUM	3
@@ -53,6 +54,20 @@ 
 #define CONFIG_SF_DEFAULT_SPEED		25000000
 #define CONFIG_SF_DEFAULT_MODE		(SPI_MODE_0)
 
+/* MTD support */
+#ifndef CONFIG_SPL_BUILD
+#define CONFIG_FDT_FIXUP_PARTITIONS
+#define CONFIG_MTD_DEVICE
+#define CONFIG_MTD_PARTITIONS
+#define CONFIG_SPI_FLASH_MTD
+#endif
+
+#define MTDIDS_DEFAULT		"nor0=spi0.0"
+#define MTDPARTS_DEFAULT	"mtdparts=spi0.0:" \
+				"768k(uboot)," \
+				"256k(uboot-environment)," \
+				"-(reserved)"
+
 /* Environment */
 #define CONFIG_ENV_IS_IN_SPI_FLASH
 #define CONFIG_ENV_SPI_MAX_HZ		CONFIG_SF_DEFAULT_SPEED
@@ -83,6 +98,8 @@ 
 	"video_dvi=mxcfb0:dev=dvi,1280x800M-32@50,if=RGB32\0" \
 	"doboot=bootm ${loadaddr}\0" \
 	"doloadfdt=false\0" \
+	"mtdids=" MTDIDS_DEFAULT "\0" \
+	"mtdparts=" MTDPARTS_DEFAULT "\0" \
 	"setboottypez=setenv kernel ${zImage};" \
 		"setenv doboot bootz ${loadaddr} - ${fdtaddr};" \
 		"setenv doloadfdt true;\0" \
@@ -157,7 +174,7 @@ 
 	"run setupnandboot;" \
 	"run nandboot;"
 
-#define CONFIG_PREBOOT		"usb start"
+#define CONFIG_PREBOOT		"usb start;sf probe"
 
 /* SPI */
 #define CONFIG_SPI