1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0 2*4882a593Smuzhiyun%YAML 1.2 3*4882a593Smuzhiyun--- 4*4882a593Smuzhiyun$id: http://devicetree.org/schemas/spmi/spmi.yaml# 5*4882a593Smuzhiyun$schema: http://devicetree.org/meta-schemas/core.yaml# 6*4882a593Smuzhiyun 7*4882a593Smuzhiyuntitle: System Power Management Interface (SPMI) Controller 8*4882a593Smuzhiyun 9*4882a593Smuzhiyunmaintainers: 10*4882a593Smuzhiyun - Stephen Boyd <sboyd@kernel.org> 11*4882a593Smuzhiyun 12*4882a593Smuzhiyundescription: | 13*4882a593Smuzhiyun The System Power Management (SPMI) controller is a 2-wire bus defined 14*4882a593Smuzhiyun by the MIPI Alliance for power management control to be used on SoC designs. 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun SPMI controllers are modelled in device tree using a generic set of 17*4882a593Smuzhiyun bindings defined here, plus any bus controller specific properties, if 18*4882a593Smuzhiyun needed. 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun Each SPMI controller has zero or more child nodes (up to 16 ones), each 21*4882a593Smuzhiyun one representing an unique slave at the bus. 22*4882a593Smuzhiyun 23*4882a593Smuzhiyunproperties: 24*4882a593Smuzhiyun $nodename: 25*4882a593Smuzhiyun pattern: "^spmi@.*" 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun reg: 28*4882a593Smuzhiyun maxItems: 1 29*4882a593Smuzhiyun 30*4882a593Smuzhiyun "#address-cells": 31*4882a593Smuzhiyun const: 2 32*4882a593Smuzhiyun 33*4882a593Smuzhiyun "#size-cells": 34*4882a593Smuzhiyun const: 0 35*4882a593Smuzhiyun 36*4882a593SmuzhiyunpatternProperties: 37*4882a593Smuzhiyun "@[0-9a-f]$": 38*4882a593Smuzhiyun description: up to 16 child PMIC nodes 39*4882a593Smuzhiyun type: object 40*4882a593Smuzhiyun 41*4882a593Smuzhiyun properties: 42*4882a593Smuzhiyun reg: 43*4882a593Smuzhiyun minItems: 1 44*4882a593Smuzhiyun maxItems: 2 45*4882a593Smuzhiyun items: 46*4882a593Smuzhiyun - minimum: 0 47*4882a593Smuzhiyun maximum: 0xf 48*4882a593Smuzhiyun - enum: [ 0 ] 49*4882a593Smuzhiyun description: | 50*4882a593Smuzhiyun 0 means user ID address. 1 is reserved for group ID address. 51*4882a593Smuzhiyun 52*4882a593Smuzhiyun required: 53*4882a593Smuzhiyun - reg 54*4882a593Smuzhiyun 55*4882a593Smuzhiyunrequired: 56*4882a593Smuzhiyun - reg 57*4882a593Smuzhiyun 58*4882a593SmuzhiyunadditionalProperties: true 59*4882a593Smuzhiyun 60*4882a593Smuzhiyunexamples: 61*4882a593Smuzhiyun - | 62*4882a593Smuzhiyun #include <dt-bindings/spmi/spmi.h> 63*4882a593Smuzhiyun 64*4882a593Smuzhiyun spmi@0 { 65*4882a593Smuzhiyun reg = <0 0>; 66*4882a593Smuzhiyun 67*4882a593Smuzhiyun #address-cells = <2>; 68*4882a593Smuzhiyun #size-cells = <0>; 69*4882a593Smuzhiyun 70*4882a593Smuzhiyun child@0 { 71*4882a593Smuzhiyun reg = <0 SPMI_USID>; 72*4882a593Smuzhiyun }; 73*4882a593Smuzhiyun 74*4882a593Smuzhiyun child@7 { 75*4882a593Smuzhiyun reg = <7 SPMI_USID>; 76*4882a593Smuzhiyun }; 77*4882a593Smuzhiyun }; 78