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

Convert the SPMI bus documentation to JSON/yaml.

Signed-off-by: Mauro 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: Rob Herring <robh@kernel.org>
This commit is contained in:
Mauro Carvalho Chehab 2020-08-26 06:36:49 +02:00 committed by Rob Herring
parent af4ed01884
commit f710b49e3c
4 changed files with 78 additions and 44 deletions

View File

@ -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.

View File

@ -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.

View File

@ -1,41 +0,0 @@
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>;
};
};

View File

@ -0,0 +1,75 @@
# 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>;
};
};