on a MPC8360 system, how can i read the *actual* bus frequencies?
Robert P. J. Day
rpjday at crashcourse.ca
Wed May 11 07:11:37 AEST 2016
bit of a conundrum here ... we have a legacy MPC8360 system here, on
which we installed linux built with wind river linux 8. we obviously
want to push the various bus frequencies to their max for best
performance, and the device tree that was being used for this system
assigned rather slow speeds (266MHz) for the various buses.
i wasn't sure how to view the bus frequencies that were *actually*
being used. first, i thought that anything you found under
/proc/devicetree simply showed the device tree values as they were
passed to the kernel, so i wasn't going to trust those.
also, i thought that anything under /sys would show the genuine
frequency values and, after searching, i found various PPC bus
frequencies under /sys/firmware/..., but they *also* showed fairly
finally, someone wrote a program that read directly from the
tempVal = *M83XX_SPMR(vxCCSBARGet());
lbcm = M83XX_SPMR_LBCM_VAL(tempVal);
ddrcm = M83XX_SPMR_DDRCM_VAL(tempVal);
spmf = M83XX_SPMR_SPMF_VAL(tempVal);
clkDiv = M83XX_SPMR_CLKID_VAL(tempVal);
corePll = M83XX_SPMR_COREPLL_VAL(tempVal);
cepdf = M83XX_SPMR_CEPDF_VAL(tempVal);
cepmf = M83XX_SPMR_CEPMF_VAL(tempVal);
which, surprisingly, showed what appears to be the maximum allowable
bus frequencies; for example
Enter mcd command -> sysGetCoreSpeed
value = 533332800 = 0x1fca0340
so i'm willing to believe that the system really is running at max
speed, but is there no easier way to see the bus frequencies that are
actually in use, rather than having to dig into the system registers?
why would the values under /sys not reflect the actual bus
frequencies, and not (as it appears) just the ones passed to the
kernel which were obviously not used?
Robert P. J. Day Ottawa, Ontario, CANADA
More information about the Linuxppc-dev