1# SPDX-License-Identifier: GPL-2.0 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/pwm/allwinner,sun4i-a10-pwm.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Allwinner A10 PWM 8 9maintainers: 10 - Chen-Yu Tsai <wens@csie.org> 11 - Maxime Ripard <mripard@kernel.org> 12 13properties: 14 "#pwm-cells": 15 const: 3 16 17 compatible: 18 oneOf: 19 - const: allwinner,sun4i-a10-pwm 20 - const: allwinner,sun5i-a10s-pwm 21 - const: allwinner,sun5i-a13-pwm 22 - const: allwinner,sun7i-a20-pwm 23 - const: allwinner,sun8i-h3-pwm 24 - items: 25 - const: allwinner,sun8i-a83t-pwm 26 - const: allwinner,sun8i-h3-pwm 27 - items: 28 - const: allwinner,sun8i-v3s-pwm 29 - const: allwinner,sun7i-a20-pwm 30 - items: 31 - const: allwinner,sun50i-a64-pwm 32 - const: allwinner,sun5i-a13-pwm 33 - items: 34 - const: allwinner,sun50i-h5-pwm 35 - const: allwinner,sun5i-a13-pwm 36 - const: allwinner,sun50i-h6-pwm 37 38 reg: 39 maxItems: 1 40 41 clocks: 42 minItems: 1 43 items: 44 - description: Module Clock 45 - description: Bus Clock 46 47 # Even though it only applies to subschemas under the conditionals, 48 # not listing them here will trigger a warning because of the 49 # additionalsProperties set to false. 50 clock-names: true 51 52 resets: 53 maxItems: 1 54 55 56allOf: 57 - $ref: pwm.yaml# 58 59 - if: 60 properties: 61 compatible: 62 contains: 63 const: allwinner,sun50i-h6-pwm 64 65 then: 66 properties: 67 clocks: 68 maxItems: 2 69 70 clock-names: 71 items: 72 - const: mod 73 - const: bus 74 75 required: 76 - clock-names 77 - resets 78 79 else: 80 properties: 81 clocks: 82 maxItems: 1 83 84required: 85 - compatible 86 - reg 87 - clocks 88 89additionalProperties: false 90 91examples: 92 - | 93 pwm: pwm@1c20e00 { 94 compatible = "allwinner,sun7i-a20-pwm"; 95 reg = <0x01c20e00 0xc>; 96 clocks = <&osc24M>; 97 #pwm-cells = <3>; 98 }; 99 100 - | 101 #include <dt-bindings/clock/sun50i-h6-ccu.h> 102 #include <dt-bindings/reset/sun50i-h6-ccu.h> 103 104 pwm@300a000 { 105 compatible = "allwinner,sun50i-h6-pwm"; 106 reg = <0x0300a000 0x400>; 107 clocks = <&osc24M>, <&ccu CLK_BUS_PWM>; 108 clock-names = "mod", "bus"; 109 resets = <&ccu RST_BUS_PWM>; 110 #pwm-cells = <3>; 111 }; 112 113... 114