mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
synced 2026-04-18 19:43:43 -04:00
json-schema versions draft7 and earlier have a weird behavior in that any keywords combined with a '$ref' are ignored (silently). The correct form was to put a '$ref' under an 'allOf'. This behavior is now changed in the 2019-09 json-schema spec and '$ref' can be mixed with other keywords. The json-schema library doesn't yet support this, but the tooling now does a fixup for this and either way works. This has been a constant source of review comments, so let's change this treewide so everyone copies the simpler syntax. Scripted with ruamel.yaml with some manual fixups. Some minor whitespace changes from the script. Signed-off-by: Rob Herring <robh@kernel.org> Acked-by: Maxime Ripard <mripard@kernel.org> Acked-by: Lee Jones <lee.jones@linaro.org> Acked-By: Vinod Koul <vkoul@kernel.org> Acked-by: Mark Brown <broonie@kernel.org> Acked-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Acked-by: Wolfram Sang <wsa@the-dreams.de> # for I2C Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> #for-iio Reviewed-by: Stephen Boyd <sboyd@kernel.org> # clock Signed-off-by: Rob Herring <robh@kernel.org>
109 lines
2.9 KiB
YAML
109 lines
2.9 KiB
YAML
# SPDX-License-Identifier: GPL-2.0
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/pwm/pwm-samsung.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Samsung SoC PWM timers
|
|
|
|
maintainers:
|
|
- Thierry Reding <thierry.reding@gmail.com>
|
|
- Krzysztof Kozlowski <krzk@kernel.org>
|
|
|
|
description: |+
|
|
Samsung SoCs contain PWM timer blocks which can be used for system clock source
|
|
and clock event timers, as well as to drive SoC outputs with PWM signal. Each
|
|
PWM timer block provides 5 PWM channels (not all of them can drive physical
|
|
outputs - see SoC and board manual).
|
|
|
|
Be aware that the clocksource driver supports only uniprocessor systems.
|
|
|
|
allOf:
|
|
- $ref: pwm.yaml#
|
|
|
|
properties:
|
|
compatible:
|
|
enum:
|
|
- samsung,s3c2410-pwm # 16-bit, S3C24xx
|
|
- samsung,s3c6400-pwm # 32-bit, S3C64xx
|
|
- samsung,s5p6440-pwm # 32-bit, S5P64x0
|
|
- samsung,s5pc100-pwm # 32-bit, S5PC100, S5PV210, Exynos4210 rev0 SoCs
|
|
- samsung,exynos4210-pwm # 32-bit, Exynos
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
clocks:
|
|
minItems: 1
|
|
maxItems: 3
|
|
|
|
clock-names:
|
|
description: |
|
|
Should contain all following required clock names:
|
|
- "timers" - PWM base clock used to generate PWM signals,
|
|
and any subset of following optional clock names:
|
|
- "pwm-tclk0" - first external PWM clock source,
|
|
- "pwm-tclk1" - second external PWM clock source.
|
|
Note that not all IP variants allow using all external clock sources.
|
|
Refer to SoC documentation to learn which clock source configurations
|
|
are available.
|
|
oneOf:
|
|
- items:
|
|
- const: timers
|
|
- items:
|
|
- const: timers
|
|
- const: pwm-tclk0
|
|
- items:
|
|
- const: timers
|
|
- const: pwm-tclk1
|
|
- items:
|
|
- const: timers
|
|
- const: pwm-tclk0
|
|
- const: pwm-tclk1
|
|
|
|
interrupts:
|
|
description:
|
|
One interrupt per timer, starting at timer 0.
|
|
minItems: 1
|
|
maxItems: 5
|
|
|
|
"#pwm-cells":
|
|
description:
|
|
The only third cell flag supported by this binding
|
|
is PWM_POLARITY_INVERTED.
|
|
const: 3
|
|
|
|
samsung,pwm-outputs:
|
|
description:
|
|
A list of PWM channels used as PWM outputs on particular platform.
|
|
It is an array of up to 5 elements being indices of PWM channels
|
|
(from 0 to 4), the order does not matter.
|
|
$ref: /schemas/types.yaml#/definitions/uint32-array
|
|
uniqueItems: true
|
|
items:
|
|
minimum: 0
|
|
maximum: 4
|
|
|
|
required:
|
|
- clocks
|
|
- clock-names
|
|
- compatible
|
|
- interrupts
|
|
- "#pwm-cells"
|
|
- reg
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
pwm@7f006000 {
|
|
compatible = "samsung,s3c6400-pwm";
|
|
reg = <0x7f006000 0x1000>;
|
|
interrupt-parent = <&vic0>;
|
|
interrupts = <23>, <24>, <25>, <27>, <28>;
|
|
clocks = <&clock 67>;
|
|
clock-names = "timers";
|
|
samsung,pwm-outputs = <0>, <1>;
|
|
#pwm-cells = <3>;
|
|
};
|