diff options
| author | Justin Hibbits <jhibbits@FreeBSD.org> | 2017-06-14 04:26:37 +0000 |
|---|---|---|
| committer | Justin Hibbits <jhibbits@FreeBSD.org> | 2017-06-14 04:26:37 +0000 |
| commit | 37ea599bf71311e32702b82c172b1c3f7e10af35 (patch) | |
| tree | 904a4a0b1dc4ca19eebace283cf5a3ed45abd0d8 /sys/powerpc | |
| parent | 3c804fef82a53c7acc9a54d78fe362b6bb8fde81 (diff) | |
Notes
Diffstat (limited to 'sys/powerpc')
| -rw-r--r-- | sys/powerpc/mpc85xx/mpc85xx.c | 18 | ||||
| -rw-r--r-- | sys/powerpc/mpc85xx/mpc85xx.h | 1 |
2 files changed, 16 insertions, 3 deletions
diff --git a/sys/powerpc/mpc85xx/mpc85xx.c b/sys/powerpc/mpc85xx/mpc85xx.c index 1ab14e61af28..bb422c026a82 100644 --- a/sys/powerpc/mpc85xx/mpc85xx.c +++ b/sys/powerpc/mpc85xx/mpc85xx.c @@ -438,16 +438,28 @@ err: } uint32_t -mpc85xx_get_system_clock(void) +mpc85xx_get_platform_clock(void) { phandle_t soc; - uint32_t freq; + static uint32_t freq; + + if (freq != 0) + return (freq); soc = OF_finddevice("/soc"); - freq = 0; /* freq isn't modified on error. */ OF_getencprop(soc, "bus-frequency", (void *)&freq, sizeof(freq)); + return (freq); +} + +uint32_t +mpc85xx_get_system_clock(void) +{ + uint32_t freq; + + freq = mpc85xx_get_platform_clock(); + return (freq / 2); } diff --git a/sys/powerpc/mpc85xx/mpc85xx.h b/sys/powerpc/mpc85xx/mpc85xx.h index 692f70ca7018..20fff6496bc1 100644 --- a/sys/powerpc/mpc85xx/mpc85xx.h +++ b/sys/powerpc/mpc85xx/mpc85xx.h @@ -171,6 +171,7 @@ void mpc85xx_enable_l3_cache(void); void mpc85xx_fix_errata(vm_offset_t); void dataloss_erratum_access(vm_offset_t, uint32_t); int mpc85xx_is_qoriq(void); +uint32_t mpc85xx_get_platform_clock(void); uint32_t mpc85xx_get_system_clock(void); #endif /* _MPC85XX_H_ */ |
