]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
zynq: cfi: Fix nor issue for Zynq
authorSiva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
Tue, 18 Jul 2017 07:21:31 +0000 (12:51 +0530)
committerMichal Simek <michal.simek@xilinx.com>
Tue, 2 Feb 2021 12:49:32 +0000 (13:49 +0100)
There is a hack needed in cfi_flash.c for zynq
This patch adds back the same through defconfig
to get NOR working on zynq.

Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
State: not-upstreamable

arch/arm/mach-zynq/Kconfig
configs/xilinx_zynq_virt_defconfig
configs/zynq_cse_nor_defconfig
drivers/mtd/cfi_flash.c

index e54310383b2965016202203adeff0b0ebb5834f2..c76517e3118a96500cbaca0cf6d2c55c80854d3f 100644 (file)
@@ -67,6 +67,13 @@ config BOOT_INIT_FILE
          Add register writes to boot.bin format (max 256 pairs).
          Expect a table of register-value pairs, e.g. "0x12345678 0x4321"
 
+config ZYNQ_M29EW_WB_HACK
+       bool "Zynq NOR hack"
+       default n
+       help
+         The option provides hack for Zynq NOR driver which is required
+         for NOR operations to work as expected.
+
 config ZYNQ_SDHCI_MAX_FREQ
        default 52000000
 
index 552f1b4dfb94c3059fa5eb355492c3d56ae441f7..73e07adc761ea5d30e8681001ebabc9115696a32 100644 (file)
@@ -8,6 +8,7 @@ CONFIG_SYS_SPI_U_BOOT_OFFS=0x100000
 CONFIG_DM_GPIO=y
 CONFIG_SPL_STACK_R_ADDR=0x200000
 CONFIG_SPL=y
+CONFIG_ZYNQ_M29EW_WB_HACK=y
 CONFIG_CMD_FRU=y
 CONFIG_CMD_ZYNQ_AES=y
 CONFIG_DEFAULT_DEVICE_TREE="zynq-zc706"
index 3e614dfc86f2f10a44a25406fbc84cd5d29fa684..41bbb9ee1580fa7454cf1689303f7a5c192cf657 100644 (file)
@@ -8,6 +8,7 @@ CONFIG_ENV_SIZE=0x190
 CONFIG_SYS_MALLOC_LEN=0x1000
 CONFIG_SPL_STACK_R_ADDR=0x200000
 CONFIG_SPL=y
+CONFIG_ZYNQ_M29EW_WB_HACK=y
 CONFIG_DEFAULT_DEVICE_TREE="zynq-cse-nor"
 CONFIG_SYS_CUSTOM_LDSCRIPT=y
 CONFIG_SYS_LDSCRIPT="arch/arm/mach-zynq/u-boot.lds"
index 9e3a652f44513c15bfa5c3b2c091623d361a9e3a..28f8226a5423b5e62ec428e881285aa6c81614ba 100644 (file)
@@ -2263,6 +2263,9 @@ ulong flash_get_size(phys_addr_t base, int banknum)
                }
 
                info->sector_count = sect_cnt;
+#ifdef CONFIG_ZYNQ_M29EW_WB_HACK
+               qry.max_buf_write_size = 0x8;
+#endif
                info->buffer_size = 1 << le16_to_cpu(qry.max_buf_write_size);
                tmp = 1 << qry.block_erase_timeout_typ;
                info->erase_blk_tout = tmp *