Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Axi timer


Table of Contents

Table of Contents

AXI Timer

Introduction


This page gives an overview of Axi Timer Linux driver which is available as part of the Linux distribution.The LogiCORE™ IP AXI Timer/Counter is a 32/ 64-bit timer module that interfaces to the AXI4-Lite interface.

HW IP features

  • AXI interface based on the AXI4-Lite specification
  • Two programmable interval timers with interrupt, event generation, and event capture capabilities
  • Configurable counter width
  • One Pulse Width Modulation (PWM) output
  • Cascaded operation of timers in generate and capture modes

Kernel Configuration

Existing driver ( https://github.com/Xilinx/linux-xlnx/blob/xlnx_rebase_v5.4_2020.1/arch/microblaze/kernel/timer.c)  is tightly coupled with Microblaze processor. By default it would be used as "arch timer" for Microblaze. 

Devicetree

Code Block
themeMidnight
        axi_timer_1: timer@41c00000 {
            clock-frequency = <100000000>;
            clocks = <&clk_bus_0>;
            compatible = "xlnx,xps-timer-1.00.a";
            interrupt-parent = <&axi_intc_1>;
            interrupts = <2 2>;
            reg = <0x41c00000 0x10000>;
            xlnx,count-width = <0x20>;
            xlnx,one-timer-only = <0x0>;
        };

Mainline status

Existing driver https://github.com/Xilinx/linux-xlnx/blob/master/arch/microblaze/kernel/timer.c is in sync with mainline, except changes related to SMP support.

Boot log snippet

Code Block
themeMidnight
/amba_pl/timer@41c00000: irq=2
xilinx_timer_set_mode: shutdown
xilinx_timer_set_mode: periodic
sched_clock: 32 bits at 100MHz, resolution 10ns, wraps every 42949672950ns


Code Block
themeMidnight
<span style="font-family: arial,helvetica,sans-serif; font-size: 1.4em; line-height: 1.5;">**Related Links**


Changelog

2017

2023.

4

2

  • None
2017

2023.

3

1

  • None

20172022.42

  • None

20182022.1

  • None

20182021.2

  • None
2018.3
  • Addressed warnings reported by coverity tool

2021.1

  • None

2019.1

Summary

microblaze: Remove architecture heart beat code

Commits

microblaze: Remove architecture heart beat code

...

2020.2

  • None

2020.1

...

  • Updated driver to support SMP Microblaze systems

Commits

microblaze: timer: Make timer SMP aware

microblaze: timer: Change timer initialization setting

microblaze: timer: Detect cpu_id from DT

microblaze: timer: Group clockevent setting together

microblaze: timer: Make sure that clockevent timer is initialized properly

microblaze: timer: Create per cpu clockevent device

microblaze: timer: Covert timer to use cpu hotplug

...

2019.2

  • None

...

2019.1

...

  • None

...

Summary

Addressed warnings reported by coverity tool

Commits

microblaze: timer: Fix incompatible parameters passed to the function

microblaze: timer: Add condition to check return value

2022.1

  • None

2022.2

  • None

2023.1

  • None

2023.2

  • Nonemicroblaze: Remove architecture heart beat code