[PATCH V1 0/1] MTD/SPI-NOR: Add new device

Victor vlim at gigadevice.com
Fri Oct 17 05:57:18 CEST 2025


GD25B512 with ID C8401A
This is a 3V 512Mbit SPI NOR Flash.
Link to the datasheet: 
https://download.gigadevice.com/Datasheet/DS-00975-GD25B512MF-Rev1.1.pdf

Tested on Xilinx Zynq-7000, on Digilent Arty-Z7
This is the test result.

--------------------------------------------------------------------------------
[10/15/2025, 8:46:26 PM]: Program flash with id '0a43e5cf-2f94-46e0-b1de-35692e4c9b52' started.
--------------------------------------------------------------------------------
program_flash -f /home/victorlim/Desktop/vivadoPrj/ZynqP00/xqspips_flash_intr_example/BOOT.bin -offset 0 -flash_type qspi-x4-single -fsbl /home/victorlim/Desktop/vivadoPrj/ZynqP00/platform/zynq_fsbl/build/fsbl.elf -blank_check -verify -url TCP:127.0.0.1:3121
****** Program Flash
****** Program Flash v2025.1 (64-bit)
  **** SW Build 6140146 on Wed May 21 17:37:51 MDT 2025
  **** IP Build 6138677 on Thu May 22 03:10:11 MDT 2025
  **** SharedData Build 6139179 on Tue May 20 17:58:58 MDT 2025
  **** Start of session at: Wed Oct 15 20:46:29 2025
    ** Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
    ** Copyright 2022-2025 Advanced Micro Devices, Inc. All Rights Reserved.

Connected to hw_server @ TCP:127.0.0.1:3121

Target not specified. Selecting target_id 2 (arm_dap) by default.

Retrieving Flash info...

Initialization done
Using default mini u-boot image file - /media/victorlim/WDC500G/Tools/Xilinx/2025.1/Vitis/data/xicom/cfgmem/uboot/zynq_qspi_x4_single.bin
BOOT_MODE REG = 0x00000000
Downloading FSBL...
Running FSBL...
Finished running FSBL.
READ: ARM_PLL_CFG (0xF8000110) = 0x001772C0
READ: ARM_PLL_CTRL (0xF8000100) = 0x0001A008
READ: ARM_CLK_CTRL (0xF8000120) = 0x1F000200
READ: IO_PLL_CFG (0xF8000118) = 0x001F42C0
READ: IO_PLL_CTRL (0xF8000108) = 0x00014008
Info:  Remapping 256KB of on-chip-memory RAM memory to 0xFFFC0000.
MASKWRITE: addr=0xF8000008, mask=0x0000FFFF, newData=0x0000DF0D
MASKWRITE: addr=0xF8000004, mask=0x0000FFFF, newData=0x0000767B

U-Boot 2025.10-00642-g2ba64e303b27-dirty (Oct 15 2025 - 20:45:29 -0700)

Model: Zynq CSE QSPI SINGLE Board
DRAM:  256 KiB
WARNING: Caches not enabled
Core:  8 devices, 7 uclasses, devicetree: embed
Loading Environment from <NULL>... OK
In:    dcc
Out:   dcc
Err:   dcc
Zynq> sf probe 0 0 0

SF: Detected gd25b512 with page size 256 Bytes, erase size 64 KiB, total 64 MiB
Zynq> Sector size = 65536.
WARNING: [Xicom 50-353] WARNING: Flash Mismatched. If flash programming fails, select the correct Flash and try again.
Selected Flash: qspi-x4-single
Detected Flash: gd25b512
f probe 0 0 0

Performing Erase Operation...
sf erase 0 70000

SF: 458752 bytes @ 0x0 Erased: OK
Zynq> Erase Operation successful.
INFO: [Xicom 50-44] Elapsed time = 1 sec.
Performing Blank Check Operation...
0%...sf read FFFC0000 0 8000

device 0 offset 0x0, size 0x8000
SF: 32768 bytes @ 0x0 Read: OK
Zynq> cmp.b FFFC0000 FFFC8000 8000

Total of 32768 byte(s) were the same
Zynq> sf read FFFC0000 8000 8000

device 0 offset 0x8000, size 0x8000
SF: 32768 bytes @ 0x8000 Read: OK
Zynq> cmp.b FFFC0000 FFFC8000 8000

Total of 32768 byte(s) were the same
Zynq> sf read FFFC0000 10000 8000

device 0 offset 0x10000, size 0x8000
SF: 32768 bytes @ 0x10000 Read: OK
Zynq> cmp.b FFFC0000 FFFC8000 8000

Total of 32768 byte(s) were the same
Zynq> sf read FFFC0000 18000 8000

device 0 offset 0x18000, size 0x8000
SF: 32768 bytes @ 0x18000 Read: OK
Zynq> cmp.b FFFC0000 FFFC8000 8000

Total of 32768 byte(s) were the same
Zynq> sf read FFFC0000 20000 8000

device 0 offset 0x20000, size 0x8000
SF: 32768 bytes @ 0x20000 Read: OK
Zynq> cmp.b FFFC0000 FFFC8000 8000

Total of 32768 byte(s) were the same
Zynq> sf read FFFC0000 28000 8000

device 0 offset 0x28000, size 0x8000
SF: 32768 bytes @ 0x28000 Read: OK
Zynq> cmp.b FFFC0000 FFFC8000 8000

Total of 32768 byte(s) were the same
Zynq> 50%...sf read FFFC0000 30000 8000

device 0 offset 0x30000, size 0x8000
SF: 32768 bytes @ 0x30000 Read: OK
Zynq> cmp.b FFFC0000 FFFC8000 8000

Total of 32768 byte(s) were the same
Zynq> sf read FFFC0000 38000 8000

device 0 offset 0x38000, size 0x8000
SF: 32768 bytes @ 0x38000 Read: OK
Zynq> cmp.b FFFC0000 FFFC8000 8000

Total of 32768 byte(s) were the same
Zynq> sf read FFFC0000 40000 8000

device 0 offset 0x40000, size 0x8000
SF: 32768 bytes @ 0x40000 Read: OK
Zynq> cmp.b FFFC0000 FFFC8000 8000

Total of 32768 byte(s) were the same
Zynq> sf read FFFC0000 48000 8000

device 0 offset 0x48000, size 0x8000
SF: 32768 bytes @ 0x48000 Read: OK
Zynq> cmp.b FFFC0000 FFFC8000 8000

Total of 32768 byte(s) were the same
Zynq> sf read FFFC0000 50000 8000

device 0 offset 0x50000, size 0x8000
SF: 32768 bytes @ 0x50000 Read: OK
Zynq> cmp.b FFFC0000 FFFC8000 8000

Total of 32768 byte(s) were the same
Zynq> sf read FFFC0000 58000 8000

device 0 offset 0x58000, size 0x8000
SF: 32768 bytes @ 0x58000 Read: OK
Zynq> cmp.b FFFC0000 FFFC8000 8000

Total of 32768 byte(s) were the same
Zynq> 100%
sf read FFFC0000 60000 3488

device 0 offset 0x60000, size 0x3488
SF: 13448 bytes @ 0x60000 Read: OK
Zynq> cmp.b FFFC0000 FFFC8000 3488

Total of 13448 byte(s) were the same
Zynq> INFO: [Xicom 50-44] Elapsed time = 2 sec.
Blank Check Operation successful. The part is blank.
Performing Program Operation...
0%...sf write FFFC0000 0 10000

device 0 offset 0x0, size 0x10000
SF: 65536 bytes @ 0x0 Written: OK
Zynq> sf write FFFC0000 10000 10000

device 0 offset 0x10000, size 0x10000
SF: 65536 bytes @ 0x10000 Written: OK
Zynq> sf write FFFC0000 20000 10000

device 0 offset 0x20000, size 0x10000
SF: 65536 bytes @ 0x20000 Written: OK
Zynq> 50%...sf write FFFC0000 30000 10000

device 0 offset 0x30000, size 0x10000
SF: 65536 bytes @ 0x30000 Written: OK
Zynq> sf write FFFC0000 40000 10000

device 0 offset 0x40000, size 0x10000
SF: 65536 bytes @ 0x40000 Written: OK
Zynq> sf write FFFC0000 50000 10000

device 0 offset 0x50000, size 0x10000
SF: 65536 bytes @ 0x50000 Written: OK
Zynq> 100%
sf write FFFC0000 60000 3488

device 0 offset 0x60000, size 0x3488
SF: 13448 bytes @ 0x60000 Written: OK
Zynq> Program Operation successful.
INFO: [Xicom 50-44] Elapsed time = 2 sec.
Performing Verify Operation...
0%...sf read FFFC0000 0 8000

device 0 offset 0x0, size 0x8000
SF: 32768 bytes @ 0x0 Read: OK
Zynq> cmp.b FFFC0000 FFFC8000 8000

Total of 32768 byte(s) were the same
Zynq> sf read FFFC0000 8000 8000

device 0 offset 0x8000, size 0x8000
SF: 32768 bytes @ 0x8000 Read: OK
Zynq> cmp.b FFFC0000 FFFC8000 8000

Total of 32768 byte(s) were the same
Zynq> sf read FFFC0000 10000 8000

device 0 offset 0x10000, size 0x8000
SF: 32768 bytes @ 0x10000 Read: OK
Zynq> cmp.b FFFC0000 FFFC8000 8000

Total of 32768 byte(s) were the same
Zynq> sf read FFFC0000 18000 8000

device 0 offset 0x18000, size 0x8000
SF: 32768 bytes @ 0x18000 Read: OK
Zynq> cmp.b FFFC0000 FFFC8000 8000

Total of 32768 byte(s) were the same
Zynq> sf read FFFC0000 20000 8000

device 0 offset 0x20000, size 0x8000
SF: 32768 bytes @ 0x20000 Read: OK
Zynq> cmp.b FFFC0000 FFFC8000 8000

Total of 32768 byte(s) were the same
Zynq> sf read FFFC0000 28000 8000

device 0 offset 0x28000, size 0x8000
SF: 32768 bytes @ 0x28000 Read: OK
Zynq> cmp.b FFFC0000 FFFC8000 8000

Total of 32768 byte(s) were the same
Zynq> 50%...sf read FFFC0000 30000 8000

device 0 offset 0x30000, size 0x8000
SF: 32768 bytes @ 0x30000 Read: OK
Zynq> cmp.b FFFC0000 FFFC8000 8000

Total of 32768 byte(s) were the same
Zynq> sf read FFFC0000 38000 8000

device 0 offset 0x38000, size 0x8000
SF: 32768 bytes @ 0x38000 Read: OK
Zynq> cmp.b FFFC0000 FFFC8000 8000

Total of 32768 byte(s) were the same
Zynq> sf read FFFC0000 40000 8000

device 0 offset 0x40000, size 0x8000
SF: 32768 bytes @ 0x40000 Read: OK
Zynq> cmp.b FFFC0000 FFFC8000 8000

Total of 32768 byte(s) were the same
Zynq> sf read FFFC0000 48000 8000

device 0 offset 0x48000, size 0x8000
SF: 32768 bytes @ 0x48000 Read: OK
Zynq> cmp.b FFFC0000 FFFC8000 8000

Total of 32768 byte(s) were the same
Zynq> sf read FFFC0000 50000 8000

device 0 offset 0x50000, size 0x8000
SF: 32768 bytes @ 0x50000 Read: OK
Zynq> cmp.b FFFC0000 FFFC8000 8000

Total of 32768 byte(s) were the same
Zynq> sf read FFFC0000 58000 8000

device 0 offset 0x58000, size 0x8000
SF: 32768 bytes @ 0x58000 Read: OK
Zynq> cmp.b FFFC0000 FFFC8000 8000

Total of 32768 byte(s) were the same
Zynq> 100%
sf read FFFC0000 60000 3488

device 0 offset 0x60000, size 0x3488
SF: 13448 bytes @ 0x60000 Read: OK
Zynq> cmp.b FFFC0000 FFFC8000 3488

Total of 13448 byte(s) were the same
Zynq> INFO: [Xicom 50-44] Elapsed time = 3 sec.
Verify Operation successful.

Flash Operation Successful

Program flash finished.
--------------------------------------------------------------------------------
[10/15/2025, 8:46:46 PM]: Program flash with id '0a43e5cf-2f94-46e0-b1de-35692e4c9b52' ended.

Victor (1):
  MTD/SPI-NOR: Add new device

 drivers/mtd/spi/spi-nor-ids.c | 2 ++
 1 file changed, 2 insertions(+)

-- 
2.34.1



More information about the U-Boot mailing list