]> Pileus Git - ~andy/linux/blob - Documentation/devicetree/bindings/pwm/pwm-samsung.txt
clk: only call get_parent if there is one
[~andy/linux] / Documentation / devicetree / bindings / pwm / pwm-samsung.txt
1 * Samsung PWM timers
2
3 Samsung SoCs contain PWM timer blocks which can be used for system clock source
4 and clock event timers, as well as to drive SoC outputs with PWM signal. Each
5 PWM timer block provides 5 PWM channels (not all of them can drive physical
6 outputs - see SoC and board manual).
7
8 Be aware that the clocksource driver supports only uniprocessor systems.
9
10 Required properties:
11 - compatible : should be one of following:
12     samsung,s3c2410-pwm - for 16-bit timers present on S3C24xx SoCs
13     samsung,s3c6400-pwm - for 32-bit timers present on S3C64xx SoCs
14     samsung,s5p6440-pwm - for 32-bit timers present on S5P64x0 SoCs
15     samsung,s5pc100-pwm - for 32-bit timers present on S5PC100, S5PV210,
16                           Exynos4210 rev0 SoCs
17     samsung,exynos4210-pwm - for 32-bit timers present on Exynos4210,
18                           Exynos4x12 and Exynos5250 SoCs
19 - reg: base address and size of register area
20 - interrupts: list of timer interrupts (one interrupt per timer, starting at
21   timer 0)
22 - clock-names: should contain all following required clock names:
23     - "timers" - PWM base clock used to generate PWM signals,
24   and any subset of following optional clock names:
25     - "pwm-tclk0" - first external PWM clock source,
26     - "pwm-tclk1" - second external PWM clock source.
27   Note that not all IP variants allow using all external clock sources.
28   Refer to SoC documentation to learn which clock source configurations
29   are available.
30 - clocks: should contain clock specifiers of all clocks, which input names
31   have been specified in clock-names property, in same order.
32 - #pwm-cells: number of cells used for PWM specifier - must be 3
33    the specifier format is as follows:
34      - phandle to PWM controller node
35      - index of PWM channel (from 0 to 4)
36      - PWM signal period in nanoseconds
37      - bitmask of optional PWM flags:
38         0x1 - invert PWM signal
39
40 Optional properties:
41 - samsung,pwm-outputs: list of PWM channels used as PWM outputs on particular
42     platform - an array of up to 5 elements being indices of PWM channels
43     (from 0 to 4), the order does not matter.
44
45 Example:
46         pwm@7f006000 {
47                 compatible = "samsung,s3c6400-pwm";
48                 reg = <0x7f006000 0x1000>;
49                 interrupt-parent = <&vic0>;
50                 interrupts = <23>, <24>, <25>, <27>, <28>;
51                 clocks = <&clock 67>;
52                 clock-names = "timers";
53                 samsung,pwm-outputs = <0>, <1>;
54                 #pwm-cells = <3>;
55         }