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
72 lines
2.2 KiB
Plaintext
72 lines
2.2 KiB
Plaintext
Binding for Maxim MAX77686 regulators
|
|
|
|
This is a part of the device tree bindings of MAX77686 multi-function device.
|
|
More information can be found in ../mfd/max77686.txt file.
|
|
|
|
The MAX77686 PMIC has 9 high-efficiency Buck and 26 Low-DropOut (LDO)
|
|
regulators that can be controlled over I2C.
|
|
|
|
Following properties should be present in main device node of the MFD chip.
|
|
|
|
Optional node:
|
|
- voltage-regulators : The regulators of max77686 have to be instantiated
|
|
under subnode named "voltage-regulators" using the following format.
|
|
|
|
regulator_name {
|
|
regulator-compatible = LDOn/BUCKn
|
|
standard regulator constraints....
|
|
};
|
|
refer Documentation/devicetree/bindings/regulator/regulator.txt
|
|
|
|
The regulator node's name should be initialized with a string
|
|
to get matched with their hardware counterparts as follow:
|
|
|
|
-LDOn : for LDOs, where n can lie in range 1 to 26.
|
|
example: LDO1, LDO2, LDO26.
|
|
-BUCKn : for BUCKs, where n can lie in range 1 to 9.
|
|
example: BUCK1, BUCK5, BUCK9.
|
|
|
|
Regulators which can be turned off during system suspend:
|
|
-LDOn : 2, 6-8, 10-12, 14-16,
|
|
-BUCKn : 1-4.
|
|
Use standard regulator bindings for it ('regulator-off-in-suspend').
|
|
|
|
LDO20, LDO21, LDO22, BUCK8 and BUCK9 can be configured to GPIO enable
|
|
control. To turn this feature on this property must be added to the regulator
|
|
sub-node:
|
|
- maxim,ena-gpios : one GPIO specifier enable control (the gpio
|
|
flags are actually ignored and always
|
|
ACTIVE_HIGH is used)
|
|
|
|
Example:
|
|
|
|
max77686: pmic@9 {
|
|
compatible = "maxim,max77686";
|
|
interrupt-parent = <&wakeup_eint>;
|
|
interrupts = <26 IRQ_TYPE_LEVEL_LOW>;
|
|
reg = <0x09>;
|
|
|
|
voltage-regulators {
|
|
ldo11_reg: LDO11 {
|
|
regulator-name = "vdd_ldo11";
|
|
regulator-min-microvolt = <1900000>;
|
|
regulator-max-microvolt = <1900000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
buck1_reg: BUCK1 {
|
|
regulator-name = "vdd_mif";
|
|
regulator-min-microvolt = <950000>;
|
|
regulator-max-microvolt = <1300000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
};
|
|
|
|
buck9_reg: BUCK9 {
|
|
regulator-name = "CAM_ISP_CORE_1.2V";
|
|
regulator-min-microvolt = <1000000>;
|
|
regulator-max-microvolt = <1200000>;
|
|
maxim,ena-gpios = <&gpm0 3 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
};
|