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);