aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOleksij Rempel <linux@rempel-privat.de>2018-12-26 12:47:11 +0100
committerTomas Vanek <vanekt@fbl.cz>2019-01-02 21:53:41 +0000
commit8f777bc1a66b5f604fde8bbdbe64206413c8aa1c (patch)
tree968c75c1e586b5c7a7d841e7033b31d250e52876
parent08e64a828c10d5583162aa59266eef9507520401 (diff)
downloadriscv-openocd-8f777bc1a66b5f604fde8bbdbe64206413c8aa1c.zip
riscv-openocd-8f777bc1a66b5f604fde8bbdbe64206413c8aa1c.tar.gz
riscv-openocd-8f777bc1a66b5f604fde8bbdbe64206413c8aa1c.tar.bz2
flash: nor: ath79: remove base calculation
Currently it is impossible to flash ELF with correct offsets. The reason is a bogus offset calculation extracted from base. Since any other spi drivers do not care about base, do the same for ath79 as well. Change-Id: I9e46e01c9e7a709c2d07da9203c634f302603afd Signed-off-by: Oleksij Rempel <linux@rempel-privat.de> Reviewed-on: http://openocd.zylin.com/4821 Tested-by: jenkins Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
-rw-r--r--doc/openocd.texi4
-rw-r--r--src/flash/nor/ath79.c14
-rw-r--r--tcl/board/8devices-lima.cfg2
-rw-r--r--tcl/board/dptechnics_dpt-board-v1.cfg2
-rw-r--r--tcl/board/tp-link_tl-mr3020.cfg2
-rw-r--r--tcl/board/tp-link_wdr4300.cfg2
6 files changed, 6 insertions, 20 deletions
diff --git a/doc/openocd.texi b/doc/openocd.texi
index 83f6052..21b55dc 100644
--- a/doc/openocd.texi
+++ b/doc/openocd.texi
@@ -5347,12 +5347,12 @@ since the alternate function must be enabled on the GPIO pin
CS1/CS2 is routed to on the given SoC.
@example
-flash bank $_FLASHNAME ath79 0 0 0 0 $_TARGETNAME
+flash bank $_FLASHNAME ath79 0xbf000000 0 0 0 $_TARGETNAME
# When using multiple chipselects the base should be different for each,
# otherwise the write_image command is not able to distinguish the
# banks.
-flash bank flash0 ath79 0x00000000 0 0 0 $_TARGETNAME cs0
+flash bank flash0 ath79 0xbf000000 0 0 0 $_TARGETNAME cs0
flash bank flash1 ath79 0x10000000 0 0 0 $_TARGETNAME cs1
flash bank flash2 ath79 0x20000000 0 0 0 $_TARGETNAME cs2
@end example
diff --git a/src/flash/nor/ath79.c b/src/flash/nor/ath79.c
index d73a491..520f6c5 100644
--- a/src/flash/nor/ath79.c
+++ b/src/flash/nor/ath79.c
@@ -653,13 +653,6 @@ static int ath79_write(struct flash_bank *bank, const uint8_t *buffer,
LOG_DEBUG("%s: offset=0x%08" PRIx32 " count=0x%08" PRIx32,
__func__, offset, count);
- if (offset < bank->base || offset >= bank->base + bank->size) {
- LOG_ERROR("Start address out of range");
- return ERROR_FAIL;
- }
-
- offset -= bank->base;
-
if (target->state != TARGET_HALTED) {
LOG_ERROR("Target not halted");
return ERROR_TARGET_NOT_HALTED;
@@ -729,13 +722,6 @@ static int ath79_read(struct flash_bank *bank, uint8_t *buffer,
LOG_DEBUG("%s: offset=0x%08" PRIx32 " count=0x%08" PRIx32,
__func__, offset, count);
- if (offset < bank->base || offset >= bank->base + bank->size) {
- LOG_ERROR("Start address out of range");
- return ERROR_FAIL;
- }
-
- offset -= bank->base;
-
if (target->state != TARGET_HALTED) {
LOG_ERROR("Target not halted");
return ERROR_TARGET_NOT_HALTED;
diff --git a/tcl/board/8devices-lima.cfg b/tcl/board/8devices-lima.cfg
index 136f861..0d35cfb 100644
--- a/tcl/board/8devices-lima.cfg
+++ b/tcl/board/8devices-lima.cfg
@@ -27,4 +27,4 @@ $_TARGETNAME configure -event reset-init {
set ram_boot_address 0xa0000000
$_TARGETNAME configure -work-area-phys 0xa1FFE000 -work-area-size 0x1000
-flash bank flash0 ath79 0 0 0 0 $_TARGETNAME cs0
+flash bank flash0 ath79 0xbf000000 0 0 0 $_TARGETNAME cs0
diff --git a/tcl/board/dptechnics_dpt-board-v1.cfg b/tcl/board/dptechnics_dpt-board-v1.cfg
index de31c7c..21470b0 100644
--- a/tcl/board/dptechnics_dpt-board-v1.cfg
+++ b/tcl/board/dptechnics_dpt-board-v1.cfg
@@ -29,4 +29,4 @@ $_TARGETNAME configure -event reset-init {
set ram_boot_address 0xa0000000
$_TARGETNAME configure -work-area-phys 0xa1FFE000 -work-area-size 0x1000
-flash bank flash0 ath79 0 0 0 0 $_TARGETNAME cs0
+flash bank flash0 ath79 0xbf000000 0 0 0 $_TARGETNAME cs0
diff --git a/tcl/board/tp-link_tl-mr3020.cfg b/tcl/board/tp-link_tl-mr3020.cfg
index 48fb698..366bec8 100644
--- a/tcl/board/tp-link_tl-mr3020.cfg
+++ b/tcl/board/tp-link_tl-mr3020.cfg
@@ -9,4 +9,4 @@ $_TARGETNAME configure -event reset-init {
set ram_boot_address 0xa0000000
$_TARGETNAME configure -work-area-phys 0xa1FFE000 -work-area-size 0x1000
-flash bank flash0 ath79 0 0 0 0 $_TARGETNAME cs0
+flash bank flash0 ath79 0xbf000000 0 0 0 $_TARGETNAME cs0
diff --git a/tcl/board/tp-link_wdr4300.cfg b/tcl/board/tp-link_wdr4300.cfg
index c317916..7aa79ab 100644
--- a/tcl/board/tp-link_wdr4300.cfg
+++ b/tcl/board/tp-link_wdr4300.cfg
@@ -157,4 +157,4 @@ $_TARGETNAME configure -event reset-init {
set ram_boot_address 0xa0000000
$_TARGETNAME configure -work-area-phys 0x1d000000 -work-area-size 0x1000
-flash bank flash0 ath79 0 0 0 0 $_TARGETNAME cs0
+flash bank flash0 ath79 0xbf000000 0 0 0 $_TARGETNAME cs0