From 6aae614cc2072e0d45bc32213595286ccbd32248 Mon Sep 17 00:00:00 2001 From: Christopher Head Date: Tue, 30 Oct 2018 14:45:11 -0700 Subject: [PATCH] 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 Reviewed-on: http://openocd.zylin.com/4745 Tested-by: jenkins Reviewed-by: Tarek BOCHKATI Reviewed-by: Tomas Vanek --- src/flash/nor/stm32h7x.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/flash/nor/stm32h7x.c b/src/flash/nor/stm32h7x.c index ce89bb446b..8bcc29cb11 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); -- 2.30.2