@@ -10,7 +10,7 @@ use crate::{
10
10
targets:: { Chip , Esp32Params , ReadEFuse , SpiRegisters , Target , XtalFrequency } ,
11
11
} ;
12
12
13
- const CHIP_DETECT_MAGIC_VALUES : & [ u32 ] = & [ 0x0 ] ;
13
+ const CHIP_DETECT_MAGIC_VALUES : & [ u32 ] = & [ 0x0 , 0x0ADDBAD0 ] ;
14
14
15
15
const FLASH_RANGES : & [ Range < u32 > ] = & [
16
16
0x4000_0000 ..0x4C00_0000 , // IROM
@@ -20,7 +20,7 @@ const FLASH_RANGES: &[Range<u32>] = &[
20
20
const PARAMS : Esp32Params = Esp32Params :: new (
21
21
0x2000 ,
22
22
0x1_0000 ,
23
- 0x3f_0000 , // TODO: Update
23
+ 0x3f_0000 ,
24
24
18 ,
25
25
FlashFrequency :: _40Mhz,
26
26
include_bytes ! ( "../../resources/bootloaders/esp32p4-bootloader.bin" ) ,
@@ -52,15 +52,13 @@ impl Target for Esp32p4 {
52
52
}
53
53
54
54
#[ cfg( feature = "serialport" ) ]
55
- fn major_chip_version ( & self , _connection : & mut Connection ) -> Result < u32 , Error > {
56
- // TODO: https://github.com/espressif/esptool/blob/master/esptool/targets/esp32p4.py#L96
57
- Ok ( 0 )
55
+ fn major_chip_version ( & self , connection : & mut Connection ) -> Result < u32 , Error > {
56
+ Ok ( self . read_efuse ( connection, 19 ) ? >> 4 & 0x03 )
58
57
}
59
58
60
59
#[ cfg( feature = "serialport" ) ]
61
- fn minor_chip_version ( & self , _connection : & mut Connection ) -> Result < u32 , Error > {
62
- // TODO: https://github.com/espressif/esptool/blob/master/esptool/targets/esp32p4.py#L92
63
- Ok ( 0 )
60
+ fn minor_chip_version ( & self , connection : & mut Connection ) -> Result < u32 , Error > {
61
+ Ok ( self . read_efuse ( connection, 19 ) ? & 0x0F )
64
62
}
65
63
66
64
#[ cfg( feature = "serialport" ) ]
0 commit comments