drivers: gpio: Add MAX14906 industrial input/output

MAX14906 in 4 channel I/O with advanced diagnostic.
In SPI communication diagnostic status transmitted on every
READ/WRITE which includes generic status of chip.
Configuration both on global level and on per channel bases.
Diagnostics includes :
 * Thermal overload
 * current limit
 * open wire detection
 * short to VDD
 * Above VDD
 * Safe DEmagnitization fault
 * VDD warning
 * VDD low
 * SPI/CRC Error
 * WDog Error
 * Loss GND

Add app.overlay for MAX14906 driver.

Tested with adopted basic/button and basic/blinky sample.

Signed-off-by: Stoyan Bogdanov <sbogdanov@baylibre.com>
This commit is contained in:
Stoyan Bogdanov 2024-06-14 17:41:13 +03:00 committed by Carles Cufí
commit 71149fd47a
7 changed files with 1016 additions and 0 deletions

View file

@ -360,6 +360,7 @@
&test_gpio 0 0
&test_gpio 0 0
&test_gpio 0 0
&test_gpio 0 0
&test_gpio 0 0>;
test_spi_mcp23s17: mcp23s17@0 {
@ -440,6 +441,26 @@
ngpios = <8>;
#gpio-cells = <2>;
};
test_spi_max14906: max14906@5 {
compatible = "adi,max1906-gpio";
status = "okay";
reg = <0x06>;
spi-max-frequency = <0>;
gpio-controller;
#gpio-cells = <2>;
ngpios = <4>;
crc-en;
spi-addr = <0>;
ow-en = <0 0 0 0>;
vdd-ov-en = <0 0 0 0>;
gdrv-en = <0 0 0 0>;
sh-vdd-en = <0 0 0 0>;
drdy-gpios = <&test_gpio 0 0>;
fault-gpios = <&test_gpio 0 0>;
sync-gpios = <&test_gpio 0 0>;
en-gpios = <&test_gpio 0 0>;
};
};
};
};