@@ -1969,13 +1969,13 @@ f32 SYS_GetCoreMultiplier(void)
19691969{
19701970 u32 pvr ,hid1 ;
19711971
1972- const f32 pll_cfg_table4 [] = {
1972+ static const f32 pll_cfg_table4 [] = {
19731973 2.5 , 7.5 , 7.0 , 1.0 ,
19741974 2.0 , 6.5 , 10.0 , 4.5 ,
19751975 3.0 , 5.5 , 4.0 , 5.0 ,
19761976 8.0 , 6.0 , 3.5 , 0.0
19771977 };
1978- const f32 pll_cfg_table5 [] = {
1978+ static const f32 pll_cfg_table5 [] = {
19791979 0.0 , 0.0 , 5.0 , 1.0 , 2.0 , 2.5 , 3.0 , 3.5 , 4.0 , 4.5 ,
19801980 5.0 , 5.5 , 6.0 , 6.5 , 7.0 , 7.5 , 8.0 , 8.5 , 9.0 , 9.5 ,
19811981 10.0 , 11.0 , 12.0 , 13.0 , 14.0 , 15.0 , 16.0 , 17.0 , 18.0 , 19.0 ,
@@ -1998,11 +1998,26 @@ f32 SYS_GetCoreMultiplier(void)
19981998 }
19991999 break ;
20002000 case 0x700 :
2001- return pll_cfg_table5 [_SHIFTR (hid1 ,27 ,5 )];
2001+ switch (_SHIFTR (pvr ,16 ,4 )) {
2002+ case 0x1 :
2003+ return pll_cfg_table5 [_SHIFTR (hid1 ,27 ,5 )];
2004+ default :
2005+ return pll_cfg_table4 [_SHIFTR (hid1 ,28 ,4 )];
2006+ }
2007+ break ;
20022008 }
20032009 return 0.0 ;
20042010}
20052011
2012+ u32 SYS_GetCoreFrequency (void )
2013+ {
2014+ u32 clock ;
2015+ clock = * ((u32 * )0x800000fc );
2016+ if (!clock ) clock = TB_BUS_CLOCK * SYS_GetCoreMultiplier ();
2017+ if (!clock ) clock = TB_CORE_CLOCK ;
2018+ return clock ;
2019+ }
2020+
20062021s8 SYS_GetCoreTemperature (void )
20072022{
20082023 s32 i ,ret ;
0 commit comments