[PATCH u-boot v2016.07-aspeed-openbmc] Add MTD support to Aspeed Flash driver

Joel Stanley joel at jms.id.au
Mon Aug 21 21:06:40 AEST 2017


On Tue, Aug 8, 2017 at 6:50 AM, Adriana Kobylak <anoo at linux.vnet.ibm.com> wrote:
> Add support to the aspeed flash driver to enable the common mtd layer
> through CONFIG_FLASH_CFI_MTD.
>
> This enables the flash to be used by u-boot mtd drivers including
> the mtdparts and ubi commands.
>
> Signed-off-by: Adriana Kobylak <anoo at linux.vnet.ibm.com>
> Acked-by: Milton Miller <miltonm at us.ibm.com>
> ---
>  arch/arm/mach-aspeed/flash.c | 20 ++++++++++++++++++++
>  1 file changed, 20 insertions(+)
>
> diff --git a/arch/arm/mach-aspeed/flash.c b/arch/arm/mach-aspeed/flash.c
> index 9c5ead6..e1e3cf8 100644
> --- a/arch/arm/mach-aspeed/flash.c
> +++ b/arch/arm/mach-aspeed/flash.c
> @@ -124,6 +124,22 @@ flash_info_t flash_info[CONFIG_SYS_MAX_FLASH_BANKS];               /* FLASH chips info */
>  /* specificspi */
>  #define SpecificSPI_N25Q512    0x00000001
>
> +#ifdef CONFIG_FLASH_CFI_MTD
> +static uint flash_verbose=1;
> +void flash_set_verbose(uint v)
> +{
> +       flash_verbose = v;
> +}
> +
> +unsigned long flash_sector_size(flash_info_t *info, flash_sect_t sect)
> +{
> +       if (sect != (info->sector_count - 1))
> +               return info->start[sect + 1] - info->start[sect];
> +       else
> +               return info->start[0] + info->size - info->start[sect];
> +}

This function looks like it's copied from cfi_flash.c (line 197).

Can you explain why we're duplicating it here?

> +#endif
> +
>  /*-----------------------------------------------------------------------*/
>  static u32 ast_spi_calculate_divisor(u32 max_speed_hz)
>  {
> @@ -1372,6 +1388,10 @@ unsigned long flash_init (void)
>                        flash_get_info(CONFIG_ENV_ADDR_REDUND));
>  #endif
>
> +#ifdef CONFIG_FLASH_CFI_MTD
> +       cfi_mtd_init();
> +#endif
> +
>         return (size);
>  }
>
> --
> 1.8.2.2
>


More information about the openbmc mailing list