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