pif: fix flash address range.
This commit is contained in:
parent
4cb44ffc72
commit
7e04b31e65
|
@ -106,9 +106,7 @@ static int write_byte( struct jtdev *p,
|
||||||
read_words(p, aligned, 2, data);
|
read_words(p, aligned, 2, data);
|
||||||
data[addr & 1] = value;
|
data[addr & 1] = value;
|
||||||
|
|
||||||
if ( (addr >= 0x1000 && addr <= 0x10ff)
|
if ( ADDR_IN_FLASH(addr) ) {
|
||||||
||
|
|
||||||
addr >= 0x4000) {
|
|
||||||
/* program in FLASH */
|
/* program in FLASH */
|
||||||
write_flash_block(p, aligned, 2, data);
|
write_flash_block(p, aligned, 2, data);
|
||||||
} else {
|
} else {
|
||||||
|
@ -212,9 +210,7 @@ static int pif_writemem( device_t dev_base,
|
||||||
|
|
||||||
/* Write aligned blocks */
|
/* Write aligned blocks */
|
||||||
while (len >= 2) {
|
while (len >= 2) {
|
||||||
if ( (addr >= 0x1000 && addr <= 0x10ff)
|
if ( ADDR_IN_FLASH(addr) ) {
|
||||||
||
|
|
||||||
addr >= 0x4000) {
|
|
||||||
if (write_flash_block(&dev->jtag, addr, len & ~1, mem) < 0)
|
if (write_flash_block(&dev->jtag, addr, len & ~1, mem) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
addr += len & ~1;
|
addr += len & ~1;
|
||||||
|
|
|
@ -28,6 +28,8 @@
|
||||||
|
|
||||||
#include "device.h"
|
#include "device.h"
|
||||||
|
|
||||||
|
#define ADDR_IN_FLASH(a) ( (a) >= 0x1000 )
|
||||||
|
|
||||||
/* pif implementation */
|
/* pif implementation */
|
||||||
extern const struct device_class device_pif;
|
extern const struct device_class device_pif;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue