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

Submitted by Adriana Kobylak on Aug. 7, 2017, 9:20 p.m.

Details

Message ID 1502140837-48939-1-git-send-email-anoo@linux.vnet.ibm.com
State New
Headers show

Commit Message

Adriana Kobylak Aug. 7, 2017, 9:20 p.m.
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@linux.vnet.ibm.com>
Acked-by: Milton Miller <miltonm@us.ibm.com>
---
 arch/arm/mach-aspeed/flash.c | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

Patch hide | download patch | download mbox

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];
+}
+#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);
 }