dt-bindings: mfd: Add TI TPS6594 PMIC
TPS6594 is a Power Management IC which provides regulators and others features like GPIOs, RTC, watchdog, ESMs (Error Signal Monitor), and PFSM (Pre-configurable Finite State Machine) managing the state of the device. TPS6594 is the super-set device while TPS6593 and LP8764 are derivatives. Signed-off-by: Julien Panis <jpanis@baylibre.com> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Lee Jones <lee@kernel.org> Link: https://lore.kernel.org/r/20230511095126.105104-2-jpanis@baylibre.com
This commit is contained in:
Родитель
cc5f2eb7ce
Коммит
a5f00e38ee
|
@ -0,0 +1,193 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/mfd/ti,tps6594.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: TI TPS6594 Power Management Integrated Circuit
|
||||
|
||||
maintainers:
|
||||
- Julien Panis <jpanis@baylibre.com>
|
||||
|
||||
description:
|
||||
TPS6594 is a Power Management IC which provides regulators and others
|
||||
features like GPIOs, RTC, watchdog, ESMs (Error Signal Monitor), and
|
||||
PFSM (Pre-configurable Finite State Machine) managing the state of the device.
|
||||
TPS6594 is the super-set device while TPS6593 and LP8764 are derivatives.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- ti,lp8764-q1
|
||||
- ti,tps6593-q1
|
||||
- ti,tps6594-q1
|
||||
|
||||
reg:
|
||||
description: I2C slave address or SPI chip select number.
|
||||
maxItems: 1
|
||||
|
||||
ti,primary-pmic:
|
||||
type: boolean
|
||||
description: |
|
||||
Identify the primary PMIC on SPMI bus.
|
||||
A multi-PMIC synchronization scheme is implemented in the PMIC device
|
||||
to synchronize the power state changes with other PMIC devices. This is
|
||||
accomplished through a SPMI bus: the primary PMIC is the controller
|
||||
device on the SPMI bus, and the secondary PMICs are the target devices
|
||||
on the SPMI bus.
|
||||
|
||||
system-power-controller: true
|
||||
|
||||
gpio-controller: true
|
||||
|
||||
'#gpio-cells':
|
||||
const: 2
|
||||
description: |
|
||||
The first cell is the pin number, the second cell is used to specify flags.
|
||||
See ../gpio/gpio.txt for more information.
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
regulators:
|
||||
type: object
|
||||
description: List of regulators provided by this controller.
|
||||
|
||||
patternProperties:
|
||||
"^buck([1-5]|12|34|123|1234)$":
|
||||
type: object
|
||||
$ref: /schemas/regulator/regulator.yaml#
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
"^ldo[1-4]$":
|
||||
type: object
|
||||
$ref: /schemas/regulator/regulator.yaml#
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
allOf:
|
||||
- if:
|
||||
required:
|
||||
- buck12
|
||||
then:
|
||||
properties:
|
||||
buck123: false
|
||||
buck1234: false
|
||||
- if:
|
||||
required:
|
||||
- buck123
|
||||
then:
|
||||
properties:
|
||||
buck34: false
|
||||
- if:
|
||||
required:
|
||||
- buck1234
|
||||
then:
|
||||
properties:
|
||||
buck34: false
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
patternProperties:
|
||||
"^buck([1-5]|12|34|123|1234)-supply$":
|
||||
description: Input supply phandle for each buck.
|
||||
|
||||
"^ldo[1-4]-supply$":
|
||||
description: Input supply phandle for each ldo.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- interrupts
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
tps6593: pmic@48 {
|
||||
compatible = "ti,tps6593-q1";
|
||||
reg = <0x48>;
|
||||
ti,primary-pmic;
|
||||
system-power-controller;
|
||||
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pmic_irq_pins_default>;
|
||||
interrupt-parent = <&mcu_gpio0>;
|
||||
interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
|
||||
|
||||
buck123-supply = <&vcc_3v3_sys>;
|
||||
buck4-supply = <&vcc_3v3_sys>;
|
||||
buck5-supply = <&vcc_3v3_sys>;
|
||||
ldo1-supply = <&vcc_3v3_sys>;
|
||||
ldo2-supply = <&vcc_3v3_sys>;
|
||||
ldo3-supply = <&buck5>;
|
||||
ldo4-supply = <&vcc_3v3_sys>;
|
||||
|
||||
regulators {
|
||||
buck123: buck123 {
|
||||
regulator-name = "vcc_core";
|
||||
regulator-min-microvolt = <750000>;
|
||||
regulator-max-microvolt = <850000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
buck4: buck4 {
|
||||
regulator-name = "vcc_1v1";
|
||||
regulator-min-microvolt = <1100000>;
|
||||
regulator-max-microvolt = <1100000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
buck5: buck5 {
|
||||
regulator-name = "vcc_1v8_sys";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
ldo1: ldo1 {
|
||||
regulator-name = "vddshv5_sdio";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
ldo2: ldo2 {
|
||||
regulator-name = "vpp_1v8";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
ldo3: ldo3 {
|
||||
regulator-name = "vcc_0v85";
|
||||
regulator-min-microvolt = <850000>;
|
||||
regulator-max-microvolt = <850000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
ldo4: ldo4 {
|
||||
regulator-name = "vdda_1v8";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
Загрузка…
Ссылка в новой задаче