Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

System Power Management Interface (SPMI) Controller

This document defines a generic set of bindings for use by SPMI controllers.  A
controller is modelled in device tree as a node with zero or more child nodes,
each representing a unique slave on the bus.

Required properties:
- #address-cells : must be set to 2
- #size-cells : must be set to 0

Child nodes:

An SPMI controller node can contain zero or more child nodes representing slave
devices on the bus.  Child 'reg' properties are specified as an address, type
pair.  The address must be in the range 0-15 (4 bits).  The type must be one of
SPMI_USID (0) or SPMI_GSID (1) for Unique Slave ID or Group Slave ID respectively.
These are the identifiers "statically assigned by the system integrator", as
per the SPMI spec.

Each child node must have one and only one 'reg' entry of type SPMI_USID.

#include <dt-bindings/spmi/spmi.h>

	spmi@.. {
		compatible = "...";
		reg = <...>;

		#address-cells = <2>;
		#size-cells = <0>;

		child@0 {
			compatible = "...";
			reg = <0 SPMI_USID>;
		};

		child@7 {
			compatible = "...";
			reg = <7 SPMI_USID
			       3 SPMI_GSID>;
		};
	};