blob: 8b8411dc42f60f83ee23dce117583e2982db5cd0 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/clock/apple,nco.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Apple SoCs' NCO block
8
9maintainers:
10 - Martin PoviĊĦer <povik+lin@cutebit.org>
11
12description: |
13 The NCO (Numerically Controlled Oscillator) block found on Apple SoCs
14 such as the t8103 (M1) is a programmable clock generator performing
15 fractional division of a high frequency input clock.
16
17 It carries a number of independent channels and is typically used for
18 generation of audio bitclocks.
19
20properties:
21 compatible:
22 items:
23 - enum:
24 - apple,t6000-nco
25 - apple,t8103-nco
26 - apple,t8112-nco
27 - const: apple,nco
28
29 clocks:
30 description:
31 Specifies the reference clock from which the output clocks
32 are derived through fractional division.
33 maxItems: 1
34
35 '#clock-cells':
36 const: 1
37
38 reg:
39 maxItems: 1
40
41required:
42 - compatible
43 - clocks
44 - '#clock-cells'
45 - reg
46
47additionalProperties: false
48
49examples:
50 - |
51 nco_clkref: clock-ref {
52 compatible = "fixed-clock";
53 #clock-cells = <0>;
54 clock-frequency = <900000000>;
55 clock-output-names = "nco-ref";
56 };
57
58 nco: clock-controller@23b044000 {
59 compatible = "apple,t8103-nco", "apple,nco";
60 reg = <0x3b044000 0x14000>;
61 #clock-cells = <1>;
62 clocks = <&nco_clkref>;
63 };