public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH 0/4] Drop unused legacy DataFlash code
@ 2017-10-10 18:59 Tuomas Tynkkynen
  2017-10-10 18:59 ` [U-Boot] [PATCH 1/4] env: Drop CONFIG_ENV_IS_IN_DATAFLASH Tuomas Tynkkynen
                   ` (3 more replies)
  0 siblings, 4 replies; 10+ messages in thread
From: Tuomas Tynkkynen @ 2017-10-10 18:59 UTC (permalink / raw)
  To: u-boot

These patches remove:

  CONFIG_ENV_IS_IN_DATAFLASH
  CONFIG_ATMEL_DATAFLASH_SPI
  CONFIG_HAS_DATAFLASH

Last user of these went away in July, in commit fdc77189994b2ac794862
("board: usb_a9263: Update to support DT and DM"). AFAICT their
replacements using DM + DT are:

  CONFIG_ENV_IS_IN_SPI_FLASH
  CONFIG_SPI_FLASH_DATAFLASH

Tuomas Tynkkynen (4):
  env: Drop CONFIG_ENV_IS_IN_DATAFLASH
  spi: Drop CONFIG_ATMEL_DATAFLASH_SPI
  Drop CONFIG_HAS_DATAFLASH
  common: Remove genimg_get_image()

 README                                             |   7 -
 arch/arm/mach-at91/arm926ejs/at91sam9260_devices.c |   2 +-
 arch/arm/mach-at91/arm926ejs/at91sam9261_devices.c |   2 +-
 arch/arm/mach-at91/arm926ejs/at91sam9263_devices.c |   2 +-
 .../mach-at91/arm926ejs/at91sam9m10g45_devices.c   |   2 +-
 arch/arm/mach-at91/arm926ejs/at91sam9rl_devices.c  |   2 +-
 board/atmel/at91sam9260ek/Makefile                 |   1 -
 board/atmel/at91sam9260ek/partition.c              |  26 -
 board/atmel/at91sam9261ek/Makefile                 |   1 -
 board/atmel/at91sam9261ek/partition.c              |  26 -
 board/atmel/at91sam9263ek/Makefile                 |   1 -
 board/atmel/at91sam9263ek/partition.c              |  25 -
 board/atmel/at91sam9rlek/Makefile                  |   1 -
 board/atmel/at91sam9rlek/partition.c               |  25 -
 board/esd/meesc/Makefile                           |   1 -
 board/esd/meesc/partition.c                        |  23 -
 board/mini-box/picosam9g45/picosam9g45.c           |   3 -
 board/ronetix/pm9261/Makefile                      |   1 -
 board/ronetix/pm9261/partition.c                   |  33 --
 board/ronetix/pm9263/Makefile                      |   1 -
 board/ronetix/pm9263/partition.c                   |  33 --
 board/siemens/corvus/board.c                       |   3 -
 cmd/flash.c                                        |  33 +-
 cmd/mem.c                                          | 106 +---
 cmd/nvedit.c                                       |   3 +-
 common/board_r.c                                   |  15 -
 common/bootm.c                                     |   3 -
 common/image-fdt.c                                 |   3 -
 common/image.c                                     |  89 ----
 drivers/mtd/Makefile                               |   2 -
 drivers/mtd/at45.c                                 | 545 ---------------------
 drivers/mtd/dataflash.c                            | 448 -----------------
 drivers/spi/Makefile                               |   1 -
 drivers/spi/atmel_dataflash_spi.c                  | 184 -------
 env/Kconfig                                        |  15 -
 env/Makefile                                       |   1 -
 env/dataflash.c                                    |  75 ---
 env/env.c                                          |   4 +-
 include/dataflash.h                                | 205 --------
 include/environment.h                              |   1 -
 include/image.h                                    |   1 -
 scripts/config_whitelist.txt                       |   5 -
 tools/Makefile                                     |   1 -
 43 files changed, 18 insertions(+), 1943 deletions(-)
 delete mode 100644 board/atmel/at91sam9260ek/partition.c
 delete mode 100644 board/atmel/at91sam9261ek/partition.c
 delete mode 100644 board/atmel/at91sam9263ek/partition.c
 delete mode 100644 board/atmel/at91sam9rlek/partition.c
 delete mode 100644 board/esd/meesc/partition.c
 delete mode 100644 board/ronetix/pm9261/partition.c
 delete mode 100644 board/ronetix/pm9263/partition.c
 delete mode 100644 drivers/mtd/at45.c
 delete mode 100644 drivers/mtd/dataflash.c
 delete mode 100644 drivers/spi/atmel_dataflash_spi.c
 delete mode 100644 env/dataflash.c
 delete mode 100644 include/dataflash.h

-- 
2.14.2

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot] [PATCH 1/4] env: Drop CONFIG_ENV_IS_IN_DATAFLASH
  2017-10-10 18:59 [U-Boot] [PATCH 0/4] Drop unused legacy DataFlash code Tuomas Tynkkynen
@ 2017-10-10 18:59 ` Tuomas Tynkkynen
  2017-10-17  0:47   ` [U-Boot] [U-Boot,1/4] " Tom Rini
  2017-10-10 18:59 ` [U-Boot] [PATCH 2/4] spi: Drop CONFIG_ATMEL_DATAFLASH_SPI Tuomas Tynkkynen
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 10+ messages in thread
From: Tuomas Tynkkynen @ 2017-10-10 18:59 UTC (permalink / raw)
  To: u-boot

Last user of this option went away in commit:

fdc7718999 ("board: usb_a9263: Update to support DT and DM")

Signed-off-by: Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>
---
 cmd/nvedit.c          |  3 +--
 env/Kconfig           | 15 -----------
 env/Makefile          |  1 -
 env/dataflash.c       | 75 ---------------------------------------------------
 env/env.c             |  4 +--
 include/environment.h |  1 -
 tools/Makefile        |  1 -
 7 files changed, 2 insertions(+), 98 deletions(-)
 delete mode 100644 env/dataflash.c

diff --git a/cmd/nvedit.c b/cmd/nvedit.c
index 90f76bbc20..4e79d03856 100644
--- a/cmd/nvedit.c
+++ b/cmd/nvedit.c
@@ -42,7 +42,6 @@ DECLARE_GLOBAL_DATA_PTR;
 
 #if	!defined(CONFIG_ENV_IS_IN_EEPROM)	&& \
 	!defined(CONFIG_ENV_IS_IN_FLASH)	&& \
-	!defined(CONFIG_ENV_IS_IN_DATAFLASH)	&& \
 	!defined(CONFIG_ENV_IS_IN_MMC)		&& \
 	!defined(CONFIG_ENV_IS_IN_FAT)		&& \
 	!defined(CONFIG_ENV_IS_IN_EXT4)		&& \
@@ -54,7 +53,7 @@ DECLARE_GLOBAL_DATA_PTR;
 	!defined(CONFIG_ENV_IS_IN_REMOTE)	&& \
 	!defined(CONFIG_ENV_IS_IN_UBI)		&& \
 	!defined(CONFIG_ENV_IS_NOWHERE)
-# error Define one of CONFIG_ENV_IS_IN_{EEPROM|FLASH|DATAFLASH|MMC|FAT|EXT4|\
+# error Define one of CONFIG_ENV_IS_IN_{EEPROM|FLASH|MMC|FAT|EXT4|\
 NAND|NVRAM|ONENAND|SATA|SPI_FLASH|REMOTE|UBI} or CONFIG_ENV_IS_NOWHERE
 #endif
 
diff --git a/env/Kconfig b/env/Kconfig
index 024d4d79bd..25555ec2b8 100644
--- a/env/Kconfig
+++ b/env/Kconfig
@@ -40,21 +40,6 @@ config ENV_IS_NOWHERE
 	  stored. U-Boot will therefore always start up with a default
 	  environment.
 
-config ENV_IS_IN_DATAFLASH
-	bool "Environment in dataflash"
-	depends on !CHAIN_OF_TRUST
-	help
-	  Define this if you have a DataFlash memory device which you
-	  want to use for the environment.
-
-	  - CONFIG_ENV_OFFSET:
-	  - CONFIG_ENV_ADDR:
-	  - CONFIG_ENV_SIZE:
-
-	  These three #defines specify the offset and size of the
-	  environment area within the total memory of your DataFlash placed
-	  at the specified address.
-
 config ENV_IS_IN_EEPROM
 	bool "Environment in EEPROM"
 	depends on !CHAIN_OF_TRUST
diff --git a/env/Makefile b/env/Makefile
index 8df5b9d4c9..7ce8231d9a 100644
--- a/env/Makefile
+++ b/env/Makefile
@@ -11,7 +11,6 @@ ifndef CONFIG_SPL_BUILD
 obj-y += attr.o
 obj-y += callback.o
 obj-y += flags.o
-obj-$(CONFIG_ENV_IS_IN_DATAFLASH) += dataflash.o
 obj-$(CONFIG_ENV_IS_IN_EEPROM) += eeprom.o
 extra-$(CONFIG_ENV_IS_EMBEDDED) += embedded.o
 obj-$(CONFIG_ENV_IS_IN_EEPROM) += embedded.o
diff --git a/env/dataflash.c b/env/dataflash.c
deleted file mode 100644
index 77bc595e0d..0000000000
--- a/env/dataflash.c
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * LowLevel function for DataFlash environment support
- * Author : Gilles Gastaldi (Atmel)
- *
- * SPDX-License-Identifier:	GPL-2.0+
- */
-#include <common.h>
-#include <command.h>
-#include <environment.h>
-#include <linux/stddef.h>
-#include <dataflash.h>
-#include <search.h>
-#include <errno.h>
-
-DECLARE_GLOBAL_DATA_PTR;
-
-static int env_dataflash_get_char(int index)
-{
-	uchar c;
-
-	read_dataflash(CONFIG_ENV_ADDR + index + offsetof(env_t, data),
-			1, (char *)&c);
-	return c;
-}
-
-static int env_dataflash_load(void)
-{
-	ulong crc, new = 0;
-	unsigned off;
-	char buf[CONFIG_ENV_SIZE];
-
-	/* Read old CRC */
-	read_dataflash(CONFIG_ENV_ADDR + offsetof(env_t, crc),
-		       sizeof(ulong), (char *)&crc);
-
-	/* Read whole environment */
-	read_dataflash(CONFIG_ENV_ADDR, CONFIG_ENV_SIZE, buf);
-
-	/* Calculate the CRC */
-	off = offsetof(env_t, data);
-	new = crc32(new, (unsigned char *)(buf + off), ENV_SIZE);
-
-	if (crc == new)
-		env_import(buf, 1);
-	else
-		set_default_env("!bad CRC");
-
-	return 0;
-}
-
-#ifdef CONFIG_ENV_OFFSET_REDUND
-#error No support for redundant environment on dataflash yet!
-#endif
-
-static int env_dataflash_save(void)
-{
-	env_t env_new;
-	int ret;
-
-	ret = env_export(&env_new);
-	if (ret)
-		return ret;
-
-	return write_dataflash(CONFIG_ENV_ADDR,
-				(unsigned long)&env_new,
-				CONFIG_ENV_SIZE);
-}
-
-U_BOOT_ENV_LOCATION(dataflash) = {
-	.location	= ENVL_DATAFLASH,
-	ENV_NAME("dataflash")
-	.get_char	= env_dataflash_get_char,
-	.load		= env_dataflash_load,
-	.save		= env_save_ptr(env_dataflash_save),
-};
diff --git a/env/env.c b/env/env.c
index 43290d0832..76a5608628 100644
--- a/env/env.c
+++ b/env/env.c
@@ -28,9 +28,7 @@ static struct env_driver *env_driver_lookup(enum env_location loc)
 
 static enum env_location env_get_default_location(void)
 {
-	if IS_ENABLED(CONFIG_ENV_IS_IN_DATAFLASH)
-		return ENVL_DATAFLASH;
-	else if IS_ENABLED(CONFIG_ENV_IS_IN_EEPROM)
+	if IS_ENABLED(CONFIG_ENV_IS_IN_EEPROM)
 		return ENVL_EEPROM;
 	else if IS_ENABLED(CONFIG_ENV_IS_IN_FAT)
 		return ENVL_FAT;
diff --git a/include/environment.h b/include/environment.h
index 03b41e0c51..7b98216389 100644
--- a/include/environment.h
+++ b/include/environment.h
@@ -198,7 +198,6 @@ enum env_valid {
 };
 
 enum env_location {
-	ENVL_DATAFLASH,
 	ENVL_EEPROM,
 	ENVL_EXT4,
 	ENVL_FAT,
diff --git a/tools/Makefile b/tools/Makefile
index c16477459d..5db2a54225 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -21,7 +21,6 @@ subdir-$(HOST_TOOLS_ALL) += gdb
 
 # Merge all the different vars for envcrc into one
 ENVCRC-$(CONFIG_ENV_IS_EMBEDDED) = y
-ENVCRC-$(CONFIG_ENV_IS_IN_DATAFLASH) = y
 ENVCRC-$(CONFIG_ENV_IS_IN_EEPROM) = y
 ENVCRC-$(CONFIG_ENV_IS_IN_FLASH) = y
 ENVCRC-$(CONFIG_ENV_IS_IN_ONENAND) = y
-- 
2.14.2

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [U-Boot] [PATCH 2/4] spi: Drop CONFIG_ATMEL_DATAFLASH_SPI
  2017-10-10 18:59 [U-Boot] [PATCH 0/4] Drop unused legacy DataFlash code Tuomas Tynkkynen
  2017-10-10 18:59 ` [U-Boot] [PATCH 1/4] env: Drop CONFIG_ENV_IS_IN_DATAFLASH Tuomas Tynkkynen
@ 2017-10-10 18:59 ` Tuomas Tynkkynen
  2017-10-11  9:34   ` Yang, Wenyou
  2017-10-17  0:47   ` [U-Boot] [U-Boot,2/4] " Tom Rini
  2017-10-10 18:59 ` [U-Boot] [PATCH 3/4] Drop CONFIG_HAS_DATAFLASH Tuomas Tynkkynen
  2017-10-10 18:59 ` [U-Boot] [PATCH 4/4] common: Remove genimg_get_image() Tuomas Tynkkynen
  3 siblings, 2 replies; 10+ messages in thread
From: Tuomas Tynkkynen @ 2017-10-10 18:59 UTC (permalink / raw)
  To: u-boot

Last user of this option went away in commit:

fdc7718999 ("board: usb_a9263: Update to support DT and DM")

Signed-off-by: Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>
---
 drivers/spi/Makefile              |   1 -
 drivers/spi/atmel_dataflash_spi.c | 184 --------------------------------------
 2 files changed, 185 deletions(-)
 delete mode 100644 drivers/spi/atmel_dataflash_spi.c

diff --git a/drivers/spi/Makefile b/drivers/spi/Makefile
index cd7c7556a7..ad56203cd6 100644
--- a/drivers/spi/Makefile
+++ b/drivers/spi/Makefile
@@ -17,7 +17,6 @@ endif
 
 obj-$(CONFIG_ALTERA_SPI) += altera_spi.o
 obj-$(CONFIG_ATH79_SPI) += ath79_spi.o
-obj-$(CONFIG_ATMEL_DATAFLASH_SPI) += atmel_dataflash_spi.o
 obj-$(CONFIG_ATMEL_SPI) += atmel_spi.o
 obj-$(CONFIG_CADENCE_QSPI) += cadence_qspi.o cadence_qspi_apb.o
 obj-$(CONFIG_CF_SPI) += cf_spi.o
diff --git a/drivers/spi/atmel_dataflash_spi.c b/drivers/spi/atmel_dataflash_spi.c
deleted file mode 100644
index a2e9c00ea6..0000000000
--- a/drivers/spi/atmel_dataflash_spi.c
+++ /dev/null
@@ -1,184 +0,0 @@
-/*
- * Driver for ATMEL DataFlash support
- * Author : Hamid Ikdoumi (Atmel)
- *
- * SPDX-License-Identifier:	GPL-2.0+
- */
-
-/*
- * This driver desperately needs rework:
- *
- * - use structure SoC access
- * - get rid of including asm/arch/at91_spi.h
- * - remove asm/arch/at91_spi.h
- * - get rid of all CONFIG_ATMEL_LEGACY defines and uses
- *
- * 02-Aug-2010 Reinhard Meyer <uboot@emk-elektronik.de>
- */
-
-#include <common.h>
-#ifndef CONFIG_ATMEL_LEGACY
-# define CONFIG_ATMEL_LEGACY
-#endif
-#include <spi.h>
-#include <malloc.h>
-
-#include <asm/io.h>
-
-#include <asm/arch/clk.h>
-#include <asm/arch/hardware.h>
-
-#include "atmel_spi.h"
-
-#include <asm/arch/gpio.h>
-#include <asm/arch/at91_pio.h>
-#include <asm/arch/at91_spi.h>
-
-#include <dataflash.h>
-
-#define AT91_SPI_PCS0_DATAFLASH_CARD	0xE	/* Chip Select 0: NPCS0%1110 */
-#define AT91_SPI_PCS1_DATAFLASH_CARD	0xD	/* Chip Select 1: NPCS1%1101 */
-#define AT91_SPI_PCS2_DATAFLASH_CARD	0xB	/* Chip Select 2: NPCS2%1011 */
-#define AT91_SPI_PCS3_DATAFLASH_CARD	0x7	/* Chip Select 3: NPCS3%0111 */
-
-void AT91F_SpiInit(void)
-{
-	/* Reset the SPI */
-	writel(AT91_SPI_SWRST, ATMEL_BASE_SPI0 + AT91_SPI_CR);
-
-	/* Configure SPI in Master Mode with No CS selected !!! */
-	writel(AT91_SPI_MSTR | AT91_SPI_MODFDIS | AT91_SPI_PCS,
-	       ATMEL_BASE_SPI0 + AT91_SPI_MR);
-
-	/* Configure CS0 */
-	writel(AT91_SPI_NCPHA |
-	       (AT91_SPI_DLYBS & DATAFLASH_TCSS) |
-	       (AT91_SPI_DLYBCT & DATAFLASH_TCHS) |
-	       ((get_mck_clk_rate() / AT91_SPI_CLK) << 8),
-	       ATMEL_BASE_SPI0 + AT91_SPI_CSR(0));
-
-#ifdef CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS1
-	/* Configure CS1 */
-	writel(AT91_SPI_NCPHA |
-	       (AT91_SPI_DLYBS & DATAFLASH_TCSS) |
-	       (AT91_SPI_DLYBCT & DATAFLASH_TCHS) |
-	       ((get_mck_clk_rate() / AT91_SPI_CLK) << 8),
-	       ATMEL_BASE_SPI0 + AT91_SPI_CSR(1));
-#endif
-#ifdef CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS2
-	/* Configure CS2 */
-	writel(AT91_SPI_NCPHA |
-	       (AT91_SPI_DLYBS & DATAFLASH_TCSS) |
-	       (AT91_SPI_DLYBCT & DATAFLASH_TCHS) |
-	       ((get_mck_clk_rate() / AT91_SPI_CLK) << 8),
-	       ATMEL_BASE_SPI0 + AT91_SPI_CSR(2));
-#endif
-#ifdef CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS3
-	/* Configure CS3 */
-	writel(AT91_SPI_NCPHA |
-	       (AT91_SPI_DLYBS & DATAFLASH_TCSS) |
-	       (AT91_SPI_DLYBCT & DATAFLASH_TCHS) |
-	       ((get_mck_clk_rate() / AT91_SPI_CLK) << 8),
-	       ATMEL_BASE_SPI0 + AT91_SPI_CSR(3));
-#endif
-
-	/* SPI_Enable */
-	writel(AT91_SPI_SPIEN, ATMEL_BASE_SPI0 + AT91_SPI_CR);
-
-	while (!(readl(ATMEL_BASE_SPI0 + AT91_SPI_SR) & AT91_SPI_SPIENS))
-		;
-
-	/*
-	 * Add tempo to get SPI in a safe state.
-	 * Should not be needed for new silicon (Rev B)
-	 */
-	udelay(500000);
-	readl(ATMEL_BASE_SPI0 + AT91_SPI_SR);
-	readl(ATMEL_BASE_SPI0 + AT91_SPI_RDR);
-
-}
-
-void AT91F_SpiEnable(int cs)
-{
-	unsigned long mode;
-
-	mode = readl(ATMEL_BASE_SPI0 + AT91_SPI_MR);
-	mode &= ~AT91_SPI_PCS;
-
-	switch (cs) {
-	case 0:
-		mode |= AT91_SPI_PCS0_DATAFLASH_CARD << 16;
-		break;
-	case 1:
-		mode |= AT91_SPI_PCS1_DATAFLASH_CARD << 16;
-		break;
-	case 2:
-		mode |= AT91_SPI_PCS2_DATAFLASH_CARD << 16;
-		break;
-	case 3:
-		mode |= AT91_SPI_PCS3_DATAFLASH_CARD << 16;
-		break;
-	}
-
-	writel(mode, ATMEL_BASE_SPI0 + AT91_SPI_MR);
-
-	/* SPI_Enable */
-	writel(AT91_SPI_SPIEN, ATMEL_BASE_SPI0 + AT91_SPI_CR);
-}
-
-unsigned int AT91F_SpiWrite1(AT91PS_DataflashDesc pDesc);
-
-unsigned int AT91F_SpiWrite(AT91PS_DataflashDesc pDesc)
-{
-	unsigned int timeout;
-	unsigned int timebase;
-
-	pDesc->state = BUSY;
-
-	writel(AT91_SPI_TXTDIS + AT91_SPI_RXTDIS,
-		ATMEL_BASE_SPI0 + AT91_SPI_PTCR);
-
-	/* Initialize the Transmit and Receive Pointer */
-	writel((unsigned int)pDesc->rx_cmd_pt,
-		ATMEL_BASE_SPI0 + AT91_SPI_RPR);
-	writel((unsigned int)pDesc->tx_cmd_pt,
-		ATMEL_BASE_SPI0 + AT91_SPI_TPR);
-
-	/* Intialize the Transmit and Receive Counters */
-	writel(pDesc->rx_cmd_size, ATMEL_BASE_SPI0 + AT91_SPI_RCR);
-	writel(pDesc->tx_cmd_size, ATMEL_BASE_SPI0 + AT91_SPI_TCR);
-
-	if (pDesc->tx_data_size != 0) {
-		/* Initialize the Next Transmit and Next Receive Pointer */
-		writel((unsigned int)pDesc->rx_data_pt,
-			ATMEL_BASE_SPI0 + AT91_SPI_RNPR);
-		writel((unsigned int)pDesc->tx_data_pt,
-			ATMEL_BASE_SPI0 + AT91_SPI_TNPR);
-
-		/* Intialize the Next Transmit and Next Receive Counters */
-		writel(pDesc->rx_data_size,
-			ATMEL_BASE_SPI0 + AT91_SPI_RNCR);
-		writel(pDesc->tx_data_size,
-			ATMEL_BASE_SPI0 + AT91_SPI_TNCR);
-	}
-
-	/* arm simple, non interrupt dependent timer */
-	timebase = get_timer(0);
-	timeout = 0;
-
-	writel(AT91_SPI_TXTEN + AT91_SPI_RXTEN,
-		ATMEL_BASE_SPI0 + AT91_SPI_PTCR);
-	while (!(readl(ATMEL_BASE_SPI0 + AT91_SPI_SR) & AT91_SPI_RXBUFF) &&
-		((timeout = get_timer(timebase)) < CONFIG_SYS_SPI_WRITE_TOUT))
-		;
-	writel(AT91_SPI_TXTDIS + AT91_SPI_RXTDIS,
-		ATMEL_BASE_SPI0 + AT91_SPI_PTCR);
-	pDesc->state = IDLE;
-
-	if (timeout >= CONFIG_SYS_SPI_WRITE_TOUT) {
-		printf("Error Timeout\n\r");
-		return DATAFLASH_ERROR;
-	}
-
-	return DATAFLASH_OK;
-}
-- 
2.14.2

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [U-Boot] [PATCH 3/4] Drop CONFIG_HAS_DATAFLASH
  2017-10-10 18:59 [U-Boot] [PATCH 0/4] Drop unused legacy DataFlash code Tuomas Tynkkynen
  2017-10-10 18:59 ` [U-Boot] [PATCH 1/4] env: Drop CONFIG_ENV_IS_IN_DATAFLASH Tuomas Tynkkynen
  2017-10-10 18:59 ` [U-Boot] [PATCH 2/4] spi: Drop CONFIG_ATMEL_DATAFLASH_SPI Tuomas Tynkkynen
@ 2017-10-10 18:59 ` Tuomas Tynkkynen
  2017-10-17  0:47   ` [U-Boot] [U-Boot,3/4] " Tom Rini
  2017-10-10 18:59 ` [U-Boot] [PATCH 4/4] common: Remove genimg_get_image() Tuomas Tynkkynen
  3 siblings, 1 reply; 10+ messages in thread
From: Tuomas Tynkkynen @ 2017-10-10 18:59 UTC (permalink / raw)
  To: u-boot

Last user of this option went away in commit:

fdc7718999 ("board: usb_a9263: Update to support DT and DM")

Signed-off-by: Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>
---
 README                                             |   7 -
 arch/arm/mach-at91/arm926ejs/at91sam9260_devices.c |   2 +-
 arch/arm/mach-at91/arm926ejs/at91sam9261_devices.c |   2 +-
 arch/arm/mach-at91/arm926ejs/at91sam9263_devices.c |   2 +-
 .../mach-at91/arm926ejs/at91sam9m10g45_devices.c   |   2 +-
 arch/arm/mach-at91/arm926ejs/at91sam9rl_devices.c  |   2 +-
 board/atmel/at91sam9260ek/Makefile                 |   1 -
 board/atmel/at91sam9260ek/partition.c              |  26 -
 board/atmel/at91sam9261ek/Makefile                 |   1 -
 board/atmel/at91sam9261ek/partition.c              |  26 -
 board/atmel/at91sam9263ek/Makefile                 |   1 -
 board/atmel/at91sam9263ek/partition.c              |  25 -
 board/atmel/at91sam9rlek/Makefile                  |   1 -
 board/atmel/at91sam9rlek/partition.c               |  25 -
 board/esd/meesc/Makefile                           |   1 -
 board/esd/meesc/partition.c                        |  23 -
 board/mini-box/picosam9g45/picosam9g45.c           |   3 -
 board/ronetix/pm9261/Makefile                      |   1 -
 board/ronetix/pm9261/partition.c                   |  33 --
 board/ronetix/pm9263/Makefile                      |   1 -
 board/ronetix/pm9263/partition.c                   |  33 --
 board/siemens/corvus/board.c                       |   3 -
 cmd/flash.c                                        |  33 +-
 cmd/mem.c                                          | 106 +---
 common/board_r.c                                   |  15 -
 common/image.c                                     |  62 ---
 drivers/mtd/Makefile                               |   2 -
 drivers/mtd/at45.c                                 | 545 ---------------------
 drivers/mtd/dataflash.c                            | 448 -----------------
 include/dataflash.h                                | 205 --------
 scripts/config_whitelist.txt                       |   5 -
 31 files changed, 16 insertions(+), 1626 deletions(-)
 delete mode 100644 board/atmel/at91sam9260ek/partition.c
 delete mode 100644 board/atmel/at91sam9261ek/partition.c
 delete mode 100644 board/atmel/at91sam9263ek/partition.c
 delete mode 100644 board/atmel/at91sam9rlek/partition.c
 delete mode 100644 board/esd/meesc/partition.c
 delete mode 100644 board/ronetix/pm9261/partition.c
 delete mode 100644 board/ronetix/pm9263/partition.c
 delete mode 100644 drivers/mtd/at45.c
 delete mode 100644 drivers/mtd/dataflash.c
 delete mode 100644 include/dataflash.h

diff --git a/README b/README
index ca07f7a3f9..242287ca9b 100644
--- a/README
+++ b/README
@@ -2312,13 +2312,6 @@ The following options need to be configured:
 		this is instead controlled by the value of
 		/config/load-environment.
 
-- DataFlash Support:
-		CONFIG_HAS_DATAFLASH
-
-		Defining this option enables DataFlash features and
-		allows to read/write in Dataflash via the standard
-		commands cp, md...
-
 - Serial Flash support
 		Usage requires an initial 'sf probe' to define the serial
 		flash parameters, followed by read/write/erase/update
diff --git a/arch/arm/mach-at91/arm926ejs/at91sam9260_devices.c b/arch/arm/mach-at91/arm926ejs/at91sam9260_devices.c
index 912a966bae..bb3e36552a 100644
--- a/arch/arm/mach-at91/arm926ejs/at91sam9260_devices.c
+++ b/arch/arm/mach-at91/arm926ejs/at91sam9260_devices.c
@@ -58,7 +58,7 @@ void at91_seriald_hw_init(void)
 	at91_periph_clk_enable(ATMEL_ID_SYS);
 }
 
-#if defined(CONFIG_HAS_DATAFLASH) || defined(CONFIG_ATMEL_SPI)
+#ifdef CONFIG_ATMEL_SPI
 void at91_spi0_hw_init(unsigned long cs_mask)
 {
 	at91_set_a_periph(AT91_PIO_PORTA, 0, PUP);	/* SPI0_MISO */
diff --git a/arch/arm/mach-at91/arm926ejs/at91sam9261_devices.c b/arch/arm/mach-at91/arm926ejs/at91sam9261_devices.c
index 4bd4e75e0b..58050a2a24 100644
--- a/arch/arm/mach-at91/arm926ejs/at91sam9261_devices.c
+++ b/arch/arm/mach-at91/arm926ejs/at91sam9261_devices.c
@@ -55,7 +55,7 @@ void at91_seriald_hw_init(void)
 	at91_periph_clk_enable(ATMEL_ID_SYS);
 }
 
-#if defined(CONFIG_HAS_DATAFLASH) || defined(CONFIG_ATMEL_SPI)
+#ifdef CONFIG_ATMEL_SPI
 void at91_spi0_hw_init(unsigned long cs_mask)
 {
 	at91_set_a_periph(AT91_PIO_PORTA, 0, PUP);	/* SPI0_MISO */
diff --git a/arch/arm/mach-at91/arm926ejs/at91sam9263_devices.c b/arch/arm/mach-at91/arm926ejs/at91sam9263_devices.c
index f3f480010a..674eb66e8e 100644
--- a/arch/arm/mach-at91/arm926ejs/at91sam9263_devices.c
+++ b/arch/arm/mach-at91/arm926ejs/at91sam9263_devices.c
@@ -59,7 +59,7 @@ void at91_seriald_hw_init(void)
 	at91_periph_clk_enable(ATMEL_ID_SYS);
 }
 
-#if defined(CONFIG_HAS_DATAFLASH) || defined(CONFIG_ATMEL_SPI)
+#ifdef CONFIG_ATMEL_SPI
 void at91_spi0_hw_init(unsigned long cs_mask)
 {
 	at91_set_b_periph(AT91_PIO_PORTA, 0, PUP);	/* SPI0_MISO */
diff --git a/arch/arm/mach-at91/arm926ejs/at91sam9m10g45_devices.c b/arch/arm/mach-at91/arm926ejs/at91sam9m10g45_devices.c
index eddfdb0853..b9efa273a0 100644
--- a/arch/arm/mach-at91/arm926ejs/at91sam9m10g45_devices.c
+++ b/arch/arm/mach-at91/arm926ejs/at91sam9m10g45_devices.c
@@ -56,7 +56,7 @@ void at91_seriald_hw_init(void)
 	at91_periph_clk_enable(ATMEL_ID_SYS);
 }
 
-#if defined(CONFIG_HAS_DATAFLASH) || defined(CONFIG_ATMEL_SPI)
+#ifdef CONFIG_ATMEL_SPI
 void at91_spi0_hw_init(unsigned long cs_mask)
 {
 	at91_set_a_periph(AT91_PIO_PORTB, 0, PUP);	/* SPI0_MISO */
diff --git a/arch/arm/mach-at91/arm926ejs/at91sam9rl_devices.c b/arch/arm/mach-at91/arm926ejs/at91sam9rl_devices.c
index dbf9386faa..cd38c6597a 100644
--- a/arch/arm/mach-at91/arm926ejs/at91sam9rl_devices.c
+++ b/arch/arm/mach-at91/arm926ejs/at91sam9rl_devices.c
@@ -55,7 +55,7 @@ void at91_seriald_hw_init(void)
 	at91_periph_clk_enable(ATMEL_ID_SYS);
 }
 
-#if defined(CONFIG_HAS_DATAFLASH) || defined(CONFIG_ATMEL_SPI)
+#ifdef CONFIG_ATMEL_SPI
 void at91_spi0_hw_init(unsigned long cs_mask)
 {
 	at91_set_a_periph(AT91_PIO_PORTA, 25, PUP);	/* SPI0_MISO */
diff --git a/board/atmel/at91sam9260ek/Makefile b/board/atmel/at91sam9260ek/Makefile
index 07c6184352..ad95928701 100644
--- a/board/atmel/at91sam9260ek/Makefile
+++ b/board/atmel/at91sam9260ek/Makefile
@@ -11,4 +11,3 @@
 
 obj-y	+= at91sam9260ek.o
 obj-$(CONFIG_AT91_LED) += led.o
-obj-$(CONFIG_HAS_DATAFLASH) += partition.o
diff --git a/board/atmel/at91sam9260ek/partition.c b/board/atmel/at91sam9260ek/partition.c
deleted file mode 100644
index e41eefe461..0000000000
--- a/board/atmel/at91sam9260ek/partition.c
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * (C) Copyright 2008
- * Ulf Samuelsson <ulf@atmel.com>
- *
- * SPDX-License-Identifier:	GPL-2.0+
- */
-#include <common.h>
-#include <config.h>
-#include <asm/hardware.h>
-#include <dataflash.h>
-
-AT91S_DATAFLASH_INFO dataflash_info[CONFIG_SYS_MAX_DATAFLASH_BANKS];
-
-struct dataflash_addr cs[CONFIG_SYS_MAX_DATAFLASH_BANKS] = {
-	{CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0, 0},	/* Logical adress, CS */
-	{CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS1, 1}
-};
-
-/*define the area offsets*/
-dataflash_protect_t area_list[NB_DATAFLASH_AREA] = {
-	{0x00000000, 0x000041FF, FLAG_PROTECT_SET,   0, "Bootstrap"},
-	{0x00004200, 0x000083FF, FLAG_PROTECT_CLEAR, 0, "Environment"},
-	{0x00008400, 0x00083FFF, FLAG_PROTECT_SET,   0, "U-Boot"},
-	{0x00084000, 0x00293FFF, FLAG_PROTECT_CLEAR, 0,	"Kernel"},
-	{0x00294000, 0xFFFFFFFF, FLAG_PROTECT_CLEAR, 0,	"FS"},
-};
diff --git a/board/atmel/at91sam9261ek/Makefile b/board/atmel/at91sam9261ek/Makefile
index d7ba1533d8..1e807ecc14 100644
--- a/board/atmel/at91sam9261ek/Makefile
+++ b/board/atmel/at91sam9261ek/Makefile
@@ -11,4 +11,3 @@
 
 obj-y += at91sam9261ek.o
 obj-$(CONFIG_AT91_LED) += led.o
-obj-$(CONFIG_HAS_DATAFLASH) += partition.o
diff --git a/board/atmel/at91sam9261ek/partition.c b/board/atmel/at91sam9261ek/partition.c
deleted file mode 100644
index ed97609297..0000000000
--- a/board/atmel/at91sam9261ek/partition.c
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * (C) Copyright 2008
- * Ulf Samuelsson <ulf@atmel.com>
- *
- * SPDX-License-Identifier:	GPL-2.0+
- */
-#include <common.h>
-#include <config.h>
-#include <asm/hardware.h>
-#include <dataflash.h>
-
-AT91S_DATAFLASH_INFO dataflash_info[CONFIG_SYS_MAX_DATAFLASH_BANKS];
-
-struct dataflash_addr cs[CONFIG_SYS_MAX_DATAFLASH_BANKS] = {
-	{CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0, 0},	/* Logical adress, CS */
-	{CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS3, 3}
-};
-
-/*define the area offsets*/
-dataflash_protect_t area_list[NB_DATAFLASH_AREA] = {
-	{0x00000000, 0x000041FF, FLAG_PROTECT_SET,   0, "Bootstrap"},
-	{0x00004200, 0x000083FF, FLAG_PROTECT_CLEAR, 0, "Environment"},
-	{0x00008400, 0x00083FFF, FLAG_PROTECT_SET,   0, "U-Boot"},
-	{0x00084000, 0x00293FFF, FLAG_PROTECT_CLEAR, 0,	"Kernel"},
-	{0x00294000, 0xFFFFFFFF, FLAG_PROTECT_CLEAR, 0,	"FS"},
-};
diff --git a/board/atmel/at91sam9263ek/Makefile b/board/atmel/at91sam9263ek/Makefile
index f3cd9d556e..b7a30ee6ef 100644
--- a/board/atmel/at91sam9263ek/Makefile
+++ b/board/atmel/at91sam9263ek/Makefile
@@ -11,4 +11,3 @@
 
 obj-y += at91sam9263ek.o
 obj-$(CONFIG_AT91_LED) += led.o
-obj-$(CONFIG_HAS_DATAFLASH) += partition.o
diff --git a/board/atmel/at91sam9263ek/partition.c b/board/atmel/at91sam9263ek/partition.c
deleted file mode 100644
index 8617f4899c..0000000000
--- a/board/atmel/at91sam9263ek/partition.c
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * (C) Copyright 2008
- * Ulf Samuelsson <ulf@atmel.com>
- *
- * SPDX-License-Identifier:	GPL-2.0+
- */
-#include <common.h>
-#include <config.h>
-#include <asm/hardware.h>
-#include <dataflash.h>
-
-AT91S_DATAFLASH_INFO dataflash_info[CONFIG_SYS_MAX_DATAFLASH_BANKS];
-
-struct dataflash_addr cs[CONFIG_SYS_MAX_DATAFLASH_BANKS] = {
-	{CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0, 0},	/* Logical adress, CS */
-};
-
-/*define the area offsets*/
-dataflash_protect_t area_list[NB_DATAFLASH_AREA] = {
-	{0x00000000, 0x000041FF, FLAG_PROTECT_SET,   0, "Bootstrap"},
-	{0x00004200, 0x000083FF, FLAG_PROTECT_CLEAR, 0, "Environment"},
-	{0x00008400, 0x00083FFF, FLAG_PROTECT_SET,   0, "U-Boot"},
-	{0x00084000, 0x00293FFF, FLAG_PROTECT_CLEAR, 0,	"Kernel"},
-	{0x00294000, 0xFFFFFFFF, FLAG_PROTECT_CLEAR, 0,	"FS"},
-};
diff --git a/board/atmel/at91sam9rlek/Makefile b/board/atmel/at91sam9rlek/Makefile
index 7acfee5350..89f6c0833c 100644
--- a/board/atmel/at91sam9rlek/Makefile
+++ b/board/atmel/at91sam9rlek/Makefile
@@ -11,4 +11,3 @@
 
 obj-y += at91sam9rlek.o
 obj-$(CONFIG_AT91_LED) += led.o
-obj-$(CONFIG_HAS_DATAFLASH) += partition.o
diff --git a/board/atmel/at91sam9rlek/partition.c b/board/atmel/at91sam9rlek/partition.c
deleted file mode 100644
index 8617f4899c..0000000000
--- a/board/atmel/at91sam9rlek/partition.c
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * (C) Copyright 2008
- * Ulf Samuelsson <ulf@atmel.com>
- *
- * SPDX-License-Identifier:	GPL-2.0+
- */
-#include <common.h>
-#include <config.h>
-#include <asm/hardware.h>
-#include <dataflash.h>
-
-AT91S_DATAFLASH_INFO dataflash_info[CONFIG_SYS_MAX_DATAFLASH_BANKS];
-
-struct dataflash_addr cs[CONFIG_SYS_MAX_DATAFLASH_BANKS] = {
-	{CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0, 0},	/* Logical adress, CS */
-};
-
-/*define the area offsets*/
-dataflash_protect_t area_list[NB_DATAFLASH_AREA] = {
-	{0x00000000, 0x000041FF, FLAG_PROTECT_SET,   0, "Bootstrap"},
-	{0x00004200, 0x000083FF, FLAG_PROTECT_CLEAR, 0, "Environment"},
-	{0x00008400, 0x00083FFF, FLAG_PROTECT_SET,   0, "U-Boot"},
-	{0x00084000, 0x00293FFF, FLAG_PROTECT_CLEAR, 0,	"Kernel"},
-	{0x00294000, 0xFFFFFFFF, FLAG_PROTECT_CLEAR, 0,	"FS"},
-};
diff --git a/board/esd/meesc/Makefile b/board/esd/meesc/Makefile
index 5d1673820d..f3bf05d47b 100644
--- a/board/esd/meesc/Makefile
+++ b/board/esd/meesc/Makefile
@@ -10,4 +10,3 @@
 #
 
 obj-y	+= meesc.o
-obj-$(CONFIG_HAS_DATAFLASH) += partition.o
diff --git a/board/esd/meesc/partition.c b/board/esd/meesc/partition.c
deleted file mode 100644
index b6afafc239..0000000000
--- a/board/esd/meesc/partition.c
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * (C) Copyright 2008
- * Ulf Samuelsson <ulf@atmel.com>
- *
- * SPDX-License-Identifier:	GPL-2.0+
- */
-#include <common.h>
-#include <config.h>
-#include <asm/hardware.h>
-#include <dataflash.h>
-
-AT91S_DATAFLASH_INFO dataflash_info[CONFIG_SYS_MAX_DATAFLASH_BANKS];
-
-struct dataflash_addr cs[CONFIG_SYS_MAX_DATAFLASH_BANKS] = {
-	{CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0, 0},	/* Logical adress, CS */
-};
-
-/* define the area offsets */
-dataflash_protect_t area_list[NB_DATAFLASH_AREA] = {
-	{0x00000000, 0x000041FF, FLAG_PROTECT_SET,   0, "Bootstrap"},
-	{0x00004200, 0x000083FF, FLAG_PROTECT_CLEAR, 0, "Environment"},
-	{0x00008400, 0x00041FFF, FLAG_PROTECT_SET,   0, "U-Boot"},
-};
diff --git a/board/mini-box/picosam9g45/picosam9g45.c b/board/mini-box/picosam9g45/picosam9g45.c
index 09ec247663..f3263eba6e 100644
--- a/board/mini-box/picosam9g45/picosam9g45.c
+++ b/board/mini-box/picosam9g45/picosam9g45.c
@@ -261,9 +261,6 @@ int board_init(void)
 #ifdef CONFIG_CMD_USB
 	picosam9g45_usb_hw_init();
 #endif
-#ifdef CONFIG_HAS_DATAFLASH
-	at91_spi0_hw_init(1 << 0);
-#endif
 #ifdef CONFIG_ATMEL_SPI
 	at91_spi0_hw_init(1 << 4);
 #endif
diff --git a/board/ronetix/pm9261/Makefile b/board/ronetix/pm9261/Makefile
index 90835d372f..a133b07d0b 100644
--- a/board/ronetix/pm9261/Makefile
+++ b/board/ronetix/pm9261/Makefile
@@ -12,4 +12,3 @@
 
 obj-y += pm9261.o
 obj-$(CONFIG_RED_LED) += led.o
-obj-$(CONFIG_HAS_DATAFLASH) += partition.o
diff --git a/board/ronetix/pm9261/partition.c b/board/ronetix/pm9261/partition.c
deleted file mode 100644
index 23ab8cf8a0..0000000000
--- a/board/ronetix/pm9261/partition.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * (C) Copyright 2008
- * Ulf Samuelsson <ulf@atmel.com>
- * Ilko Iliev <www.ronetix.at>
- *
- * SPDX-License-Identifier:	GPL-2.0+
- */
-#include <common.h>
-#include <config.h>
-#include <asm/hardware.h>
-#include <dataflash.h>
-
-AT91S_DATAFLASH_INFO dataflash_info[CONFIG_SYS_MAX_DATAFLASH_BANKS];
-
-struct dataflash_addr cs[CONFIG_SYS_MAX_DATAFLASH_BANKS] = {
-	{CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0, 0},	/* Logical adress, CS */
-};
-
-/*define the area offsets*/
-#ifdef CONFIG_SYS_USE_DATAFLASH
-dataflash_protect_t area_list[NB_DATAFLASH_AREA] = {
-	{0x00000000, 0x000041FF, FLAG_PROTECT_SET,   0, "Bootstrap"},
-	{0x00004200, 0x000083FF, FLAG_PROTECT_CLEAR, 0, "Environment"},
-	{0x00008400, 0x00041FFF, FLAG_PROTECT_SET,   0, "U-Boot"},
-	{0x00042000, 0x00251FFF, FLAG_PROTECT_CLEAR, 0,	"Kernel"},
-	{0x00252000, 0xFFFFFFFF, FLAG_PROTECT_CLEAR, 0,	"FS"},
-};
-#else
-dataflash_protect_t area_list[NB_DATAFLASH_AREA] = {
-	{0x00000000, 0xFFFFFFFF, FLAG_PROTECT_CLEAR, 0, ""},
-};
-
-#endif
diff --git a/board/ronetix/pm9263/Makefile b/board/ronetix/pm9263/Makefile
index 53e621dc80..72aa107b6e 100644
--- a/board/ronetix/pm9263/Makefile
+++ b/board/ronetix/pm9263/Makefile
@@ -12,4 +12,3 @@
 
 obj-y += pm9263.o
 obj-$(CONFIG_AT91_LED) += led.o
-obj-$(CONFIG_HAS_DATAFLASH) += partition.o
diff --git a/board/ronetix/pm9263/partition.c b/board/ronetix/pm9263/partition.c
deleted file mode 100644
index 9cc4214ca6..0000000000
--- a/board/ronetix/pm9263/partition.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * (C) Copyright 2008
- * Ulf Samuelsson <ulf@atmel.com>
- * Ilko Iliev <www.ronetix.at>
- *
- * SPDX-License-Identifier:	GPL-2.0+
- */
-#include <common.h>
-#include <config.h>
-#include <asm/hardware.h>
-#include <dataflash.h>
-
-AT91S_DATAFLASH_INFO dataflash_info[CONFIG_SYS_MAX_DATAFLASH_BANKS];
-
-struct dataflash_addr cs[CONFIG_SYS_MAX_DATAFLASH_BANKS] = {
-	{CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0, 0},	/* Logical adress, CS */
-};
-
-/*define the area offsets*/
-#ifdef CONFIG_SYS_USE_DATAFLASH
-dataflash_protect_t area_list[NB_DATAFLASH_AREA] = {
-	{0x00000000, 0x000041FF, FLAG_PROTECT_SET,   0, "Bootstrap"},
-	{0x00004200, 0x000083FF, FLAG_PROTECT_CLEAR, 0, "Environment"},
-	{0x00008400, 0x00041FFF, FLAG_PROTECT_SET,   0, "U-Boot"},
-	{0x00042000, 0x00251FFF, FLAG_PROTECT_CLEAR, 0,	"Kernel"},
-	{0x00252000, 0xFFFFFFFF, FLAG_PROTECT_CLEAR, 0,	"FS"},
-};
-#else
-dataflash_protect_t area_list[NB_DATAFLASH_AREA] = {
-	{0x00000000, 0xFFFFFFFF, FLAG_PROTECT_CLEAR,   0, ""},
-};
-
-#endif
diff --git a/board/siemens/corvus/board.c b/board/siemens/corvus/board.c
index d4416e6468..7240c9762e 100644
--- a/board/siemens/corvus/board.c
+++ b/board/siemens/corvus/board.c
@@ -250,9 +250,6 @@ int board_init(void)
 #ifdef CONFIG_ATMEL_SPI
 	at91_spi0_hw_init(1 << 4);
 #endif
-#ifdef CONFIG_HAS_DATAFLASH
-	at91_spi0_hw_init(1 << 0);
-#endif
 #ifdef CONFIG_MACB
 	corvus_macb_hw_init();
 #endif
diff --git a/cmd/flash.c b/cmd/flash.c
index b150940bf3..a2803e8ee4 100644
--- a/cmd/flash.c
+++ b/cmd/flash.c
@@ -11,10 +11,6 @@
 #include <common.h>
 #include <command.h>
 
-#ifdef CONFIG_HAS_DATAFLASH
-#include <dataflash.h>
-#endif
-
 #if defined(CONFIG_CMD_MTDPARTS)
 #include <jffs2/jffs2.h>
 
@@ -279,10 +275,6 @@ static int do_flinfo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 	ulong bank;
 #endif
 
-#ifdef CONFIG_HAS_DATAFLASH
-	dataflash_print_info();
-#endif
-
 #ifdef CONFIG_MTD_NOR_FLASH
 	if (argc == 1) {	/* print info for all FLASH banks */
 		for (bank=0; bank <CONFIG_SYS_MAX_FLASH_BANKS; ++bank) {
@@ -451,10 +443,7 @@ static int do_protect(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 	u8 dev_type, dev_num, pnum;
 #endif
 #endif /* CONFIG_MTD_NOR_FLASH */
-#ifdef CONFIG_HAS_DATAFLASH
-	int status;
-#endif
-#if defined(CONFIG_MTD_NOR_FLASH) || defined(CONFIG_HAS_DATAFLASH)
+#if defined(CONFIG_MTD_NOR_FLASH)
 	int p;
 	ulong addr_first, addr_last;
 #endif
@@ -462,7 +451,7 @@ static int do_protect(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 	if (argc < 3)
 		return CMD_RET_USAGE;
 
-#if defined(CONFIG_MTD_NOR_FLASH) || defined(CONFIG_HAS_DATAFLASH)
+#if defined(CONFIG_MTD_NOR_FLASH)
 	if (strcmp(argv[1], "off") == 0)
 		p = 0;
 	else if (strcmp(argv[1], "on") == 0)
@@ -471,24 +460,6 @@ static int do_protect(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 		return CMD_RET_USAGE;
 #endif
 
-#ifdef CONFIG_HAS_DATAFLASH
-	if ((strcmp(argv[2], "all") != 0) && (strcmp(argv[2], "bank") != 0)) {
-		addr_first = simple_strtoul(argv[2], NULL, 16);
-		addr_last  = simple_strtoul(argv[3], NULL, 16);
-
-		if (addr_dataflash(addr_first) && addr_dataflash(addr_last)) {
-			status = dataflash_real_protect(p,addr_first,addr_last);
-			if (status < 0){
-				puts ("Bad DataFlash sector specification\n");
-				return 1;
-			}
-			printf("%sProtect %d DataFlash Sectors\n",
-				p ? "" : "Un-", status);
-			return 0;
-		}
-	}
-#endif
-
 #ifdef CONFIG_MTD_NOR_FLASH
 	if (strcmp(argv[2], "all") == 0) {
 		for (bank=1; bank<=CONFIG_SYS_MAX_FLASH_BANKS; ++bank) {
diff --git a/cmd/mem.c b/cmd/mem.c
index 27075e54a9..6775ab7733 100644
--- a/cmd/mem.c
+++ b/cmd/mem.c
@@ -17,9 +17,6 @@
 #include <cli.h>
 #include <command.h>
 #include <console.h>
-#ifdef CONFIG_HAS_DATAFLASH
-#include <dataflash.h>
-#endif
 #include <hash.h>
 #include <inttypes.h>
 #include <mapmem.h>
@@ -52,10 +49,8 @@ static	ulong	base_address = 0;
 #define DISP_LINE_LEN	16
 static int do_mem_md(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
-	ulong	addr, length;
-#if defined(CONFIG_HAS_DATAFLASH)
-	ulong	nbytes, linebytes;
-#endif
+	ulong	addr, length, bytes;
+	const void *buf;
 	int	size;
 	int rc = 0;
 
@@ -88,40 +83,13 @@ static int do_mem_md(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 			length = simple_strtoul(argv[2], NULL, 16);
 	}
 
-#if defined(CONFIG_HAS_DATAFLASH)
-	/* Print the lines.
-	 *
-	 * We buffer all read data, so we can make sure data is read only
-	 * once, and all accesses are with the specified bus width.
-	 */
-	nbytes = length * size;
-	do {
-		char	linebuf[DISP_LINE_LEN];
-		void* p;
-		linebytes = (nbytes>DISP_LINE_LEN)?DISP_LINE_LEN:nbytes;
-
-		rc = read_dataflash(addr, (linebytes/size)*size, linebuf);
-		p = (rc == DATAFLASH_OK) ? linebuf : (void*)addr;
-		print_buffer(addr, p, size, linebytes/size, DISP_LINE_LEN/size);
-
-		nbytes -= linebytes;
-		addr += linebytes;
-		if (ctrlc()) {
-			rc = 1;
-			break;
-		}
-	} while (nbytes > 0);
-#else
-	{
-		ulong bytes = size * length;
-		const void *buf = map_sysmem(addr, bytes);
+	bytes = size * length;
+	buf = map_sysmem(addr, bytes);
 
-		/* Print the lines. */
-		print_buffer(addr, buf, size, length, DISP_LINE_LEN / size);
-		addr += bytes;
-		unmap_sysmem(buf);
-	}
-#endif
+	/* Print the lines. */
+	print_buffer(addr, buf, size, length, DISP_LINE_LEN / size);
+	addr += bytes;
+	unmap_sysmem(buf);
 
 	dp_last_addr = addr;
 	dp_last_length = length;
@@ -286,13 +254,6 @@ static int do_mem_cmp(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 
 	count = simple_strtoul(argv[3], NULL, 16);
 
-#ifdef CONFIG_HAS_DATAFLASH
-	if (addr_dataflash(addr1) | addr_dataflash(addr2)){
-		puts ("Comparison with DataFlash space not supported.\n\r");
-		return 0;
-	}
-#endif
-
 	bytes = size * count;
 	base = buf1 = map_sysmem(addr1, bytes);
 	buf2 = map_sysmem(addr2, bytes);
@@ -370,11 +331,7 @@ static int do_mem_cp(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 
 #ifdef CONFIG_MTD_NOR_FLASH
 	/* check if we are copying to Flash */
-	if ( (addr2info(dest) != NULL)
-#ifdef CONFIG_HAS_DATAFLASH
-	   && (!addr_dataflash(dest))
-#endif
-	   ) {
+	if (addr2info(dest) != NULL) {
 		int rc;
 
 		puts ("Copy to Flash... ");
@@ -389,44 +346,6 @@ static int do_mem_cp(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 	}
 #endif
 
-#ifdef CONFIG_HAS_DATAFLASH
-	/* Check if we are copying from RAM or Flash to DataFlash */
-	if (addr_dataflash(dest) && !addr_dataflash(addr)){
-		int rc;
-
-		puts ("Copy to DataFlash... ");
-
-		rc = write_dataflash (dest, addr, count*size);
-
-		if (rc != 1) {
-			dataflash_perror (rc);
-			return (1);
-		}
-		puts ("done\n");
-		return 0;
-	}
-
-	/* Check if we are copying from DataFlash to RAM */
-	if (addr_dataflash(addr) && !addr_dataflash(dest)
-#ifdef CONFIG_MTD_NOR_FLASH
-				 && (addr2info(dest) == NULL)
-#endif
-	   ){
-		int rc;
-		rc = read_dataflash(addr, count * size, (char *) dest);
-		if (rc != 1) {
-			dataflash_perror (rc);
-			return (1);
-		}
-		return 0;
-	}
-
-	if (addr_dataflash(addr) && addr_dataflash(dest)){
-		puts ("Unsupported combination of source/destination.\n\r");
-		return 1;
-	}
-#endif
-
 	memcpy((void *)dest, (void *)addr, count * size);
 
 	return 0;
@@ -1072,13 +991,6 @@ mod_mem(cmd_tbl_t *cmdtp, int incrflag, int flag, int argc, char * const argv[])
 		addr += base_address;
 	}
 
-#ifdef CONFIG_HAS_DATAFLASH
-	if (addr_dataflash(addr)){
-		puts ("Can't modify DataFlash in place. Use cp instead.\n\r");
-		return 0;
-	}
-#endif
-
 	/* Print the address, followed by value.  Then accept input for
 	 * the next value.  A non-converted value exits.
 	 */
diff --git a/common/board_r.c b/common/board_r.c
index 94697e7bc1..a3b9bfb8ee 100644
--- a/common/board_r.c
+++ b/common/board_r.c
@@ -18,9 +18,6 @@
 #endif
 #include <command.h>
 #include <console.h>
-#ifdef CONFIG_HAS_DATAFLASH
-#include <dataflash.h>
-#endif
 #include <dm.h>
 #include <environment.h>
 #include <fdtdec.h>
@@ -447,15 +444,6 @@ static int initr_mmc(void)
 }
 #endif
 
-#ifdef CONFIG_HAS_DATAFLASH
-static int initr_dataflash(void)
-{
-	AT91F_DataflashInit();
-	dataflash_print_info();
-	return 0;
-}
-#endif
-
 /*
  * Tell if it's OK to load the environment early in boot.
  *
@@ -802,9 +790,6 @@ static init_fnc_t init_sequence_r[] = {
 #endif
 #ifdef CONFIG_MMC
 	initr_mmc,
-#endif
-#ifdef CONFIG_HAS_DATAFLASH
-	initr_dataflash,
 #endif
 	initr_env,
 #ifdef CONFIG_SYS_BOOTPARAMS_LEN
diff --git a/common/image.c b/common/image.c
index 332b5f2843..01f48bf772 100644
--- a/common/image.c
+++ b/common/image.c
@@ -15,10 +15,6 @@
 #include <status_led.h>
 #endif
 
-#ifdef CONFIG_HAS_DATAFLASH
-#include <dataflash.h>
-#endif
-
 #ifdef CONFIG_LOGBUFFER
 #include <logbuff.h>
 #endif
@@ -903,64 +899,6 @@ ulong genimg_get_image(ulong img_addr)
 {
 	ulong ram_addr = img_addr;
 
-#ifdef CONFIG_HAS_DATAFLASH
-	ulong h_size, d_size;
-
-	if (addr_dataflash(img_addr)) {
-		void *buf;
-
-		/* ger RAM address */
-		ram_addr = CONFIG_SYS_LOAD_ADDR;
-
-		/* get header size */
-		h_size = image_get_header_size();
-#if IMAGE_ENABLE_FIT
-		if (sizeof(struct fdt_header) > h_size)
-			h_size = sizeof(struct fdt_header);
-#endif
-
-		/* read in header */
-		debug("   Reading image header from dataflash address "
-			"%08lx to RAM address %08lx\n", img_addr, ram_addr);
-
-		buf = map_sysmem(ram_addr, 0);
-		read_dataflash(img_addr, h_size, buf);
-
-		/* get data size */
-		switch (genimg_get_format(buf)) {
-#if defined(CONFIG_IMAGE_FORMAT_LEGACY)
-		case IMAGE_FORMAT_LEGACY:
-			d_size = image_get_data_size(buf);
-			debug("   Legacy format image found at 0x%08lx, "
-					"size 0x%08lx\n",
-					ram_addr, d_size);
-			break;
-#endif
-#if IMAGE_ENABLE_FIT
-		case IMAGE_FORMAT_FIT:
-			d_size = fit_get_size(buf) - h_size;
-			debug("   FIT/FDT format image found at 0x%08lx, "
-					"size 0x%08lx\n",
-					ram_addr, d_size);
-			break;
-#endif
-		default:
-			printf("   No valid image found at 0x%08lx\n",
-				img_addr);
-			return ram_addr;
-		}
-
-		/* read in image data */
-		debug("   Reading image remaining data from dataflash address "
-			"%08lx to RAM address %08lx\n", img_addr + h_size,
-			ram_addr + h_size);
-
-		read_dataflash(img_addr + h_size, d_size,
-				(char *)(buf + h_size));
-
-	}
-#endif /* CONFIG_HAS_DATAFLASH */
-
 	return ram_addr;
 }
 
diff --git a/drivers/mtd/Makefile b/drivers/mtd/Makefile
index bd680a784f..20c0d0af44 100644
--- a/drivers/mtd/Makefile
+++ b/drivers/mtd/Makefile
@@ -12,10 +12,8 @@ obj-$(CONFIG_MTD) += mtd-uclass.o
 obj-$(CONFIG_MTD_PARTITIONS) += mtdpart.o
 obj-$(CONFIG_MTD_CONCAT) += mtdconcat.o
 obj-$(CONFIG_ALTERA_QSPI) += altera_qspi.o
-obj-$(CONFIG_HAS_DATAFLASH) += at45.o
 obj-$(CONFIG_FLASH_CFI_DRIVER) += cfi_flash.o
 obj-$(CONFIG_FLASH_CFI_MTD) += cfi_mtd.o
-obj-$(CONFIG_HAS_DATAFLASH) += dataflash.o
 obj-$(CONFIG_FTSMC020) += ftsmc020.o
 obj-$(CONFIG_FLASH_CFI_LEGACY) += jedec_flash.o
 obj-$(CONFIG_MW_EEPROM) += mw_eeprom.o
diff --git a/drivers/mtd/at45.c b/drivers/mtd/at45.c
deleted file mode 100644
index 2f49be38b8..0000000000
--- a/drivers/mtd/at45.c
+++ /dev/null
@@ -1,545 +0,0 @@
-/* Driver for ATMEL DataFlash support
- * Author : Hamid Ikdoumi (Atmel)
- *
- * SPDX-License-Identifier:	GPL-2.0+
- */
-
-#include <config.h>
-#include <common.h>
-#include <dataflash.h>
-
-/*
- * spi.c API
- */
-extern unsigned int AT91F_SpiWrite(AT91PS_DataflashDesc pDesc);
-extern void AT91F_SpiEnable(int cs);
-
-#define AT91C_TIMEOUT_WRDY			200000
-
-/*----------------------------------------------------------------------*/
-/* \fn    AT91F_DataFlashSendCommand					*/
-/* \brief Generic function to send a command to the dataflash		*/
-/*----------------------------------------------------------------------*/
-AT91S_DataFlashStatus AT91F_DataFlashSendCommand(AT91PS_DataFlash pDataFlash,
-						 unsigned char OpCode,
-						 unsigned int CmdSize,
-						 unsigned int DataflashAddress)
-{
-	unsigned int adr;
-
-	if ((pDataFlash->pDataFlashDesc->state) != IDLE)
-		return DATAFLASH_BUSY;
-
-	/* process the address to obtain page address and byte address */
-	adr = ((DataflashAddress / (pDataFlash->pDevice->pages_size)) <<
-		pDataFlash->pDevice->page_offset) +
-			(DataflashAddress % (pDataFlash->pDevice->pages_size));
-
-	/* fill the command buffer */
-	pDataFlash->pDataFlashDesc->command[0] = OpCode;
-	if (pDataFlash->pDevice->pages_number >= 16384) {
-		pDataFlash->pDataFlashDesc->command[1] =
-			(unsigned char)((adr & 0x0F000000) >> 24);
-		pDataFlash->pDataFlashDesc->command[2] =
-			(unsigned char)((adr & 0x00FF0000) >> 16);
-		pDataFlash->pDataFlashDesc->command[3] =
-			(unsigned char)((adr & 0x0000FF00) >> 8);
-		pDataFlash->pDataFlashDesc->command[4] =
-			(unsigned char)(adr & 0x000000FF);
-	} else {
-		pDataFlash->pDataFlashDesc->command[1] =
-			(unsigned char)((adr & 0x00FF0000) >> 16);
-		pDataFlash->pDataFlashDesc->command[2] =
-			(unsigned char)((adr & 0x0000FF00) >> 8);
-		pDataFlash->pDataFlashDesc->command[3] =
-			(unsigned char)(adr & 0x000000FF);
-		pDataFlash->pDataFlashDesc->command[4] = 0;
-	}
-	pDataFlash->pDataFlashDesc->command[5] = 0;
-	pDataFlash->pDataFlashDesc->command[6] = 0;
-	pDataFlash->pDataFlashDesc->command[7] = 0;
-
-	/* Initialize the SpiData structure for the spi write fuction */
-	pDataFlash->pDataFlashDesc->tx_cmd_pt =
-		pDataFlash->pDataFlashDesc->command;
-	pDataFlash->pDataFlashDesc->tx_cmd_size = CmdSize;
-	pDataFlash->pDataFlashDesc->rx_cmd_pt =
-		pDataFlash->pDataFlashDesc->command;
-	pDataFlash->pDataFlashDesc->rx_cmd_size = CmdSize;
-
-	/* send the command and read the data */
-	return AT91F_SpiWrite(pDataFlash->pDataFlashDesc);
-}
-
-/*----------------------------------------------------------------------*/
-/* \fn    AT91F_DataFlashGetStatus					*/
-/* \brief Read the status register of the dataflash			*/
-/*----------------------------------------------------------------------*/
-AT91S_DataFlashStatus AT91F_DataFlashGetStatus(AT91PS_DataflashDesc pDesc)
-{
-	AT91S_DataFlashStatus status;
-
-	/* if a transfert is in progress ==> return 0 */
-	if ((pDesc->state) != IDLE)
-		return DATAFLASH_BUSY;
-
-	/* first send the read status command (D7H) */
-	pDesc->command[0] = DB_STATUS;
-	pDesc->command[1] = 0;
-
-	pDesc->DataFlash_state = GET_STATUS;
-	pDesc->tx_data_size = 0;	/* Transmit the command */
-	/* and receive response */
-	pDesc->tx_cmd_pt = pDesc->command;
-	pDesc->rx_cmd_pt = pDesc->command;
-	pDesc->rx_cmd_size = 2;
-	pDesc->tx_cmd_size = 2;
-	status = AT91F_SpiWrite(pDesc);
-
-	pDesc->DataFlash_state = *((unsigned char *)(pDesc->rx_cmd_pt) + 1);
-
-	return status;
-}
-
-/*----------------------------------------------------------------------*/
-/* \fn    AT91F_DataFlashWaitReady					*/
-/* \brief wait for dataflash ready (bit7 of the status register == 1)	*/
-/*----------------------------------------------------------------------*/
-AT91S_DataFlashStatus AT91F_DataFlashWaitReady(AT91PS_DataflashDesc
-						pDataFlashDesc,
-						unsigned int timeout)
-{
-	pDataFlashDesc->DataFlash_state = IDLE;
-
-	do {
-		AT91F_DataFlashGetStatus(pDataFlashDesc);
-		timeout--;
-	} while (((pDataFlashDesc->DataFlash_state & 0x80) != 0x80) &&
-		 (timeout > 0));
-
-	if ((pDataFlashDesc->DataFlash_state & 0x80) != 0x80)
-		return DATAFLASH_ERROR;
-
-	return DATAFLASH_OK;
-}
-
-/*--------------------------------------------------------------------------*/
-/* Function Name       : AT91F_DataFlashContinuousRead			    */
-/* Object              : Continuous stream Read			    */
-/* Input Parameters    : DataFlash Service				    */
-/*						: <src> = dataflash address */
-/*                     : <*dataBuffer> = data buffer pointer		    */
-/*                     : <sizeToRead> = data buffer size		    */
-/* Return value		: State of the dataflash			    */
-/*--------------------------------------------------------------------------*/
-AT91S_DataFlashStatus AT91F_DataFlashContinuousRead(
-				AT91PS_DataFlash pDataFlash,
-				int src,
-				unsigned char *dataBuffer,
-				int sizeToRead)
-{
-	AT91S_DataFlashStatus status;
-	/* Test the size to read in the device */
-	if ((src + sizeToRead) >
-			(pDataFlash->pDevice->pages_size *
-				(pDataFlash->pDevice->pages_number)))
-		return DATAFLASH_MEMORY_OVERFLOW;
-
-	pDataFlash->pDataFlashDesc->rx_data_pt = dataBuffer;
-	pDataFlash->pDataFlashDesc->rx_data_size = sizeToRead;
-	pDataFlash->pDataFlashDesc->tx_data_pt = dataBuffer;
-	pDataFlash->pDataFlashDesc->tx_data_size = sizeToRead;
-
-	status = AT91F_DataFlashSendCommand(
-			pDataFlash, DB_CONTINUOUS_ARRAY_READ, 8, src);
-	/* Send the command to the dataflash */
-	return (status);
-}
-
-/*---------------------------------------------------------------------------*/
-/* Function Name       : AT91F_DataFlashPagePgmBuf			     */
-/* Object              : Main memory page program thru buffer 1 or buffer 2  */
-/* Input Parameters    : DataFlash Service				     */
-/*						: <*src> = Source buffer     */
-/*                     : <dest> = dataflash destination address		     */
-/*                     : <SizeToWrite> = data buffer size		     */
-/* Return value		: State of the dataflash			     */
-/*---------------------------------------------------------------------------*/
-AT91S_DataFlashStatus AT91F_DataFlashPagePgmBuf(AT91PS_DataFlash pDataFlash,
-						unsigned char *src,
-						unsigned int dest,
-						unsigned int SizeToWrite)
-{
-	int cmdsize;
-	pDataFlash->pDataFlashDesc->tx_data_pt = src;
-	pDataFlash->pDataFlashDesc->tx_data_size = SizeToWrite;
-	pDataFlash->pDataFlashDesc->rx_data_pt = src;
-	pDataFlash->pDataFlashDesc->rx_data_size = SizeToWrite;
-
-	cmdsize = 4;
-	/* Send the command to the dataflash */
-	if (pDataFlash->pDevice->pages_number >= 16384)
-		cmdsize = 5;
-	return (AT91F_DataFlashSendCommand(
-			pDataFlash, DB_PAGE_PGM_BUF1, cmdsize, dest));
-}
-
-/*---------------------------------------------------------------------------*/
-/* Function Name       : AT91F_MainMemoryToBufferTransfert		     */
-/* Object              : Read a page in the SRAM Buffer 1 or 2		     */
-/* Input Parameters    : DataFlash Service				     */
-/*                     : Page concerned					     */
-/*                     :						     */
-/* Return value		: State of the dataflash			     */
-/*---------------------------------------------------------------------------*/
-AT91S_DataFlashStatus AT91F_MainMemoryToBufferTransfert(
-					AT91PS_DataFlash
-					pDataFlash,
-					unsigned char
-					BufferCommand,
-					unsigned int page)
-{
-	int cmdsize;
-	/* Test if the buffer command is legal */
-	if ((BufferCommand != DB_PAGE_2_BUF1_TRF) &&
-			(BufferCommand != DB_PAGE_2_BUF2_TRF)) {
-		return DATAFLASH_BAD_COMMAND;
-	}
-
-	/* no data to transmit or receive */
-	pDataFlash->pDataFlashDesc->tx_data_size = 0;
-	cmdsize = 4;
-	if (pDataFlash->pDevice->pages_number >= 16384)
-		cmdsize = 5;
-	return (AT91F_DataFlashSendCommand(
-			pDataFlash, BufferCommand, cmdsize,
-			page * pDataFlash->pDevice->pages_size));
-}
-
-/*-------------------------------------------------------------------------- */
-/* Function Name       : AT91F_DataFlashWriteBuffer			     */
-/* Object              : Write data to the internal sram buffer 1 or 2	     */
-/* Input Parameters    : DataFlash Service				     */
-/*			: <BufferCommand> = command to write buffer1 or 2    */
-/*                     : <*dataBuffer> = data buffer to write		     */
-/*                     : <bufferAddress> = address in the internal buffer    */
-/*                     : <SizeToWrite> = data buffer size		     */
-/* Return value		: State of the dataflash			     */
-/*---------------------------------------------------------------------------*/
-AT91S_DataFlashStatus AT91F_DataFlashWriteBuffer(
-					AT91PS_DataFlash pDataFlash,
-					unsigned char BufferCommand,
-					unsigned char *dataBuffer,
-					unsigned int bufferAddress,
-					int SizeToWrite)
-{
-	int cmdsize;
-	/* Test if the buffer command is legal */
-	if ((BufferCommand != DB_BUF1_WRITE) &&
-			(BufferCommand != DB_BUF2_WRITE)) {
-		return DATAFLASH_BAD_COMMAND;
-	}
-
-	/* buffer address must be lower than page size */
-	if (bufferAddress > pDataFlash->pDevice->pages_size)
-		return DATAFLASH_BAD_ADDRESS;
-
-	if ((pDataFlash->pDataFlashDesc->state) != IDLE)
-		return DATAFLASH_BUSY;
-
-	/* Send first Write Command */
-	pDataFlash->pDataFlashDesc->command[0] = BufferCommand;
-	pDataFlash->pDataFlashDesc->command[1] = 0;
-	if (pDataFlash->pDevice->pages_number >= 16384) {
-		pDataFlash->pDataFlashDesc->command[2] = 0;
-		pDataFlash->pDataFlashDesc->command[3] =
-			(unsigned char)(((unsigned int)(bufferAddress &
-							pDataFlash->pDevice->
-							byte_mask)) >> 8);
-		pDataFlash->pDataFlashDesc->command[4] =
-			(unsigned char)((unsigned int)bufferAddress & 0x00FF);
-		cmdsize = 5;
-	} else {
-		pDataFlash->pDataFlashDesc->command[2] =
-			(unsigned char)(((unsigned int)(bufferAddress &
-							pDataFlash->pDevice->
-							byte_mask)) >> 8);
-		pDataFlash->pDataFlashDesc->command[3] =
-			(unsigned char)((unsigned int)bufferAddress & 0x00FF);
-		pDataFlash->pDataFlashDesc->command[4] = 0;
-		cmdsize = 4;
-	}
-
-	pDataFlash->pDataFlashDesc->tx_cmd_pt =
-		pDataFlash->pDataFlashDesc->command;
-	pDataFlash->pDataFlashDesc->tx_cmd_size = cmdsize;
-	pDataFlash->pDataFlashDesc->rx_cmd_pt =
-		pDataFlash->pDataFlashDesc->command;
-	pDataFlash->pDataFlashDesc->rx_cmd_size = cmdsize;
-
-	pDataFlash->pDataFlashDesc->rx_data_pt = dataBuffer;
-	pDataFlash->pDataFlashDesc->tx_data_pt = dataBuffer;
-	pDataFlash->pDataFlashDesc->rx_data_size = SizeToWrite;
-	pDataFlash->pDataFlashDesc->tx_data_size = SizeToWrite;
-
-	return AT91F_SpiWrite(pDataFlash->pDataFlashDesc);
-}
-
-/*---------------------------------------------------------------------------*/
-/* Function Name       : AT91F_PageErase                                     */
-/* Object              : Erase a page					     */
-/* Input Parameters    : DataFlash Service				     */
-/*                     : Page concerned					     */
-/*                     :						     */
-/* Return value		: State of the dataflash			     */
-/*---------------------------------------------------------------------------*/
-AT91S_DataFlashStatus AT91F_PageErase(
-					AT91PS_DataFlash pDataFlash,
-					unsigned int page)
-{
-	int cmdsize;
-	/* Test if the buffer command is legal */
-	/* no data to transmit or receive */
-	pDataFlash->pDataFlashDesc->tx_data_size = 0;
-
-	cmdsize = 4;
-	if (pDataFlash->pDevice->pages_number >= 16384)
-		cmdsize = 5;
-	return (AT91F_DataFlashSendCommand(pDataFlash,
-				DB_PAGE_ERASE, cmdsize,
-				page * pDataFlash->pDevice->pages_size));
-}
-
-/*---------------------------------------------------------------------------*/
-/* Function Name       : AT91F_BlockErase                                    */
-/* Object              : Erase a Block					     */
-/* Input Parameters    : DataFlash Service				     */
-/*                     : Page concerned					     */
-/*                     :						     */
-/* Return value		: State of the dataflash			     */
-/*---------------------------------------------------------------------------*/
-AT91S_DataFlashStatus AT91F_BlockErase(
-				AT91PS_DataFlash pDataFlash,
-				unsigned int block)
-{
-	int cmdsize;
-	/* Test if the buffer command is legal */
-	/* no data to transmit or receive */
-	pDataFlash->pDataFlashDesc->tx_data_size = 0;
-	cmdsize = 4;
-	if (pDataFlash->pDevice->pages_number >= 16384)
-		cmdsize = 5;
-	return (AT91F_DataFlashSendCommand(pDataFlash, DB_BLOCK_ERASE, cmdsize,
-					block * 8 *
-					pDataFlash->pDevice->pages_size));
-}
-
-/*---------------------------------------------------------------------------*/
-/* Function Name       : AT91F_WriteBufferToMain			     */
-/* Object              : Write buffer to the main memory		     */
-/* Input Parameters    : DataFlash Service				     */
-/*		: <BufferCommand> = command to send to buffer1 or buffer2    */
-/*                     : <dest> = main memory address			     */
-/* Return value		: State of the dataflash			     */
-/*---------------------------------------------------------------------------*/
-AT91S_DataFlashStatus AT91F_WriteBufferToMain(AT91PS_DataFlash pDataFlash,
-					unsigned char BufferCommand,
-					unsigned int dest)
-{
-	int cmdsize;
-	/* Test if the buffer command is correct */
-	if ((BufferCommand != DB_BUF1_PAGE_PGM) &&
-			(BufferCommand != DB_BUF1_PAGE_ERASE_PGM) &&
-			(BufferCommand != DB_BUF2_PAGE_PGM) &&
-			(BufferCommand != DB_BUF2_PAGE_ERASE_PGM))
-		return DATAFLASH_BAD_COMMAND;
-
-	/* no data to transmit or receive */
-	pDataFlash->pDataFlashDesc->tx_data_size = 0;
-
-	cmdsize = 4;
-	if (pDataFlash->pDevice->pages_number >= 16384)
-		cmdsize = 5;
-	/* Send the command to the dataflash */
-	return (AT91F_DataFlashSendCommand(pDataFlash, BufferCommand,
-						cmdsize, dest));
-}
-
-/*---------------------------------------------------------------------------*/
-/* Function Name       : AT91F_PartialPageWrite				     */
-/* Object              : Erase partielly a page				     */
-/* Input Parameters    : <page> = page number				     */
-/*			: <AdrInpage> = adr to begin the fading		     */
-/*                     : <length> = Number of bytes to erase		     */
-/*---------------------------------------------------------------------------*/
-AT91S_DataFlashStatus AT91F_PartialPageWrite(AT91PS_DataFlash pDataFlash,
-					unsigned char *src,
-					unsigned int dest,
-					unsigned int size)
-{
-	unsigned int page;
-	unsigned int AdrInPage;
-
-	page = dest / (pDataFlash->pDevice->pages_size);
-	AdrInPage = dest % (pDataFlash->pDevice->pages_size);
-
-	/* Read the contents of the page in the Sram Buffer */
-	AT91F_MainMemoryToBufferTransfert(pDataFlash, DB_PAGE_2_BUF1_TRF, page);
-	AT91F_DataFlashWaitReady(pDataFlash->pDataFlashDesc,
-				 AT91C_TIMEOUT_WRDY);
-	/*Update the SRAM buffer */
-	AT91F_DataFlashWriteBuffer(pDataFlash, DB_BUF1_WRITE, src,
-					AdrInPage, size);
-
-	AT91F_DataFlashWaitReady(pDataFlash->pDataFlashDesc,
-					AT91C_TIMEOUT_WRDY);
-
-	/* Erase page if a 128 Mbits device */
-	if (pDataFlash->pDevice->pages_number >= 16384) {
-		AT91F_PageErase(pDataFlash, page);
-		/* Rewrite the modified Sram Buffer in the main memory */
-		AT91F_DataFlashWaitReady(pDataFlash->pDataFlashDesc,
-					 AT91C_TIMEOUT_WRDY);
-	}
-
-	/* Rewrite the modified Sram Buffer in the main memory */
-	return (AT91F_WriteBufferToMain(pDataFlash, DB_BUF1_PAGE_ERASE_PGM,
-					(page *
-					 pDataFlash->pDevice->pages_size)));
-}
-
-/*---------------------------------------------------------------------------*/
-/* Function Name       : AT91F_DataFlashWrite				     */
-/* Object              :						     */
-/* Input Parameters    : <*src> = Source buffer				     */
-/*                     : <dest> = dataflash adress			     */
-/*                     : <size> = data buffer size			     */
-/*---------------------------------------------------------------------------*/
-AT91S_DataFlashStatus AT91F_DataFlashWrite(AT91PS_DataFlash pDataFlash,
-						unsigned char *src,
-						int dest, int size)
-{
-	unsigned int length;
-	unsigned int page;
-	unsigned int status;
-
-	AT91F_SpiEnable(pDataFlash->pDevice->cs);
-
-	if ((dest + size) > (pDataFlash->pDevice->pages_size *
-			(pDataFlash->pDevice->pages_number)))
-		return DATAFLASH_MEMORY_OVERFLOW;
-
-	/* If destination does not fit a page start address */
-	if ((dest % ((unsigned int)(pDataFlash->pDevice->pages_size))) != 0) {
-		length =
-			pDataFlash->pDevice->pages_size -
-			(dest % ((unsigned int)(pDataFlash->pDevice->pages_size)));
-
-		if (size < length)
-			length = size;
-
-		if (!AT91F_PartialPageWrite(pDataFlash, src, dest, length))
-			return DATAFLASH_ERROR;
-
-		AT91F_DataFlashWaitReady(pDataFlash->pDataFlashDesc,
-					 AT91C_TIMEOUT_WRDY);
-
-		/* Update size, source and destination pointers */
-		size -= length;
-		dest += length;
-		src += length;
-	}
-
-	while ((size - pDataFlash->pDevice->pages_size) >= 0) {
-		/* program dataflash page */
-		page = (unsigned int)dest / (pDataFlash->pDevice->pages_size);
-
-		status = AT91F_DataFlashWriteBuffer(pDataFlash,
-					DB_BUF1_WRITE, src, 0,
-					pDataFlash->pDevice->
-					pages_size);
-		AT91F_DataFlashWaitReady(pDataFlash->pDataFlashDesc,
-					 AT91C_TIMEOUT_WRDY);
-
-		status = AT91F_PageErase(pDataFlash, page);
-		AT91F_DataFlashWaitReady(pDataFlash->pDataFlashDesc,
-					 AT91C_TIMEOUT_WRDY);
-		if (!status)
-			return DATAFLASH_ERROR;
-
-		status = AT91F_WriteBufferToMain(pDataFlash,
-					 DB_BUF1_PAGE_PGM, dest);
-		if (!status)
-			return DATAFLASH_ERROR;
-
-		AT91F_DataFlashWaitReady(pDataFlash->pDataFlashDesc,
-					 AT91C_TIMEOUT_WRDY);
-
-		/* Update size, source and destination pointers */
-		size -= pDataFlash->pDevice->pages_size;
-		dest += pDataFlash->pDevice->pages_size;
-		src += pDataFlash->pDevice->pages_size;
-	}
-
-	/* If still some bytes to read */
-	if (size > 0) {
-		/* program dataflash page */
-		if (!AT91F_PartialPageWrite(pDataFlash, src, dest, size))
-			return DATAFLASH_ERROR;
-
-		AT91F_DataFlashWaitReady(pDataFlash->pDataFlashDesc,
-					 AT91C_TIMEOUT_WRDY);
-	}
-	return DATAFLASH_OK;
-}
-
-/*---------------------------------------------------------------------------*/
-/* Function Name       : AT91F_DataFlashRead				     */
-/* Object              : Read a block in dataflash			     */
-/* Input Parameters    :						     */
-/* Return value		:						     */
-/*---------------------------------------------------------------------------*/
-int AT91F_DataFlashRead(AT91PS_DataFlash pDataFlash,
-			unsigned long addr, unsigned long size, char *buffer)
-{
-	unsigned long SizeToRead;
-
-	AT91F_SpiEnable(pDataFlash->pDevice->cs);
-
-	if (AT91F_DataFlashWaitReady(pDataFlash->pDataFlashDesc,
-					AT91C_TIMEOUT_WRDY) != DATAFLASH_OK)
-		return -1;
-
-	while (size) {
-		SizeToRead = (size < 0x8000) ? size : 0x8000;
-
-		if (AT91F_DataFlashWaitReady(pDataFlash->pDataFlashDesc,
-					AT91C_TIMEOUT_WRDY) !=
-						DATAFLASH_OK)
-			return -1;
-
-		if (AT91F_DataFlashContinuousRead(pDataFlash, addr,
-						(uchar *) buffer,
-						SizeToRead) != DATAFLASH_OK)
-			return -1;
-
-		size -= SizeToRead;
-		addr += SizeToRead;
-		buffer += SizeToRead;
-	}
-
-	return DATAFLASH_OK;
-}
-
-/*---------------------------------------------------------------------------*/
-/* Function Name       : AT91F_DataflashProbe				     */
-/* Object              :						     */
-/* Input Parameters    :						     */
-/* Return value	       : Dataflash status register			     */
-/*---------------------------------------------------------------------------*/
-int AT91F_DataflashProbe(int cs, AT91PS_DataflashDesc pDesc)
-{
-	AT91F_SpiEnable(cs);
-	AT91F_DataFlashGetStatus(pDesc);
-	return ((pDesc->command[1] == 0xFF) ? 0 : pDesc->command[1] & 0x3C);
-}
diff --git a/drivers/mtd/dataflash.c b/drivers/mtd/dataflash.c
deleted file mode 100644
index e961f518b0..0000000000
--- a/drivers/mtd/dataflash.c
+++ /dev/null
@@ -1,448 +0,0 @@
-/*
- * LowLevel function for ATMEL DataFlash support
- * Author : Hamid Ikdoumi (Atmel)
- *
- * SPDX-License-Identifier:	GPL-2.0+
- */
-#include <common.h>
-#include <config.h>
-#include <asm/hardware.h>
-#include <dataflash.h>
-
-static AT91S_DataFlash DataFlashInst;
-
-extern void AT91F_SpiInit (void);
-extern int AT91F_DataflashProbe (int i, AT91PS_DataflashDesc pDesc);
-extern int AT91F_DataFlashRead (AT91PS_DataFlash pDataFlash,
-				unsigned long addr,
-				unsigned long size, char *buffer);
-extern int AT91F_DataFlashWrite( AT91PS_DataFlash pDataFlash,
-				unsigned char *src,
-				int dest,
-				int size );
-
-int AT91F_DataflashInit (void)
-{
-	int i, j;
-	int dfcode;
-	int part;
-	int found[CONFIG_SYS_MAX_DATAFLASH_BANKS];
-	unsigned char protected;
-
-	AT91F_SpiInit ();
-
-	for (i = 0; i < CONFIG_SYS_MAX_DATAFLASH_BANKS; i++) {
-		found[i] = 0;
-		dataflash_info[i].Desc.state = IDLE;
-		dataflash_info[i].id = 0;
-		dataflash_info[i].Device.pages_number = 0;
-		dfcode = AT91F_DataflashProbe (cs[i].cs,
-				&dataflash_info[i].Desc);
-
-		switch (dfcode) {
-		case AT45DB021:
-			dataflash_info[i].Device.pages_number = 1024;
-			dataflash_info[i].Device.pages_size = 264;
-			dataflash_info[i].Device.page_offset = 9;
-			dataflash_info[i].Device.byte_mask = 0x300;
-			dataflash_info[i].Device.cs = cs[i].cs;
-			dataflash_info[i].Desc.DataFlash_state = IDLE;
-			dataflash_info[i].logical_address = cs[i].addr;
-			dataflash_info[i].id = dfcode;
-			found[i] += dfcode;
-			break;
-
-		case AT45DB081:
-			dataflash_info[i].Device.pages_number = 4096;
-			dataflash_info[i].Device.pages_size = 264;
-			dataflash_info[i].Device.page_offset = 9;
-			dataflash_info[i].Device.byte_mask = 0x300;
-			dataflash_info[i].Device.cs = cs[i].cs;
-			dataflash_info[i].Desc.DataFlash_state = IDLE;
-			dataflash_info[i].logical_address = cs[i].addr;
-			dataflash_info[i].id = dfcode;
-			found[i] += dfcode;
-			break;
-
-		case AT45DB161:
-			dataflash_info[i].Device.pages_number = 4096;
-			dataflash_info[i].Device.pages_size = 528;
-			dataflash_info[i].Device.page_offset = 10;
-			dataflash_info[i].Device.byte_mask = 0x300;
-			dataflash_info[i].Device.cs = cs[i].cs;
-			dataflash_info[i].Desc.DataFlash_state = IDLE;
-			dataflash_info[i].logical_address = cs[i].addr;
-			dataflash_info[i].id = dfcode;
-			found[i] += dfcode;
-			break;
-
-		case AT45DB321:
-			dataflash_info[i].Device.pages_number = 8192;
-			dataflash_info[i].Device.pages_size = 528;
-			dataflash_info[i].Device.page_offset = 10;
-			dataflash_info[i].Device.byte_mask = 0x300;
-			dataflash_info[i].Device.cs = cs[i].cs;
-			dataflash_info[i].Desc.DataFlash_state = IDLE;
-			dataflash_info[i].logical_address = cs[i].addr;
-			dataflash_info[i].id = dfcode;
-			found[i] += dfcode;
-			break;
-
-		case AT45DB642:
-			dataflash_info[i].Device.pages_number = 8192;
-			dataflash_info[i].Device.pages_size = 1056;
-			dataflash_info[i].Device.page_offset = 11;
-			dataflash_info[i].Device.byte_mask = 0x700;
-			dataflash_info[i].Device.cs = cs[i].cs;
-			dataflash_info[i].Desc.DataFlash_state = IDLE;
-			dataflash_info[i].logical_address = cs[i].addr;
-			dataflash_info[i].id = dfcode;
-			found[i] += dfcode;
-			break;
-
-		case AT45DB128:
-			dataflash_info[i].Device.pages_number = 16384;
-			dataflash_info[i].Device.pages_size = 1056;
-			dataflash_info[i].Device.page_offset = 11;
-			dataflash_info[i].Device.byte_mask = 0x700;
-			dataflash_info[i].Device.cs = cs[i].cs;
-			dataflash_info[i].Desc.DataFlash_state = IDLE;
-			dataflash_info[i].logical_address = cs[i].addr;
-			dataflash_info[i].id = dfcode;
-			found[i] += dfcode;
-			break;
-
-		default:
-			dfcode = 0;
-			break;
-		}
-		/* set the last area end to the dataflash size*/
-		dataflash_info[i].end_address =
-				(dataflash_info[i].Device.pages_number *
-				dataflash_info[i].Device.pages_size) - 1;
-
-		part = 0;
-		/* set the area addresses */
-		for(j = 0; j < NB_DATAFLASH_AREA; j++) {
-			if(found[i]!=0) {
-				dataflash_info[i].Device.area_list[j].start =
-					area_list[part].start +
-					dataflash_info[i].logical_address;
-				if(area_list[part].end == 0xffffffff) {
-					dataflash_info[i].Device.area_list[j].end =
-						dataflash_info[i].end_address +
-						dataflash_info[i].logical_address;
-				} else {
-					dataflash_info[i].Device.area_list[j].end =
-						area_list[part].end +
-						dataflash_info[i].logical_address;
-				}
-				protected = area_list[part].protected;
-				/* Set the environment according to the label...*/
-				if(protected == FLAG_PROTECT_INVALID) {
-					dataflash_info[i].Device.area_list[j].protected =
-						FLAG_PROTECT_INVALID;
-				} else {
-					dataflash_info[i].Device.area_list[j].protected =
-						protected;
-				}
-				strcpy((char*)(dataflash_info[i].Device.area_list[j].label),
-						(const char *)area_list[part].label);
-			}
-			part++;
-		}
-	}
-	return found[0];
-}
-
-void AT91F_Dataflashenv_set(void)
-{
-	int i, j;
-	int part;
-	unsigned char env;
-	unsigned char s[32];	/* Will fit a long int in hex */
-	unsigned long start;
-
-	for (i = 0, part= 0; i < CONFIG_SYS_MAX_DATAFLASH_BANKS; i++) {
-		for(j = 0; j < NB_DATAFLASH_AREA; j++) {
-			env = area_list[part].setenv;
-			/* Set the environment according to the label...*/
-			if((env & FLAG_SETENV) == FLAG_SETENV) {
-				start = dataflash_info[i].Device.area_list[j].start;
-				sprintf((char *)s, "%lX", start);
-				env_set((char *)area_list[part].label,
-					(char *)s);
-			}
-			part++;
-		}
-	}
-}
-
-void dataflash_print_info (void)
-{
-	int i, j;
-
-	for (i = 0; i < CONFIG_SYS_MAX_DATAFLASH_BANKS; i++) {
-		if (dataflash_info[i].id != 0) {
-			printf("DataFlash:");
-			switch (dataflash_info[i].id) {
-			case AT45DB021:
-				printf("AT45DB021\n");
-				break;
-			case AT45DB161:
-				printf("AT45DB161\n");
-				break;
-
-			case AT45DB321:
-				printf("AT45DB321\n");
-				break;
-
-			case AT45DB642:
-				printf("AT45DB642\n");
-				break;
-			case AT45DB128:
-				printf("AT45DB128\n");
-				break;
-			}
-
-			printf("Nb pages: %6d\n"
-				"Page Size: %6d\n"
-				"Size=%8d bytes\n"
-				"Logical address: 0x%08X\n",
-				(unsigned int) dataflash_info[i].Device.pages_number,
-				(unsigned int) dataflash_info[i].Device.pages_size,
-				(unsigned int) dataflash_info[i].Device.pages_number *
-				dataflash_info[i].Device.pages_size,
-				(unsigned int) dataflash_info[i].logical_address);
-			for (j = 0; j < NB_DATAFLASH_AREA; j++) {
-				switch(dataflash_info[i].Device.area_list[j].protected) {
-				case	FLAG_PROTECT_SET:
-				case	FLAG_PROTECT_CLEAR:
-					printf("Area %i:\t%08lX to %08lX %s", j,
-						dataflash_info[i].Device.area_list[j].start,
-						dataflash_info[i].Device.area_list[j].end,
-						(dataflash_info[i].Device.area_list[j].protected==FLAG_PROTECT_SET) ? "(RO)" : "    ");
-						printf(" %s\n",	dataflash_info[i].Device.area_list[j].label);
-					break;
-				case	FLAG_PROTECT_INVALID:
-					break;
-				}
-			}
-		}
-	}
-}
-
-/*---------------------------------------------------------------------------*/
-/* Function Name       : AT91F_DataflashSelect				     */
-/* Object              : Select the correct device			     */
-/*---------------------------------------------------------------------------*/
-AT91PS_DataFlash AT91F_DataflashSelect (AT91PS_DataFlash pFlash,
-				unsigned long *addr)
-{
-	char addr_valid = 0;
-	int i;
-
-	for (i = 0; i < CONFIG_SYS_MAX_DATAFLASH_BANKS; i++)
-		if ( dataflash_info[i].id
-			&& ((((int) *addr) & 0xFF000000) ==
-			dataflash_info[i].logical_address)) {
-			addr_valid = 1;
-			break;
-		}
-	if (!addr_valid) {
-		pFlash = (AT91PS_DataFlash) 0;
-		return pFlash;
-	}
-	pFlash->pDataFlashDesc = &(dataflash_info[i].Desc);
-	pFlash->pDevice = &(dataflash_info[i].Device);
-	*addr -= dataflash_info[i].logical_address;
-	return (pFlash);
-}
-
-/*---------------------------------------------------------------------------*/
-/* Function Name       : addr_dataflash					     */
-/* Object              : Test if address is valid			     */
-/*---------------------------------------------------------------------------*/
-int addr_dataflash (unsigned long addr)
-{
-	int addr_valid = 0;
-	int i;
-
-	for (i = 0; i < CONFIG_SYS_MAX_DATAFLASH_BANKS; i++) {
-		if ((((int) addr) & 0xFF000000) ==
-			dataflash_info[i].logical_address) {
-			addr_valid = 1;
-			break;
-		}
-	}
-
-	return addr_valid;
-}
-
-/*---------------------------------------------------------------------------*/
-/* Function Name       : size_dataflash					     */
-/* Object              : Test if address is valid regarding the size	     */
-/*---------------------------------------------------------------------------*/
-int size_dataflash (AT91PS_DataFlash pdataFlash, unsigned long addr,
-			unsigned long size)
-{
-	/* is outside the dataflash */
-	if (((int)addr & 0x0FFFFFFF) > (pdataFlash->pDevice->pages_size *
-		pdataFlash->pDevice->pages_number)) return 0;
-	/* is too large for the dataflash */
-	if (size > ((pdataFlash->pDevice->pages_size *
-		pdataFlash->pDevice->pages_number) -
-		((int)addr & 0x0FFFFFFF))) return 0;
-
-	return 1;
-}
-
-/*---------------------------------------------------------------------------*/
-/* Function Name       : prot_dataflash					     */
-/* Object              : Test if destination area is protected		     */
-/*---------------------------------------------------------------------------*/
-int prot_dataflash (AT91PS_DataFlash pdataFlash, unsigned long addr)
-{
-	int area;
-
-	/* find area */
-	for (area = 0; area < NB_DATAFLASH_AREA; area++) {
-		if ((addr >= pdataFlash->pDevice->area_list[area].start) &&
-			(addr < pdataFlash->pDevice->area_list[area].end))
-			break;
-	}
-	if (area == NB_DATAFLASH_AREA)
-		return -1;
-
-	/*test protection value*/
-	if (pdataFlash->pDevice->area_list[area].protected == FLAG_PROTECT_SET)
-		return 0;
-	if (pdataFlash->pDevice->area_list[area].protected == FLAG_PROTECT_INVALID)
-		return 0;
-
-	return 1;
-}
-
-/*--------------------------------------------------------------------------*/
-/* Function Name       : dataflash_real_protect				    */
-/* Object              : protect/unprotect area				    */
-/*--------------------------------------------------------------------------*/
-int dataflash_real_protect (int flag, unsigned long start_addr,
-				unsigned long end_addr)
-{
-	int i,j, area1, area2, addr_valid = 0;
-
-	/* find dataflash */
-	for (i = 0; i < CONFIG_SYS_MAX_DATAFLASH_BANKS; i++) {
-		if ((((int) start_addr) & 0xF0000000) ==
-			dataflash_info[i].logical_address) {
-				addr_valid = 1;
-				break;
-		}
-	}
-	if (!addr_valid) {
-		return -1;
-	}
-	/* find start area */
-	for (area1 = 0; area1 < NB_DATAFLASH_AREA; area1++) {
-		if (start_addr == dataflash_info[i].Device.area_list[area1].start)
-			break;
-	}
-	if (area1 == NB_DATAFLASH_AREA) return -1;
-	/* find end area */
-	for (area2 = 0; area2 < NB_DATAFLASH_AREA; area2++) {
-		if (end_addr == dataflash_info[i].Device.area_list[area2].end)
-			break;
-	}
-	if (area2 == NB_DATAFLASH_AREA)
-		return -1;
-
-	/*set protection value*/
-	for(j = area1; j < area2 + 1 ; j++)
-		if(dataflash_info[i].Device.area_list[j].protected
-				!= FLAG_PROTECT_INVALID) {
-			if (flag == 0) {
-				dataflash_info[i].Device.area_list[j].protected
-					= FLAG_PROTECT_CLEAR;
-			} else {
-				dataflash_info[i].Device.area_list[j].protected
-					= FLAG_PROTECT_SET;
-			}
-		}
-
-	return (area2 - area1 + 1);
-}
-
-/*---------------------------------------------------------------------------*/
-/* Function Name       : read_dataflash					     */
-/* Object              : dataflash memory read				     */
-/*---------------------------------------------------------------------------*/
-int read_dataflash (unsigned long addr, unsigned long size, char *result)
-{
-	unsigned long AddrToRead = addr;
-	AT91PS_DataFlash pFlash = &DataFlashInst;
-
-	pFlash = AT91F_DataflashSelect (pFlash, &AddrToRead);
-
-	if (pFlash == 0)
-		return ERR_UNKNOWN_FLASH_TYPE;
-
-	if (size_dataflash(pFlash,addr,size) == 0)
-		return ERR_INVAL;
-
-	return (AT91F_DataFlashRead (pFlash, AddrToRead, size, result));
-}
-
-/*---------------------------------------------------------------------------*/
-/* Function Name       : write_dataflash				     */
-/* Object              : write a block in dataflash			     */
-/*---------------------------------------------------------------------------*/
-int write_dataflash (unsigned long addr_dest, unsigned long addr_src,
-			unsigned long size)
-{
-	unsigned long AddrToWrite = addr_dest;
-	AT91PS_DataFlash pFlash = &DataFlashInst;
-
-	pFlash = AT91F_DataflashSelect (pFlash, &AddrToWrite);
-
-	if (pFlash == 0)
-		return ERR_UNKNOWN_FLASH_TYPE;
-
-	if (size_dataflash(pFlash,addr_dest,size) == 0)
-		return ERR_INVAL;
-
-	if (prot_dataflash(pFlash,addr_dest) == 0)
-		return ERR_PROTECTED;
-
-	if (AddrToWrite == -1)
-		return -1;
-
-	return AT91F_DataFlashWrite (pFlash, (uchar *)addr_src,
-						AddrToWrite, size);
-}
-
-void dataflash_perror (int err)
-{
-	switch (err) {
-	case ERR_OK:
-		break;
-	case ERR_TIMOUT:
-		printf("Timeout writing to DataFlash\n");
-		break;
-	case ERR_PROTECTED:
-		printf("Can't write to protected/invalid DataFlash sectors\n");
-		break;
-	case ERR_INVAL:
-		printf("Outside available DataFlash\n");
-		break;
-	case ERR_UNKNOWN_FLASH_TYPE:
-		printf("Unknown Type of DataFlash\n");
-		break;
-	case ERR_PROG_ERROR:
-		printf("General DataFlash Programming Error\n");
-		break;
-	default:
-		printf("%s[%d] FIXME: rc=%d\n", __FILE__, __LINE__, err);
-		break;
-	}
-}
diff --git a/include/dataflash.h b/include/dataflash.h
deleted file mode 100644
index c9f22200cf..0000000000
--- a/include/dataflash.h
+++ /dev/null
@@ -1,205 +0,0 @@
-/*
- * (C) Copyright 2003
- * Data Flash Atmel Description File
- * Author : Hamid Ikdoumi (Atmel)
- *
- * SPDX-License-Identifier:	GPL-2.0+
- */
-
-/* File Name		: dataflash.h					*/
-/* Object		: Data Flash Atmel Description File		*/
-/* Translator		:						*/
-/*									*/
-/* 1.0 03/04/01 HI	: Creation					*/
-/* 1.2 20/10/02 FB	: Adapatation Service and Lib v3		*/
-/*----------------------------------------------------------------------*/
-
-#ifndef _DataFlash_h
-#define _DataFlash_h
-
-
-#include "config.h"
-
-/*number of protected area*/
-#define NB_DATAFLASH_AREA		5
-
-#ifndef CONFIG_MTD_NOR_FLASH
-
-/*-----------------------------------------------------------------------
- * return codes from flash_write():
- */
-# define ERR_OK				0
-# define ERR_TIMOUT			1
-# define ERR_NOT_ERASED			2
-# define ERR_PROTECTED			4
-# define ERR_INVAL			8
-# define ERR_ALIGN			16
-# define ERR_UNKNOWN_FLASH_VENDOR	32
-# define ERR_UNKNOWN_FLASH_TYPE		64
-# define ERR_PROG_ERROR			128
-
-/*-----------------------------------------------------------------------
- * Protection Flags for flash_protect():
- */
-# define FLAG_PROTECT_SET		0x01
-# define FLAG_PROTECT_CLEAR		0x02
-# define FLAG_PROTECT_INVALID		0x03
-
-/*-----------------------------------------------------------------------
- * Set Environment according to label:
- */
-# define	FLAG_SETENV		0x80
-#endif /* CONFIG_MTD_NOR_FLASH */
-
-/*define the area structure*/
-typedef struct {
-	unsigned long start;
-	unsigned long end;
-	unsigned char protected;
-	unsigned char setenv;
-	unsigned char label[20];
-} dataflash_protect_t;
-
-typedef unsigned int AT91S_DataFlashStatus;
-
-/*----------------------------------------------------------------------*/
-/* DataFlash Structures							*/
-/*----------------------------------------------------------------------*/
-
-/*---------------------------------------------*/
-/* DataFlash Descriptor Structure Definition   */
-/*---------------------------------------------*/
-typedef struct _AT91S_DataflashDesc {
-	unsigned char *tx_cmd_pt;
-	unsigned int tx_cmd_size;
-	unsigned char *rx_cmd_pt;
-	unsigned int rx_cmd_size;
-	unsigned char *tx_data_pt;
-	unsigned int tx_data_size;
-	unsigned char *rx_data_pt;
-	unsigned int rx_data_size;
-	volatile unsigned char state;
-	volatile unsigned char DataFlash_state;
-	unsigned char command[8];
-} AT91S_DataflashDesc, *AT91PS_DataflashDesc;
-
-/*---------------------------------------------*/
-/* DataFlash device definition structure       */
-/*---------------------------------------------*/
-typedef struct _AT91S_Dataflash {
-	int pages_number;			/* dataflash page number */
-	int pages_size;				/* dataflash page size */
-	int page_offset;			/* page offset in command */
-	int byte_mask;				/* byte mask in command */
-	int cs;
-	dataflash_protect_t area_list[NB_DATAFLASH_AREA]; /* area protection status */
-} AT91S_DataflashFeatures, *AT91PS_DataflashFeatures;
-
-/*---------------------------------------------*/
-/* DataFlash Structure Definition	       */
-/*---------------------------------------------*/
-typedef struct _AT91S_DataFlash {
-	AT91PS_DataflashDesc pDataFlashDesc;	/* dataflash descriptor */
-	AT91PS_DataflashFeatures pDevice;	/* Pointer on a dataflash features array */
-} AT91S_DataFlash, *AT91PS_DataFlash;
-
-
-typedef struct _AT91S_DATAFLASH_INFO {
-
-	AT91S_DataflashDesc Desc;
-	AT91S_DataflashFeatures Device; /* Pointer on a dataflash features array */
-	unsigned long logical_address;
-	unsigned long end_address;
-	unsigned int id;			/* device id */
-} AT91S_DATAFLASH_INFO, *AT91PS_DATAFLASH_INFO;
-
-struct dataflash_addr {
-	unsigned long addr;
-	int cs;
-};
-/*-------------------------------------------------------------------------------------------------*/
-#define AT45DB161	0x2c
-#define AT45DB021	0x14
-#define AT45DB081	0x24
-#define AT45DB321	0x34
-#define AT45DB642	0x3c
-#define AT45DB128	0x10
-#define	PAGES_PER_BLOCK	8
-
-#define AT91C_DATAFLASH_TIMEOUT		10000	/* For AT91F_DataFlashWaitReady */
-
-/* DataFlash return value */
-#define DATAFLASH_BUSY			0x00
-#define DATAFLASH_OK			0x01
-#define DATAFLASH_ERROR			0x02
-#define DATAFLASH_MEMORY_OVERFLOW	0x03
-#define DATAFLASH_BAD_COMMAND		0x04
-#define DATAFLASH_BAD_ADDRESS		0x05
-
-
-/* Driver State */
-#define IDLE		0x0
-#define BUSY		0x1
-#define ERROR		0x2
-
-/* DataFlash Driver State */
-#define GET_STATUS	0x0F
-
-/*-------------------------------------------------------------------------------------------------*/
-/* Command Definition										   */
-/*-------------------------------------------------------------------------------------------------*/
-
-/* READ COMMANDS */
-#define DB_CONTINUOUS_ARRAY_READ	0xE8	/* Continuous array read */
-#define DB_BURST_ARRAY_READ		0xE8	/* Burst array read */
-#define DB_PAGE_READ			0xD2	/* Main memory page read */
-#define DB_BUF1_READ			0xD4	/* Buffer 1 read */
-#define DB_BUF2_READ			0xD6	/* Buffer 2 read */
-#define DB_STATUS			0xD7	/* Status Register */
-
-/* PROGRAM and ERASE COMMANDS */
-#define DB_BUF1_WRITE			0x84	/* Buffer 1 write */
-#define DB_BUF2_WRITE			0x87	/* Buffer 2 write */
-#define DB_BUF1_PAGE_ERASE_PGM		0x83	/* Buffer 1 to main memory page program with built-In erase */
-#define DB_BUF1_PAGE_ERASE_FASTPGM	0x93	/* Buffer 1 to main memory page program with built-In erase, Fast program */
-#define DB_BUF2_PAGE_ERASE_PGM		0x86	/* Buffer 2 to main memory page program with built-In erase */
-#define DB_BUF2_PAGE_ERASE_FASTPGM	0x96	/* Buffer 1 to main memory page program with built-In erase, Fast program */
-#define DB_BUF1_PAGE_PGM		0x88	/* Buffer 1 to main memory page program without built-In erase */
-#define DB_BUF1_PAGE_FASTPGM		0x98	/* Buffer 1 to main memory page program without built-In erase, Fast program */
-#define DB_BUF2_PAGE_PGM		0x89	/* Buffer 2 to main memory page program without built-In erase */
-#define DB_BUF2_PAGE_FASTPGM		0x99	/* Buffer 1 to main memory page program without built-In erase, Fast program */
-#define DB_PAGE_ERASE			0x81	/* Page Erase */
-#define DB_BLOCK_ERASE			0x50	/* Block Erase */
-#define DB_PAGE_PGM_BUF1		0x82	/* Main memory page through buffer 1 */
-#define DB_PAGE_FASTPGM_BUF1		0x92	/* Main memory page through buffer 1, Fast program */
-#define DB_PAGE_PGM_BUF2		0x85	/* Main memory page through buffer 2 */
-#define DB_PAGE_FastPGM_BUF2		0x95	/* Main memory page through buffer 2, Fast program */
-
-/* ADDITIONAL COMMANDS */
-#define DB_PAGE_2_BUF1_TRF		0x53	/* Main memory page to buffer 1 transfert */
-#define DB_PAGE_2_BUF2_TRF		0x55	/* Main memory page to buffer 2 transfert */
-#define DB_PAGE_2_BUF1_CMP		0x60	/* Main memory page to buffer 1 compare */
-#define DB_PAGE_2_BUF2_CMP		0x61	/* Main memory page to buffer 2 compare */
-#define DB_AUTO_PAGE_PGM_BUF1		0x58	/* Auto page rewrite throught buffer 1 */
-#define DB_AUTO_PAGE_PGM_BUF2		0x59	/* Auto page rewrite throught buffer 2 */
-
-/*-------------------------------------------------------------------------------------------------*/
-
-extern int size_dataflash (AT91PS_DataFlash pdataFlash, unsigned long addr, unsigned long size);
-extern int prot_dataflash (AT91PS_DataFlash pdataFlash, unsigned long addr);
-extern int addr2ram(ulong addr);
-extern int dataflash_real_protect (int flag, unsigned long start_addr, unsigned long end_addr);
-extern int addr_dataflash (unsigned long addr);
-extern int read_dataflash (unsigned long addr, unsigned long size, char *result);
-extern int write_dataflash(unsigned long addr_dest, unsigned long addr_src,
-			unsigned long size);
-extern int AT91F_DataflashInit(void);
-
-extern void dataflash_print_info (void);
-extern void dataflash_perror (int err);
-extern void AT91F_Dataflashenv_set(void);
-
-extern struct dataflash_addr cs[CONFIG_SYS_MAX_DATAFLASH_BANKS];
-extern dataflash_protect_t area_list[NB_DATAFLASH_AREA];
-extern AT91S_DATAFLASH_INFO dataflash_info[];
-#endif
diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt
index 78bcf06878..468b8fd514 100644
--- a/scripts/config_whitelist.txt
+++ b/scripts/config_whitelist.txt
@@ -876,7 +876,6 @@ CONFIG_G_DNL_UMS_VENDOR_NUM
 CONFIG_H264_FREQ
 CONFIG_H8300
 CONFIG_HARD_SPI
-CONFIG_HAS_DATAFLASH
 CONFIG_HAS_ETH0
 CONFIG_HAS_ETH1
 CONFIG_HAS_ETH2
@@ -2610,9 +2609,6 @@ CONFIG_SYS_DA850_PLL1_PLLDIV3
 CONFIG_SYS_DA850_PLL1_PLLM
 CONFIG_SYS_DA850_PLL1_POSTDIV
 CONFIG_SYS_DA850_SYSCFG_SUSPSRC
-CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS1
-CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS2
-CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS3
 CONFIG_SYS_DAVINCI_EMAC_PHY_COUNT
 CONFIG_SYS_DAVINCI_I2C_SLAVE
 CONFIG_SYS_DAVINCI_I2C_SLAVE1
@@ -3722,7 +3718,6 @@ CONFIG_SYS_MATRIX_EBI0CSA_VAL
 CONFIG_SYS_MATRIX_EBICSA_VAL
 CONFIG_SYS_MATRIX_MCFG_REMAP
 CONFIG_SYS_MAXARGS
-CONFIG_SYS_MAX_DATAFLASH_BANKS
 CONFIG_SYS_MAX_DDR_BAT_SIZE
 CONFIG_SYS_MAX_FLASH_BANKS
 CONFIG_SYS_MAX_FLASH_BANKS_DETECT
-- 
2.14.2

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [U-Boot] [PATCH 4/4] common: Remove genimg_get_image()
  2017-10-10 18:59 [U-Boot] [PATCH 0/4] Drop unused legacy DataFlash code Tuomas Tynkkynen
                   ` (2 preceding siblings ...)
  2017-10-10 18:59 ` [U-Boot] [PATCH 3/4] Drop CONFIG_HAS_DATAFLASH Tuomas Tynkkynen
@ 2017-10-10 18:59 ` Tuomas Tynkkynen
  2017-10-17  0:47   ` [U-Boot] [U-Boot,4/4] " Tom Rini
  3 siblings, 1 reply; 10+ messages in thread
From: Tuomas Tynkkynen @ 2017-10-10 18:59 UTC (permalink / raw)
  To: u-boot

Removal of the legacy DataFlash code turned genimg_get_image() into a
no-op. Drop all calls to it and the function itself.

Signed-off-by: Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>
---
 common/bootm.c     |  3 ---
 common/image-fdt.c |  3 ---
 common/image.c     | 27 ---------------------------
 include/image.h    |  1 -
 4 files changed, 34 deletions(-)

diff --git a/common/bootm.c b/common/bootm.c
index 32b3ea8e2d..9493a306cd 100644
--- a/common/bootm.c
+++ b/common/bootm.c
@@ -810,9 +810,6 @@ static const void *boot_get_kernel(cmd_tbl_t *cmdtp, int flag, int argc,
 
 	bootstage_mark(BOOTSTAGE_ID_CHECK_MAGIC);
 
-	/* copy from dataflash if needed */
-	img_addr = genimg_get_image(img_addr);
-
 	/* check image type, for FIT images get FIT kernel node */
 	*os_data = *os_len = 0;
 	buf = map_sysmem(img_addr, 0);
diff --git a/common/image-fdt.c b/common/image-fdt.c
index a2ef409836..1e946467e3 100644
--- a/common/image-fdt.c
+++ b/common/image-fdt.c
@@ -294,9 +294,6 @@ int boot_get_fdt(int flag, int argc, char * const argv[], uint8_t arch,
 		debug("## Checking for 'FDT'/'FDT Image' at %08lx\n",
 		      fdt_addr);
 
-		/* copy from dataflash if needed */
-		fdt_addr = genimg_get_image(fdt_addr);
-
 		/*
 		 * Check if there is an FDT image at the
 		 * address provided in the second bootm argument
diff --git a/common/image.c b/common/image.c
index 01f48bf772..06fdca129c 100644
--- a/common/image.c
+++ b/common/image.c
@@ -385,9 +385,6 @@ void image_print_contents(const void *ptr)
  * flag. Verification done covers data and header integrity and os/type/arch
  * fields checking.
  *
- * If dataflash support is enabled routine checks for dataflash addresses
- * and handles required dataflash reads.
- *
  * returns:
  *     pointer to a ramdisk image header, if image was found and valid
  *     otherwise, return NULL
@@ -885,23 +882,6 @@ int genimg_get_format(const void *img_addr)
 	return IMAGE_FORMAT_INVALID;
 }
 
-/**
- * genimg_get_image - get image from special storage (if necessary)
- * @img_addr: image start address
- *
- * genimg_get_image() checks if provided image start address is located
- * in a dataflash storage. If so, image is moved to a system RAM memory.
- *
- * returns:
- *     image start address after possible relocation from special storage
- */
-ulong genimg_get_image(ulong img_addr)
-{
-	ulong ram_addr = img_addr;
-
-	return ram_addr;
-}
-
 /**
  * fit_has_config - check if there is a valid FIT configuration
  * @images: pointer to the bootm command headers structure
@@ -1034,9 +1014,6 @@ int boot_get_ramdisk(int argc, char * const argv[], bootm_headers_t *images,
 		}
 #endif
 
-		/* copy from dataflash if needed */
-		rd_addr = genimg_get_image(rd_addr);
-
 		/*
 		 * Check if there is an initrd image at the
 		 * address provided in the second bootm argument
@@ -1268,10 +1245,8 @@ int boot_get_fpga(int argc, char * const argv[], bootm_headers_t *images,
 
 	/*
 	 * Obtain the os FIT header from the images struct
-	 * copy from dataflash if needed
 	 */
 	tmp_img_addr = map_to_sysmem(images->fit_hdr_os);
-	tmp_img_addr = genimg_get_image(tmp_img_addr);
 	buf = map_sysmem(tmp_img_addr, 0);
 	/*
 	 * Check image type. For FIT images get FIT node
@@ -1380,10 +1355,8 @@ int boot_get_loadable(int argc, char * const argv[], bootm_headers_t *images,
 
 	/*
 	 * Obtain the os FIT header from the images struct
-	 * copy from dataflash if needed
 	 */
 	tmp_img_addr = map_to_sysmem(images->fit_hdr_os);
-	tmp_img_addr = genimg_get_image(tmp_img_addr);
 	buf = map_sysmem(tmp_img_addr, 0);
 	/*
 	 * Check image type. For FIT images get FIT node
diff --git a/include/image.h b/include/image.h
index 93451dd8a4..127cfc5148 100644
--- a/include/image.h
+++ b/include/image.h
@@ -558,7 +558,6 @@ ulong genimg_get_kernel_addr_fit(char * const img_addr,
 ulong genimg_get_kernel_addr(char * const img_addr);
 int genimg_get_format(const void *img_addr);
 int genimg_has_config(bootm_headers_t *images);
-ulong genimg_get_image(ulong img_addr);
 
 int boot_get_fpga(int argc, char * const argv[], bootm_headers_t *images,
 		uint8_t arch, const ulong *ld_start, ulong * const ld_len);
-- 
2.14.2

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [U-Boot] [PATCH 2/4] spi: Drop CONFIG_ATMEL_DATAFLASH_SPI
  2017-10-10 18:59 ` [U-Boot] [PATCH 2/4] spi: Drop CONFIG_ATMEL_DATAFLASH_SPI Tuomas Tynkkynen
@ 2017-10-11  9:34   ` Yang, Wenyou
  2017-10-17  0:47   ` [U-Boot] [U-Boot,2/4] " Tom Rini
  1 sibling, 0 replies; 10+ messages in thread
From: Yang, Wenyou @ 2017-10-11  9:34 UTC (permalink / raw)
  To: u-boot

Hi Tuomas,


On 2017/10/11 2:59, Tuomas Tynkkynen wrote:
> Last user of this option went away in commit:
>
> fdc7718999 ("board: usb_a9263: Update to support DT and DM")
It is okay for me.
Acked-by: Wenyou Yang <wenyou.yang@microchip.com>
>
> Signed-off-by: Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>
> ---
>   drivers/spi/Makefile              |   1 -
>   drivers/spi/atmel_dataflash_spi.c | 184 --------------------------------------
>   2 files changed, 185 deletions(-)
>   delete mode 100644 drivers/spi/atmel_dataflash_spi.c
>
> diff --git a/drivers/spi/Makefile b/drivers/spi/Makefile
> index cd7c7556a7..ad56203cd6 100644
> --- a/drivers/spi/Makefile
> +++ b/drivers/spi/Makefile
> @@ -17,7 +17,6 @@ endif
>   
>   obj-$(CONFIG_ALTERA_SPI) += altera_spi.o
>   obj-$(CONFIG_ATH79_SPI) += ath79_spi.o
> -obj-$(CONFIG_ATMEL_DATAFLASH_SPI) += atmel_dataflash_spi.o
>   obj-$(CONFIG_ATMEL_SPI) += atmel_spi.o
>   obj-$(CONFIG_CADENCE_QSPI) += cadence_qspi.o cadence_qspi_apb.o
>   obj-$(CONFIG_CF_SPI) += cf_spi.o
> diff --git a/drivers/spi/atmel_dataflash_spi.c b/drivers/spi/atmel_dataflash_spi.c
> deleted file mode 100644
> index a2e9c00ea6..0000000000
> --- a/drivers/spi/atmel_dataflash_spi.c
> +++ /dev/null
> @@ -1,184 +0,0 @@
> -/*
> - * Driver for ATMEL DataFlash support
> - * Author : Hamid Ikdoumi (Atmel)
> - *
> - * SPDX-License-Identifier:	GPL-2.0+
> - */
> -
> -/*
> - * This driver desperately needs rework:
> - *
> - * - use structure SoC access
> - * - get rid of including asm/arch/at91_spi.h
> - * - remove asm/arch/at91_spi.h
> - * - get rid of all CONFIG_ATMEL_LEGACY defines and uses
> - *
> - * 02-Aug-2010 Reinhard Meyer <uboot@emk-elektronik.de>
> - */
> -
> -#include <common.h>
> -#ifndef CONFIG_ATMEL_LEGACY
> -# define CONFIG_ATMEL_LEGACY
> -#endif
> -#include <spi.h>
> -#include <malloc.h>
> -
> -#include <asm/io.h>
> -
> -#include <asm/arch/clk.h>
> -#include <asm/arch/hardware.h>
> -
> -#include "atmel_spi.h"
> -
> -#include <asm/arch/gpio.h>
> -#include <asm/arch/at91_pio.h>
> -#include <asm/arch/at91_spi.h>
> -
> -#include <dataflash.h>
> -
> -#define AT91_SPI_PCS0_DATAFLASH_CARD	0xE	/* Chip Select 0: NPCS0%1110 */
> -#define AT91_SPI_PCS1_DATAFLASH_CARD	0xD	/* Chip Select 1: NPCS1%1101 */
> -#define AT91_SPI_PCS2_DATAFLASH_CARD	0xB	/* Chip Select 2: NPCS2%1011 */
> -#define AT91_SPI_PCS3_DATAFLASH_CARD	0x7	/* Chip Select 3: NPCS3%0111 */
> -
> -void AT91F_SpiInit(void)
> -{
> -	/* Reset the SPI */
> -	writel(AT91_SPI_SWRST, ATMEL_BASE_SPI0 + AT91_SPI_CR);
> -
> -	/* Configure SPI in Master Mode with No CS selected !!! */
> -	writel(AT91_SPI_MSTR | AT91_SPI_MODFDIS | AT91_SPI_PCS,
> -	       ATMEL_BASE_SPI0 + AT91_SPI_MR);
> -
> -	/* Configure CS0 */
> -	writel(AT91_SPI_NCPHA |
> -	       (AT91_SPI_DLYBS & DATAFLASH_TCSS) |
> -	       (AT91_SPI_DLYBCT & DATAFLASH_TCHS) |
> -	       ((get_mck_clk_rate() / AT91_SPI_CLK) << 8),
> -	       ATMEL_BASE_SPI0 + AT91_SPI_CSR(0));
> -
> -#ifdef CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS1
> -	/* Configure CS1 */
> -	writel(AT91_SPI_NCPHA |
> -	       (AT91_SPI_DLYBS & DATAFLASH_TCSS) |
> -	       (AT91_SPI_DLYBCT & DATAFLASH_TCHS) |
> -	       ((get_mck_clk_rate() / AT91_SPI_CLK) << 8),
> -	       ATMEL_BASE_SPI0 + AT91_SPI_CSR(1));
> -#endif
> -#ifdef CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS2
> -	/* Configure CS2 */
> -	writel(AT91_SPI_NCPHA |
> -	       (AT91_SPI_DLYBS & DATAFLASH_TCSS) |
> -	       (AT91_SPI_DLYBCT & DATAFLASH_TCHS) |
> -	       ((get_mck_clk_rate() / AT91_SPI_CLK) << 8),
> -	       ATMEL_BASE_SPI0 + AT91_SPI_CSR(2));
> -#endif
> -#ifdef CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS3
> -	/* Configure CS3 */
> -	writel(AT91_SPI_NCPHA |
> -	       (AT91_SPI_DLYBS & DATAFLASH_TCSS) |
> -	       (AT91_SPI_DLYBCT & DATAFLASH_TCHS) |
> -	       ((get_mck_clk_rate() / AT91_SPI_CLK) << 8),
> -	       ATMEL_BASE_SPI0 + AT91_SPI_CSR(3));
> -#endif
> -
> -	/* SPI_Enable */
> -	writel(AT91_SPI_SPIEN, ATMEL_BASE_SPI0 + AT91_SPI_CR);
> -
> -	while (!(readl(ATMEL_BASE_SPI0 + AT91_SPI_SR) & AT91_SPI_SPIENS))
> -		;
> -
> -	/*
> -	 * Add tempo to get SPI in a safe state.
> -	 * Should not be needed for new silicon (Rev B)
> -	 */
> -	udelay(500000);
> -	readl(ATMEL_BASE_SPI0 + AT91_SPI_SR);
> -	readl(ATMEL_BASE_SPI0 + AT91_SPI_RDR);
> -
> -}
> -
> -void AT91F_SpiEnable(int cs)
> -{
> -	unsigned long mode;
> -
> -	mode = readl(ATMEL_BASE_SPI0 + AT91_SPI_MR);
> -	mode &= ~AT91_SPI_PCS;
> -
> -	switch (cs) {
> -	case 0:
> -		mode |= AT91_SPI_PCS0_DATAFLASH_CARD << 16;
> -		break;
> -	case 1:
> -		mode |= AT91_SPI_PCS1_DATAFLASH_CARD << 16;
> -		break;
> -	case 2:
> -		mode |= AT91_SPI_PCS2_DATAFLASH_CARD << 16;
> -		break;
> -	case 3:
> -		mode |= AT91_SPI_PCS3_DATAFLASH_CARD << 16;
> -		break;
> -	}
> -
> -	writel(mode, ATMEL_BASE_SPI0 + AT91_SPI_MR);
> -
> -	/* SPI_Enable */
> -	writel(AT91_SPI_SPIEN, ATMEL_BASE_SPI0 + AT91_SPI_CR);
> -}
> -
> -unsigned int AT91F_SpiWrite1(AT91PS_DataflashDesc pDesc);
> -
> -unsigned int AT91F_SpiWrite(AT91PS_DataflashDesc pDesc)
> -{
> -	unsigned int timeout;
> -	unsigned int timebase;
> -
> -	pDesc->state = BUSY;
> -
> -	writel(AT91_SPI_TXTDIS + AT91_SPI_RXTDIS,
> -		ATMEL_BASE_SPI0 + AT91_SPI_PTCR);
> -
> -	/* Initialize the Transmit and Receive Pointer */
> -	writel((unsigned int)pDesc->rx_cmd_pt,
> -		ATMEL_BASE_SPI0 + AT91_SPI_RPR);
> -	writel((unsigned int)pDesc->tx_cmd_pt,
> -		ATMEL_BASE_SPI0 + AT91_SPI_TPR);
> -
> -	/* Intialize the Transmit and Receive Counters */
> -	writel(pDesc->rx_cmd_size, ATMEL_BASE_SPI0 + AT91_SPI_RCR);
> -	writel(pDesc->tx_cmd_size, ATMEL_BASE_SPI0 + AT91_SPI_TCR);
> -
> -	if (pDesc->tx_data_size != 0) {
> -		/* Initialize the Next Transmit and Next Receive Pointer */
> -		writel((unsigned int)pDesc->rx_data_pt,
> -			ATMEL_BASE_SPI0 + AT91_SPI_RNPR);
> -		writel((unsigned int)pDesc->tx_data_pt,
> -			ATMEL_BASE_SPI0 + AT91_SPI_TNPR);
> -
> -		/* Intialize the Next Transmit and Next Receive Counters */
> -		writel(pDesc->rx_data_size,
> -			ATMEL_BASE_SPI0 + AT91_SPI_RNCR);
> -		writel(pDesc->tx_data_size,
> -			ATMEL_BASE_SPI0 + AT91_SPI_TNCR);
> -	}
> -
> -	/* arm simple, non interrupt dependent timer */
> -	timebase = get_timer(0);
> -	timeout = 0;
> -
> -	writel(AT91_SPI_TXTEN + AT91_SPI_RXTEN,
> -		ATMEL_BASE_SPI0 + AT91_SPI_PTCR);
> -	while (!(readl(ATMEL_BASE_SPI0 + AT91_SPI_SR) & AT91_SPI_RXBUFF) &&
> -		((timeout = get_timer(timebase)) < CONFIG_SYS_SPI_WRITE_TOUT))
> -		;
> -	writel(AT91_SPI_TXTDIS + AT91_SPI_RXTDIS,
> -		ATMEL_BASE_SPI0 + AT91_SPI_PTCR);
> -	pDesc->state = IDLE;
> -
> -	if (timeout >= CONFIG_SYS_SPI_WRITE_TOUT) {
> -		printf("Error Timeout\n\r");
> -		return DATAFLASH_ERROR;
> -	}
> -
> -	return DATAFLASH_OK;
> -}

Best Regards,
Wenyou Yang

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot] [U-Boot,1/4] env: Drop CONFIG_ENV_IS_IN_DATAFLASH
  2017-10-10 18:59 ` [U-Boot] [PATCH 1/4] env: Drop CONFIG_ENV_IS_IN_DATAFLASH Tuomas Tynkkynen
@ 2017-10-17  0:47   ` Tom Rini
  0 siblings, 0 replies; 10+ messages in thread
From: Tom Rini @ 2017-10-17  0:47 UTC (permalink / raw)
  To: u-boot

On Tue, Oct 10, 2017 at 09:59:40PM +0300, Tuomas Tynkkynen wrote:

> Last user of this option went away in commit:
> 
> fdc7718999 ("board: usb_a9263: Update to support DT and DM")
> 
> Signed-off-by: Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20171016/3c3dfeb0/attachment.sig>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot] [U-Boot,2/4] spi: Drop CONFIG_ATMEL_DATAFLASH_SPI
  2017-10-10 18:59 ` [U-Boot] [PATCH 2/4] spi: Drop CONFIG_ATMEL_DATAFLASH_SPI Tuomas Tynkkynen
  2017-10-11  9:34   ` Yang, Wenyou
@ 2017-10-17  0:47   ` Tom Rini
  1 sibling, 0 replies; 10+ messages in thread
From: Tom Rini @ 2017-10-17  0:47 UTC (permalink / raw)
  To: u-boot

On Tue, Oct 10, 2017 at 09:59:41PM +0300, Tuomas Tynkkynen wrote:

> Last user of this option went away in commit:
> 
> fdc7718999 ("board: usb_a9263: Update to support DT and DM")
> 
> Signed-off-by: Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>
> Acked-by: Wenyou Yang <wenyou.yang@microchip.com>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20171016/458572af/attachment.sig>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot] [U-Boot,3/4] Drop CONFIG_HAS_DATAFLASH
  2017-10-10 18:59 ` [U-Boot] [PATCH 3/4] Drop CONFIG_HAS_DATAFLASH Tuomas Tynkkynen
@ 2017-10-17  0:47   ` Tom Rini
  0 siblings, 0 replies; 10+ messages in thread
From: Tom Rini @ 2017-10-17  0:47 UTC (permalink / raw)
  To: u-boot

On Tue, Oct 10, 2017 at 09:59:42PM +0300, Tuomas Tynkkynen wrote:

> Last user of this option went away in commit:
> 
> fdc7718999 ("board: usb_a9263: Update to support DT and DM")
> 
> Signed-off-by: Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20171016/a896b6e0/attachment.sig>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [U-Boot] [U-Boot,4/4] common: Remove genimg_get_image()
  2017-10-10 18:59 ` [U-Boot] [PATCH 4/4] common: Remove genimg_get_image() Tuomas Tynkkynen
@ 2017-10-17  0:47   ` Tom Rini
  0 siblings, 0 replies; 10+ messages in thread
From: Tom Rini @ 2017-10-17  0:47 UTC (permalink / raw)
  To: u-boot

On Tue, Oct 10, 2017 at 09:59:43PM +0300, Tuomas Tynkkynen wrote:

> Removal of the legacy DataFlash code turned genimg_get_image() into a
> no-op. Drop all calls to it and the function itself.
> 
> Signed-off-by: Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20171016/c4cd52f0/attachment.sig>

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2017-10-17  0:47 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-10-10 18:59 [U-Boot] [PATCH 0/4] Drop unused legacy DataFlash code Tuomas Tynkkynen
2017-10-10 18:59 ` [U-Boot] [PATCH 1/4] env: Drop CONFIG_ENV_IS_IN_DATAFLASH Tuomas Tynkkynen
2017-10-17  0:47   ` [U-Boot] [U-Boot,1/4] " Tom Rini
2017-10-10 18:59 ` [U-Boot] [PATCH 2/4] spi: Drop CONFIG_ATMEL_DATAFLASH_SPI Tuomas Tynkkynen
2017-10-11  9:34   ` Yang, Wenyou
2017-10-17  0:47   ` [U-Boot] [U-Boot,2/4] " Tom Rini
2017-10-10 18:59 ` [U-Boot] [PATCH 3/4] Drop CONFIG_HAS_DATAFLASH Tuomas Tynkkynen
2017-10-17  0:47   ` [U-Boot] [U-Boot,3/4] " Tom Rini
2017-10-10 18:59 ` [U-Boot] [PATCH 4/4] common: Remove genimg_get_image() Tuomas Tynkkynen
2017-10-17  0:47   ` [U-Boot] [U-Boot,4/4] " Tom Rini

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox