mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-08-31 22:23:05 +00:00

Convert the TI TPS65910 documentation to DT schema format. Fix incorrect I2C address in example: should be 0x2d. TPS65910 datasheet: https://www.ti.com/lit/gpn/tps65910 Signed-off-by: Shree Ramamoorthy <s-ramamoorthy@ti.com> Reviewed-by: "Rob Herring (Arm)" <robh@kernel.org> Link: https://lore.kernel.org/r/20250708210448.56384-1-s-ramamoorthy@ti.com Signed-off-by: Lee Jones <lee@kernel.org>
319 lines
9.8 KiB
YAML
319 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/ti,tps65910.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: TI TPS65910 Power Management Integrated Circuit
|
|
|
|
maintainers:
|
|
- Shree Ramamoorthy <s-ramamoorthy@ti.com>
|
|
|
|
description:
|
|
TPS65910 device is a Power Management IC that provides 3 step-down converters,
|
|
1 stepup converter, and 8 LDOs. The device contains an embedded power controller (EPC),
|
|
1 GPIO, and an RTC.
|
|
|
|
properties:
|
|
compatible:
|
|
enum:
|
|
- ti,tps65910
|
|
- ti,tps65911
|
|
|
|
reg:
|
|
description: I2C slave address
|
|
maxItems: 1
|
|
|
|
gpio-controller: true
|
|
|
|
'#gpio-cells':
|
|
const: 2
|
|
description: |
|
|
The first cell is the GPIO number.
|
|
The second cell is used to specify additional options <unused>.
|
|
|
|
interrupts:
|
|
maxItems: 1
|
|
|
|
interrupt-controller: true
|
|
|
|
'#interrupt-cells':
|
|
description: Specifies the IRQ number and flags
|
|
const: 2
|
|
|
|
ti,vmbch-threshold:
|
|
description: |
|
|
(TPS65911) Main battery charged threshold comparator.
|
|
See VMBCH_VSEL in TPS65910 datasheet.
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
enum: [0, 1, 2, 3]
|
|
|
|
ti,vmbch2-threshold:
|
|
description: |
|
|
(TPS65911) Main battery discharged threshold comparator.
|
|
See VMBCH_VSEL in TPS65910 datasheet.
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
enum: [0, 1, 2, 3]
|
|
|
|
ti,en-ck32k-xtal:
|
|
type: boolean
|
|
description: Enable external 32-kHz crystal oscillator.
|
|
|
|
ti,en-gpio-sleep:
|
|
description: |
|
|
Enable sleep control for gpios.
|
|
$ref: /schemas/types.yaml#/definitions/uint32-array
|
|
minItems: 9
|
|
maxItems: 9
|
|
items:
|
|
minimum: 0
|
|
maximum: 1
|
|
|
|
ti,system-power-controller:
|
|
type: boolean
|
|
description: Identify whether or not this pmic controls the system power
|
|
|
|
ti,sleep-enable:
|
|
type: boolean
|
|
description: Enable SLEEP state.
|
|
|
|
ti,sleep-keep-therm:
|
|
type: boolean
|
|
description: Keep thermal monitoring on in sleep state.
|
|
|
|
ti,sleep-keep-ck32k:
|
|
type: boolean
|
|
description: Keep the 32KHz clock output on in sleep state.
|
|
|
|
ti,sleep-keep-hsclk:
|
|
type: boolean
|
|
description: Keep high speed internal clock on in sleep state.
|
|
|
|
regulators:
|
|
type: object
|
|
additionalProperties: false
|
|
description: List of regulators provided by this controller.
|
|
|
|
patternProperties:
|
|
"^(vrtc|vio|vpll|vdac|vmmc|vbb|vddctrl)$":
|
|
type: object
|
|
$ref: /schemas/regulator/regulator.yaml#
|
|
properties:
|
|
ti,regulator-ext-sleep-control:
|
|
description: |
|
|
Enable external sleep control through external inputs:
|
|
[0 (not enabled), 1 (EN1), 2 (EN2) or 4(EN3)].
|
|
If this property is not defined, it defaults to 0 (not enabled).
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
enum: [0, 1, 2, 4, 8]
|
|
unevaluatedProperties: false
|
|
|
|
"^(vdd[1-3]|vaux([1-2]|33)|vdig[1-2])$":
|
|
type: object
|
|
$ref: /schemas/regulator/regulator.yaml#
|
|
properties:
|
|
ti,regulator-ext-sleep-control:
|
|
description: |
|
|
Enable external sleep control through external inputs:
|
|
[0 (not enabled), 1 (EN1), 2 (EN2) or 4(EN3)].
|
|
If this property is not defined, it defaults to 0 (not enabled).
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
enum: [0, 1, 2, 4, 8]
|
|
unevaluatedProperties: false
|
|
|
|
"^ldo[1-8]$":
|
|
type: object
|
|
$ref: /schemas/regulator/regulator.yaml#
|
|
properties:
|
|
ti,regulator-ext-sleep-control:
|
|
description: |
|
|
Enable external sleep control through external inputs:
|
|
[0 (not enabled), 1 (EN1), 2 (EN2) or 4(EN3)].
|
|
If this property is not defined, it defaults to 0 (not enabled).
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
enum: [0, 1, 2, 4, 8]
|
|
unevaluatedProperties: false
|
|
|
|
patternProperties:
|
|
"^(vcc(io|[1-7])-supply)$":
|
|
description: |
|
|
Input voltage supply phandle for regulators.
|
|
These entries are required if PMIC regulators are enabled, or else it
|
|
can cause the regulator registration to fail.
|
|
|
|
If some input supply is powered through battery or always-on supply, then
|
|
it is also required to have these parameters with the proper node handle for always-on
|
|
power supply.
|
|
tps65910:
|
|
vcc1-supply: VDD1 input.
|
|
vcc2-supply: VDD2 input.
|
|
vcc3-supply: VAUX33 and VMMC input.
|
|
vcc4-supply: VAUX1 and VAUX2 input.
|
|
vcc5-supply: VPLL and VDAC input.
|
|
vcc6-supply: VDIG1 and VDIG2 input.
|
|
vcc7-supply: VRTC and VBB input.
|
|
vccio-supply: VIO input.
|
|
tps65911:
|
|
vcc1-supply: VDD1 input.
|
|
vcc2-supply: VDD2 input.
|
|
vcc3-supply: LDO6, LDO7 and LDO8 input.
|
|
vcc4-supply: LDO5 input.
|
|
vcc5-supply: LDO3 and LDO4 input.
|
|
vcc6-supply: LDO1 and LDO2 input.
|
|
vcc7-supply: VRTC input.
|
|
vccio-supply: VIO input.
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- interrupts
|
|
- interrupt-controller
|
|
- '#interrupt-cells'
|
|
- gpio-controller
|
|
- '#gpio-cells'
|
|
- regulators
|
|
|
|
additionalProperties: false
|
|
|
|
allOf:
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- ti,tps65910
|
|
then:
|
|
properties:
|
|
regulators:
|
|
patternProperties:
|
|
"^(ldo[1-8]|vddctrl)$": false
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- ti,tps65911
|
|
then:
|
|
properties:
|
|
regulators:
|
|
patternProperties:
|
|
"^(vdd3|vaux([1-2]|33)|vdig[1-2])$": false
|
|
"^(vpll|vdac|vmmc|vbb)$": false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
|
i2c {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
pmic: tps65910@2d {
|
|
compatible = "ti,tps65910";
|
|
reg = <0x2d>;
|
|
interrupt-parent = <&intc>;
|
|
interrupts = < 0 118 0x04 >;
|
|
|
|
#gpio-cells = <2>;
|
|
gpio-controller;
|
|
|
|
#interrupt-cells = <2>;
|
|
interrupt-controller;
|
|
|
|
ti,system-power-controller;
|
|
|
|
ti,vmbch-threshold = <0>;
|
|
ti,vmbch2-threshold = <0>;
|
|
ti,en-ck32k-xtal;
|
|
ti,en-gpio-sleep = <0 0 1 0 0 0 0 0 0>;
|
|
|
|
vcc1-supply = <®_parent>;
|
|
vcc2-supply = <&some_reg>;
|
|
vcc3-supply = <&vbat>;
|
|
vcc4-supply = <&vbat>;
|
|
vcc5-supply = <&vbat>;
|
|
vcc6-supply = <&vbat>;
|
|
vcc7-supply = <&vbat>;
|
|
vccio-supply = <&vbat>;
|
|
|
|
regulators {
|
|
vio_reg: vio {
|
|
regulator-name = "vio";
|
|
regulator-min-microvolt = <1500000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
};
|
|
vdd1_reg: vdd1 {
|
|
regulator-name = "vdd1";
|
|
regulator-min-microvolt = < 600000>;
|
|
regulator-max-microvolt = <1500000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
ti,regulator-ext-sleep-control = <0>;
|
|
};
|
|
vdd2_reg: vdd2 {
|
|
regulator-name = "vdd2";
|
|
regulator-min-microvolt = < 600000>;
|
|
regulator-max-microvolt = <1500000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
};
|
|
vdd3_reg: vdd3 {
|
|
regulator-name = "vdd3";
|
|
regulator-min-microvolt = <5000000>;
|
|
regulator-max-microvolt = <5000000>;
|
|
regulator-always-on;
|
|
};
|
|
vdig1_reg: vdig1 {
|
|
regulator-name = "vdig1";
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <2700000>;
|
|
regulator-always-on;
|
|
};
|
|
vdig2_reg: vdig2 {
|
|
regulator-name = "vdig2";
|
|
regulator-min-microvolt = <1000000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-always-on;
|
|
};
|
|
vpll_reg: vpll {
|
|
regulator-name = "vpll";
|
|
regulator-min-microvolt = <1000000>;
|
|
regulator-max-microvolt = <2500000>;
|
|
regulator-always-on;
|
|
};
|
|
vdac_reg: vdac {
|
|
regulator-name = "vdac";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <2850000>;
|
|
regulator-always-on;
|
|
};
|
|
vaux1_reg: vaux1 {
|
|
regulator-name = "vaux1";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <2850000>;
|
|
regulator-always-on;
|
|
};
|
|
vaux2_reg: vaux2 {
|
|
regulator-name = "vaux2";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-always-on;
|
|
};
|
|
vaux33_reg: vaux33 {
|
|
regulator-name = "vaux33";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-always-on;
|
|
};
|
|
vmmc_reg: vmmc {
|
|
regulator-name = "vmmc";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
};
|
|
};
|
|
};
|
|
};
|