regulator: dt-bindings: Add TI TPS65219 PMIC bindings
Add TPS65219 PMIC bindings using json-schema. Describe required properties and regname-supply. regname-supply is required when bypass mode is used for a regulator. Describes regulator topology. Interrupts support. Add a power-button property to configure the EN/PB/VSENSE pin as a powerbutton: TPS65219 has a multipurpose pin called EN/PB/VSENSE that can be either: - EN in which case it functions as an enable pin. - VSENSE which compares the voltages and triggers an automatic on/off request. - PB in which case it can be configured to trigger an interrupt to the SoC. ti,power-button reflects the last one of those options where the board has a button wired to the pin and triggers an interrupt on pressing it. Signed-off-by: Markus Schneider-Pargmann <msp@baylibre.com> Signed-off-by: Jerome Neanne <jneanne@baylibre.com> Reviewed-by: Rob Herring <robh@kernel.org> Link: https://lore.kernel.org/r/20220805121852.21254-5-jneanne@baylibre.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
0739ce4c12
commit
4d2aed6ee3
|
|
@ -0,0 +1,173 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/ti,tps65219.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: TI tps65219 Power Management Integrated Circuit regulators
|
||||
|
||||
maintainers:
|
||||
- Jerome Neanne <jerome.neanne@baylibre.com>
|
||||
|
||||
description: |
|
||||
Regulator nodes should be named to buck<number> and ldo<number>.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- ti,tps65219
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
system-power-controller:
|
||||
type: boolean
|
||||
description: Optional property that indicates that this device is
|
||||
controlling system power.
|
||||
|
||||
interrupts:
|
||||
description: Short-circuit, over-current, under-voltage for regulators, PB interrupts.
|
||||
maxItems: 1
|
||||
|
||||
interrupt-controller: true
|
||||
|
||||
'#interrupt-cells':
|
||||
description: Specifies the PIN numbers and Flags, as defined in
|
||||
include/dt-bindings/interrupt-controller/irq.h
|
||||
const: 1
|
||||
|
||||
ti,power-button:
|
||||
type: boolean
|
||||
description: |
|
||||
Optional property that sets the EN/PB/VSENSE pin to be a
|
||||
power-button.
|
||||
TPS65219 has a multipurpose pin called EN/PB/VSENSE that can be either
|
||||
1. EN in which case it functions as an enable pin.
|
||||
2. VSENSE which compares the voltages and triggers an automatic
|
||||
on/off request.
|
||||
3. PB in which case it can be configured to trigger an interrupt
|
||||
to the SoC.
|
||||
ti,power-button reflects the last one of those options
|
||||
where the board has a button wired to the pin and triggers
|
||||
an interrupt on pressing it.
|
||||
|
||||
patternProperties:
|
||||
"^buck[1-3]-supply$":
|
||||
description: Input supply phandle of one regulator.
|
||||
|
||||
"^ldo[1-4]-supply$":
|
||||
description: Input supply phandle of one regulator.
|
||||
|
||||
regulators:
|
||||
type: object
|
||||
description: |
|
||||
list of regulators provided by this controller
|
||||
|
||||
patternProperties:
|
||||
"^ldo[1-4]$":
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
description:
|
||||
Properties for single LDO regulator.
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
"^buck[1-3]$":
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
description:
|
||||
Properties for single BUCK regulator.
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- interrupts
|
||||
- regulators
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
tps65219: pmic@30 {
|
||||
compatible = "ti,tps65219";
|
||||
reg = <0x30>;
|
||||
buck1-supply = <&vcc_3v3_sys>;
|
||||
buck2-supply = <&vcc_3v3_sys>;
|
||||
buck3-supply = <&vcc_3v3_sys>;
|
||||
ldo1-supply = <&vcc_3v3_sys>;
|
||||
ldo2-supply = <&buck2_reg>;
|
||||
ldo3-supply = <&vcc_3v3_sys>;
|
||||
ldo4-supply = <&vcc_3v3_sys>;
|
||||
|
||||
pinctrl-0 = <&pmic_irq_pins_default>;
|
||||
|
||||
interrupt-parent = <&gic500>;
|
||||
interrupts = <GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>;
|
||||
ti,power-button;
|
||||
|
||||
regulators {
|
||||
buck1_reg: buck1 {
|
||||
regulator-name = "VDD_CORE";
|
||||
regulator-min-microvolt = <750000>;
|
||||
regulator-max-microvolt = <750000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
buck2_reg: buck2 {
|
||||
regulator-name = "VCC1V8";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
buck3_reg: buck3 {
|
||||
regulator-name = "VDD_LPDDR4";
|
||||
regulator-min-microvolt = <1100000>;
|
||||
regulator-max-microvolt = <1100000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
ldo1_reg: ldo1 {
|
||||
regulator-name = "VDDSHV_SD_IO_PMIC";
|
||||
regulator-min-microvolt = <33000000>;
|
||||
regulator-max-microvolt = <33000000>;
|
||||
};
|
||||
|
||||
ldo2_reg: ldo2 {
|
||||
regulator-name = "VDDAR_CORE";
|
||||
regulator-min-microvolt = <850000>;
|
||||
regulator-max-microvolt = <850000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
ldo3_reg: ldo3 {
|
||||
regulator-name = "VDDA_1V8";
|
||||
regulator-min-microvolt = <18000000>;
|
||||
regulator-max-microvolt = <18000000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
ldo4_reg: ldo4 {
|
||||
regulator-name = "VDD_PHY_2V5";
|
||||
regulator-min-microvolt = <25000000>;
|
||||
regulator-max-microvolt = <25000000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
Loading…
Reference in New Issue