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>;
		};
	};
