mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-09-06 13:09:58 +00:00

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> Link: https://lore.kernel.org/r/20230926164446.101327-1-robh@kernel.org Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
112 lines
2.1 KiB
YAML
112 lines
2.1 KiB
YAML
# SPDX-License-Identifier: GPL-2.0
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/power/supply/sbs,sbs-manager.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: SBS compliant manager
|
|
|
|
maintainers:
|
|
- Sebastian Reichel <sre@kernel.org>
|
|
|
|
allOf:
|
|
- $ref: power-supply.yaml#
|
|
|
|
properties:
|
|
compatible:
|
|
oneOf:
|
|
- items:
|
|
- enum:
|
|
- lltc,ltc1760
|
|
- enum:
|
|
- sbs,sbs-manager
|
|
- items:
|
|
- const: sbs,sbs-manager
|
|
|
|
reg:
|
|
const: 0xa
|
|
|
|
"#address-cells":
|
|
const: 1
|
|
|
|
"#size-cells":
|
|
const: 0
|
|
|
|
gpio-controller: true
|
|
|
|
"#gpio-cells":
|
|
const: 2
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
|
|
additionalProperties: false
|
|
|
|
patternProperties:
|
|
"^i2c@[1-4]$":
|
|
type: object
|
|
$ref: /schemas/i2c/i2c-controller.yaml#
|
|
unevaluatedProperties: false
|
|
|
|
properties:
|
|
reg:
|
|
minimum: 1
|
|
maximum: 4
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/interrupt-controller/irq.h>
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
|
|
i2c {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
batman: battery-manager@a {
|
|
compatible = "lltc,ltc1760", "sbs,sbs-manager";
|
|
reg = <0x0a>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
|
|
i2c@1 {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
reg = <1>;
|
|
|
|
battery@b {
|
|
compatible = "ti,bq20z65", "sbs,sbs-battery";
|
|
reg = <0x0b>;
|
|
sbs,battery-detect-gpios = <&batman 1 1>;
|
|
};
|
|
};
|
|
|
|
i2c@2 {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
reg = <2>;
|
|
|
|
battery@b {
|
|
compatible = "ti,bq20z65", "sbs,sbs-battery";
|
|
reg = <0x0b>;
|
|
sbs,battery-detect-gpios = <&batman 2 1>;
|
|
};
|
|
};
|
|
|
|
i2c@3 {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
reg = <3>;
|
|
|
|
battery@b {
|
|
compatible = "ti,bq20z65", "sbs,sbs-battery";
|
|
reg = <0x0b>;
|
|
sbs,battery-detect-gpios = <&batman 3 1>;
|
|
};
|
|
};
|
|
};
|
|
};
|