Add support for ATF750C
I already started to implement this, but I don't have the full information. Please see attached Libreoffice spreadsheet for the structure of the JEDEC file. ATF750C_22V10C_comparison.ods
My assumption is, that the programming algorithm is very similar to the ATF22V10C.
What is missing?
- a verified definition of the JEDEC file. I made one, but the positions 14394 and 14501 to 14503 are unclear.
- mapping of JEDEC file to config data, especially the order for
gal_config_t
- check of the parameters of
device_t
Here is what I already made, you can also have a look at it here at my branch atf22v10c:
// device_t
{
.name = "ATF750C-TEST",
.protocol_id = 0x2c,
.variant = 0x0d, // TODO
.read_buffer_size = 0x00,
.write_buffer_size = 0x00,
.code_memory_size = 14504,
.data_memory_size = 0x00,
.data_memory2_size = 0x00,
.chip_id = 0x0000,
.chip_id_bytes_count = 0x00,
.opts1 = 0x22,
.opts2 = 0x0084,
.opts3 = 0x0064,
.opts4 = 0x2040410,
.opts5 = 0x2200,
.opts6 = 0x0000,
.opts7 = 0x0007,
.opts8 = 0x0b34,
.package_details = 0x18000000,
.config = gal6_acw
},
gal_config_t gal6_acw[] = { // e.g. for ATF750C
{.acw_bits = (uint16_t[]){ // TODO: order unclear
//14394, // security?
//14501, // ???
//14502, // ???
//14503, // ???
14398, 14397, 14396, 14395, 14366, 14465, 14464, // Q9 S6..S0 (pin 23 on DIP24)
14402, 14401, 14400, 14399, 14369, 14468, 14467, // Q8 S6..S0
14406, 14405, 14404, 14403, 14372, 14471, 14470, // Q7 S6..S0
14410, 14409, 14408, 14407, 14375, 14474, 14473, // Q6 S6..S0
14414, 14413, 14412, 14411, 14378, 14477, 14476, // Q5 S6..S0
14418, 14417, 14416, 14415, 14381, 14480, 14479, // Q4 S6..S0
14422, 14421, 14420, 14419, 14384, 14483, 14482, // Q3 S6..S0
14426, 14425, 14424, 14423, 14387, 14486, 14485, // Q2 S6..S0
14430, 14429, 14428, 14427, 14390, 14489, 14488, // Q1 S6..S0
14434, 14433, 14432, 14431, 14393, 14492, 14491, // Q0 S6..S0 (pin 14 on DIP24)
},
.fuses_size = 84,
.row_width = 171,
.ues_address = 14435,
.ues_size = 64,
.acw_address = 0x10,
.acw_flags = 0x10,
.acw_size = 3*10 + 4*10}};