Switch imx6 to using the mpcore per-cpu event timers, but continue to use
the GPT timer, which is fixed-frequency, as a timecounter.
This commit is contained in:
parent
9d0c4e17d9
commit
a3ff7ef69c
@ -16,6 +16,7 @@ kern/kern_clocksource.c standard
|
||||
arm/arm/gic.c standard
|
||||
arm/arm/pl310.c standard
|
||||
arm/arm/bus_space-v6.c standard
|
||||
arm/arm/mpcore_timer.c standard
|
||||
arm/freescale/fsl_ocotp.c standard
|
||||
arm/freescale/imx/imx6_anatop.c standard
|
||||
arm/freescale/imx/imx_common.c standard
|
||||
|
@ -68,6 +68,7 @@ __FBSDID("$FreeBSD$");
|
||||
#include <machine/bus.h>
|
||||
#include <machine/fdt.h>
|
||||
|
||||
#include <arm/arm/mpcore_timervar.h>
|
||||
#include <arm/freescale/fsl_ocotpreg.h>
|
||||
#include <arm/freescale/fsl_ocotpvar.h>
|
||||
#include <arm/freescale/imx/imx6_anatopreg.h>
|
||||
@ -263,6 +264,8 @@ cpufreq_set_clock(struct imx6_anatop_softc * sc, uint32_t cpu_newhz)
|
||||
|
||||
imx6_anatop_write_4(IMX6_ANALOG_CCM_PLL_ARM_CLR,
|
||||
IMX6_ANALOG_CCM_PLL_ARM_BYPASS);
|
||||
|
||||
arm_tmr_change_frequency(sc->cpu_curhz / 2);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -40,6 +40,7 @@ __FBSDID("$FreeBSD$");
|
||||
#include <machine/devmap.h>
|
||||
#include <machine/machdep.h>
|
||||
|
||||
#include <arm/arm/mpcore_timervar.h>
|
||||
#include <arm/freescale/imx/imx6_anatopreg.h>
|
||||
#include <arm/freescale/imx/imx6_anatopvar.h>
|
||||
#include <arm/freescale/imx/imx_machdep.h>
|
||||
@ -55,6 +56,8 @@ void
|
||||
initarm_early_init(void)
|
||||
{
|
||||
|
||||
/* Inform the MPCore timer driver that its clock is variable. */
|
||||
arm_tmr_change_frequency(ARM_TMR_FREQUENCY_VARIES);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -71,6 +71,14 @@
|
||||
0x00a00100 0x00000100>;
|
||||
};
|
||||
|
||||
mp_tmr0@00a00200 {
|
||||
compatible = "arm,mpcore-timers";
|
||||
reg = <0x00a00200 0x100
|
||||
0x00a00600 0x100>;
|
||||
interrupts = <27 29>;
|
||||
interrupt-parent = <&gic>;
|
||||
};
|
||||
|
||||
l2-cache@00a02000 {
|
||||
compatible = "arm,pl310-cache", "arm,pl310";
|
||||
reg = <0xa02000 0x1000>;
|
||||
|
Loading…
Reference in New Issue
Block a user