static int spi_flash_bank(struct spi_flash *flash, u32 addr, u8 *bank_sel)
{
*bank_sel = addr / SPI_FLASH_16MB_BOUN;
- if ((flash->spi->is_dual == 1) && (flash->spi->u_page == 1))
+ if ((flash->spi->is_dual == MODE_DUAL_STACKED) &&
+ (flash->spi->u_page == 1))
*bank_sel -= ((flash->size / 2) / SPI_FLASH_16MB_BOUN);
return spi_flash_cmd_bankaddr_write(flash, *bank_sel);
unsigned long flags = SPI_XFER_BEGIN;
int ret;
- if ((spi->is_dual == 1) && (spi->u_page == 1))
+ if ((spi->is_dual == MODE_DUAL_STACKED) && (spi->u_page == 1))
flags |= SPI_FLASH_U_PAGE;
if (data_len == 0)
cmd[0] = CMD_PAGE_PROGRAM;
for (actual = 0; actual < len; actual += chunk_len) {
write_addr = offset;
- if (flash->spi->is_dual == 2)
+ if (flash->spi->is_dual == MODE_DUAL_PARALLEL)
write_addr /= 2;
- if (flash->spi->is_dual == 1) {
+ if (flash->spi->is_dual == MODE_DUAL_STACKED) {
if (offset >= (flash->size / 2))
flash->spi->u_page = 1;
else
memcpy(data, flash->memory_map + offset, len);
bank_boun = SPI_FLASH_16MB_BOUN;
- if (flash->spi->is_dual == 2)
+ if (flash->spi->is_dual == MODE_DUAL_PARALLEL)
bank_boun = SPI_FLASH_16MB_BOUN >> 1;
cmd[0] = CMD_READ_ARRAY_FAST;
while (len) {
read_addr = offset;
- if (flash->spi->is_dual == 2)
+ if (flash->spi->is_dual == MODE_DUAL_PARALLEL)
read_addr /= 2;
- if (flash->spi->is_dual == 1) {
+ if (flash->spi->is_dual == MODE_DUAL_STACKED) {
if (read_addr >= (flash->size / 2))
flash->spi->u_page = 1;
else
while (len) {
erase_addr = offset;
- if (flash->spi->is_dual == 2)
+ if (flash->spi->is_dual == MODE_DUAL_PARALLEL)
erase_addr /= 2;
- if (flash->spi->is_dual == 1) {
+ if (flash->spi->is_dual == MODE_DUAL_STACKED) {
if (offset >= (flash->size / 2))
flash->spi->u_page = 1;
else
puts("\n");
flash->idcode0 = *idp;
- if (((flash->spi->is_dual == 0) &&
+ if (((flash->spi->is_dual == MODE_SINGLE) &&
(flash->size > SPI_FLASH_16MB_BOUN)) ||
- (((flash->spi->is_dual == 1) ||
- (flash->spi->is_dual == 2)) &&
+ (((flash->spi->is_dual == MODE_DUAL_STACKED) ||
+ (flash->spi->is_dual == MODE_DUAL_PARALLEL)) &&
((flash->size / 2) > SPI_FLASH_16MB_BOUN))) {
if (spi_flash_cmd_bankaddr_read(flash, &curr_bank)) {
debug("SF: fail to read bank addr register\n");
#include <malloc.h>
#include <ubi_uboot.h>
#include <spi.h>
+#include <spi_flash.h>
#include <asm/io.h>
#include <asm/arch/hardware.h>
#include <asm/arch/sys_proto.h>
#define XQSPIPS_MIO_NUM_QSPI1 5
#define XQSPIPS_MIO_NUM_QSPI1_CS 1
-/* QSPI connections topology */
-enum xqspips_con_topology {
- MODE_UNKNOWN = -1,
- MODE_SINGLE,
- MODE_DUAL_STACKED,
- MODE_DUAL_PARALLEL,
-};
-
/* Definitions of the flash commands - Flash opcodes in ascending order */
#define XQSPIPS_FLASH_OPCODE_WRSR 0x01 /* Write status register */
#define XQSPIPS_FLASH_OPCODE_PP 0x02 /* Page program */