c4f3f823c2
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
153 lines
3.3 KiB
YAML
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";
|
|
};
|
|
...
|