xref: /freebsd/sys/contrib/device-tree/Bindings/soc/bcm/brcm,bcm2835-pm.txt (revision 2ff63af9b88c7413b7d71715b5532625752a248e)
1BCM2835 PM (Power domains, watchdog)
2
3The PM block controls power domains and some reset lines, and includes
4a watchdog timer.  This binding supersedes the brcm,bcm2835-pm-wdt
5binding which covered some of PM's register range and functionality.
6
7Required properties:
8
9- compatible:		Should be "brcm,bcm2835-pm"
10- reg:			Specifies base physical address and size of the two
11			  register ranges ("PM" and "ASYNC_BRIDGE" in that
12			  order)
13- clocks:		a) v3d: The V3D clock from CPRMAN
14			b) peri_image: The PERI_IMAGE clock from CPRMAN
15			c) h264: The H264 clock from CPRMAN
16			d) isp: The ISP clock from CPRMAN
17- #reset-cells: 	Should be 1.  This property follows the reset controller
18			  bindings[1].
19- #power-domain-cells:	Should be 1.  This property follows the power domain
20			  bindings[2].
21
22Optional properties:
23
24- timeout-sec:		Contains the watchdog timeout in seconds
25- system-power-controller: Whether the watchdog is controlling the
26    system power.  This node follows the power controller bindings[3].
27
28[1] Documentation/devicetree/bindings/reset/reset.txt
29[2] Documentation/devicetree/bindings/power/power-domain.yaml
30[3] Documentation/devicetree/bindings/power/power-controller.txt
31
32Example:
33
34pm {
35	compatible = "brcm,bcm2835-pm", "brcm,bcm2835-pm-wdt";
36	#power-domain-cells = <1>;
37	#reset-cells = <1>;
38	reg = <0x7e100000 0x114>,
39	      <0x7e00a000 0x24>;
40	clocks = <&clocks BCM2835_CLOCK_V3D>,
41		 <&clocks BCM2835_CLOCK_PERI_IMAGE>,
42		 <&clocks BCM2835_CLOCK_H264>,
43		 <&clocks BCM2835_CLOCK_ISP>;
44	clock-names = "v3d", "peri_image", "h264", "isp";
45	system-power-controller;
46};
47