+static int s6e2dh_probe(struct flash_bank *bank)
+{
+ uint32_t flash_addr = bank->base;
+ int i;
+
+ bank->num_sectors = 10;
+ bank->sectors = calloc(bank->num_sectors,
+ sizeof(struct flash_sector));
+ for (i = 0; i < bank->num_sectors; i++) {
+ if (i < 4)
+ bank->sectors[i].size = 8 * 1024;
+ else if (i == 4)
+ bank->sectors[i].size = 32 * 1024;
+ else
+ bank->sectors[i].size = 64 * 1024;
+ bank->sectors[i].offset = flash_addr - bank->base;
+ bank->sectors[i].is_erased = -1;
+ bank->sectors[i].is_protected = -1;
+
+ bank->size += bank->sectors[i].size;
+ flash_addr += bank->sectors[i].size;
+ }
+
+ return ERROR_OK;
+}
+