aboutsummaryrefslogtreecommitdiff
path: root/src/flash/nor
diff options
context:
space:
mode:
authorChristopher Head <chead@zaber.com>2018-10-30 14:45:11 -0700
committerTomas Vanek <vanekt@fbl.cz>2019-04-10 16:36:54 +0100
commit6aae614cc2072e0d45bc32213595286ccbd32248 (patch)
tree6142bd9dbc37085b35b68aa594922a16b1dbc324 /src/flash/nor
parent6f04bc1568445052b7135b801366c327786a3efe (diff)
downloadriscv-openocd-6aae614cc2072e0d45bc32213595286ccbd32248.zip
riscv-openocd-6aae614cc2072e0d45bc32213595286ccbd32248.tar.gz
riscv-openocd-6aae614cc2072e0d45bc32213595286ccbd32248.tar.bz2
flash/stm32h7x: include IO_HSLV in user3_options
Bit 29 of OPTSR is IO_HSLV. It ought to be read in stm32x_read_options and written in stm32x_write_options. Adjust the bitmasks to do this. Change-Id: I785a5291c991c98b774177f960dc58f2b5e045e2 Signed-off-by: Christopher Head <chead@zaber.com> Reviewed-on: http://openocd.zylin.com/4745 Tested-by: jenkins Reviewed-by: Tarek BOCHKATI <tarek.bouchkati@gmail.com> Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
Diffstat (limited to 'src/flash/nor')
-rw-r--r--src/flash/nor/stm32h7x.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/flash/nor/stm32h7x.c b/src/flash/nor/stm32h7x.c
index ce89bb4..8bcc29c 100644
--- a/src/flash/nor/stm32h7x.c
+++ b/src/flash/nor/stm32h7x.c
@@ -321,7 +321,7 @@ static int stm32x_read_options(struct flash_bank *bank)
stm32x_info->option_bytes.user_options = optiondata & 0xfc;
stm32x_info->option_bytes.RDP = (optiondata >> 8) & 0xff;
stm32x_info->option_bytes.user2_options = (optiondata >> 16) & 0xff;
- stm32x_info->option_bytes.user3_options = (optiondata >> 24) & 0x83;
+ stm32x_info->option_bytes.user3_options = (optiondata >> 24) & 0xa3;
if (stm32x_info->option_bytes.RDP != 0xAA)
LOG_INFO("Device Security Bit Set");
@@ -357,7 +357,7 @@ static int stm32x_write_options(struct flash_bank *bank)
optiondata = stm32x_info->option_bytes.user_options;
optiondata |= (stm32x_info->option_bytes.RDP << 8);
optiondata |= (stm32x_info->option_bytes.user2_options & 0xff) << 16;
- optiondata |= (stm32x_info->option_bytes.user3_options & 0x83) << 24;
+ optiondata |= (stm32x_info->option_bytes.user3_options & 0xa3) << 24;
/* program options */
retval = target_write_u32(target, FLASH_REG_BASE_B0 + FLASH_OPTPRG, optiondata);