xref: /freebsd/sys/contrib/device-tree/Bindings/spmi/spmi.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel VadotSystem Power Management Interface (SPMI) Controller
2*c66ec88fSEmmanuel Vadot
3*c66ec88fSEmmanuel VadotThis document defines a generic set of bindings for use by SPMI controllers.  A
4*c66ec88fSEmmanuel Vadotcontroller is modelled in device tree as a node with zero or more child nodes,
5*c66ec88fSEmmanuel Vadoteach representing a unique slave on the bus.
6*c66ec88fSEmmanuel Vadot
7*c66ec88fSEmmanuel VadotRequired properties:
8*c66ec88fSEmmanuel Vadot- #address-cells : must be set to 2
9*c66ec88fSEmmanuel Vadot- #size-cells : must be set to 0
10*c66ec88fSEmmanuel Vadot
11*c66ec88fSEmmanuel VadotChild nodes:
12*c66ec88fSEmmanuel Vadot
13*c66ec88fSEmmanuel VadotAn SPMI controller node can contain zero or more child nodes representing slave
14*c66ec88fSEmmanuel Vadotdevices on the bus.  Child 'reg' properties are specified as an address, type
15*c66ec88fSEmmanuel Vadotpair.  The address must be in the range 0-15 (4 bits).  The type must be one of
16*c66ec88fSEmmanuel VadotSPMI_USID (0) or SPMI_GSID (1) for Unique Slave ID or Group Slave ID respectively.
17*c66ec88fSEmmanuel VadotThese are the identifiers "statically assigned by the system integrator", as
18*c66ec88fSEmmanuel Vadotper the SPMI spec.
19*c66ec88fSEmmanuel Vadot
20*c66ec88fSEmmanuel VadotEach child node must have one and only one 'reg' entry of type SPMI_USID.
21*c66ec88fSEmmanuel Vadot
22*c66ec88fSEmmanuel Vadot#include <dt-bindings/spmi/spmi.h>
23*c66ec88fSEmmanuel Vadot
24*c66ec88fSEmmanuel Vadot	spmi@.. {
25*c66ec88fSEmmanuel Vadot		compatible = "...";
26*c66ec88fSEmmanuel Vadot		reg = <...>;
27*c66ec88fSEmmanuel Vadot
28*c66ec88fSEmmanuel Vadot		#address-cells = <2>;
29*c66ec88fSEmmanuel Vadot		#size-cells = <0>;
30*c66ec88fSEmmanuel Vadot
31*c66ec88fSEmmanuel Vadot		child@0 {
32*c66ec88fSEmmanuel Vadot			compatible = "...";
33*c66ec88fSEmmanuel Vadot			reg = <0 SPMI_USID>;
34*c66ec88fSEmmanuel Vadot		};
35*c66ec88fSEmmanuel Vadot
36*c66ec88fSEmmanuel Vadot		child@7 {
37*c66ec88fSEmmanuel Vadot			compatible = "...";
38*c66ec88fSEmmanuel Vadot			reg = <7 SPMI_USID
39*c66ec88fSEmmanuel Vadot			       3 SPMI_GSID>;
40*c66ec88fSEmmanuel Vadot		};
41*c66ec88fSEmmanuel Vadot	};
42