blob: acbb6f8997ee4001e46d8b0ef84e49ef7b33d109 [file] [log] [blame]
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/timer/ti,timer-dm.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: TI dual-mode timer
maintainers:
- Tony Lindgren <tony@atomide.com>
description: |
The TI dual-mode timer is a general purpose timer with PWM capabilities.
properties:
compatible:
oneOf:
- items:
- enum:
- ti,am335x-timer
- ti,am335x-timer-1ms
- ti,am654-timer
- ti,dm814-timer
- ti,dm816-timer
- ti,omap2420-timer
- ti,omap3430-timer
- ti,omap4430-timer
- ti,omap5430-timer
- items:
- const: ti,am4372-timer
- const: ti,am335x-timer
- items:
- const: ti,am4372-timer-1ms
- const: ti,am335x-timer-1ms
reg:
items:
- description: IO address
- description: L3 to L4 mapping for omap4/5 L4 ABE
minItems: 1
clocks:
items:
- description: Functional clock
- description: System clock for omap4/5 and dra7
minItems: 1
clock-names:
items:
- const: fck
- const: timer_sys_ck
minItems: 1
power-domains:
description:
Power domain if available
maxItems: 1
interrupts:
description:
Interrupt if available. The timer PWM features may be usable
in a limited way even without interrupts.
maxItems: 1
ti,timer-alwon:
description:
Timer is always enabled when the SoC is powered. Note that some SoCs like
am335x can suspend to PM coprocessor RTC only mode and in that case the
SoC power is cut including timers.
type: boolean
ti,timer-dsp:
description:
Timer is routable to the DSP in addition to the operating system.
type: boolean
ti,timer-pwm:
description:
Timer has been wired for PWM capability.
type: boolean
ti,timer-secure:
description:
Timer access has been limited to secure mode only.
type: boolean
ti,hwmods:
description:
Name of the HWMOD associated with timer. This is for legacy
omap2/3 platforms only.
$ref: /schemas/types.yaml#/definitions/string
deprecated: true
required:
- compatible
- reg
additionalProperties: false
allOf:
- if:
properties:
compatible:
contains:
const: ti,am654-timer
then:
required:
- power-domains
else:
required:
- interrupts
- if:
not:
properties:
compatible:
contains:
enum:
- ti,omap3430-timer
- ti,omap4430-timer
- ti,omap5430-timer
then:
properties:
reg:
maxItems: 1
clocks:
maxItems: 1
clock-names:
maxItems: 1
- if:
properties:
compatible:
contains:
enum:
- ti,dm814-timer
- ti,dm816-timer
- ti,omap2420-timer
- ti,omap3430-timer
then:
properties:
ti,hwmods:
items:
- pattern: "^timer([1-9]|1[0-2])$"
else:
properties:
ti,hwmods: false
examples:
- |
timer1: timer@0 {
compatible = "ti,am335x-timer-1ms";
reg = <0x0 0x400>;
interrupts = <67>;
ti,timer-alwon;
clocks = <&timer1_fck>;
clock-names = "fck";
};
...