The PWM controller in the Allwinner F1C100s series of SoCs is the same as in the A20 SoCs, so allow using that as the fallback name. Join the V3s compatible string in an enum on the way. Signed-off-by: Andre Przywara <andre.przywara@arm.com> Acked-by: Rob Herring <robh@kernel.org> Acked-by: Thierry Reding <thierry.reding@gmail.com> Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Link: https://lore.kernel.org/r/20221107005433.11079-2-andre.przywara@arm.com Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
116 lines
2.4 KiB
YAML
116 lines
2.4 KiB
YAML
# SPDX-License-Identifier: GPL-2.0
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/pwm/allwinner,sun4i-a10-pwm.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Allwinner A10 PWM
|
|
|
|
maintainers:
|
|
- Chen-Yu Tsai <wens@csie.org>
|
|
- Maxime Ripard <mripard@kernel.org>
|
|
|
|
properties:
|
|
"#pwm-cells":
|
|
const: 3
|
|
|
|
compatible:
|
|
oneOf:
|
|
- const: allwinner,sun4i-a10-pwm
|
|
- const: allwinner,sun5i-a10s-pwm
|
|
- const: allwinner,sun5i-a13-pwm
|
|
- const: allwinner,sun7i-a20-pwm
|
|
- const: allwinner,sun8i-h3-pwm
|
|
- items:
|
|
- const: allwinner,sun8i-a83t-pwm
|
|
- const: allwinner,sun8i-h3-pwm
|
|
- items:
|
|
- enum:
|
|
- allwinner,suniv-f1c100s-pwm
|
|
- allwinner,sun8i-v3s-pwm
|
|
- const: allwinner,sun7i-a20-pwm
|
|
- items:
|
|
- const: allwinner,sun50i-a64-pwm
|
|
- const: allwinner,sun5i-a13-pwm
|
|
- items:
|
|
- const: allwinner,sun50i-h5-pwm
|
|
- const: allwinner,sun5i-a13-pwm
|
|
- const: allwinner,sun50i-h6-pwm
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
clocks:
|
|
minItems: 1
|
|
items:
|
|
- description: Module Clock
|
|
- description: Bus Clock
|
|
|
|
# Even though it only applies to subschemas under the conditionals,
|
|
# not listing them here will trigger a warning because of the
|
|
# additionalsProperties set to false.
|
|
clock-names: true
|
|
|
|
resets:
|
|
maxItems: 1
|
|
|
|
|
|
allOf:
|
|
- $ref: pwm.yaml#
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: allwinner,sun50i-h6-pwm
|
|
|
|
then:
|
|
properties:
|
|
clocks:
|
|
maxItems: 2
|
|
|
|
clock-names:
|
|
items:
|
|
- const: mod
|
|
- const: bus
|
|
|
|
required:
|
|
- clock-names
|
|
- resets
|
|
|
|
else:
|
|
properties:
|
|
clocks:
|
|
maxItems: 1
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- clocks
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
pwm: pwm@1c20e00 {
|
|
compatible = "allwinner,sun7i-a20-pwm";
|
|
reg = <0x01c20e00 0xc>;
|
|
clocks = <&osc24M>;
|
|
#pwm-cells = <3>;
|
|
};
|
|
|
|
- |
|
|
#include <dt-bindings/clock/sun50i-h6-ccu.h>
|
|
#include <dt-bindings/reset/sun50i-h6-ccu.h>
|
|
|
|
pwm@300a000 {
|
|
compatible = "allwinner,sun50i-h6-pwm";
|
|
reg = <0x0300a000 0x400>;
|
|
clocks = <&osc24M>, <&ccu CLK_BUS_PWM>;
|
|
clock-names = "mod", "bus";
|
|
resets = <&ccu RST_BUS_PWM>;
|
|
#pwm-cells = <3>;
|
|
};
|
|
|
|
...
|