# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/iio/adc/maxim,max34408.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Maxim MAX34408/MAX34409 current monitors with overcurrent control maintainers: - Ivan Mikhaylov description: | The MAX34408/MAX34409 are two- and four-channel current monitors that are configured and monitored with a standard I2C/SMBus serial interface. Each unidirectional current sensor offers precision high-side operation with a low full-scale sense voltage. The devices automatically sequence through two or four channels and collect the current-sense samples and average them to reduce the effect of impulse noise. The raw ADC samples are compared to user-programmable digital thresholds to indicate overcurrent conditions. Overcurrent conditions trigger a hardware output to provide an immediate indication to shut down any necessary external circuitry. Specifications about the devices can be found at: https://www.analog.com/media/en/technical-documentation/data-sheets/MAX34408-MAX34409.pdf properties: compatible: enum: - maxim,max34408 - maxim,max34409 "#address-cells": const: 1 "#size-cells": const: 0 reg: maxItems: 1 interrupts: maxItems: 1 powerdown-gpios: description: Shutdown Output. Open-drain output. This output transitions to high impedance when any of the digital comparator thresholds are exceeded as long as the ENA pin is high. maxItems: 1 powerdown-status-gpios: description: SHTDN Enable Input. CMOS digital input. Connect to GND to clear the latch and unconditionally deassert (force low) the SHTDN output and reset the shutdown delay. Connect to VDD to enable normal latch operation of the SHTDN output. maxItems: 1 vdd-supply: true patternProperties: "^channel@[0-3]$": $ref: adc.yaml type: object description: Represents the internal channels of the ADC. properties: reg: items: - minimum: 0 maximum: 3 maxim,rsense-val-micro-ohms: description: Adjust the Rsense value to monitor higher or lower current levels for input. enum: [250, 500, 1000, 5000, 10000, 50000, 100000, 200000, 500000] default: 1000 required: - reg - maxim,rsense-val-micro-ohms unevaluatedProperties: false required: - compatible - reg allOf: - if: properties: compatible: contains: const: maxim,max34408 then: patternProperties: "^channel@[2-3]$": false "^channel@[0-1]$": properties: reg: maximum: 1 else: patternProperties: "^channel@[0-3]$": properties: reg: maximum: 3 additionalProperties: false examples: - | #include i2c { #address-cells = <1>; #size-cells = <0>; adc@1e { compatible = "maxim,max34409"; reg = <0x1e>; powerdown-gpios = <&gpio0 1 GPIO_ACTIVE_LOW>; powerdown-status-gpios = <&gpio0 2 GPIO_ACTIVE_HIGH>; #address-cells = <1>; #size-cells = <0>; channel@0 { reg = <0x0>; maxim,rsense-val-micro-ohms = <5000>; }; channel@1 { reg = <0x1>; maxim,rsense-val-micro-ohms = <10000>; }; }; };