blob: 74eab5c0d24ab2ee3dc14116c66c87a4ff409609 [file] [log] [blame]
Martin Povišer00d5d032022-02-08 19:34:09 +01001# 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 - const: apple,nco
27
28 clocks:
29 description:
30 Specifies the reference clock from which the output clocks
31 are derived through fractional division.
32 maxItems: 1
33
34 '#clock-cells':
35 const: 1
36
37 reg:
38 maxItems: 1
39
40required:
41 - compatible
42 - clocks
43 - '#clock-cells'
44 - reg
45
46additionalProperties: false
47
48examples:
49 - |
50 nco_clkref: clock-ref {
51 compatible = "fixed-clock";
52 #clock-cells = <0>;
53 clock-frequency = <900000000>;
54 clock-output-names = "nco-ref";
55 };
56
57 nco: clock-controller@23b044000 {
58 compatible = "apple,t8103-nco", "apple,nco";
59 reg = <0x3b044000 0x14000>;
60 #clock-cells = <1>;
61 clocks = <&nco_clkref>;
62 };