xref: /freebsd/sys/contrib/device-tree/Bindings/clock/marvell,mmp2-audio-clock.yaml (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0+ OR BSD-2-Clause)
2*c66ec88fSEmmanuel Vadot%YAML 1.2
3*c66ec88fSEmmanuel Vadot---
4*c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/clock/marvell,mmp2-audio-clock.yaml#
5*c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*c66ec88fSEmmanuel Vadot
7*c66ec88fSEmmanuel Vadottitle: Marvell MMP2 Audio Clock Controller
8*c66ec88fSEmmanuel Vadot
9*c66ec88fSEmmanuel Vadotmaintainers:
10*c66ec88fSEmmanuel Vadot  - Lubomir Rintel <lkundrak@v3.sk>
11*c66ec88fSEmmanuel Vadot
12*c66ec88fSEmmanuel Vadotdescription: |
13*c66ec88fSEmmanuel Vadot  The audio clock controller generates and supplies the clocks to the audio
14*c66ec88fSEmmanuel Vadot  codec.
15*c66ec88fSEmmanuel Vadot
16*c66ec88fSEmmanuel Vadot  Each clock is assigned an identifier and client nodes use this identifier
17*c66ec88fSEmmanuel Vadot  to specify the clock which they consume.
18*c66ec88fSEmmanuel Vadot
19*c66ec88fSEmmanuel Vadot  All these identifiers could be found in
20*c66ec88fSEmmanuel Vadot  <dt-bindings/clock/marvell,mmp2-audio.h>.
21*c66ec88fSEmmanuel Vadot
22*c66ec88fSEmmanuel Vadotproperties:
23*c66ec88fSEmmanuel Vadot  compatible:
24*c66ec88fSEmmanuel Vadot    enum:
25*c66ec88fSEmmanuel Vadot      - marvell,mmp2-audio-clock
26*c66ec88fSEmmanuel Vadot
27*c66ec88fSEmmanuel Vadot  reg:
28*c66ec88fSEmmanuel Vadot    maxItems: 1
29*c66ec88fSEmmanuel Vadot
30*c66ec88fSEmmanuel Vadot  clocks:
31*c66ec88fSEmmanuel Vadot    items:
32*c66ec88fSEmmanuel Vadot      - description: Audio subsystem clock
33*c66ec88fSEmmanuel Vadot      - description: The crystal oscillator clock
34*c66ec88fSEmmanuel Vadot      - description: First I2S clock
35*c66ec88fSEmmanuel Vadot      - description: Second I2S clock
36*c66ec88fSEmmanuel Vadot
37*c66ec88fSEmmanuel Vadot  clock-names:
38*c66ec88fSEmmanuel Vadot    items:
39*c66ec88fSEmmanuel Vadot      - const: audio
40*c66ec88fSEmmanuel Vadot      - const: vctcxo
41*c66ec88fSEmmanuel Vadot      - const: i2s0
42*c66ec88fSEmmanuel Vadot      - const: i2s1
43*c66ec88fSEmmanuel Vadot
44*c66ec88fSEmmanuel Vadot  '#clock-cells':
45*c66ec88fSEmmanuel Vadot    const: 1
46*c66ec88fSEmmanuel Vadot
47*c66ec88fSEmmanuel Vadot  power-domains:
48*c66ec88fSEmmanuel Vadot    maxItems: 1
49*c66ec88fSEmmanuel Vadot
50*c66ec88fSEmmanuel Vadotrequired:
51*c66ec88fSEmmanuel Vadot  - compatible
52*c66ec88fSEmmanuel Vadot  - reg
53*c66ec88fSEmmanuel Vadot  - clocks
54*c66ec88fSEmmanuel Vadot  - clock-names
55*c66ec88fSEmmanuel Vadot  - '#clock-cells'
56*c66ec88fSEmmanuel Vadot
57*c66ec88fSEmmanuel VadotadditionalProperties: false
58*c66ec88fSEmmanuel Vadot
59*c66ec88fSEmmanuel Vadotexamples:
60*c66ec88fSEmmanuel Vadot  - |
61*c66ec88fSEmmanuel Vadot    #include <dt-bindings/clock/marvell,mmp2-audio.h>
62*c66ec88fSEmmanuel Vadot    #include <dt-bindings/clock/marvell,mmp2.h>
63*c66ec88fSEmmanuel Vadot    #include <dt-bindings/power/marvell,mmp2.h>
64*c66ec88fSEmmanuel Vadot
65*c66ec88fSEmmanuel Vadot    clock-controller@d42a0c30 {
66*c66ec88fSEmmanuel Vadot      compatible = "marvell,mmp2-audio-clock";
67*c66ec88fSEmmanuel Vadot      reg = <0xd42a0c30 0x10>;
68*c66ec88fSEmmanuel Vadot      clock-names = "audio", "vctcxo", "i2s0", "i2s1";
69*c66ec88fSEmmanuel Vadot      clocks = <&soc_clocks MMP2_CLK_AUDIO>,
70*c66ec88fSEmmanuel Vadot               <&soc_clocks MMP2_CLK_VCTCXO>,
71*c66ec88fSEmmanuel Vadot               <&soc_clocks MMP2_CLK_I2S0>,
72*c66ec88fSEmmanuel Vadot               <&soc_clocks MMP2_CLK_I2S1>;
73*c66ec88fSEmmanuel Vadot      power-domains = <&soc_clocks MMP2_POWER_DOMAIN_AUDIO>;
74*c66ec88fSEmmanuel Vadot      #clock-cells = <1>;
75*c66ec88fSEmmanuel Vadot    };
76