GNU Linux-libre 4.14.266-gnu1
[releases.git] / Documentation / devicetree / bindings / clock / brcm,bcm2835-cprman.txt
1 Broadcom BCM2835 CPRMAN clocks
2
3 This binding uses the common clock binding:
4     Documentation/devicetree/bindings/clock/clock-bindings.txt
5
6 The CPRMAN clock controller generates clocks in the audio power domain
7 of the BCM2835.  There is a level of PLLs deriving from an external
8 oscillator, a level of PLL dividers that produce channels off of the
9 few PLLs, and a level of mostly-generic clock generators sourcing from
10 the PLL channels.  Most other hardware components source from the
11 clock generators, but a few (like the ARM or HDMI) will source from
12 the PLL dividers directly.
13
14 Required properties:
15 - compatible:   Should be "brcm,bcm2835-cprman"
16 - #clock-cells: Should be <1>. The permitted clock-specifier values can be
17                   found in include/dt-bindings/clock/bcm2835.h
18 - reg:          Specifies base physical address and size of the registers
19 - clocks:       phandles to the parent clocks used as input to the module, in
20                   the following order:
21
22                   - External oscillator
23                   - DSI0 byte clock
24                   - DSI0 DDR2 clock
25                   - DSI0 DDR clock
26                   - DSI1 byte clock
27                   - DSI1 DDR2 clock
28                   - DSI1 DDR clock
29
30                   Only external oscillator is required.  The DSI clocks may
31                   not be present, in which case their children will be
32                   unusable.
33
34 Example:
35
36         clk_osc: clock@3 {
37                 compatible = "fixed-clock";
38                 reg = <3>;
39                 #clock-cells = <0>;
40                 clock-output-names = "osc";
41                 clock-frequency = <19200000>;
42         };
43
44         clocks: cprman@7e101000 {
45                 compatible = "brcm,bcm2835-cprman";
46                 #clock-cells = <1>;
47                 reg = <0x7e101000 0x2000>;
48                 clocks = <&clk_osc>;
49         };
50
51         i2c0: i2c@7e205000 {
52                 compatible = "brcm,bcm2835-i2c";
53                 reg = <0x7e205000 0x1000>;
54                 interrupts = <2 21>;
55                 clocks = <&clocks BCM2835_CLOCK_VPU>;
56                 #address-cells = <1>;
57                 #size-cells = <0>;
58         };