Back to home page

OSCL-LXR

 
 

    


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 ...