Attempts to discover the device model during flash loading appear to fail
for unknown reasons. Switch to basing the memory page size on the total
memory size, which should be just as reliable.
Signed-off-by: Keith Packard <keithp@keithp.com>
static uint32_t
stm_flash_page_size(void)
{
- uint16_t dev_id = stm_dev_id();
+ uint16_t f_size = stm_flash_data.f_size;
- switch (dev_id) {
- case 0x412: /* low-density devices */
- case 0x410: /* medium-density devices */
+ if (f_size <= 128) {
+ /* low-density and medium-density devices */
return 1024;
- case 0x414: /* high-density devices */
- case 0x430: /* XL-density devices */
- case 0x418: /* Connectivity devices */
+ } else {
+ /*
+ * high-density devices, XL-density devices and
+ * Connectivity devices
+ */
return 2048;
}
- ao_panic(AO_PANIC_FLASH);
- return 0;
}
void