| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180 |
- # 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>;
- };
|