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