# 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 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 - amlogic,meson-s4-pwm - items: - const: amlogic,meson-gx-pwm - const: amlogic,meson-gxbb-pwm - items: - const: amlogic,meson-gx-ao-pwm - const: amlogic,meson-gxbb-ao-pwm - items: - const: amlogic,meson8-pwm - const: amlogic,meson8b-pwm reg: maxItems: 1 clocks: minItems: 1 maxItems: 2 clock-names: minItems: 1 maxItems: 2 "#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: # 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. properties: clock-names: oneOf: - items: - enum: [clkin0, clkin1] - items: - const: clkin0 - const: clkin1 # 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 additionalProperties: false examples: - | pwm@8550 { compatible = "amlogic,meson-gxbb-pwm"; reg = <0x08550 0x10>; clocks = <&xtal>, <&xtal>; clock-names = "clkin0", "clkin1"; #pwm-cells = <3>; }; - | pwm@1000 { compatible = "amlogic,meson-s4-pwm"; reg = <0x1000 0x10>; clocks = <&pwm_src_a>, <&pwm_src_b>; #pwm-cells = <3>; };