xref: /freebsd/sys/contrib/device-tree/Bindings/clock/sifive/fu540-prci.yaml (revision cb7aa33ac6cd46a5434798e50363136e64f3ae98)
1*6be33864SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*6be33864SEmmanuel Vadot# Copyright (C) 2020 SiFive, Inc.
3*6be33864SEmmanuel Vadot%YAML 1.2
4*6be33864SEmmanuel Vadot---
5*6be33864SEmmanuel Vadot$id: http://devicetree.org/schemas/clock/sifive/fu540-prci.yaml#
6*6be33864SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
7*6be33864SEmmanuel Vadot
8*6be33864SEmmanuel Vadottitle: SiFive FU540 Power Reset Clock Interrupt Controller (PRCI)
9*6be33864SEmmanuel Vadot
10*6be33864SEmmanuel Vadotmaintainers:
11*6be33864SEmmanuel Vadot  - Paul Walmsley  <paul.walmsley@sifive.com>
12*6be33864SEmmanuel Vadot
13*6be33864SEmmanuel Vadotdescription:
14*6be33864SEmmanuel Vadot  On the FU540 family of SoCs, most system-wide clock and reset integration
15*6be33864SEmmanuel Vadot  is via the PRCI IP block.
16*6be33864SEmmanuel Vadot  The clock consumer should specify the desired clock via the clock ID
17*6be33864SEmmanuel Vadot  macros defined in include/dt-bindings/clock/sifive-fu540-prci.h.
18*6be33864SEmmanuel Vadot  These macros begin with PRCI_CLK_.
19*6be33864SEmmanuel Vadot
20*6be33864SEmmanuel Vadot  The hfclk and rtcclk nodes are required, and represent physical
21*6be33864SEmmanuel Vadot  crystals or resonators located on the PCB.  These nodes should be present
22*6be33864SEmmanuel Vadot  underneath /, rather than /soc.
23*6be33864SEmmanuel Vadot
24*6be33864SEmmanuel Vadotproperties:
25*6be33864SEmmanuel Vadot  compatible:
26*6be33864SEmmanuel Vadot    const: sifive,fu540-c000-prci
27*6be33864SEmmanuel Vadot
28*6be33864SEmmanuel Vadot  reg:
29*6be33864SEmmanuel Vadot    maxItems: 1
30*6be33864SEmmanuel Vadot
31*6be33864SEmmanuel Vadot  clocks:
32*6be33864SEmmanuel Vadot    items:
33*6be33864SEmmanuel Vadot      - description: high frequency clock.
34*6be33864SEmmanuel Vadot      - description: RTL clock.
35*6be33864SEmmanuel Vadot
36*6be33864SEmmanuel Vadot  clock-names:
37*6be33864SEmmanuel Vadot    items:
38*6be33864SEmmanuel Vadot      - const: hfclk
39*6be33864SEmmanuel Vadot      - const: rtcclk
40*6be33864SEmmanuel Vadot
41*6be33864SEmmanuel Vadot  "#clock-cells":
42*6be33864SEmmanuel Vadot    const: 1
43*6be33864SEmmanuel Vadot
44*6be33864SEmmanuel Vadotrequired:
45*6be33864SEmmanuel Vadot  - compatible
46*6be33864SEmmanuel Vadot  - reg
47*6be33864SEmmanuel Vadot  - clocks
48*6be33864SEmmanuel Vadot  - "#clock-cells"
49*6be33864SEmmanuel Vadot
50*6be33864SEmmanuel VadotadditionalProperties: false
51*6be33864SEmmanuel Vadot
52*6be33864SEmmanuel Vadotexamples:
53*6be33864SEmmanuel Vadot  - |
54*6be33864SEmmanuel Vadot    prci: clock-controller@10000000 {
55*6be33864SEmmanuel Vadot      compatible = "sifive,fu540-c000-prci";
56*6be33864SEmmanuel Vadot      reg = <0x10000000 0x1000>;
57*6be33864SEmmanuel Vadot      clocks = <&hfclk>, <&rtcclk>;
58*6be33864SEmmanuel Vadot      #clock-cells = <1>;
59*6be33864SEmmanuel Vadot    };
60