@@ -59,6 +59,11 @@ def iomap(phys, size, range_size, rw):
5959 iomap (0x27d050000 , 0x4000 , 0x4000 , 0 ), # Streaming codec registers
6060 iomap (0x23b3d0000 , 0x1000 , 0x1000 , 0 ), #
6161 iomap (0x23b3c0000 , 0x1000 , 0x1000 , 0 ), #
62+ IOMapping (),
63+ IOMapping (),
64+ IOMapping (),
65+ IOMapping (),
66+ IOMapping (),
6267 ]
6368 elif chip_id in (0x6000 , 0x6001 , 0x6002 ):
6469 mcc_cnt = {0x6002 : 16 , 0x6001 : 8 , 0x6000 : 4 }
@@ -111,6 +116,7 @@ def iomap(phys, size, range_size, rw):
111116 iomap (0x404eac000 , 0x4000 , 0x4000 , 1 ),
112117 IOMapping (),
113118 IOMapping (),
119+ IOMapping (),
114120 ]
115121
116122CHIP_INFO = {
@@ -125,7 +131,9 @@ def iomap(phys, size, range_size, rw):
125131 unk_e48 = [[0 ] * 8 ] * 8 ,
126132 unk_e24 = 112 ,
127133 gpu_fast_die0_sensor_mask64 = 0x12 ,
134+ gpu_fast_die1_sensor_mask64 = 0 ,
128135 gpu_fast_die0_sensor_mask64_alt = 0x12 ,
136+ gpu_fast_die1_sensor_mask64_alt = 0 ,
129137 gpu_fast_die0_sensor_present = 0x01 ,
130138 shared1_tab = [
131139 - 1 , 0x7282 , 0x50ea , 0x370a , 0x25be , 0x1c1f , 0x16fb
@@ -162,14 +170,17 @@ def iomap(phys, size, range_size, rw):
162170 ]],
163171 unk_e24 = 125 ,
164172 gpu_fast_die0_sensor_mask64 = 0x80808080 ,
173+ gpu_fast_die1_sensor_mask64 = 0 ,
165174 gpu_fast_die0_sensor_mask64_alt = 0x90909090 ,
175+ gpu_fast_die1_sensor_mask64_alt = 0 ,
166176 gpu_fast_die0_sensor_present = 0x0f ,
167177 shared1_tab = [0xffff ] * 16 ,
168178 shared1_a4 = 0xffff ,
169179 shared2_tab = [- 1 , - 1 , - 1 , - 1 , 0x2aa , 0xaaa , - 1 , - 1 , 0 , 0 ],
170180 shared2_unk_508 = 0xcc00001 ,
171181 unk_3cf4 = [1314.0 , 1330.0 , 1314.0 , 1288.0 , 0 , 0 , 0 , 0 ],
172182 unk_3d14 = [21.0 , 21.0 , 22.0 , 21.0 , 0 , 0 , 0 , 0 ],
183+ unk_3d34_0 = [0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ],
173184 unk_118ec = [
174185 0 , 1 , 2 ,
175186 1 , 1 , 90 , 75 , 1 , 1 ,
@@ -203,7 +214,9 @@ def iomap(phys, size, range_size, rw):
203214 ]],
204215 unk_e24 = 125 ,
205216 gpu_fast_die0_sensor_mask64 = 0x8080808080808080 ,
217+ gpu_fast_die1_sensor_mask64 = 0 ,
206218 gpu_fast_die0_sensor_mask64_alt = 0x9090909090909090 ,
219+ gpu_fast_die1_sensor_mask64_alt = 0 ,
207220 gpu_fast_die0_sensor_present = 0xff ,
208221 shared1_tab = [0xffff ] * 16 ,
209222 shared1_a4 = 0xffff ,
@@ -212,6 +225,7 @@ def iomap(phys, size, range_size, rw):
212225 unk_3cf4 = [1244.0 , 1260.0 , 1242.0 , 1214.0 ,
213226 1072.0 , 1066.0 , 1044.0 , 1042.0 ],
214227 unk_3d14 = [18.0 , 18.0 , 18.0 , 17.0 , 15.0 , 15.0 , 15.0 , 14.0 ],
228+ unk_3d34_0 = [0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ],
215229 unk_8924 = 0 ,
216230 unk_118ec = [
217231 0 , 1 , 2 ,
@@ -238,22 +252,25 @@ def iomap(phys, size, range_size, rw):
238252 unk_8cc = 11000 ,
239253 unk_924 = [[
240254 0.0 , 0.0 , 0.0 , 0.0 ,
241- 5.3 , 0.0 , 5.3 , 6.6 ,
255+ 5.3 , 0.0 , 5.3 , 5.3 ,
242256 ]] + ([[0 ] * 8 ] * 7 ),
243257 unk_e48 = [[
244258 0.0 , 0.0 , 0.0 , 0.0 ,
245- 5.3 , 0.0 , 5.3 , 6.6 ,
259+ 5.3 , 0.0 , 5.3 , 5.3 ,
246260 ]] + ([[0 ] * 8 ] * 7 ),
247261 unk_e24 = 125 ,
248262 gpu_fast_die0_sensor_mask64 = 0x6800 ,
263+ gpu_fast_die1_sensor_mask64 = 0 ,
249264 gpu_fast_die0_sensor_mask64_alt = 0x6800 ,
265+ gpu_fast_die1_sensor_mask64_alt = 0 ,
250266 gpu_fast_die0_sensor_present = 0x02 ,
251267 shared1_tab = [0xffff ] * 16 ,
252268 shared1_a4 = 0 ,
253269 shared2_tab = [- 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , 0xaa5aa , 0 ],
254270 shared2_unk_508 = 0xc00000 ,
255271 unk_3cf4 = [1920.0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ],
256272 unk_3d14 = [74.0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ],
273+ unk_3d34_0 = [0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ],
257274 unk_118ec = None ,
258275 hwdb_4e0 = 4 ,
259276 hwdb_534 = 0 ,
@@ -271,8 +288,8 @@ def iomap(phys, size, range_size, rw):
271288 unk_hws2_0 = 0 ,
272289 unk_hws2_4 = [0 ] * 8 ,
273290 unk_hws2_24 = 0 ,
274- sram_base = 0x404d60000 ,
275- sram_size = 0x20000 ,
291+ sram_base = 0 ,
292+ sram_size = 0 ,
276293 shared3_unk = 5 ,
277294 shared3_tab = [
278295 10700 , 10700 , 10700 , 10700 ,
@@ -354,9 +371,9 @@ def build_initdata(agx):
354371
355372 initdata = agx .kshared .new (InitData )
356373
357- if Ver .check ("V = = V13_3 && G == G14X" ):
374+ if Ver .check ("V > = V13_3 && G == G14X" ):
358375 initdata .ver_info = (0xb390 , 0x70f8 , 0x601 , 0xb0 )
359- elif Ver .check ("V = = V13_3 && G == G14" ):
376+ elif Ver .check ("V > = V13_3 && G == G14" ):
360377 initdata .ver_info = (0x6ba0 , 0x1f28 , 0x601 , 0xb0 )
361378 else :
362379 initdata .ver_info = (1 , 1 , 16 , 1 )
@@ -394,6 +411,8 @@ def build_initdata(agx):
394411 hwdata .sgx_sram_ptr = virt
395412 agx .uat .iomap_at (0 , virt , chip_info .sram_base , chip_info .sram_size ,
396413 AttrIndex = MemoryAttr .Shared )
414+ else :
415+ hwdata .sgx_sram_ptr = 0
397416
398417 k = 1.02 #?
399418 count = sgx .perf_state_count
@@ -426,6 +445,11 @@ def build_initdata(agx):
426445 hwdata .cs_voltages = [[(ps .volt // 1000 ), 0 ]
427446 for ps in cs_pstates .states ] + [[0 , 0 ]] * (16 - cs_pstates .count )
428447 hwdata .cs_voltages_sram = [[max (i [0 ], cs_pstates .min_sram_volt // 1000 ) if i [0 ] else 0 , 0 ] for i in hwdata .cs_voltages ]
448+ else :
449+ hwdata .cs_max_pstate = 0
450+ hwdata .cs_frequencies = [0 ] * 16
451+ hwdata .cs_voltages = [[0 , 0 ]] * 16
452+ hwdata .cs_voltages_sram = [[0 , 0 ]] * 16
429453
430454 afr_pstates = sgx .getprop ("afr-perf-states" , None )
431455 if afr_pstates :
@@ -435,6 +459,11 @@ def build_initdata(agx):
435459 hwdata .afr_voltages = [[(ps .volt // 1000 ), 0 ]
436460 for ps in afr_pstates .states ] + [[0 , 0 ]] * (8 - afr_pstates .count )
437461 hwdata .afr_voltages_sram = [[max (i [0 ], afr_pstates .min_sram_volt // 1000 ) if i [0 ] else 0 , 0 ] for i in hwdata .afr_voltages ]
462+ else :
463+ hwdata .afr_max_pstate = 0
464+ hwdata .afr_frequencies = [0 ] * 8
465+ hwdata .afr_voltages = [[0 , 0 ]] * 8
466+ hwdata .afr_voltages_sram = [[0 , 0 ]] * 8
438467
439468 regionB .hwdata_a .push ()
440469
0 commit comments