FreeCalypso > hg > freecalypso-tools
changeset 559:f229efbfd581
fc-loadtool: added support for S29PL032J/S71PL032J flash
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 30 Jan 2020 06:03:42 +0000 |
parents | a59a7f838fce |
children | 641d816b1e91 |
files | loadtools/flashid.c loadtools/fldevs.c |
diffstat | 2 files changed, 43 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/loadtools/flashid.c Wed Jan 29 08:03:19 2020 +0000 +++ b/loadtools/flashid.c Thu Jan 30 06:03:42 2020 +0000 @@ -15,6 +15,7 @@ extern struct flash_device flashdev_28F640W30T; extern struct flash_device flashdev_28F640W30B; extern struct flash_device flashdev_Am29DL640G; +extern struct flash_device flashdev_PL032J; extern struct flash_device flashdev_PL129J; extern struct flash_device flashdev_PL129N; extern struct flash_device flashdev_K5A32xx_T; @@ -114,6 +115,8 @@ return spansion_pl129j_or_n(bi); if (ext1 == 0x2202 && ext2 == 0x2201) return try_device(bi, &flashdev_Am29DL640G); + if (ext1 == 0x220A && ext2 == 0x2201) + return try_device(bi, &flashdev_PL032J); fprintf(stderr, "Error: unknown device ID\n"); return(-1); }
--- a/loadtools/fldevs.c Wed Jan 29 08:03:19 2020 +0000 +++ b/loadtools/fldevs.c Thu Jan 30 06:03:42 2020 +0000 @@ -241,6 +241,46 @@ /* Spansion S71PL-J and S71PL-N flash */ +static struct cfi_check spansion_PL032J_cfi[] = { + {0x10, 'Q'}, + {0x11, 'R'}, + {0x12, 'Y'}, + {0x13, 0x02}, + {0x14, 0x00}, + {0x15, 0x40}, + {0x16, 0x00}, + {0x27, 0x16}, + {0x2C, 0x03}, + {0x2D, 0x07}, + {0x2E, 0x00}, + {0x2F, 0x20}, + {0x30, 0x00}, + {0x31, 0x3D}, + {0x32, 0x00}, + {0x33, 0x00}, + {0x34, 0x01}, + {0x35, 0x07}, + {0x36, 0x00}, + {0x37, 0x20}, + {0x38, 0x00}, + {0x40, 'P'}, + {0x41, 'R'}, + {0x42, 'I'}, + {0x43, '1'}, + {0x44, '3'}, + {-1, 0} +}; + +struct flash_device flashdev_PL032J = { + .name = "Spansion S29PL032J", + .cfi_table = spansion_PL032J_cfi, + .required_global_config = FLASH_GLOBAL_CFG_SINGLE_4M, + .bank_geom = {&geom_4M_bothends, 0}, + .cmdset = &flash_cmdset_amd, +}; + +/* S29PL064J/S71PL064J is identical to Am29DL640G covered above */ + static struct cfi_check spansion_PL129J_cfi[] = { {0x10, 'Q'}, {0x11, 'R'},