mirror of
https://github.com/torvalds/linux.git
synced 2024-12-04 18:13:04 +00:00
a8e498368d
Convert the bindings for Maxim MAX8998, National/TI LP3974 Power Management IC to DT schema. Adjust example to real DTS and make second interrupt optional (like on s5pv210-aries.dtsi). Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Reviewed-by: Conor Dooley <conor.dooley@microchip.com> Link: https://lore.kernel.org/r/20230911120135.37528-1-krzysztof.kozlowski@linaro.org Signed-off-by: Lee Jones <lee@kernel.org>
325 lines
9.8 KiB
YAML
325 lines
9.8 KiB
YAML
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/mfd/maxim,max8998.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Maxim MAX8998, National/TI LP3974 Power Management IC
|
|
|
|
maintainers:
|
|
- Krzysztof Kozlowski <krzk@kernel.org>
|
|
|
|
description:
|
|
The Maxim MAX8998 is a Power Management IC which includes voltage/current
|
|
regulators, real time clock, battery charging controller and several other
|
|
sub-blocks. It is interfaced using an I2C interface. Each sub-block is
|
|
addressed by the host system using different i2c slave address.
|
|
|
|
properties:
|
|
compatible:
|
|
enum:
|
|
- maxim,max8998
|
|
- national,lp3974
|
|
- ti,lp3974
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
interrupts:
|
|
minItems: 1
|
|
items:
|
|
- description: Main interrupt
|
|
- description: Power-on/-off interrupt
|
|
|
|
max8998,pmic-buck1-dvs-gpios:
|
|
maxItems: 2
|
|
description:
|
|
Two host gpios used for buck1 DVS.
|
|
|
|
max8998,pmic-buck2-dvs-gpio:
|
|
maxItems: 1
|
|
description:
|
|
Host gpio used for buck2 DVS.
|
|
|
|
max8998,pmic-buck1-default-dvs-idx:
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
enum: [0, 1, 2, 3]
|
|
default: 0
|
|
description:
|
|
Default voltage setting selected from the possible 4 options selectable
|
|
by the DVS gpios.
|
|
|
|
max8998,pmic-buck2-default-dvs-idx:
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
enum: [0, 1]
|
|
default: 0
|
|
description:
|
|
Default voltage setting selected from the possible 2 options selectable
|
|
by the DVS GPIOs.
|
|
|
|
max8998,pmic-buck-voltage-lock:
|
|
type: boolean
|
|
description:
|
|
If present, disallows changing of preprogrammed buck DVS voltages.
|
|
|
|
max8998,pmic-buck1-dvs-voltage:
|
|
$ref: /schemas/types.yaml#/definitions/uint32-array
|
|
maxItems: 4
|
|
description:
|
|
Four voltage values in microvolts for buck1 regulator that can be
|
|
selected using DVS GPIO.
|
|
|
|
max8998,pmic-buck2-dvs-voltage:
|
|
$ref: /schemas/types.yaml#/definitions/uint32-array
|
|
maxItems: 2
|
|
description:
|
|
Two voltage values in microvolts for buck2 regulator that can be
|
|
selected using DVS GPIO.
|
|
|
|
regulators:
|
|
type: object
|
|
additionalProperties: false
|
|
|
|
properties:
|
|
CHARGER:
|
|
type: object
|
|
$ref: /schemas/regulator/regulator.yaml#
|
|
unevaluatedProperties: false
|
|
description:
|
|
CHARGER is main battery charger current control, wrongly represented
|
|
as regulator.
|
|
|
|
properties:
|
|
regulator-min-microamp:
|
|
minimum: 90000
|
|
maximum: 800000
|
|
|
|
regulator-max-microamp:
|
|
minimum: 90000
|
|
maximum: 800000
|
|
|
|
regulator-min-microvolt: false
|
|
regulator-max-microvolt: false
|
|
|
|
required:
|
|
- regulator-name
|
|
|
|
patternProperties:
|
|
"^(LDO([2-9]|1[0-7])|BUCK[1-4])$":
|
|
type: object
|
|
$ref: /schemas/regulator/regulator.yaml#
|
|
unevaluatedProperties: false
|
|
|
|
required:
|
|
- regulator-name
|
|
|
|
"^(EN32KHz-AP|EN32KHz-CP|ENVICHG|ESAFEOUT[12])$":
|
|
type: object
|
|
$ref: /schemas/regulator/regulator.yaml#
|
|
unevaluatedProperties: false
|
|
description: |
|
|
EN32KHz-AP and EN32KHz-CP are 32768 Hz clocks, wrongly represented as
|
|
regulators.
|
|
ENVICHG is a Battery Charging Current Monitor Output.
|
|
|
|
properties:
|
|
regulator-min-microvolt: false
|
|
regulator-max-microvolt: false
|
|
|
|
required:
|
|
- regulator-name
|
|
|
|
dependencies:
|
|
max8998,pmic-buck1-dvs-gpios: [ "max8998,pmic-buck1-dvs-voltage" ]
|
|
max8998,pmic-buck2-dvs-gpio: [ "max8998,pmic-buck2-dvs-voltage" ]
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- regulators
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
#include <dt-bindings/interrupt-controller/irq.h>
|
|
|
|
i2c {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
pmic@66 {
|
|
compatible = "national,lp3974";
|
|
reg = <0x66>;
|
|
interrupts-extended = <&gpx0 7 IRQ_TYPE_LEVEL_LOW>,
|
|
<&gpx2 7 IRQ_TYPE_LEVEL_LOW>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&lp3974_irq>;
|
|
|
|
max8998,pmic-buck1-default-dvs-idx = <0>;
|
|
max8998,pmic-buck1-dvs-gpios = <&gpx0 5 GPIO_ACTIVE_HIGH>,
|
|
<&gpx0 6 GPIO_ACTIVE_HIGH>;
|
|
max8998,pmic-buck1-dvs-voltage = <1100000>, <1000000>,
|
|
<1100000>, <1000000>;
|
|
max8998,pmic-buck2-default-dvs-idx = <0>;
|
|
max8998,pmic-buck2-dvs-gpio = <&gpe2 0 GPIO_ACTIVE_HIGH>;
|
|
max8998,pmic-buck2-dvs-voltage = <1200000>, <1100000>;
|
|
|
|
regulators {
|
|
LDO2 {
|
|
regulator-name = "VALIVE_1.2V";
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <1200000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
LDO3 {
|
|
regulator-name = "VUSB+MIPI_1.1V";
|
|
regulator-min-microvolt = <1100000>;
|
|
regulator-max-microvolt = <1100000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
LDO4 {
|
|
regulator-name = "VADC_3.3V";
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
};
|
|
|
|
LDO5 {
|
|
regulator-name = "VTF_2.8V";
|
|
regulator-min-microvolt = <2800000>;
|
|
regulator-max-microvolt = <2800000>;
|
|
};
|
|
|
|
LDO6 {
|
|
regulator-name = "LDO6";
|
|
regulator-min-microvolt = <2000000>;
|
|
regulator-max-microvolt = <2000000>;
|
|
};
|
|
|
|
LDO7 {
|
|
regulator-name = "VLCD+VMIPI_1.8V";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
};
|
|
|
|
LDO8 {
|
|
regulator-name = "VUSB+VDAC_3.3V";
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
LDO9 {
|
|
regulator-name = "VCC_2.8V";
|
|
regulator-min-microvolt = <2800000>;
|
|
regulator-max-microvolt = <2800000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
LDO10 {
|
|
regulator-name = "VPLL_1.1V";
|
|
regulator-min-microvolt = <1100000>;
|
|
regulator-max-microvolt = <1100000>;
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
LDO11 {
|
|
regulator-name = "CAM_AF_3.3V";
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
};
|
|
|
|
LDO12 {
|
|
regulator-name = "PS_2.8V";
|
|
regulator-min-microvolt = <2800000>;
|
|
regulator-max-microvolt = <2800000>;
|
|
};
|
|
|
|
LDO13 {
|
|
regulator-name = "VHIC_1.2V";
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <1200000>;
|
|
};
|
|
|
|
LDO14 {
|
|
regulator-name = "CAM_I_HOST_1.8V";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
};
|
|
|
|
LDO15 {
|
|
regulator-name = "CAM_S_DIG+FM33_CORE_1.2V";
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <1200000>;
|
|
};
|
|
|
|
LDO16 {
|
|
regulator-name = "CAM_S_ANA_2.8V";
|
|
regulator-min-microvolt = <2800000>;
|
|
regulator-max-microvolt = <2800000>;
|
|
};
|
|
|
|
LDO17 {
|
|
regulator-name = "VCC_3.0V_LCD";
|
|
regulator-min-microvolt = <3000000>;
|
|
regulator-max-microvolt = <3000000>;
|
|
};
|
|
|
|
BUCK1 {
|
|
regulator-name = "VINT_1.1V";
|
|
regulator-min-microvolt = <750000>;
|
|
regulator-max-microvolt = <1500000>;
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
BUCK2 {
|
|
regulator-name = "VG3D_1.1V";
|
|
regulator-min-microvolt = <750000>;
|
|
regulator-max-microvolt = <1500000>;
|
|
regulator-boot-on;
|
|
};
|
|
|
|
BUCK3 {
|
|
regulator-name = "VCC_1.8V";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
BUCK4 {
|
|
regulator-name = "VMEM_1.2V";
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <1200000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
EN32KHz-AP {
|
|
regulator-name = "32KHz AP";
|
|
regulator-always-on;
|
|
};
|
|
|
|
EN32KHz-CP {
|
|
regulator-name = "32KHz CP";
|
|
};
|
|
|
|
ENVICHG {
|
|
regulator-name = "VICHG";
|
|
};
|
|
|
|
ESAFEOUT1 {
|
|
regulator-name = "SAFEOUT1";
|
|
};
|
|
|
|
ESAFEOUT2 {
|
|
regulator-name = "SAFEOUT2";
|
|
regulator-boot-on;
|
|
};
|
|
};
|
|
};
|
|
};
|