Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

Freescale i.MX General Purpose Timer (GPT)

Required properties:

- compatible : should be one of following:
  for i.MX1:
  - "fsl,imx1-gpt";
  for i.MX21:
  - "fsl,imx21-gpt";
  for i.MX27:
  - "fsl,imx27-gpt", "fsl,imx21-gpt";
  for i.MX31:
  - "fsl,imx31-gpt";
  for i.MX25:
  - "fsl,imx25-gpt", "fsl,imx31-gpt";
  for i.MX50:
  - "fsl,imx50-gpt", "fsl,imx31-gpt";
  for i.MX51:
  - "fsl,imx51-gpt", "fsl,imx31-gpt";
  for i.MX53:
  - "fsl,imx53-gpt", "fsl,imx31-gpt";
  for i.MX6Q:
  - "fsl,imx6q-gpt", "fsl,imx31-gpt";
  for i.MX6DL:
  - "fsl,imx6dl-gpt";
  for i.MX6SL:
  - "fsl,imx6sl-gpt", "fsl,imx6dl-gpt";
  for i.MX6SX:
  - "fsl,imx6sx-gpt", "fsl,imx6dl-gpt";
- reg : specifies base physical address and size of the registers.
- interrupts : should be the gpt interrupt.
- clocks : the clocks provided by the SoC to drive the timer, must contain
           an entry for each entry in clock-names.
- clock-names : must include "ipg" entry first, then "per" entry.

Example:

gpt1: timer@10003000 {
	compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
	reg = <0x10003000 0x1000>;
	interrupts = <26>;
	clocks = <&clks IMX27_CLK_GPT1_IPG_GATE>,
		 <&clks IMX27_CLK_PER1_GATE>;
	clock-names = "ipg", "per";
};