Files
linux/Documentation/devicetree/bindings/timer/faraday,fttmr010.yaml
Rob Herring (Arm) ef0e000cd1 dt-bindings: timer: Convert faraday,fttmr010 to DT schema
Convert the Faraday fttmr010 Timer binding to DT schema format. Adjust
the compatible string values to match what's in use. The number of
interrupts can also be anywhere from 1 to 8. The clock-names order was
reversed compared to what's used.

Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20250611232621.1508116-1-robh@kernel.org
2025-09-23 10:52:51 +02:00

90 lines
1.9 KiB
YAML

# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/timer/faraday,fttmr010.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Faraday FTTMR010 timer
maintainers:
- Joel Stanley <joel@jms.id.au>
- Linus Walleij <linus.walleij@linaro.org>
description:
This timer is a generic IP block from Faraday Technology, embedded in the
Cortina Systems Gemini SoCs and other designs.
properties:
compatible:
oneOf:
- items:
- const: moxa,moxart-timer
- const: faraday,fttmr010
- enum:
- aspeed,ast2400-timer
- aspeed,ast2500-timer
- aspeed,ast2600-timer
- cortina,gemini-timer
- faraday,fttmr010
reg:
maxItems: 1
interrupts:
minItems: 1
maxItems: 8
description: One interrupt per timer
clocks:
minItems: 1
items:
- description: Peripheral clock
- description: External tick clock
clock-names:
minItems: 1
items:
- const: PCLK
- const: EXTCLK
resets:
maxItems: 1
syscon:
description: System controller phandle for Gemini systems
$ref: /schemas/types.yaml#/definitions/phandle
required:
- compatible
- reg
- interrupts
allOf:
- if:
properties:
compatible:
contains:
const: cortina,gemini-timer
then:
required:
- syscon
else:
properties:
syscon: false
additionalProperties: false
examples:
- |
#include <dt-bindings/interrupt-controller/irq.h>
timer@43000000 {
compatible = "faraday,fttmr010";
reg = <0x43000000 0x1000>;
interrupts = <14 IRQ_TYPE_EDGE_FALLING>, /* Timer 1 */
<15 IRQ_TYPE_EDGE_FALLING>, /* Timer 2 */
<16 IRQ_TYPE_EDGE_FALLING>; /* Timer 3 */
clocks = <&pclk>, <&extclk>;
clock-names = "PCLK", "EXTCLK";
};