summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/clock/renesas,r9a06g032-sysctrl.txt
blob: aed713cf083128fae13dedf7f1a5a09036ba8434 (plain)
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
* Renesas R9A06G032 SYSCTRL

Required Properties:

  - compatible: Must be:
    - "renesas,r9a06g032-sysctrl"
  - reg: Base address and length of the SYSCTRL IO block.
  - #clock-cells: Must be 1
  - clocks: References to the parent clocks:
	- external 40mhz crystal.
	- external (optional) 32.768khz
	- external (optional) jtag input
	- external (optional) RGMII_REFCLK
  - clock-names: Must be:
        clock-names = "mclk", "rtc", "jtag", "rgmii_ref_ext";
  - #power-domain-cells: Must be 0

Examples
--------

  - SYSCTRL node:

	sysctrl: system-controller@4000c000 {
		compatible = "renesas,r9a06g032-sysctrl";
		reg = <0x4000c000 0x1000>;
		#clock-cells = <1>;

		clocks = <&ext_mclk>, <&ext_rtc_clk>,
				<&ext_jtag_clk>, <&ext_rgmii_ref>;
		clock-names = "mclk", "rtc", "jtag", "rgmii_ref_ext";
		#power-domain-cells = <0>;
	};

  - Other nodes can use the clocks provided by SYSCTRL as in:

	#include <dt-bindings/clock/r9a06g032-sysctrl.h>
	uart0: serial@40060000 {
		compatible = "snps,dw-apb-uart";
		reg = <0x40060000 0x400>;
		interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
		reg-shift = <2>;
		reg-io-width = <4>;
		clocks = <&sysctrl R9A06G032_CLK_UART0>, <&sysctrl R9A06G032_HCLK_UART0>;
		clock-names = "baudclk", "apb_pclk";
		power-domains = <&sysctrl>;
	};