Commit f710b49e authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab Committed by Rob Herring

dt-bindings: convert spmi.txt to spmi.yaml

Convert the SPMI bus documentation to JSON/yaml.
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Link: https://lore.kernel.org/r/ee4c4ca9f29a39f6af772b3a526a996176499da3.1598415179.git.mchehab+huawei@kernel.org
[robh: Correct maintainer, unit-address should be hex]
Signed-off-by: default avatarRob Herring <robh@kernel.org>
parent af4ed018
......@@ -37,7 +37,7 @@ Required properties:
or generalized "qcom,spmi-pmic".
- reg: Specifies the SPMI USID slave address for this device.
For more information see:
Documentation/devicetree/bindings/spmi/spmi.txt
Documentation/devicetree/bindings/spmi/spmi.yaml
Required properties for peripheral child nodes:
- compatible: Should contain "qcom,xxx", where "xxx" is a peripheral name.
......
......@@ -7,8 +7,8 @@ devices to control a single SPMI master.
The PMIC Arbiter can also act as an interrupt controller, providing interrupts
to slave devices.
See spmi.txt for the generic SPMI controller binding requirements for child
nodes.
See Documentation/devicetree/bindings/spmi/spmi.yaml for the generic SPMI
controller binding requirements for child nodes.
See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt for
generic interrupt controller binding documentation.
......
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>;
};
};
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/spmi/spmi.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: System Power Management Interface (SPMI) Controller
maintainers:
- Stephen Boyd <sboyd@kernel.org>
description: |
The System Power Management (SPMI) controller is a 2-wire bus defined
by the MIPI Alliance for power management control to be used on SoC designs.
SPMI controllers are modelled in device tree using a generic set of
bindings defined here, plus any bus controller specific properties, if
needed.
Each SPMI controller has zero or more child nodes (up to 16 ones), each
one representing an unique slave at the bus.
properties:
$nodename:
pattern: "^spmi@.*"
reg:
maxItems: 1
"#address-cells":
const: 2
"#size-cells":
const: 0
patternProperties:
"@[0-9a-f]$":
description: up to 16 child PMIC nodes
type: object
properties:
reg:
minItems: 1
maxItems: 2
items:
- minimum: 0
maximum: 0xf
- enum: [ 0 ]
description: |
0 means user ID address. 1 is reserved for group ID address.
required:
- reg
required:
- reg
examples:
- |
#include <dt-bindings/spmi/spmi.h>
spmi@0 {
reg = <0 0>;
#address-cells = <2>;
#size-cells = <0>;
child@0 {
reg = <0 SPMI_USID>;
};
child@7 {
reg = <7 SPMI_USID>;
};
};
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment