mirror_ubuntu-kernels/Documentation/devicetree/bindings/spmi/spmi.yaml
Rob Herring dc4014752e dt-bindings: spmi: Correct 'reg' schema
'reg' is defined to be N address entries of M cells each. For SPMI, N is 1
and M is 1 or 2. The schema fails to define the number of entries as it
only specifies the inner cell(s). To fix, add an outer items list with 1
entry.

Cc: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20210615172024.856360-1-robh@kernel.org
2021-06-21 13:56:46 -06:00

79 lines
1.5 KiB
YAML

# 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:
items:
- minItems: 1
items:
- minimum: 0
maximum: 0xf
- enum: [ 0 ]
description:
0 means user ID address. 1 is reserved for group ID
address.
required:
- reg
required:
- reg
additionalProperties: true
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>;
};
};