hc
2023-02-18 a08c8b75ee83d7f62c9aefc23bfb42082aa4076c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
Devicetree bindings for Maxim MAX9485 Programmable Audio Clock Generator
 
This device exposes 4 clocks in total:
 
- MAX9485_MCLKOUT:     A gated, buffered output of the input clock of 27 MHz
- MAX9485_CLKOUT:    A PLL that can be configured to 16 different discrete
           frequencies
- MAX9485_CLKOUT[1,2]:    Two gated outputs for MAX9485_CLKOUT
 
MAX9485_CLKOUT[1,2] are children of MAX9485_CLKOUT which upchain all rate set
requests.
 
Required properties:
- compatible:    "maxim,max9485"
- clocks:    Input clock, must provice 27.000 MHz
- clock-names:    Must be set to "xclk"
- #clock-cells: From common clock binding; shall be set to 1
 
Optional properties:
- reset-gpios:        GPIO descriptor connected to the #RESET input pin
- vdd-supply:        A regulator node for Vdd
- clock-output-names:    Name of output clocks, as defined in common clock
           bindings
 
If not explicitly set, the output names are "mclkout", "clkout", "clkout1"
and "clkout2".
 
Clocks are defined as preprocessor macros in the dt-binding header.
 
Example:
 
   #include <dt-bindings/clock/maxim,max9485.h>
 
   xo-27mhz: xo-27mhz {
       compatible = "fixed-clock";
       #clock-cells = <0>;
       clock-frequency = <27000000>;
   };
 
   &i2c0 {
       max9485: audio-clock@63 {
           reg = <0x63>;
           compatible = "maxim,max9485";
           clock-names = "xclk";
           clocks = <&xo-27mhz>;
           reset-gpios = <&gpio 1 GPIO_ACTIVE_HIGH>;
           vdd-supply = <&3v3-reg>;
           #clock-cells = <1>;
       };
   };
 
   // Clock consumer node
 
   foo@0 {
       compatible = "bar,foo";
       /* ... */
       clock-names = "foo-input-clk";
       clocks = <&max9485 MAX9485_CLKOUT1>;
   };