linux/Documentation/devicetree/bindings/timer/ti,timer-dm.yaml
Tony Lindgren c4f3f823c2 dt-bindings: timer: Add compatible for am6 for TI timer-dm
Let's add compatible for ti,am654-timer for TI am64, am65 and j72 SoCs.
As the timer hardware is the same between am64, am65 and j72 we use the
compatible name for the earliest SoC with this timer.

The timer interrupts are not routable for the operating system for some
timers on am6. Let's make sure the interrupts are configured for the
timers on all other SoCs.

Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
Cc: Grygorii Strashko <grygorii.strashko@ti.com>
Cc: Keerthy <j-keerthy@ti.com>
Cc: Nishanth Menon <nm@ti.com>
Cc: Vignesh Raghavendra <vigneshr@ti.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Reviewed-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20220414085807.7389-3-tony@atomide.com
2022-04-25 16:55:10 -05:00

153 lines
3.3 KiB
YAML

# 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
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:
not:
properties:
compatible:
contains:
const: ti,am654-timer
then:
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";
};
...