# 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"; }; ...