summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/clock/fsl,sai-clock.yaml
blob: fc3bdfdc091abeb99521f24073d0feb9a51201d5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/clock/fsl,sai-clock.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Freescale SAI bitclock-as-a-clock binding

maintainers:
  - Michael Walle <michael@walle.cc>

description: |
  It is possible to use the BCLK pin of a SAI module as a generic clock
  output. Some SoC are very constrained in their pin multiplexer
  configuration. Eg. pins can only be changed groups. For example, on the
  LS1028A SoC you can only enable SAIs in pairs. If you use only one SAI,
  the second pins are wasted. Using this binding it is possible to use the
  clock of the second SAI as a MCLK clock for an audio codec, for example.

  This is a composite of a gated clock and a divider clock.

properties:
  compatible:
    const: fsl,vf610-sai-clock

  reg:
    maxItems: 1

  clocks:
    maxItems: 1

  '#clock-cells':
    const: 0

required:
  - compatible
  - reg
  - clocks
  - '#clock-cells'

additionalProperties: false

examples:
  - |
    soc {
        #address-cells = <2>;
        #size-cells = <2>;

        mclk: clock-mclk@f130080 {
            compatible = "fsl,vf610-sai-clock";
            reg = <0x0 0xf130080 0x0 0x80>;
            #clock-cells = <0>;
            clocks = <&parentclk>;
        };
    };