1# SPDX-License-Identifier: GPL-2.0 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/pwm/pwm-samsung.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Samsung SoC PWM timers 8 9maintainers: 10 - Thierry Reding <thierry.reding@gmail.com> 11 - Krzysztof Kozlowski <krzk@kernel.org> 12 13description: |+ 14 Samsung SoCs contain PWM timer blocks which can be used for system clock source 15 and clock event timers, as well as to drive SoC outputs with PWM signal. Each 16 PWM timer block provides 5 PWM channels (not all of them can drive physical 17 outputs - see SoC and board manual). 18 19 Be aware that the clocksource driver supports only uniprocessor systems. 20 21allOf: 22 - $ref: pwm.yaml# 23 24properties: 25 compatible: 26 enum: 27 - samsung,s3c2410-pwm # 16-bit, S3C24xx 28 - samsung,s3c6400-pwm # 32-bit, S3C64xx 29 - samsung,s5p6440-pwm # 32-bit, S5P64x0 30 - samsung,s5pc100-pwm # 32-bit, S5PC100, S5PV210, Exynos4210 rev0 SoCs 31 - samsung,exynos4210-pwm # 32-bit, Exynos 32 33 reg: 34 maxItems: 1 35 36 clocks: 37 minItems: 1 38 maxItems: 3 39 40 clock-names: 41 description: | 42 Should contain all following required clock names: 43 - "timers" - PWM base clock used to generate PWM signals, 44 and any subset of following optional clock names: 45 - "pwm-tclk0" - first external PWM clock source, 46 - "pwm-tclk1" - second external PWM clock source. 47 Note that not all IP variants allow using all external clock sources. 48 Refer to SoC documentation to learn which clock source configurations 49 are available. 50 oneOf: 51 - items: 52 - const: timers 53 - items: 54 - const: timers 55 - const: pwm-tclk0 56 - items: 57 - const: timers 58 - const: pwm-tclk1 59 - items: 60 - const: timers 61 - const: pwm-tclk0 62 - const: pwm-tclk1 63 64 interrupts: 65 description: 66 One interrupt per timer, starting at timer 0. 67 minItems: 1 68 maxItems: 5 69 70 "#pwm-cells": 71 description: 72 The only third cell flag supported by this binding 73 is PWM_POLARITY_INVERTED. 74 const: 3 75 76 samsung,pwm-outputs: 77 description: 78 A list of PWM channels used as PWM outputs on particular platform. 79 It is an array of up to 5 elements being indices of PWM channels 80 (from 0 to 4), the order does not matter. 81 $ref: /schemas/types.yaml#/definitions/uint32-array 82 uniqueItems: true 83 items: 84 minimum: 0 85 maximum: 4 86 87required: 88 - clocks 89 - clock-names 90 - compatible 91 - interrupts 92 - "#pwm-cells" 93 - reg 94 95additionalProperties: false 96 97examples: 98 - | 99 pwm@7f006000 { 100 compatible = "samsung,s3c6400-pwm"; 101 reg = <0x7f006000 0x1000>; 102 interrupt-parent = <&vic0>; 103 interrupts = <23>, <24>, <25>, <27>, <28>; 104 clocks = <&clock 67>; 105 clock-names = "timers"; 106 samsung,pwm-outputs = <0>, <1>; 107 #pwm-cells = <3>; 108 }; 109