18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0+ OR BSD-2-Clause)
28c2ecf20Sopenharmony_ci%YAML 1.2
38c2ecf20Sopenharmony_ci---
48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/clock/marvell,mmp2-audio-clock.yaml#
58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cititle: Marvell MMP2 Audio Clock Controller
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_cimaintainers:
108c2ecf20Sopenharmony_ci  - Lubomir Rintel <lkundrak@v3.sk>
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_cidescription: |
138c2ecf20Sopenharmony_ci  The audio clock controller generates and supplies the clocks to the audio
148c2ecf20Sopenharmony_ci  codec.
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ci  Each clock is assigned an identifier and client nodes use this identifier
178c2ecf20Sopenharmony_ci  to specify the clock which they consume.
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_ci  All these identifiers could be found in
208c2ecf20Sopenharmony_ci  <dt-bindings/clock/marvell,mmp2-audio.h>.
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_ciproperties:
238c2ecf20Sopenharmony_ci  compatible:
248c2ecf20Sopenharmony_ci    enum:
258c2ecf20Sopenharmony_ci      - marvell,mmp2-audio-clock
268c2ecf20Sopenharmony_ci
278c2ecf20Sopenharmony_ci  reg:
288c2ecf20Sopenharmony_ci    maxItems: 1
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_ci  clocks:
318c2ecf20Sopenharmony_ci    items:
328c2ecf20Sopenharmony_ci      - description: Audio subsystem clock
338c2ecf20Sopenharmony_ci      - description: The crystal oscillator clock
348c2ecf20Sopenharmony_ci      - description: First I2S clock
358c2ecf20Sopenharmony_ci      - description: Second I2S clock
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_ci  clock-names:
388c2ecf20Sopenharmony_ci    items:
398c2ecf20Sopenharmony_ci      - const: audio
408c2ecf20Sopenharmony_ci      - const: vctcxo
418c2ecf20Sopenharmony_ci      - const: i2s0
428c2ecf20Sopenharmony_ci      - const: i2s1
438c2ecf20Sopenharmony_ci
448c2ecf20Sopenharmony_ci  '#clock-cells':
458c2ecf20Sopenharmony_ci    const: 1
468c2ecf20Sopenharmony_ci
478c2ecf20Sopenharmony_ci  power-domains:
488c2ecf20Sopenharmony_ci    maxItems: 1
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_cirequired:
518c2ecf20Sopenharmony_ci  - compatible
528c2ecf20Sopenharmony_ci  - reg
538c2ecf20Sopenharmony_ci  - clocks
548c2ecf20Sopenharmony_ci  - clock-names
558c2ecf20Sopenharmony_ci  - '#clock-cells'
568c2ecf20Sopenharmony_ci
578c2ecf20Sopenharmony_ciadditionalProperties: false
588c2ecf20Sopenharmony_ci
598c2ecf20Sopenharmony_ciexamples:
608c2ecf20Sopenharmony_ci  - |
618c2ecf20Sopenharmony_ci    #include <dt-bindings/clock/marvell,mmp2-audio.h>
628c2ecf20Sopenharmony_ci    #include <dt-bindings/clock/marvell,mmp2.h>
638c2ecf20Sopenharmony_ci    #include <dt-bindings/power/marvell,mmp2.h>
648c2ecf20Sopenharmony_ci
658c2ecf20Sopenharmony_ci    clock-controller@d42a0c30 {
668c2ecf20Sopenharmony_ci      compatible = "marvell,mmp2-audio-clock";
678c2ecf20Sopenharmony_ci      reg = <0xd42a0c30 0x10>;
688c2ecf20Sopenharmony_ci      clock-names = "audio", "vctcxo", "i2s0", "i2s1";
698c2ecf20Sopenharmony_ci      clocks = <&soc_clocks MMP2_CLK_AUDIO>,
708c2ecf20Sopenharmony_ci               <&soc_clocks MMP2_CLK_VCTCXO>,
718c2ecf20Sopenharmony_ci               <&soc_clocks MMP2_CLK_I2S0>,
728c2ecf20Sopenharmony_ci               <&soc_clocks MMP2_CLK_I2S1>;
738c2ecf20Sopenharmony_ci      power-domains = <&soc_clocks MMP2_POWER_DOMAIN_AUDIO>;
748c2ecf20Sopenharmony_ci      #clock-cells = <1>;
758c2ecf20Sopenharmony_ci    };
76