0001 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/timer/ti,timer-dm.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: TI dual-mode timer
0008
0009 maintainers:
0010 - Tony Lindgren <tony@atomide.com>
0011
0012 description: |
0013 The TI dual-mode timer is a general purpose timer with PWM capabilities.
0014
0015 properties:
0016 compatible:
0017 oneOf:
0018 - items:
0019 - enum:
0020 - ti,am335x-timer
0021 - ti,am335x-timer-1ms
0022 - ti,am654-timer
0023 - ti,dm814-timer
0024 - ti,dm816-timer
0025 - ti,omap2420-timer
0026 - ti,omap3430-timer
0027 - ti,omap4430-timer
0028 - ti,omap5430-timer
0029 - items:
0030 - const: ti,am4372-timer
0031 - const: ti,am335x-timer
0032 - items:
0033 - const: ti,am4372-timer-1ms
0034 - const: ti,am335x-timer-1ms
0035
0036 reg:
0037 items:
0038 - description: IO address
0039 - description: L3 to L4 mapping for omap4/5 L4 ABE
0040 minItems: 1
0041
0042 clocks:
0043 items:
0044 - description: Functional clock
0045 - description: System clock for omap4/5 and dra7
0046 minItems: 1
0047
0048 clock-names:
0049 items:
0050 - const: fck
0051 - const: timer_sys_ck
0052 minItems: 1
0053
0054 interrupts:
0055 description:
0056 Interrupt if available. The timer PWM features may be usable
0057 in a limited way even without interrupts.
0058 maxItems: 1
0059
0060 ti,timer-alwon:
0061 description:
0062 Timer is always enabled when the SoC is powered. Note that some SoCs like
0063 am335x can suspend to PM coprocessor RTC only mode and in that case the
0064 SoC power is cut including timers.
0065 type: boolean
0066
0067 ti,timer-dsp:
0068 description:
0069 Timer is routable to the DSP in addition to the operating system.
0070 type: boolean
0071
0072 ti,timer-pwm:
0073 description:
0074 Timer has been wired for PWM capability.
0075 type: boolean
0076
0077 ti,timer-secure:
0078 description:
0079 Timer access has been limited to secure mode only.
0080 type: boolean
0081
0082 ti,hwmods:
0083 description:
0084 Name of the HWMOD associated with timer. This is for legacy
0085 omap2/3 platforms only.
0086 $ref: /schemas/types.yaml#/definitions/string
0087 deprecated: true
0088
0089 required:
0090 - compatible
0091 - reg
0092
0093 additionalProperties: false
0094
0095 allOf:
0096 - if:
0097 not:
0098 properties:
0099 compatible:
0100 contains:
0101 const: ti,am654-timer
0102 then:
0103 required:
0104 - interrupts
0105
0106 - if:
0107 not:
0108 properties:
0109 compatible:
0110 contains:
0111 enum:
0112 - ti,omap3430-timer
0113 - ti,omap4430-timer
0114 - ti,omap5430-timer
0115 then:
0116 properties:
0117 reg:
0118 maxItems: 1
0119 clocks:
0120 maxItems: 1
0121 clock-names:
0122 maxItems: 1
0123
0124 - if:
0125 properties:
0126 compatible:
0127 contains:
0128 enum:
0129 - ti,dm814-timer
0130 - ti,dm816-timer
0131 - ti,omap2420-timer
0132 - ti,omap3430-timer
0133 then:
0134 properties:
0135 ti,hwmods:
0136 items:
0137 - pattern: "^timer([1-9]|1[0-2])$"
0138 else:
0139 properties:
0140 ti,hwmods: false
0141
0142 examples:
0143 - |
0144 timer1: timer@0 {
0145 compatible = "ti,am335x-timer-1ms";
0146 reg = <0x0 0x400>;
0147 interrupts = <67>;
0148 ti,timer-alwon;
0149 clocks = <&timer1_fck>;
0150 clock-names = "fck";
0151 };
0152 ...