X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=decoders%2Fspiflash%2Flists.py;h=5c366beef1cf2e26615917da1b659405ed4a0394;hb=HEAD;hp=4bdc6dd7986877db62c88227a732bfd478730681;hpb=358844606b27eeae721e18dbf254451bbfd4e7b1;p=libsigrokdecode.git diff --git a/decoders/spiflash/lists.py b/decoders/spiflash/lists.py index 4bdc6dd..e31daf7 100644 --- a/decoders/spiflash/lists.py +++ b/decoders/spiflash/lists.py @@ -1,7 +1,7 @@ ## ## This file is part of the libsigrokdecode project. ## -## Copyright (C) 2015 Uwe Hermann +## Copyright (C) 2015-2020 Uwe Hermann ## ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by @@ -21,7 +21,6 @@ from collections import OrderedDict # OrderedDict which maps command IDs to their names and descriptions. # Please keep this sorted by command ID. -# Don't forget to update 'Ann' in pd.py if you add/remove items here. cmds = OrderedDict([ (0x01, ('WRSR', 'Write status register')), (0x02, ('PP', 'Page program')), @@ -47,7 +46,7 @@ cmds = OrderedDict([ (0xb9, ('DP', 'Deep power down')), (0xbb, ('2READ', '2x I/O read')), # a.k.a. "Fast read dual I/O". (0xc1, ('EXSO', 'Exit secured OTP')), - (0xc7, ('CE2', 'Chip erase')), # Alternative command ID + (0xc7, ('CE2', 'Chip erase 2')), # Alternative command ID (0xd7, ('STATUS', 'Status register read')), (0xd8, ('BE', 'Block erase')), (0xef, ('REMS2', 'Read ID for 2x I/O mode')), @@ -61,6 +60,7 @@ device_name = { 0x15: 'FM25Q32', }, 'macronix': { + 0x13: 'MX25L8006', 0x14: 'MX25L1605D', 0x15: 'MX25L3205D', 0x16: 'MX25L6405D', @@ -75,9 +75,9 @@ chips = { 'adesto_at45db161e': { 'vendor': 'Adesto', 'model': 'AT45DB161E', - 'res_id': 0xff, # The chip doesn't emit an ID here. - 'rems_id': 0xffff, # Not supported by the chip. - 'rems2_id': 0xffff, # Not supported by the chip. + 'res_id': None, # The chip doesn't emit an ID here. + 'rems_id': None, # Not supported by the chip. + 'rems2_id': None, # Not supported by the chip. 'rdid_id': 0x1f26000100, # RDID and 2 extra "EDI" bytes. 'page_size': 528, # Configurable, could also be 512 bytes. 'sector_size': 128 * 1024, @@ -87,24 +87,24 @@ chips = { 'atmel_at25128': { 'vendor': 'Atmel', 'model': 'AT25128', - 'res_id': 0xff, # The chip doesn't emit an ID. - 'rems_id': 0xffff, # Not supported by the chip. - 'rems2_id': 0xffff, # Not supported by the chip. - 'rdid_id': 0xffffff, # Not supported by the chip. + 'res_id': None, # Not supported by the chip. + 'rems_id': None, # Not supported by the chip. + 'rems2_id': None, # Not supported by the chip. + 'rdid_id': None, # Not supported by the chip. 'page_size': 64, - 'sector_size': 16 * 1024, - 'block_size': 1, + 'sector_size': None, # The chip doesn't have sectors. + 'block_size': None, # The chip doesn't have blocks. }, 'atmel_at25256': { 'vendor': 'Atmel', 'model': 'AT25256', - 'res_id': 0xff, # The chip doesn't emit an ID. - 'rems_id': 0xffff, # Not supported by the chip. - 'rems2_id': 0xffff, # Not supported by the chip. - 'rdid_id': 0xffffff, # Not supported by the chip. + 'res_id': None, # Not supported by the chip. + 'rems_id': None, # Not supported by the chip. + 'rems2_id': None, # Not supported by the chip. + 'rdid_id': None, # Not supported by the chip. 'page_size': 64, - 'sector_size': 32 * 1024, - 'block_size': 1, + 'sector_size': None, # The chip doesn't have sectors. + 'block_size': None, # The chip doesn't have blocks. }, # FIDELIX 'fidelix_fm25q32': { @@ -152,13 +152,24 @@ chips = { 'sector_size': 4 * 1024, 'block_size': 64 * 1024, }, + 'macronix_mx25l8006': { + 'vendor': 'Macronix', + 'model': 'MX25L8006', + 'res_id': 0x13, + 'rems_id': 0xc213, + 'rems2_id': 0xc213, + 'rdid_id': 0xc22013, + 'page_size': 256, + 'sector_size': 4 * 1024, + 'block_size': 64 * 1024, + }, # Winbond 'winbond_w25q80dv': { 'vendor': 'Winbond', 'model': 'W25Q80DV', 'res_id': 0x13, 'rems_id': 0xef13, - 'rems2_id': 0xffff, # Not supported by the chip. + 'rems2_id': None, # Not supported by the chip. 'rdid_id': 0xef4014, 'page_size': 256, 'sector_size': 4 * 1024,