Recognise some new flash size codes.
This at least recognises the 2MB-c1, 4MB-c1, 8MB, and 16MB flash size codes.
This commit is contained in:
		
							parent
							
								
									782eaabb97
								
							
						
					
					
						commit
						46559496c6
					
				
					 1 changed files with 15 additions and 8 deletions
				
			
		| 
						 | 
				
			
			@ -174,25 +174,32 @@ void IRAM sdk_user_start(void) {
 | 
			
		|||
    }
 | 
			
		||||
    switch (buf8[3] >> 4) {
 | 
			
		||||
        case 0x0:   // 4 Mbit (512 KByte)
 | 
			
		||||
            flash_sectors = 128;
 | 
			
		||||
            flash_size = 524288;
 | 
			
		||||
            break;
 | 
			
		||||
        case 0x1:  // 2 Mbit (256 Kbyte)
 | 
			
		||||
            flash_sectors = 64;
 | 
			
		||||
            flash_size = 262144;
 | 
			
		||||
            break;
 | 
			
		||||
        case 0x2:  // 8 Mbit (1 Mbyte)
 | 
			
		||||
            flash_sectors = 256;
 | 
			
		||||
            flash_size = 1048576;
 | 
			
		||||
            break;
 | 
			
		||||
        case 0x3:  // 16 Mbit (2 Mbyte)
 | 
			
		||||
            flash_sectors = 512;
 | 
			
		||||
        case 0x5:  // 16 Mbit (2 Mbyte)
 | 
			
		||||
            flash_size = 2097152;
 | 
			
		||||
            break;
 | 
			
		||||
        case 0x4:  // 32 Mbit (4 Mbyte)
 | 
			
		||||
            flash_sectors = 1024;
 | 
			
		||||
        case 0x6:  // 32 Mbit (4 Mbyte)
 | 
			
		||||
            flash_size = 4194304;
 | 
			
		||||
            break;
 | 
			
		||||
        case 0x8:  // 64 Mbit (8 Mbyte)
 | 
			
		||||
            flash_size = 8388608;
 | 
			
		||||
            break;
 | 
			
		||||
        case 0x9:  // 128 Mbit (16 Mbyte)
 | 
			
		||||
            flash_size = 16777216;
 | 
			
		||||
            break;
 | 
			
		||||
        default:   // Invalid -- Assume 4 Mbit (512 KByte)
 | 
			
		||||
            flash_sectors = 128;
 | 
			
		||||
            flash_size = 524288;
 | 
			
		||||
    }
 | 
			
		||||
    //FIXME: we should probably calculate flash_sectors by starting with flash_size and dividing by sdk_flashchip.sector_size instead of vice-versa.
 | 
			
		||||
    flash_size = flash_sectors * 4096;
 | 
			
		||||
    flash_sectors = flash_size / sdk_flashchip.sector_size;
 | 
			
		||||
    sdk_flashchip.chip_size = flash_size;
 | 
			
		||||
    set_spi0_divisor(flash_speed_divisor);
 | 
			
		||||
    sdk_SPIRead(flash_size - 4096, buf32, BOOT_INFO_SIZE);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue