Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
78 changes: 78 additions & 0 deletions Documentation/devicetree/bindings/iio/adc/adi,max14001.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
# Copyright 2025 Marilene Andrade Garcia
%YAML 1.2
---
$id: http://devicetree.org/schemas/iio/adc/adi,max14001.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Analog Devices MAX14001-MAX14002 10-bit ADCs

maintainers:
- Marilene Andrade Garcia <[email protected]>

description:
Bindings for the Analog Devices MAX14001-MAX14002 Configurable,
Isolated 10-bit ADCs for Multi-Range Binary Inputs.

Datasheet can be found here
https://www.analog.com/media/en/technical-documentation/data-sheets/MAX14001-MAX14002.pdf

$ref: /schemas/spi/spi-peripheral-props.yaml#

properties:
compatible:
enum:
- adi,max14001
- adi,max14002

reg:
maxItems: 1

vdd-supply:
description:
Isolated DC-DC power supply input voltage.

vddl-supply:
description:
Logic power supply.

vrefin-supply:
description:
ADC voltage reference supply.

interrupts:
items:
- description: |
Interrupt for signaling when conversion results exceed the configured
upper threshold for ADC readings or fall below the lower threshold for
them. Interrupt source must be attached to COUT pin.
- description: |
Alert output that asserts low during a number of different error
conditions. The interrupt source must be attached to FAULT pin.

spi-max-frequency:
maximum: 5000000

required:
- compatible
- reg
- vdd-supply
- vddl-supply

unevaluatedProperties: false

examples:
- |
spi {
#address-cells = <1>;
#size-cells = <0>;

max14001: adc@0 {
compatible = "adi,max14001";
reg = <0>;
spi-max-frequency = <5000000>;
vdd-supply = <&vdd>;
vddl-supply = <&vddl>;
};
};
...
8 changes: 8 additions & 0 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -13122,6 +13122,14 @@ W: https://ez.analog.com/linux-software-drivers
F: Documentation/devicetree/bindings/iio/adc/maxim,max11205.yaml
F: drivers/iio/adc/max11205.c

MAXIM MAX14001/MAX14002 DRIVER
M: Marilene Andrade Garcia <[email protected]>
L: [email protected]
S: Maintained
W: https://ez.analog.com/linux-software-drivers
F: Documentation/devicetree/bindings/iio/adc/adi,max14001.yaml
F: drivers/iio/adc/max14001.c

MAXIM MAX17040 FAMILY FUEL GAUGE DRIVERS
R: Iskren Chernev <[email protected]>
R: Krzysztof Kozlowski <[email protected]>
Expand Down
1 change: 1 addition & 0 deletions arch/arm/boot/dts/overlays/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -309,6 +309,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
rpi-ltc2991.dtbo \
rpi-ltc4162.dtbo \
rpi-ltc6952.dtbo \
rpi-max14001-pmb.dtbo \
rpi-max14830-i2c.dtbo \
rpi-max14830-spi.dtbo \
rpi-max31335.dtbo \
Expand Down
77 changes: 77 additions & 0 deletions arch/arm/boot/dts/overlays/rpi-max14001-pmb-overlay.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
// SPDX-License-Identifier: GPL-2.0-only
/*
* Overlay for the MAX14001 ADC
*
* Copyright (c) 2025 Marilene Andrade Garcia <[email protected]>
*
* Datasheet: https://www.analog.com/media/en/technical-documentation/data-sheets/MAX14001-MAX14002.pdf
*/

/dts-v1/;
/plugin/;

/ {
compatible = "brcm,bcm2712";
};

&{/} {
vdd: fixedregulator@0 {
compatible = "regulator-fixed";
regulator-name = "Isolated DC-DC Power Supply Input Voltage";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-boot-on;
regulator-always-on;
status = "okay";
};

vddl: fixedregulator@1 {
compatible = "regulator-fixed";
regulator-name = "Logic Power Supply Voltage";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-boot-on;
regulator-always-on;
status = "okay";
};

vrefin: fixedregulator@2 {
compatible = "regulator-fixed";
regulator-name = "Reference Input Range Voltage";
regulator-min-microvolt = <1250000>;
regulator-max-microvolt = <1250000>;
regulator-boot-on;
regulator-always-on;
status = "okay";
};
};

&spi0 {
status = "okay";
max14001_u51: max14001@0 {
compatible = "adi,max14001";
reg = <0x0>;
spi-max-frequency = <5000000>;
vdd-supply = <&vdd>;
vddl-supply = <&vddl>;
vrefin-supply = <&vrefin>;
status = "okay";
};
max14001_u11: max14001@1 {
compatible = "adi,max14001";
reg = <0x1>;
spi-max-frequency = <5000000>;
vdd-supply = <&vdd>;
vddl-supply = <&vddl>;
vrefin-supply = <&vrefin>;
status = "okay";
};
};

&spidev0 {
status = "disabled";
};

&spidev1 {
status = "disabled";
};
10 changes: 10 additions & 0 deletions drivers/iio/adc/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -1126,6 +1126,16 @@ config MAX1363
To compile this driver as a module, choose M here: the module will be
called max1363.

config MAX14001
tristate "Analog Devices MAX14001/MAX14002 ADCs driver"
depends on SPI
help
Say yes here to build support for Analog Devices MAX14001/MAX14002
Configurable, Isolated 10-bit ADCs for Multi-Range Binary Inputs.

To compile this driver as a module, choose M here: the module will be
called max14001.

config MAX77541_ADC
tristate "Analog Devices MAX77541 ADC driver"
depends on MFD_MAX77541
Expand Down
1 change: 1 addition & 0 deletions drivers/iio/adc/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,7 @@ obj-$(CONFIG_MAX11205) += max11205.o
obj-$(CONFIG_MAX11410) += max11410.o
obj-$(CONFIG_MAX1241) += max1241.o
obj-$(CONFIG_MAX1363) += max1363.o
obj-$(CONFIG_MAX14001) += max14001.o
obj-$(CONFIG_MAX77541_ADC) += max77541-adc.o
obj-$(CONFIG_MAX9611) += max9611.o
obj-$(CONFIG_MCP320X) += mcp320x.o
Expand Down
Loading