1 # SPDX-License-Identifier: (GPL-2.0-only OR BS 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 # Copyright (C) 2020 SiFive, Inc. 2 # Copyright (C) 2020 SiFive, Inc. 3 %YAML 1.2 3 %YAML 1.2 4 --- 4 --- 5 $id: http://devicetree.org/schemas/pwm/pwm-sif 5 $id: http://devicetree.org/schemas/pwm/pwm-sifive.yaml# 6 $schema: http://devicetree.org/meta-schemas/co 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 7 8 title: SiFive PWM controller 8 title: SiFive PWM controller 9 9 10 maintainers: 10 maintainers: 11 - Paul Walmsley <paul.walmsley@sifive.com> 11 - Paul Walmsley <paul.walmsley@sifive.com> 12 12 13 description: 13 description: 14 Unlike most other PWM controllers, the SiFiv 14 Unlike most other PWM controllers, the SiFive PWM controller currently 15 only supports one period for all channels in 15 only supports one period for all channels in the PWM. All PWMs need to 16 run at the same period. The period also has 16 run at the same period. The period also has significant restrictions on 17 the values it can achieve, which the driver 17 the values it can achieve, which the driver rounds to the nearest 18 achievable period. PWM RTL that corresponds 18 achievable period. PWM RTL that corresponds to the IP block version 19 numbers can be found here - 19 numbers can be found here - 20 20 21 https://github.com/sifive/sifive-blocks/tree 21 https://github.com/sifive/sifive-blocks/tree/master/src/main/scala/devices/pwm 22 22 23 allOf: 23 allOf: 24 - $ref: pwm.yaml# 24 - $ref: pwm.yaml# 25 25 26 properties: 26 properties: 27 compatible: 27 compatible: 28 items: 28 items: 29 - enum: 29 - enum: 30 - sifive,fu540-c000-pwm 30 - sifive,fu540-c000-pwm 31 - sifive,fu740-c000-pwm 31 - sifive,fu740-c000-pwm 32 - const: sifive,pwm0 32 - const: sifive,pwm0 33 description: 33 description: 34 Should be "sifive,<chip>-pwm" and "sifiv 34 Should be "sifive,<chip>-pwm" and "sifive,pwm<version>". Supported 35 compatible strings are "sifive,fu540-c00 35 compatible strings are "sifive,fu540-c000-pwm" and 36 "sifive,fu740-c000-pwm" for the SiFive P 36 "sifive,fu740-c000-pwm" for the SiFive PWM v0 as integrated onto the 37 SiFive FU540 and FU740 chip respectively 37 SiFive FU540 and FU740 chip respectively, and "sifive,pwm0" for the 38 SiFive PWM v0 IP block with no chip inte 38 SiFive PWM v0 IP block with no chip integration tweaks. 39 Please refer to sifive-blocks-ip-version 39 Please refer to sifive-blocks-ip-versioning.txt for details. 40 40 41 reg: 41 reg: 42 maxItems: 1 42 maxItems: 1 43 43 44 clocks: 44 clocks: 45 maxItems: 1 45 maxItems: 1 46 46 47 "#pwm-cells": 47 "#pwm-cells": 48 const: 3 48 const: 3 49 49 50 interrupts: 50 interrupts: 51 maxItems: 4 51 maxItems: 4 52 description: 52 description: 53 Each PWM instance in FU540-C000 has 4 co 53 Each PWM instance in FU540-C000 has 4 comparators. One interrupt per comparator. 54 54 55 required: 55 required: 56 - compatible 56 - compatible 57 - reg 57 - reg 58 - clocks 58 - clocks 59 - interrupts 59 - interrupts 60 60 61 additionalProperties: false 61 additionalProperties: false 62 62 63 examples: 63 examples: 64 - | 64 - | 65 pwm: pwm@10020000 { 65 pwm: pwm@10020000 { 66 compatible = "sifive,fu540-c000-pwm", "s 66 compatible = "sifive,fu540-c000-pwm", "sifive,pwm0"; 67 reg = <0x10020000 0x1000>; 67 reg = <0x10020000 0x1000>; 68 clocks = <&tlclk>; 68 clocks = <&tlclk>; 69 interrupt-parent = <&plic>; 69 interrupt-parent = <&plic>; 70 interrupts = <42>, <43>, <44>, <45>; 70 interrupts = <42>, <43>, <44>, <45>; 71 #pwm-cells = <3>; 71 #pwm-cells = <3>; 72 }; 72 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.