1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/clock/starfive,jh7110-syscrg.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: StarFive JH7110 System Clock and Reset Generator
8
9maintainers:
10  - Emil Renner Berthing <kernel@esmil.dk>
11
12properties:
13  compatible:
14    const: starfive,jh7110-syscrg
15
16  reg:
17    maxItems: 1
18
19  clocks:
20    oneOf:
21      - items:
22          - description: Main Oscillator (24 MHz)
23          - description: GMAC1 RMII reference or GMAC1 RGMII RX
24          - description: External I2S TX bit clock
25          - description: External I2S TX left/right channel clock
26          - description: External I2S RX bit clock
27          - description: External I2S RX left/right channel clock
28          - description: External TDM clock
29          - description: External audio master clock
30
31      - items:
32          - description: Main Oscillator (24 MHz)
33          - description: GMAC1 RMII reference
34          - description: GMAC1 RGMII RX
35          - description: External I2S TX bit clock
36          - description: External I2S TX left/right channel clock
37          - description: External I2S RX bit clock
38          - description: External I2S RX left/right channel clock
39          - description: External TDM clock
40          - description: External audio master clock
41
42  clock-names:
43    oneOf:
44      - items:
45          - const: osc
46          - enum:
47              - gmac1_rmii_refin
48              - gmac1_rgmii_rxin
49          - const: i2stx_bclk_ext
50          - const: i2stx_lrck_ext
51          - const: i2srx_bclk_ext
52          - const: i2srx_lrck_ext
53          - const: tdm_ext
54          - const: mclk_ext
55
56      - items:
57          - const: osc
58          - const: gmac1_rmii_refin
59          - const: gmac1_rgmii_rxin
60          - const: i2stx_bclk_ext
61          - const: i2stx_lrck_ext
62          - const: i2srx_bclk_ext
63          - const: i2srx_lrck_ext
64          - const: tdm_ext
65          - const: mclk_ext
66
67  '#clock-cells':
68    const: 1
69    description:
70      See <dt-bindings/clock/starfive,jh7110-crg.h> for valid indices.
71
72  '#reset-cells':
73    const: 1
74    description:
75      See <dt-bindings/reset/starfive,jh7110-crg.h> for valid indices.
76
77required:
78  - compatible
79  - reg
80  - clocks
81  - clock-names
82  - '#clock-cells'
83  - '#reset-cells'
84
85additionalProperties: false
86
87examples:
88  - |
89    clock-controller@13020000 {
90        compatible = "starfive,jh7110-syscrg";
91        reg = <0x13020000 0x10000>;
92        clocks = <&osc>, <&gmac1_rmii_refin>,
93                 <&gmac1_rgmii_rxin>,
94                 <&i2stx_bclk_ext>, <&i2stx_lrck_ext>,
95                 <&i2srx_bclk_ext>, <&i2srx_lrck_ext>,
96                 <&tdm_ext>, <&mclk_ext>;
97        clock-names = "osc", "gmac1_rmii_refin",
98                      "gmac1_rgmii_rxin",
99                      "i2stx_bclk_ext", "i2stx_lrck_ext",
100                      "i2srx_bclk_ext", "i2srx_lrck_ext",
101                      "tdm_ext", "mclk_ext";
102        #clock-cells = <1>;
103        #reset-cells = <1>;
104    };
105