On Thu, Apr 07, 2022 at 09:44:29AM +0200, Vincent Whitchurch wrote: > The ARTPEC-8 has an MCT with 4 global and 8 local timer interrupts. > > The SoC has a quad-core Cortex-A53 and a single-core Cortex-A5 which > share one MCT with one global and eight local timers. The Cortex-A53 > and Cortex-A5 do not have cache-coherency between them, and therefore > run two separate kernels. > > The Cortex-A53 boots first and starts the global free-running counter > and also registers a clock events device using the global timer. (This > global timer clock events is usually replaced by arch timer clock events > for each of the cores.) > > When the A5 boots (via the A53), it should not use the global timer > interrupts or write to the global timer registers. This is because even > if there are four global comparators, the control bits for all four are > in the same registers, and we would need to synchronize between the > cpus. Instead, the global timer FRC (already started by the A53) should > be used as the clock source, and one of the local timers which are not > used by the A53 can be used for clock events on the A5. > > To support this hardware, add a compatible for the MCT as well as two > new properties to describe the hardware-mandated sharing of the FRC and > dedicating local timers to specific processors. > > Signed-off-by: Vincent Whitchurch <vincent.whitchurch@xxxxxxxx> > --- > > Notes: > v3: > - Add all required bindings for ARTPEC-8 in one patch > - Rename and split local-timer-only to samsung,local-timers and > samsung,frc-shared > - Restrict above properties to the ARTPEC-8 compatible. > - Rewrite descriptions of properties to hopefully describe hardware. > > v2: > - Use devicetree property instead of module parameter. > > .../timer/samsung,exynos4210-mct.yaml | 26 +++++++++++++++++++ > 1 file changed, 26 insertions(+) What's this based on? Doesn't apply on v5.18-rc1. Rob