73 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2# Copyright (C) 2020 SiFive, Inc.3%YAML 1.24---5$id: http://devicetree.org/schemas/pwm/pwm-sifive.yaml#6$schema: http://devicetree.org/meta-schemas/core.yaml#7 8title: SiFive PWM controller9 10maintainers:11 - Paul Walmsley <paul.walmsley@sifive.com>12 13description:14 Unlike most other PWM controllers, the SiFive PWM controller currently15 only supports one period for all channels in the PWM. All PWMs need to16 run at the same period. The period also has significant restrictions on17 the values it can achieve, which the driver rounds to the nearest18 achievable period. PWM RTL that corresponds to the IP block version19 numbers can be found here -20 21 https://github.com/sifive/sifive-blocks/tree/master/src/main/scala/devices/pwm22 23allOf:24 - $ref: pwm.yaml#25 26properties:27 compatible:28 items:29 - enum:30 - sifive,fu540-c000-pwm31 - sifive,fu740-c000-pwm32 - const: sifive,pwm033 description:34 Should be "sifive,<chip>-pwm" and "sifive,pwm<version>". Supported35 compatible strings are "sifive,fu540-c000-pwm" and36 "sifive,fu740-c000-pwm" for the SiFive PWM v0 as integrated onto the37 SiFive FU540 and FU740 chip respectively, and "sifive,pwm0" for the38 SiFive PWM v0 IP block with no chip integration tweaks.39 Please refer to sifive-blocks-ip-versioning.txt for details.40 41 reg:42 maxItems: 143 44 clocks:45 maxItems: 146 47 "#pwm-cells":48 const: 349 50 interrupts:51 maxItems: 452 description:53 Each PWM instance in FU540-C000 has 4 comparators. One interrupt per comparator.54 55required:56 - compatible57 - reg58 - clocks59 - interrupts60 61additionalProperties: false62 63examples:64 - |65 pwm: pwm@10020000 {66 compatible = "sifive,fu540-c000-pwm", "sifive,pwm0";67 reg = <0x10020000 0x1000>;68 clocks = <&tlclk>;69 interrupt-parent = <&plic>;70 interrupts = <42>, <43>, <44>, <45>;71 #pwm-cells = <3>;72 };73