File Index
Files and directories
Sign in
FILE

fsl,vf610-ftm-pwm.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/pwm/fsl,vf610-ftm-pwm.yaml YAML
 1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
 2%YAML 1.2
 3---
 4$id: http://devicetree.org/schemas/pwm/fsl,vf610-ftm-pwm.yaml#
 5$schema: http://devicetree.org/meta-schemas/core.yaml#
 6
 7title: Freescale FlexTimer Module (FTM) PWM controller
 8
 9description: |
10  The same FTM PWM device can have a different endianness on different SoCs. The
11  device tree provides a property to describing this so that an operating system
12  device driver can handle all variants of the device. Refer to the table below
13  for the endianness of the FTM PWM block as integrated into the existing SoCs:
14
15  SoC     | FTM-PWM endianness
16  --------+-------------------
17  Vybrid  | LE
18  LS1     | BE
19  LS2     | LE
20
21  Please see ../regmap/regmap.txt for more detail about how to specify endian
22  modes in device tree.
23
24maintainers:
25  - Frank Li <Frank.Li@nxp.com>
26
27properties:
28  compatible:
29    oneOf:
30      - enum:
31          - fsl,vf610-ftm-pwm
32          - fsl,imx8qm-ftm-pwm
33          - nxp,s32g2-ftm-pwm
34      - items:
35          - const: nxp,s32g3-ftm-pwm
36          - const: nxp,s32g2-ftm-pwm
37
38  reg:
39    maxItems: 1
40
41  "#pwm-cells":
42    const: 3
43
44  clocks:
45    minItems: 4
46    maxItems: 4
47
48  clock-names:
49    items:
50      - const: ftm_sys
51      - const: ftm_ext
52      - const: ftm_fix
53      - const: ftm_cnt_clk_en
54
55  pinctrl-0: true
56  pinctrl-1: true
57
58  pinctrl-names:
59    minItems: 1
60    items:
61      - const: default
62      - const: sleep
63
64  big-endian:
65    $ref: /schemas/types.yaml#/definitions/flag
66    description:
67      Boolean property, required if the FTM PWM registers use a big-
68      endian rather than little-endian layout.
69
70required:
71  - compatible
72  - reg
73  - clocks
74  - clock-names
75
76allOf:
77  - $ref: pwm.yaml#
78
79unevaluatedProperties: false
80
81examples:
82  - |
83    #include <dt-bindings/clock/vf610-clock.h>
84
85    pwm@40038000 {
86        compatible = "fsl,vf610-ftm-pwm";
87        reg = <0x40038000 0x1000>;
88        #pwm-cells = <3>;
89        clocks = <&clks VF610_CLK_FTM0>,
90                 <&clks VF610_CLK_FTM0_EXT_SEL>,
91                 <&clks VF610_CLK_FTM0_FIX_SEL>,
92                 <&clks VF610_CLK_FTM0_EXT_FIX_EN>;
93        clock-names = "ftm_sys", "ftm_ext", "ftm_fix", "ftm_cnt_clk_en";
94        pinctrl-names = "default";
95        pinctrl-0 = <&pinctrl_pwm0_1>;
96        big-endian;
97    };
~/ Read-only file preview.