# 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# type: object 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>; }; }; }; }; ...