dt-bindings: timer: renesas,tpu: Convert to json-schema

Convert the Renesas H8/300 Timer Pulse Unit Device Tree binding
documentation to json-schema.

Correct clock-names, as "peripheral_clk" is the name of the supplier,
and all users use "fck".

Note that there are two different bindings for the TPU, both using
"renesas,tpu": this one for using the TPU as a clock source (used on
H8/300), and a second use for using the TPU as a PWM controller (used on
ARM).  To avoid conflicts, both bindings are marked with the appropriate
"select" logic, to check for the absence respectively presence of the
"#pwm-cells" property.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Rob Herring <robh@kernel.org>
Acked-by: Yoshinori Sato <ysato@users.sourceforge.jp>
Link: https://lore.kernel.org/r/1c33e62c3a74979c3ca9580176e6cf89384caea9.1620648868.git.geert+renesas@glider.be
Signed-off-by: Rob Herring <robh@kernel.org>
This commit is contained in:
Geert Uytterhoeven 2021-05-10 14:18:35 +02:00 committed by Rob Herring
parent d91133eddb
commit d1dd216738
3 changed files with 65 additions and 21 deletions

View file

@ -9,6 +9,15 @@ title: Renesas R-Car Timer Pulse Unit PWM Controller
maintainers:
- Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
select:
properties:
compatible:
contains:
const: renesas,tpu
required:
- compatible
- '#pwm-cells'
properties:
compatible:
items:

View file

@ -1,21 +0,0 @@
* Renesas H8/300 Timer Pulse Unit
The TPU is a 16bit timer/counter with configurable clock inputs and
programmable compare match.
This implementation support only cascade mode.
Required Properties:
- compatible: must contain "renesas,tpu"
- reg: base address and length of the registers block in 2 channel.
- clocks: a list of phandle, one for each entry in clock-names.
- clock-names: must contain "peripheral_clk" for the functional clock.
Example:
tpu: tpu@ffffe0 {
compatible = "renesas,tpu";
reg = <0xffffe0 16>, <0xfffff0 12>;
clocks = <&pclk>;
clock-names = "peripheral_clk";
};

View file

@ -0,0 +1,56 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/timer/renesas,tpu.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Renesas H8/300 Timer Pulse Unit
maintainers:
- Yoshinori Sato <ysato@users.sourceforge.jp>
description:
The TPU is a 16bit timer/counter with configurable clock inputs and
programmable compare match.
This implementation supports only cascade mode.
select:
properties:
compatible:
contains:
const: renesas,tpu
'#pwm-cells': false
required:
- compatible
properties:
compatible:
const: renesas,tpu
reg:
items:
- description: First channel
- description: Second channel
clocks:
maxItems: 1
clock-names:
const: fck
required:
- compatible
- reg
- clocks
- clock-names
additionalProperties: false
examples:
- |
tpu: tpu@ffffe0 {
compatible = "renesas,tpu";
reg = <0xffffe0 16>, <0xfffff0 12>;
clocks = <&pclk>;
clock-names = "fck";
};