xref: /freebsd/sys/contrib/device-tree/Bindings/clock/fsl,sai-clock.yaml (revision 8bab661a3316d8bd9b9fbd11a3b4371b91507bd2)
1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2c66ec88fSEmmanuel Vadot%YAML 1.2
3c66ec88fSEmmanuel Vadot---
4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/clock/fsl,sai-clock.yaml#
5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6c66ec88fSEmmanuel Vadot
7*8bab661aSEmmanuel Vadottitle: Freescale SAI bitclock-as-a-clock
8c66ec88fSEmmanuel Vadot
9c66ec88fSEmmanuel Vadotmaintainers:
10c66ec88fSEmmanuel Vadot  - Michael Walle <michael@walle.cc>
11c66ec88fSEmmanuel Vadot
12c66ec88fSEmmanuel Vadotdescription: |
13c66ec88fSEmmanuel Vadot  It is possible to use the BCLK pin of a SAI module as a generic clock
14c66ec88fSEmmanuel Vadot  output. Some SoC are very constrained in their pin multiplexer
15c66ec88fSEmmanuel Vadot  configuration. Eg. pins can only be changed groups. For example, on the
16c66ec88fSEmmanuel Vadot  LS1028A SoC you can only enable SAIs in pairs. If you use only one SAI,
17c66ec88fSEmmanuel Vadot  the second pins are wasted. Using this binding it is possible to use the
18c66ec88fSEmmanuel Vadot  clock of the second SAI as a MCLK clock for an audio codec, for example.
19c66ec88fSEmmanuel Vadot
20c66ec88fSEmmanuel Vadot  This is a composite of a gated clock and a divider clock.
21c66ec88fSEmmanuel Vadot
22c66ec88fSEmmanuel Vadotproperties:
23c66ec88fSEmmanuel Vadot  compatible:
24c66ec88fSEmmanuel Vadot    const: fsl,vf610-sai-clock
25c66ec88fSEmmanuel Vadot
26c66ec88fSEmmanuel Vadot  reg:
27c66ec88fSEmmanuel Vadot    maxItems: 1
28c66ec88fSEmmanuel Vadot
29c66ec88fSEmmanuel Vadot  clocks:
30c66ec88fSEmmanuel Vadot    maxItems: 1
31c66ec88fSEmmanuel Vadot
32c66ec88fSEmmanuel Vadot  '#clock-cells':
33c66ec88fSEmmanuel Vadot    const: 0
34c66ec88fSEmmanuel Vadot
35c66ec88fSEmmanuel Vadotrequired:
36c66ec88fSEmmanuel Vadot  - compatible
37c66ec88fSEmmanuel Vadot  - reg
38c66ec88fSEmmanuel Vadot  - clocks
39c66ec88fSEmmanuel Vadot  - '#clock-cells'
40c66ec88fSEmmanuel Vadot
41c66ec88fSEmmanuel VadotadditionalProperties: false
42c66ec88fSEmmanuel Vadot
43c66ec88fSEmmanuel Vadotexamples:
44c66ec88fSEmmanuel Vadot  - |
45c66ec88fSEmmanuel Vadot    soc {
46c66ec88fSEmmanuel Vadot        #address-cells = <2>;
47c66ec88fSEmmanuel Vadot        #size-cells = <2>;
48c66ec88fSEmmanuel Vadot
49c66ec88fSEmmanuel Vadot        mclk: clock-mclk@f130080 {
50c66ec88fSEmmanuel Vadot            compatible = "fsl,vf610-sai-clock";
51c66ec88fSEmmanuel Vadot            reg = <0x0 0xf130080 0x0 0x80>;
52c66ec88fSEmmanuel Vadot            #clock-cells = <0>;
53c66ec88fSEmmanuel Vadot            clocks = <&parentclk>;
54c66ec88fSEmmanuel Vadot        };
55c66ec88fSEmmanuel Vadot    };
56