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

Stefano Babic
2016-07-13T10:53:09Z

On 12/07/2016 23:37, christopher.spinrath at 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 at 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

--
=====================================================================
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================