180 lines
4.4 KiB
YAML
180 lines
4.4 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/pwm/pwm-amlogic.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Amlogic PWM
|
|
|
|
maintainers:
|
|
- Heiner Kallweit <hkallweit1@gmail.com>
|
|
|
|
properties:
|
|
compatible:
|
|
oneOf:
|
|
- enum:
|
|
- amlogic,meson8b-pwm
|
|
- amlogic,meson-gxbb-pwm
|
|
- amlogic,meson-gxbb-ao-pwm
|
|
- amlogic,meson-axg-ee-pwm
|
|
- amlogic,meson-axg-ao-pwm
|
|
- amlogic,meson-g12a-ee-pwm
|
|
- amlogic,meson-g12a-ao-pwm-ab
|
|
- amlogic,meson-g12a-ao-pwm-cd
|
|
deprecated: true
|
|
- items:
|
|
- const: amlogic,meson-gx-pwm
|
|
- const: amlogic,meson-gxbb-pwm
|
|
deprecated: true
|
|
- items:
|
|
- const: amlogic,meson-gx-ao-pwm
|
|
- const: amlogic,meson-gxbb-ao-pwm
|
|
deprecated: true
|
|
- items:
|
|
- const: amlogic,meson8-pwm
|
|
- const: amlogic,meson8b-pwm
|
|
deprecated: true
|
|
- enum:
|
|
- amlogic,meson8-pwm-v2
|
|
- amlogic,meson-s4-pwm
|
|
- items:
|
|
- enum:
|
|
- amlogic,meson-a1-pwm
|
|
- const: amlogic,meson-s4-pwm
|
|
- items:
|
|
- enum:
|
|
- amlogic,meson8b-pwm-v2
|
|
- amlogic,meson-gxbb-pwm-v2
|
|
- amlogic,meson-axg-pwm-v2
|
|
- amlogic,meson-g12-pwm-v2
|
|
- const: amlogic,meson8-pwm-v2
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
clocks:
|
|
minItems: 1
|
|
maxItems: 4
|
|
|
|
clock-names:
|
|
minItems: 1
|
|
maxItems: 2
|
|
|
|
power-domains:
|
|
maxItems: 1
|
|
|
|
"#pwm-cells":
|
|
const: 3
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
|
|
allOf:
|
|
- $ref: pwm.yaml#
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- amlogic,meson8-pwm
|
|
- amlogic,meson8b-pwm
|
|
- amlogic,meson-gxbb-pwm
|
|
- amlogic,meson-gxbb-ao-pwm
|
|
- amlogic,meson-axg-ee-pwm
|
|
- amlogic,meson-axg-ao-pwm
|
|
- amlogic,meson-g12a-ee-pwm
|
|
- amlogic,meson-g12a-ao-pwm-ab
|
|
- amlogic,meson-g12a-ao-pwm-cd
|
|
then:
|
|
# Obsolete historic bindings tied to the driver implementation
|
|
# The clocks provided here are meant to be matched with the input
|
|
# known (hard-coded) in the driver and used to select pwm clock
|
|
# source. Currently, the linux driver ignores this.
|
|
# This is kept to maintain ABI backward compatibility.
|
|
properties:
|
|
clocks:
|
|
maxItems: 2
|
|
clock-names:
|
|
oneOf:
|
|
- items:
|
|
- enum: [clkin0, clkin1]
|
|
- items:
|
|
- const: clkin0
|
|
- const: clkin1
|
|
|
|
# Newer binding where clock describe the actual clock inputs of the pwm
|
|
# block. These are necessary but some inputs may be grounded.
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- amlogic,meson8-pwm-v2
|
|
then:
|
|
properties:
|
|
clocks:
|
|
minItems: 1
|
|
items:
|
|
- description: input clock 0 of the pwm block
|
|
- description: input clock 1 of the pwm block
|
|
- description: input clock 2 of the pwm block
|
|
- description: input clock 3 of the pwm block
|
|
clock-names: false
|
|
required:
|
|
- clocks
|
|
|
|
# Newer IP block take a single input per channel, instead of 4 inputs
|
|
# for both channels
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- amlogic,meson-s4-pwm
|
|
then:
|
|
properties:
|
|
clocks:
|
|
items:
|
|
- description: input clock of PWM channel A
|
|
- description: input clock of PWM channel B
|
|
clock-names: false
|
|
required:
|
|
- clocks
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- amlogic,meson-a1-pwm
|
|
then:
|
|
required:
|
|
- power-domains
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
pwm@8550 {
|
|
compatible = "amlogic,meson-gxbb-pwm";
|
|
reg = <0x08550 0x10>;
|
|
clocks = <&xtal>, <&xtal>;
|
|
clock-names = "clkin0", "clkin1";
|
|
#pwm-cells = <3>;
|
|
};
|
|
- |
|
|
pwm@2000 {
|
|
compatible = "amlogic,meson8-pwm-v2";
|
|
reg = <0x1000 0x10>;
|
|
clocks = <&xtal>, <0>, <&fdiv4>, <&fdiv5>;
|
|
#pwm-cells = <3>;
|
|
};
|
|
- |
|
|
pwm@1000 {
|
|
compatible = "amlogic,meson-s4-pwm";
|
|
reg = <0x1000 0x10>;
|
|
clocks = <&pwm_src_a>, <&pwm_src_b>;
|
|
#pwm-cells = <3>;
|
|
};
|