include internal flash and use ARM Cortex-M4 cores.
The @var{fm4} driver uses a @var{family} parameter to select the
correct bank config, it can currently be one of the following:
-@code{MB9BFx66}, @code{MB9BFx67}, @code{MB9BFx68},
+@code{MB9BFx64}, @code{MB9BFx65}, @code{MB9BFx66}, @code{MB9BFx67}, @code{MB9BFx68},
@code{S6E2Cx8}, @code{S6E2Cx9} or @code{S6E2CxA},
with @code{x} treated as wildcard and otherwise case (and any trailing
characters) ignored.
*
* Based on S6E2CC_MN709-00007 for S6E2CC/C5/C4/C3/C2/C1 series
* Based on MB9B560R_MN709-00005 for MB9BFx66/x67/x68 series
+ * Based on MB9B560L_MN709-00006 for MB9BFx64/x65/x66 series
*/
#ifdef HAVE_CONFIG_H
#define WDG_LCK (WDG_BASE + 0xC00)
enum fm4_variant {
+ mb9bfx64,
+ mb9bfx65,
mb9bfx66,
mb9bfx67,
mb9bfx68,
int i;
switch (fm4_bank->variant) {
+ case mb9bfx64:
+ bank->num_sectors = 8;
+ break;
+ case mb9bfx65:
+ bank->num_sectors = 10;
+ break;
case mb9bfx66:
bank->num_sectors = 12;
break;
}
switch (fm4_bank->variant) {
+ case mb9bfx64:
+ case mb9bfx65:
case mb9bfx66:
case mb9bfx67:
case mb9bfx68:
}
switch (fm4_bank->variant) {
+ case mb9bfx64:
+ name = "MB9BFx64";
+ break;
+ case mb9bfx65:
+ name = "MB9BFx65";
+ break;
case mb9bfx66:
name = "MB9BFx66";
break;
{
struct fm4_flash_bank *fm4_bank = bank->driver_priv;
- if (fm4_name_match(variant, "MB9BFx66")) {
+ if (fm4_name_match(variant, "MB9BFx64")) {
+ fm4_bank->variant = mb9bfx64;
+ } else if (fm4_name_match(variant, "MB9BFx65")) {
+ fm4_bank->variant = mb9bfx65;
+ } else if (fm4_name_match(variant, "MB9BFx66")) {
fm4_bank->variant = mb9bfx66;
} else if (fm4_name_match(variant, "MB9BFx67")) {
fm4_bank->variant = mb9bfx67;