FreeCalypso > hg > freecalypso-tools
comparison loadtools/flashid.c @ 507:c942be3c7997
new flash support works for PL129N on the Pirelli
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Tue, 28 May 2019 05:34:45 +0000 |
parents | 0dd2c87c1b63 |
children | 0212edcec4d2 |
comparison
equal
deleted
inserted
replaced
506:0dd2c87c1b63 | 507:c942be3c7997 |
---|---|
67 struct flash_bank_info *bi; | 67 struct flash_bank_info *bi; |
68 { | 68 { |
69 int rc; | 69 int rc; |
70 | 70 |
71 printf("Spansion PL129J or PL129N, looking at CFI\n"); | 71 printf("Spansion PL129J or PL129N, looking at CFI\n"); |
72 if (do_w16(bi->base_addr + 0xAA, 0x98)) { | 72 /* need to go back to read array first, CFI cmd ignored otherwise */ |
73 fprintf(stderr, "unexpected response to w16 - aborting\n"); | 73 if (do_w16(bi->base_addr + 0xAAA, 0xF0)) { |
74 bad_w16: fprintf(stderr, "unexpected response to w16 - aborting\n"); | |
74 return(-1); | 75 return(-1); |
75 } | 76 } |
77 if (do_w16(bi->base_addr + 0xAAA, 0x98)) | |
78 goto bad_w16; | |
76 rc = run_cfi_check(bi, flashdev_PL129N.cfi_table); | 79 rc = run_cfi_check(bi, flashdev_PL129N.cfi_table); |
77 if (rc < 0) | 80 if (rc < 0) |
78 return(rc); | 81 return(rc); |
79 if (rc) { | 82 if (rc) { |
80 printf("Found PL129N\n"); | 83 printf("Found PL129N\n"); |
97 amd_extended_id(bi) | 100 amd_extended_id(bi) |
98 struct flash_bank_info *bi; | 101 struct flash_bank_info *bi; |
99 { | 102 { |
100 uint16_t ext1, ext2; | 103 uint16_t ext1, ext2; |
101 | 104 |
102 printf("AMD-style extended ID device, reading\n"); | 105 printf("AMD-style extended ID device, reading extended ID\n"); |
103 if (do_r16(bi->base_addr + 0x1C, &ext1) < 0) | 106 if (do_r16(bi->base_addr + 0x1C, &ext1) < 0) |
104 return(-1); | 107 return(-1); |
105 if (do_r16(bi->base_addr + 0x1E, &ext2) < 0) | 108 if (do_r16(bi->base_addr + 0x1E, &ext2) < 0) |
106 return(-1); | 109 return(-1); |
107 printf("Extended ID: %04X %04X\n", ext1, ext2); | 110 printf("Extended ID: %04X %04X\n", ext1, ext2); |