xref: /freebsd/sys/contrib/device-tree/Bindings/clock/starfive,jh7110-aoncrg.yaml (revision fac71e4e09885bb2afa3d984a0c239a52e1a7418)
1*fac71e4eSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2*fac71e4eSEmmanuel Vadot%YAML 1.2
3*fac71e4eSEmmanuel Vadot---
4*fac71e4eSEmmanuel Vadot$id: http://devicetree.org/schemas/clock/starfive,jh7110-aoncrg.yaml#
5*fac71e4eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*fac71e4eSEmmanuel Vadot
7*fac71e4eSEmmanuel Vadottitle: StarFive JH7110 Always-On Clock and Reset Generator
8*fac71e4eSEmmanuel Vadot
9*fac71e4eSEmmanuel Vadotmaintainers:
10*fac71e4eSEmmanuel Vadot  - Emil Renner Berthing <kernel@esmil.dk>
11*fac71e4eSEmmanuel Vadot
12*fac71e4eSEmmanuel Vadotproperties:
13*fac71e4eSEmmanuel Vadot  compatible:
14*fac71e4eSEmmanuel Vadot    const: starfive,jh7110-aoncrg
15*fac71e4eSEmmanuel Vadot
16*fac71e4eSEmmanuel Vadot  reg:
17*fac71e4eSEmmanuel Vadot    maxItems: 1
18*fac71e4eSEmmanuel Vadot
19*fac71e4eSEmmanuel Vadot  clocks:
20*fac71e4eSEmmanuel Vadot    oneOf:
21*fac71e4eSEmmanuel Vadot      - items:
22*fac71e4eSEmmanuel Vadot          - description: Main Oscillator (24 MHz)
23*fac71e4eSEmmanuel Vadot          - description: GMAC0 RMII reference or GMAC0 RGMII RX
24*fac71e4eSEmmanuel Vadot          - description: STG AXI/AHB
25*fac71e4eSEmmanuel Vadot          - description: APB Bus
26*fac71e4eSEmmanuel Vadot          - description: GMAC0 GTX
27*fac71e4eSEmmanuel Vadot
28*fac71e4eSEmmanuel Vadot      - items:
29*fac71e4eSEmmanuel Vadot          - description: Main Oscillator (24 MHz)
30*fac71e4eSEmmanuel Vadot          - description: GMAC0 RMII reference or GMAC0 RGMII RX
31*fac71e4eSEmmanuel Vadot          - description: STG AXI/AHB or GMAC0 RGMII RX
32*fac71e4eSEmmanuel Vadot          - description: APB Bus or STG AXI/AHB
33*fac71e4eSEmmanuel Vadot          - description: GMAC0 GTX or APB Bus
34*fac71e4eSEmmanuel Vadot          - description: RTC Oscillator (32.768 kHz) or GMAC0 GTX
35*fac71e4eSEmmanuel Vadot
36*fac71e4eSEmmanuel Vadot      - items:
37*fac71e4eSEmmanuel Vadot          - description: Main Oscillator (24 MHz)
38*fac71e4eSEmmanuel Vadot          - description: GMAC0 RMII reference
39*fac71e4eSEmmanuel Vadot          - description: GMAC0 RGMII RX
40*fac71e4eSEmmanuel Vadot          - description: STG AXI/AHB
41*fac71e4eSEmmanuel Vadot          - description: APB Bus
42*fac71e4eSEmmanuel Vadot          - description: GMAC0 GTX
43*fac71e4eSEmmanuel Vadot          - description: RTC Oscillator (32.768 kHz)
44*fac71e4eSEmmanuel Vadot
45*fac71e4eSEmmanuel Vadot  clock-names:
46*fac71e4eSEmmanuel Vadot    oneOf:
47*fac71e4eSEmmanuel Vadot      - minItems: 5
48*fac71e4eSEmmanuel Vadot        items:
49*fac71e4eSEmmanuel Vadot          - const: osc
50*fac71e4eSEmmanuel Vadot          - enum:
51*fac71e4eSEmmanuel Vadot              - gmac0_rmii_refin
52*fac71e4eSEmmanuel Vadot              - gmac0_rgmii_rxin
53*fac71e4eSEmmanuel Vadot          - const: stg_axiahb
54*fac71e4eSEmmanuel Vadot          - const: apb_bus
55*fac71e4eSEmmanuel Vadot          - const: gmac0_gtxclk
56*fac71e4eSEmmanuel Vadot          - const: rtc_osc
57*fac71e4eSEmmanuel Vadot
58*fac71e4eSEmmanuel Vadot      - minItems: 6
59*fac71e4eSEmmanuel Vadot        items:
60*fac71e4eSEmmanuel Vadot          - const: osc
61*fac71e4eSEmmanuel Vadot          - const: gmac0_rmii_refin
62*fac71e4eSEmmanuel Vadot          - const: gmac0_rgmii_rxin
63*fac71e4eSEmmanuel Vadot          - const: stg_axiahb
64*fac71e4eSEmmanuel Vadot          - const: apb_bus
65*fac71e4eSEmmanuel Vadot          - const: gmac0_gtxclk
66*fac71e4eSEmmanuel Vadot          - const: rtc_osc
67*fac71e4eSEmmanuel Vadot
68*fac71e4eSEmmanuel Vadot  '#clock-cells':
69*fac71e4eSEmmanuel Vadot    const: 1
70*fac71e4eSEmmanuel Vadot    description:
71*fac71e4eSEmmanuel Vadot      See <dt-bindings/clock/starfive,jh7110-crg.h> for valid indices.
72*fac71e4eSEmmanuel Vadot
73*fac71e4eSEmmanuel Vadot  '#reset-cells':
74*fac71e4eSEmmanuel Vadot    const: 1
75*fac71e4eSEmmanuel Vadot    description:
76*fac71e4eSEmmanuel Vadot      See <dt-bindings/reset/starfive,jh7110-crg.h> for valid indices.
77*fac71e4eSEmmanuel Vadot
78*fac71e4eSEmmanuel Vadotrequired:
79*fac71e4eSEmmanuel Vadot  - compatible
80*fac71e4eSEmmanuel Vadot  - reg
81*fac71e4eSEmmanuel Vadot  - clocks
82*fac71e4eSEmmanuel Vadot  - clock-names
83*fac71e4eSEmmanuel Vadot  - '#clock-cells'
84*fac71e4eSEmmanuel Vadot  - '#reset-cells'
85*fac71e4eSEmmanuel Vadot
86*fac71e4eSEmmanuel VadotadditionalProperties: false
87*fac71e4eSEmmanuel Vadot
88*fac71e4eSEmmanuel Vadotexamples:
89*fac71e4eSEmmanuel Vadot  - |
90*fac71e4eSEmmanuel Vadot    #include <dt-bindings/clock/starfive,jh7110-crg.h>
91*fac71e4eSEmmanuel Vadot
92*fac71e4eSEmmanuel Vadot    clock-controller@17000000 {
93*fac71e4eSEmmanuel Vadot        compatible = "starfive,jh7110-aoncrg";
94*fac71e4eSEmmanuel Vadot        reg = <0x17000000 0x10000>;
95*fac71e4eSEmmanuel Vadot        clocks = <&osc>, <&gmac0_rmii_refin>,
96*fac71e4eSEmmanuel Vadot                 <&gmac0_rgmii_rxin>,
97*fac71e4eSEmmanuel Vadot                 <&syscrg JH7110_SYSCLK_STG_AXIAHB>,
98*fac71e4eSEmmanuel Vadot                 <&syscrg JH7110_SYSCLK_APB_BUS>,
99*fac71e4eSEmmanuel Vadot                 <&syscrg JH7110_SYSCLK_GMAC0_GTXCLK>,
100*fac71e4eSEmmanuel Vadot                 <&rtc_osc>;
101*fac71e4eSEmmanuel Vadot        clock-names = "osc", "gmac0_rmii_refin",
102*fac71e4eSEmmanuel Vadot                      "gmac0_rgmii_rxin", "stg_axiahb",
103*fac71e4eSEmmanuel Vadot                      "apb_bus", "gmac0_gtxclk",
104*fac71e4eSEmmanuel Vadot                      "rtc_osc";
105*fac71e4eSEmmanuel Vadot        #clock-cells = <1>;
106*fac71e4eSEmmanuel Vadot        #reset-cells = <1>;
107*fac71e4eSEmmanuel Vadot    };
108