mirror of
https://github.com/torvalds/linux.git
synced 2026-04-25 18:12:26 -04:00
Interrupt line can be configured on different hardware in different way, even inverted. Therefore driver should not enforce specific trigger type - edge falling - but instead rely on Devicetree to configure it. The Maxim 77686 datasheet describes the interrupt line as active low with a requirement of acknowledge from the CPU therefore the edge falling is not correct. The interrupt line is shared between PMIC and RTC driver, so using level sensitive interrupt is here especially important to avoid races. With an edge configuration in case if first PMIC signals interrupt followed shortly after by the RTC, the interrupt might not be yet cleared/acked thus the second one would not be noticed. Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> Acked-by: Rob Herring <robh@kernel.org> Signed-off-by: Lee Jones <lee.jones@linaro.org> Link: https://lore.kernel.org/r/20210602110445.33536-2-krzysztof.kozlowski@canonical.com
27 lines
941 B
Plaintext
27 lines
941 B
Plaintext
Maxim MAX77686 multi-function device
|
|
|
|
MAX77686 is a Multifunction device with PMIC, RTC and Charger on chip. It is
|
|
interfaced to host controller using i2c interface. PMIC and Charger submodules
|
|
are addressed using same i2c slave address whereas RTC submodule uses
|
|
different i2c slave address,presently for which we are statically creating i2c
|
|
client while probing.This document describes the binding for mfd device and
|
|
PMIC submodule.
|
|
|
|
Bindings for the built-in 32k clock generator block and
|
|
regulators are defined in ../clk/maxim,max77686.txt and
|
|
../regulator/max77686.txt respectively.
|
|
|
|
Required properties:
|
|
- compatible : Must be "maxim,max77686";
|
|
- reg : Specifies the i2c slave address of PMIC block.
|
|
- interrupts : This i2c device has an IRQ line connected to the main SoC.
|
|
|
|
Example:
|
|
|
|
max77686: pmic@9 {
|
|
compatible = "maxim,max77686";
|
|
interrupt-parent = <&wakeup_eint>;
|
|
interrupts = <26 IRQ_TYPE_LEVEL_LOW>;
|
|
reg = <0x09>;
|
|
};
|