mirror of
https://github.com/torvalds/linux.git
synced 2024-12-11 05:33:09 +00:00
8cdbe51c2d
Just as unevaluatedProperties or additionalProperties are required at the top level of schemas, they should (and will) also be required for child node schemas. That ensures only documented properties are present for any node. Add unevaluatedProperties as needed, and then add any missing properties flagged by the addition. Signed-off-by: Rob Herring <robh@kernel.org> Acked-by: Conor Dooley <conor.dooley@microchip.com> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Link: https://lore.kernel.org/r/20230925212729.1976117-1-robh@kernel.org Signed-off-by: Lee Jones <lee@kernel.org>
157 lines
3.2 KiB
YAML
157 lines
3.2 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/mfd/maxim,max5970.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Regulator for MAX5970 Smart Switch from Maxim Integrated
|
|
|
|
maintainers:
|
|
- Patrick Rudolph <patrick.rudolph@9elements.com>
|
|
|
|
description: |
|
|
The smart switch provides no output regulation, but independent fault protection
|
|
and voltage and current sensing.
|
|
Programming is done through I2C bus.
|
|
|
|
Datasheets:
|
|
https://datasheets.maximintegrated.com/en/ds/MAX5970.pdf
|
|
https://datasheets.maximintegrated.com/en/ds/MAX5978.pdf
|
|
|
|
properties:
|
|
compatible:
|
|
enum:
|
|
- maxim,max5970
|
|
- maxim,max5978
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
interrupts:
|
|
maxItems: 1
|
|
|
|
leds:
|
|
type: object
|
|
description:
|
|
Properties for four LEDS.
|
|
|
|
properties:
|
|
"#address-cells":
|
|
const: 1
|
|
|
|
"#size-cells":
|
|
const: 0
|
|
|
|
patternProperties:
|
|
"^led@[0-3]$":
|
|
$ref: /schemas/leds/common.yaml#
|
|
unevaluatedProperties: false
|
|
type: object
|
|
|
|
properties:
|
|
reg:
|
|
maximum: 3
|
|
|
|
additionalProperties: false
|
|
|
|
vss1-supply:
|
|
description: Supply of the first channel.
|
|
|
|
vss2-supply:
|
|
description: Supply of the second channel.
|
|
|
|
regulators:
|
|
type: object
|
|
description:
|
|
Properties for both hot swap control/switch.
|
|
|
|
patternProperties:
|
|
"^sw[0-1]$":
|
|
$ref: /schemas/regulator/regulator.yaml#
|
|
type: object
|
|
properties:
|
|
shunt-resistor-micro-ohms:
|
|
description: |
|
|
The value of current sense resistor in microohms.
|
|
|
|
required:
|
|
- shunt-resistor-micro-ohms
|
|
|
|
unevaluatedProperties: false
|
|
|
|
additionalProperties: false
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- regulators
|
|
- vss1-supply
|
|
|
|
allOf:
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
enum:
|
|
- maxim,max5970
|
|
then:
|
|
required:
|
|
- vss2-supply
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
i2c {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
regulator@3a {
|
|
compatible = "maxim,max5978";
|
|
reg = <0x3a>;
|
|
vss1-supply = <&p3v3>;
|
|
|
|
regulators {
|
|
sw0_ref_0: sw0 {
|
|
shunt-resistor-micro-ohms = <12000>;
|
|
};
|
|
};
|
|
|
|
leds {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
led@0 {
|
|
reg = <0>;
|
|
label = "led0";
|
|
default-state = "on";
|
|
};
|
|
led@1 {
|
|
reg = <1>;
|
|
label = "led1";
|
|
default-state = "on";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
- |
|
|
i2c {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
regulator@3a {
|
|
compatible = "maxim,max5970";
|
|
reg = <0x3a>;
|
|
vss1-supply = <&p3v3>;
|
|
vss2-supply = <&p5v>;
|
|
|
|
regulators {
|
|
sw0_ref_1: sw0 {
|
|
shunt-resistor-micro-ohms = <12000>;
|
|
};
|
|
sw1_ref_1: sw1 {
|
|
shunt-resistor-micro-ohms = <10000>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
...
|