X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=src%2Fflash%2Fnor%2Fstm32h7x.c;fp=src%2Fflash%2Fnor%2Fstm32h7x.c;h=52e3e0e87a4a9cb8d33174b1acaa2245bd61f422;hp=ac7d7594810627a72548bde16a816b8b10ca9d02;hb=35e580373a77438f2832974b1f0dc36863dc3f03;hpb=67008e1bea2dd1a89d77802b892d3390e8a55455
diff --git a/src/flash/nor/stm32h7x.c b/src/flash/nor/stm32h7x.c
index ac7d759481..52e3e0e87a 100644
--- a/src/flash/nor/stm32h7x.c
+++ b/src/flash/nor/stm32h7x.c
@@ -147,7 +147,11 @@ static const struct stm32h7x_rev stm32_480_revs[] = {
{ 0x1000, "A"},
};
-static uint32_t stm32x_compute_flash_cr_450(uint32_t cmd, int snb)
+static const struct stm32h7x_rev stm32_483_revs[] = {
+ { 0x1000, "A" }, { 0x1001, "Z" },
+};
+
+static uint32_t stm32x_compute_flash_cr_450_483(uint32_t cmd, int snb)
{
return cmd | (snb << 8);
}
@@ -177,7 +181,7 @@ static const struct stm32h7x_part_info stm32h7x_parts[] = {
.fsize_addr = 0x1FF1E880,
.wps_group_size = 1,
.wps_mask = 0xFF,
- .compute_flash_cr = stm32x_compute_flash_cr_450,
+ .compute_flash_cr = stm32x_compute_flash_cr_450_483,
},
{
.id = 0x480,
@@ -194,6 +198,21 @@ static const struct stm32h7x_part_info stm32h7x_parts[] = {
.wps_mask = 0xFFFFFFFF,
.compute_flash_cr = stm32x_compute_flash_cr_480,
},
+ {
+ .id = 0x483,
+ .revs = stm32_483_revs,
+ .num_revs = ARRAY_SIZE(stm32_483_revs),
+ .device_str = "STM32H72x/73x",
+ .page_size_kb = 128,
+ .block_size = 32,
+ .max_flash_size_kb = 1024,
+ .max_bank_size_kb = 1024,
+ .has_dual_bank = false,
+ .fsize_addr = 0x1FF1E880,
+ .wps_group_size = 1,
+ .wps_mask = 0xFF,
+ .compute_flash_cr = stm32x_compute_flash_cr_450_483,
+ },
};
/* flash bank stm32x 0 0 */
@@ -804,6 +823,8 @@ static int stm32x_probe(struct flash_bank *bank)
/* flash size is 2M or 1M */
flash_size_in_kb /= 2;
break;
+ case 0x483:
+ break;
default:
LOG_ERROR("unsupported device");
return ERROR_FAIL;