[PATCH v3 1/4] dt-bindings: timer: exynos4210-mct: Add ARTPEC-8 MCT support

Rob Herring robh at kernel.org
Thu Apr 7 08:04:09 PDT 2022


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 at axis.com>
> ---
> 
> 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



More information about the linux-arm-kernel mailing list