174 lines
5.0 KiB
YAML
174 lines
5.0 KiB
YAML
|
# 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;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|