[PATCH u-boot v2016.07-aspeed-openbmc] Add MTD support to Aspeed Flash driver
anoo
anoo at linux.vnet.ibm.com
Tue Aug 22 00:35:10 AEST 2017
On 2017-08-21 06:06, Joel Stanley wrote:
> 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?
Yes, it's duplicated :) . What I understood from Milton is that this
function would be
available if we enabled the CONFIG_FLASH_CFI_DRIVER, but we don't want
to enable
the driver as this would cause some collisions, we just want to enable
CONFIG_FLASH_CFI_MTD so these functions are the only ones needed that
the driver
would provide.
>
>> +#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