flash/nor/bl602: add bl602 flash driver

Initial release of Flash bank driver for Bouffalo chips.
The driver currently supports BL602, BL702, BL702L series of chips.
Similar SFlash core is inside of BL808, BL606P and BL616 series,
so those might be supported in future as well.

With adapter speed set to 8000, it can reach speed 140 KiB/s.

Since chips have eXecute In Place support, and they also require
boot config in Flash at offset 0x0, it's required to have properly
crafted linker script, so OpenOCD knows where to write firmware
through gdb.

There is required flash bank parameter, which specifies the chip type.
This is required because BL702 and BL702L have same TAP ID CODE, and
there are no usable indicators to use for automatic chip type
recognition in the chip.

Change-Id: Id57336d447be3c608b39ba3ed143527bfdc0af98
Signed-off-by: Marek Kraus <gamelaster@outlook.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/8527
Tested-by: jenkins
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
This commit is contained in:
Marek Kraus
2024-10-21 20:22:08 +02:00
committed by Antonio Borneo
parent 3e86eaaf7d
commit df2eb07086
9 changed files with 807 additions and 1 deletions

View File

@@ -24,6 +24,8 @@ set CPUTAPID 0x20000e05
set WORKAREAADDR 0x22014000
set WORKAREASIZE 0xC000
set FLASH_CHIP_TYPE bl702
source [find target/bl602_common.cfg]
# JTAG reset is broken. Read comment of bl602_sw_reset_hbn_wait function for more information