@@ -8,41 +8,38 @@ use super::*;
88
99const fn iomaps ( chip_id : u32 , mcc_count : usize ) -> [ Option < IOMapping > ; 24 ] {
1010 [
11- Some ( IOMapping :: new ( 0x404d00000 , 0x144000 , 0x144000 , true ) ) , // Fender
12- Some ( IOMapping :: new ( 0x20e100000 , 0x4000 , 0x4000 , false ) ) , // AICTimer
13- Some ( IOMapping :: new ( 0x28e106000 , 0x4000 , 0x4000 , true ) ) , // AICSWInt
14- Some ( IOMapping :: new ( 0x404000000 , 0x20000 , 0x20000 , true ) ) , // RGX
15- None , // UVD
16- None , // unused
17- None , // DisplayUnderrunWA
11+ Some ( IOMapping :: new ( 0x404d00000 , false , 1 , 0x144000 , 0 , true ) ) , // Fender
12+ Some ( IOMapping :: new ( 0x20e100000 , false , 1 , 0x4000 , 0 , false ) ) , // AICTimer
13+ Some ( IOMapping :: new ( 0x28e106000 , false , 1 , 0x4000 , 0 , true ) ) , // AICSWInt
14+ Some ( IOMapping :: new ( 0x404000000 , false , 1 , 0x20000 , 0 , true ) ) , // RGX
15+ None , // UVD
16+ None , // unused
17+ None , // DisplayUnderrunWA
1818 Some ( match chip_id {
19- 0x6020 => IOMapping :: new ( 0x28e460000 , 0x4000 , 0x4000 , false ) ,
20- _ => IOMapping :: new ( 0x28e478000 , 0x8000 , 0x4000 , false ) ,
19+ 0x6020 => IOMapping :: new ( 0x28e460000 , true , 1 , 0x4000 , 0 , false ) ,
20+ _ => IOMapping :: new ( 0x28e478000 , true , 1 , 0x4000 , 0 , false ) ,
2121 } ) , // AnalogTempSensorControllerRegs
22- None , // PMPDoorbell
23- Some ( IOMapping :: new ( 0x404e08000 , 0x8000 , 0x8000 , true ) ) , // MetrologySensorRegs
24- None , // GMGIFAFRegs
22+ None , // PMPDoorbell
23+ Some ( IOMapping :: new ( 0x404e08000 , false , 1 , 0x8000 , 0 , true ) ) , // MetrologySensorRegs
24+ None , // GMGIFAFRegs
2525 Some ( IOMapping :: new (
2626 0x200000000 ,
27- mcc_count * 0xd8000 ,
27+ true ,
28+ mcc_count,
2829 0xd8000 ,
30+ 0x1000000 ,
2931 true ,
3032 ) ) , // MCache registers
31- Some ( IOMapping :: new ( 0x28e118000 , 0x4000 , 0x4000 , false ) ) , // AICBankedRegisters
32- None , // PMGRScratch
33+ Some ( IOMapping :: new ( 0x28e118000 , false , 1 , 0x4000 , 0 , false ) ) , // AICBankedRegisters
34+ None , // PMGRScratch
3335 None , // NIA Special agent idle register die 0
3436 None , // NIA Special agent idle register die 1
3537 None , // CRE registers
3638 None , // Streaming codec registers
37- Some ( IOMapping :: new ( 0x28e3d0000 , 0x4000 , 0x4000 , true ) ) , // ?
38- Some ( IOMapping :: new ( 0x28e3c0000 , 0x4000 , 0x4000 , false ) ) , // ?
39- Some ( IOMapping :: new ( 0x28e3d8000 , 0x4000 , 0x4000 , true ) ) , // ?
40- Some ( IOMapping :: new (
41- 0x404eac000 ,
42- if mcc_count > 8 { 0x8000 } else { 0x4000 } ,
43- 0x4000 ,
44- true ,
45- ) ) , // ?
39+ Some ( IOMapping :: new ( 0x28e3d0000 , false , 1 , 0x4000 , 0 , true ) ) , // ?
40+ Some ( IOMapping :: new ( 0x28e3c0000 , false , 1 , 0x4000 , 0 , false ) ) , // ?
41+ Some ( IOMapping :: new ( 0x28e3d8000 , false , 1 , 0x4000 , 0 , true ) ) , // ?
42+ Some ( IOMapping :: new ( 0x404eac000 , true , 1 , 0x4000 , 0 , true ) ) , // ?
4643 None ,
4744 None ,
4845 ]
@@ -146,7 +143,7 @@ pub(crate) const HWCONFIG_T6022: super::HwConfig = HwConfig {
146143 // Apple typo? Should probably be 0x140015001c001d00
147144 fast_sensor_mask_alt : [ 0x140015001d001d00 , 0x1d001c0015001400 ] ,
148145 fast_die0_sensor_present : 0 , // Unused
149- io_mappings : & iomaps ( 0x6022 , 16 ) ,
146+ io_mappings : & iomaps ( 0x6022 , 8 ) ,
150147 sram_base : Some ( 0x404d60000 ) ,
151148 sram_size : Some ( 0x20000 ) ,
152149} ;
0 commit comments