1d5b0e70fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2d5b0e70fSEmmanuel Vadot%YAML 1.2 3d5b0e70fSEmmanuel Vadot--- 4d5b0e70fSEmmanuel Vadot$id: http://devicetree.org/schemas/timer/ti,timer-dm.yaml# 5d5b0e70fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6d5b0e70fSEmmanuel Vadot 7d5b0e70fSEmmanuel Vadottitle: TI dual-mode timer 8d5b0e70fSEmmanuel Vadot 9d5b0e70fSEmmanuel Vadotmaintainers: 10d5b0e70fSEmmanuel Vadot - Tony Lindgren <tony@atomide.com> 11d5b0e70fSEmmanuel Vadot 12d5b0e70fSEmmanuel Vadotdescription: | 13d5b0e70fSEmmanuel Vadot The TI dual-mode timer is a general purpose timer with PWM capabilities. 14d5b0e70fSEmmanuel Vadot 15d5b0e70fSEmmanuel Vadotproperties: 16d5b0e70fSEmmanuel Vadot compatible: 17d5b0e70fSEmmanuel Vadot oneOf: 18d5b0e70fSEmmanuel Vadot - items: 19d5b0e70fSEmmanuel Vadot - enum: 20d5b0e70fSEmmanuel Vadot - ti,am335x-timer 21d5b0e70fSEmmanuel Vadot - ti,am335x-timer-1ms 22d5b0e70fSEmmanuel Vadot - ti,am654-timer 23d5b0e70fSEmmanuel Vadot - ti,dm814-timer 24d5b0e70fSEmmanuel Vadot - ti,dm816-timer 25d5b0e70fSEmmanuel Vadot - ti,omap2420-timer 26d5b0e70fSEmmanuel Vadot - ti,omap3430-timer 27d5b0e70fSEmmanuel Vadot - ti,omap4430-timer 28d5b0e70fSEmmanuel Vadot - ti,omap5430-timer 29d5b0e70fSEmmanuel Vadot - items: 30d5b0e70fSEmmanuel Vadot - const: ti,am4372-timer 31d5b0e70fSEmmanuel Vadot - const: ti,am335x-timer 32d5b0e70fSEmmanuel Vadot - items: 33d5b0e70fSEmmanuel Vadot - const: ti,am4372-timer-1ms 34d5b0e70fSEmmanuel Vadot - const: ti,am335x-timer-1ms 35d5b0e70fSEmmanuel Vadot 36d5b0e70fSEmmanuel Vadot reg: 37d5b0e70fSEmmanuel Vadot items: 38d5b0e70fSEmmanuel Vadot - description: IO address 39d5b0e70fSEmmanuel Vadot - description: L3 to L4 mapping for omap4/5 L4 ABE 40d5b0e70fSEmmanuel Vadot minItems: 1 41d5b0e70fSEmmanuel Vadot 42d5b0e70fSEmmanuel Vadot clocks: 43d5b0e70fSEmmanuel Vadot items: 44d5b0e70fSEmmanuel Vadot - description: Functional clock 45d5b0e70fSEmmanuel Vadot - description: System clock for omap4/5 and dra7 46d5b0e70fSEmmanuel Vadot minItems: 1 47d5b0e70fSEmmanuel Vadot 48d5b0e70fSEmmanuel Vadot clock-names: 49d5b0e70fSEmmanuel Vadot items: 50d5b0e70fSEmmanuel Vadot - const: fck 51d5b0e70fSEmmanuel Vadot - const: timer_sys_ck 52d5b0e70fSEmmanuel Vadot minItems: 1 53d5b0e70fSEmmanuel Vadot 54*7ef62cebSEmmanuel Vadot power-domains: 55*7ef62cebSEmmanuel Vadot description: 56*7ef62cebSEmmanuel Vadot Power domain if available 57*7ef62cebSEmmanuel Vadot maxItems: 1 58*7ef62cebSEmmanuel Vadot 59d5b0e70fSEmmanuel Vadot interrupts: 60d5b0e70fSEmmanuel Vadot description: 61d5b0e70fSEmmanuel Vadot Interrupt if available. The timer PWM features may be usable 62d5b0e70fSEmmanuel Vadot in a limited way even without interrupts. 63d5b0e70fSEmmanuel Vadot maxItems: 1 64d5b0e70fSEmmanuel Vadot 65d5b0e70fSEmmanuel Vadot ti,timer-alwon: 66d5b0e70fSEmmanuel Vadot description: 67d5b0e70fSEmmanuel Vadot Timer is always enabled when the SoC is powered. Note that some SoCs like 68d5b0e70fSEmmanuel Vadot am335x can suspend to PM coprocessor RTC only mode and in that case the 69d5b0e70fSEmmanuel Vadot SoC power is cut including timers. 70d5b0e70fSEmmanuel Vadot type: boolean 71d5b0e70fSEmmanuel Vadot 72d5b0e70fSEmmanuel Vadot ti,timer-dsp: 73d5b0e70fSEmmanuel Vadot description: 74d5b0e70fSEmmanuel Vadot Timer is routable to the DSP in addition to the operating system. 75d5b0e70fSEmmanuel Vadot type: boolean 76d5b0e70fSEmmanuel Vadot 77d5b0e70fSEmmanuel Vadot ti,timer-pwm: 78d5b0e70fSEmmanuel Vadot description: 79d5b0e70fSEmmanuel Vadot Timer has been wired for PWM capability. 80d5b0e70fSEmmanuel Vadot type: boolean 81d5b0e70fSEmmanuel Vadot 82d5b0e70fSEmmanuel Vadot ti,timer-secure: 83d5b0e70fSEmmanuel Vadot description: 84d5b0e70fSEmmanuel Vadot Timer access has been limited to secure mode only. 85d5b0e70fSEmmanuel Vadot type: boolean 86d5b0e70fSEmmanuel Vadot 87d5b0e70fSEmmanuel Vadot ti,hwmods: 88d5b0e70fSEmmanuel Vadot description: 89d5b0e70fSEmmanuel Vadot Name of the HWMOD associated with timer. This is for legacy 90d5b0e70fSEmmanuel Vadot omap2/3 platforms only. 91d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/string 92d5b0e70fSEmmanuel Vadot deprecated: true 93d5b0e70fSEmmanuel Vadot 94d5b0e70fSEmmanuel Vadotrequired: 95d5b0e70fSEmmanuel Vadot - compatible 96d5b0e70fSEmmanuel Vadot - reg 97d5b0e70fSEmmanuel Vadot 98d5b0e70fSEmmanuel VadotadditionalProperties: false 99d5b0e70fSEmmanuel Vadot 100d5b0e70fSEmmanuel VadotallOf: 101d5b0e70fSEmmanuel Vadot - if: 102d5b0e70fSEmmanuel Vadot properties: 103d5b0e70fSEmmanuel Vadot compatible: 104d5b0e70fSEmmanuel Vadot contains: 105d5b0e70fSEmmanuel Vadot const: ti,am654-timer 106d5b0e70fSEmmanuel Vadot then: 107d5b0e70fSEmmanuel Vadot required: 108*7ef62cebSEmmanuel Vadot - power-domains 109*7ef62cebSEmmanuel Vadot else: 110*7ef62cebSEmmanuel Vadot required: 111d5b0e70fSEmmanuel Vadot - interrupts 112d5b0e70fSEmmanuel Vadot 113d5b0e70fSEmmanuel Vadot - if: 114d5b0e70fSEmmanuel Vadot not: 115d5b0e70fSEmmanuel Vadot properties: 116d5b0e70fSEmmanuel Vadot compatible: 117d5b0e70fSEmmanuel Vadot contains: 118d5b0e70fSEmmanuel Vadot enum: 119d5b0e70fSEmmanuel Vadot - ti,omap3430-timer 120d5b0e70fSEmmanuel Vadot - ti,omap4430-timer 121d5b0e70fSEmmanuel Vadot - ti,omap5430-timer 122d5b0e70fSEmmanuel Vadot then: 123d5b0e70fSEmmanuel Vadot properties: 124d5b0e70fSEmmanuel Vadot reg: 125d5b0e70fSEmmanuel Vadot maxItems: 1 126d5b0e70fSEmmanuel Vadot clocks: 127d5b0e70fSEmmanuel Vadot maxItems: 1 128d5b0e70fSEmmanuel Vadot clock-names: 129d5b0e70fSEmmanuel Vadot maxItems: 1 130d5b0e70fSEmmanuel Vadot 131d5b0e70fSEmmanuel Vadot - if: 132d5b0e70fSEmmanuel Vadot properties: 133d5b0e70fSEmmanuel Vadot compatible: 134d5b0e70fSEmmanuel Vadot contains: 135d5b0e70fSEmmanuel Vadot enum: 136d5b0e70fSEmmanuel Vadot - ti,dm814-timer 137d5b0e70fSEmmanuel Vadot - ti,dm816-timer 138d5b0e70fSEmmanuel Vadot - ti,omap2420-timer 139d5b0e70fSEmmanuel Vadot - ti,omap3430-timer 140d5b0e70fSEmmanuel Vadot then: 141d5b0e70fSEmmanuel Vadot properties: 142d5b0e70fSEmmanuel Vadot ti,hwmods: 143d5b0e70fSEmmanuel Vadot items: 144d5b0e70fSEmmanuel Vadot - pattern: "^timer([1-9]|1[0-2])$" 145d5b0e70fSEmmanuel Vadot else: 146d5b0e70fSEmmanuel Vadot properties: 147d5b0e70fSEmmanuel Vadot ti,hwmods: false 148d5b0e70fSEmmanuel Vadot 149d5b0e70fSEmmanuel Vadotexamples: 150d5b0e70fSEmmanuel Vadot - | 151d5b0e70fSEmmanuel Vadot timer1: timer@0 { 152d5b0e70fSEmmanuel Vadot compatible = "ti,am335x-timer-1ms"; 153d5b0e70fSEmmanuel Vadot reg = <0x0 0x400>; 154d5b0e70fSEmmanuel Vadot interrupts = <67>; 155d5b0e70fSEmmanuel Vadot ti,timer-alwon; 156d5b0e70fSEmmanuel Vadot clocks = <&timer1_fck>; 157d5b0e70fSEmmanuel Vadot clock-names = "fck"; 158d5b0e70fSEmmanuel Vadot }; 159d5b0e70fSEmmanuel Vadot... 160