Merge "dt-bindings: regulator: Add bindings for PM8008 device"

This commit is contained in:
qctecmdr
2024-05-28 02:47:42 -07:00
committed by Gerrit - the friendly Code Review server
2 changed files with 252 additions and 0 deletions

View File

@@ -0,0 +1,67 @@
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/regulator/qcom,pm8008-chip.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Qualcomm Technologies, Inc. PM8008 Regulator's top-level chip
maintainers:
- Umang Chheda <quic_uchheda@quicinc.com>
description: |
PM8008 is an I2C based PMIC regulator chip.
properties:
compatible:
const: qcom,pm8008-chip
reg:
description:
Base address of the device.
maxItems: 1
patternProperties:
"^qcom,pm8008-chip-en+$":
type: object
$ref: /schemas/regulator/regulator.yaml#
description: |
Chip enable regulator device to control chip enable functionality.
required:
- compatible
additionalProperties: false
examples:
- |
#include <dt-bindings/interrupt-controller/irq.h>
i2c1 {
status = "okay";
#address-cells = <1>;
#size-cells = <0>;
pm8008i_chip: pm8008i@8 {
compatible = "qcom,i2c-pmic";
reg = <0x8>;
#address-cells = <1>;
#size-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&pm8008i_active>;
pm8008-chip@900 {
compatible = "qcom,pm8008-chip";
reg = <0x900>;
PM8008I_EN: qcom,pm8008-chip-en {
regulator-name = "pm8008i-chip-en";
};
};
};
};
...

View File

@@ -0,0 +1,185 @@
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/regulator/qcom,pm8008-regulator.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Qualcomm Technologies, Inc. PM8008 Regulator
maintainers:
- Umang Chheda <quic_uchheda@quicinc.com>
description: |
PM8008 chips contain 7 LDO regulators along with a top-level chip sleep feature.
properties:
compatible:
enum:
- qcom,pm8008-regulator
- qcom,pm8010-regulator
'#address-cells':
const: 1
'#size-cells':
const: 0
pm8008_en-supply:
description:
Reference to PM8008 chip enable regulator, which manages
chip enable functionlity of PM8008.
vdd_l1_l2-supply:
description:
Parent supply for LDO1/LDO2 of PM8008.
vdd_l3_l4-supply:
description:
Parent supply for LDO3/LDO4 of PM8008.
vdd_l5-supply:
description:
Parent supply for LDO5 of PM8008.
vdd_l6-supply:
description:
Parent supply for LDO6 of PM8008.
vdd_l7-supply:
description:
Parent supply for LDO7 of PM8008.
patternProperties:
"^regulator@[0-9a-f]+$":
type: object
$ref: /schemas/regulator/regulator.yaml#
description: |
Individual regulator devices under PM8008 chip.
properties:
reg:
maxItems: 1
description: |
Base address of individual LDO.
qcom,hpm-min-load:
$ref: /schemas/types.yaml#/definitions/uint32
description: |
Load current in uA which corresponds to the minimum load
which requires the regulator to be in high power mode.
qcom,min-dropout-voltage:
$ref: /schemas/types.yaml#/definitions/uint32
description: |
Specifies the minimum voltage in microvolts that the parent
supply regulator must output above the output of this
regulator. It is only meaningful if the corresponding parent
supply property has been specified in the first level node.
qcom,init-voltage:
$ref: /schemas/types.yaml#/definitions/uint32
description: |
Specifies the initial voltage in microvolts to for a regulator.
required:
- reg
required:
- compatible
- pm8008_en-supply
additionalProperties: false
examples:
- |
#include <dt-bindings/interrupt-controller/irq.h>
i2c1 {
status = "okay";
#address-cells = <1>;
#size-cells = <0>;
pm8008i_ldo: pm8008i@9 {
compatible = "qcom,i2c-pmic";
reg = <0x9>;
#address-cells = <1>;
#size-cells = <0>;
qcom,pm8008i-regulator {
compatible = "qcom,pm8008-regulator";
#address-cells = <1>;
#size-cells = <0>;
pm8008_en-supply = <&PM8008I_EN>;
vdd_l1_l2-supply = <&vreg_s8b_1p2>;
vdd_l3_l4-supply = <&vreg_bob>;
vdd_l5-supply = <&vreg_s1b_1p8>;
vdd_l6-supply = <&vreg_bob>;
vdd_l7-supply = <&vreg_bob>;
L1I: pm8008i_l1: regulator@4000 {
reg = <0x4000>;
regulator-name = "pm8008i_l1";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1200000>;
qcom,min-dropout-voltage = <160000>;
qcom,hpm-min-load = <30000>;
};
L2I: pm8008i_l2: regulator@4100 {
reg = <0x4100>;
regulator-name = "pm8008i_l2";
regulator-min-microvolt = <950000>;
regulator-max-microvolt = <1150000>;
qcom,min-dropout-voltage = <128000>;
qcom,hpm-min-load = <30000>;
};
L3I: pm8008i_l3: regulator@4200 {
reg = <0x4200>;
regulator-name = "pm8008i_l3";
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <3000000>;
qcom,min-dropout-voltage = <144000>;
};
L4I: pm8008i_l4: regulator@4300 {
reg = <0x4300>;
regulator-name = "pm8008i_l4";
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <2900000>;
qcom,min-dropout-voltage = <128000>;
};
L5I: pm8008i_l5: regulator@4400 {
reg = <0x4400>;
regulator-name = "pm8008i_l5";
regulator-min-microvolt = <1700000>;
regulator-max-microvolt = <1900000>;
qcom,min-dropout-voltage = <136000>;
};
L6I: pm8008i_l6: regulator@4500 {
reg = <0x4500>;
regulator-name = "pm8008i_l6";
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <2900000>;
qcom,min-dropout-voltage = <128000>;
};
L7I: pm8008i_l7: regulator@4600 {
reg = <0x4600>;
regulator-name = "pm8008i_l7";
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <3000000>;
qcom,min-dropout-voltage = <312000>;
};
};
};
};
...