[PATCH v9 3/9] regulator: dt-bindings: Add MediaTek MT6392 PMIC
Luca Leonardo Scorcia <[email protected]>
| Newsgroups | dev.linux.lists.mfd,org.infradead.lists.linux-arm-kernel,org.infradead.lists.linux-mediatek,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-gpio,org.kernel.vger.linux-input,org.kernel.vger.linux-kernel,org.kernel.vger.linux-pm |
|---|---|
| Message-ID | <[email protected]> |
Add bindings for the regulators found in the MediaTek MT6392 PMIC, usually found in board designs using the MediaTek MT8516/MT8167 SoCs. Signed-off-by: Luca Leonardo Scorcia <[email protected]> Reviewed-by: Krzysztof Kozlowski <[email protected]> Reviewed-by: AngeloGioacchino Del Regno <[email protected]> --- .../regulator/mediatek,mt6392-regulator.yaml | 112 ++++++++++++++++++ .../regulator/mediatek,mt6392-regulator.h | 23 ++++ 2 files changed, 135 insertions(+) create mode 100644 Documentation/devicetree/bindings/regulator/mediatek,mt6392-regulator.yaml create mode 100644 include/dt-bindings/regulator/mediatek,mt6392-regulator.h diff --git a/Documentation/devicetree/bindings/regulator/mediatek,mt6392-regulator.yaml b/Documentation/devicetree/bindings/regulator/mediatek,mt6392-regulator.yaml new file mode 100644 index 000000000000..d74721d8f2ff --- /dev/null +++ b/Documentation/devicetree/bindings/regulator/mediatek,mt6392-regulator.yaml @@ -0,0 +1,112 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/regulator/mediatek,mt6392-regulator.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: MediaTek MT6392 regulator + +maintainers: + - Luca Leonardo Scorcia <[email protected]> + +description: + MT6392 is a power management system chip containing three buck converters and + 23 LDOs. All voltage regulators provided by the PMIC are described as + sub-nodes of this node. + +properties: + compatible: + items: + - const: mediatek,mt6392-regulator + + vproc-supply: + description: Supply for buck regulator vproc + vcore-supply: + description: Supply for buck regulator vcore + vsys-supply: + description: Supply for buck regulator vsys + avddldo-supply: + description: + Supply for AVDD LDOs (vm, vio18, vcn18, vcamd, vcamio). According to the data sheet + this is an internal supply derived from vsys. + ldo1-supply: + description: Supply for LDOs group 1 (vaud28, vxo22, vaud22, vadc18, vcama, vrtc) + ldo2-supply: + description: Supply for LDOs group 2 (vcn35, vio28, vmc, vmch, vefuse, vdig18) + ldo3-supply: + description: Supply for LDOs group 3 (vusb, vemc3v3, vcamaf, vgp1, vgp2, vm25) + +patternProperties: + "^v(core|proc|sys)$": + description: Buck regulators + type: object + $ref: regulator.yaml# + unevaluatedProperties: false + properties: + regulator-allowed-modes: + description: + BUCK regulators can set regulator-allowed-modes to values specified in + dt-bindings/regulator/mediatek,mt6392-regulator.h + items: + enum: [0, 1] + minItems: 1 + maxItems: 2 + regulator-initial-mode: + description: + BUCK regulators can set regulator-initial-mode to values specified in + dt-bindings/regulator/mediatek,mt6392-regulator.h + enum: [0, 1] + + "^v(adc18|camio|cn18|io18|xo22|m25|aud28|io28|usb)$": + description: LDOs with fixed output and mode setting + type: object + $ref: regulator.yaml# + unevaluatedProperties: false + properties: + regulator-allowed-modes: + description: + LDO regulators can set regulator-allowed-modes to values specified in + dt-bindings/regulator/mediatek,mt6392-regulator.h + items: + enum: [0, 2] + minItems: 1 + maxItems: 2 + regulator-initial-mode: + description: + LDO regulators can set regulator-initial-mode to values specified in + dt-bindings/regulator/mediatek,mt6392-regulator.h + enum: [0, 2] + + "^v(cama|dig18|rtc)$": + description: LDOs with fixed output without mode setting + type: object + $ref: regulator.yaml# + unevaluatedProperties: false + properties: + regulator-allowed-modes: false + regulator-initial-mode: false + + "^v(aud22|camaf|camd|cn35|efuse|emc3v3|gp1|gp2|m|mc|mch)$": + description: LDOs with adjustable output and mode setting + type: object + $ref: regulator.yaml# + unevaluatedProperties: false + properties: + regulator-allowed-modes: + description: + LDO regulators can set regulator-allowed-modes to values specified in + dt-bindings/regulator/mediatek,mt6392-regulator.h + items: + enum: [0, 2] + minItems: 1 + maxItems: 2 + regulator-initial-mode: + description: + LDO regulators can set regulator-initial-mode to values specified in + dt-bindings/regulator/mediatek,mt6392-regulator.h + enum: [0, 2] + +required: + - compatible + +additionalProperties: false diff --git a/include/dt-bindings/regulator/mediatek,mt6392-regulator.h b/include/dt-bindings/regulator/mediatek,mt6392-regulator.h new file mode 100644 index 000000000000..2e1f41e0ebfe --- /dev/null +++ b/include/dt-bindings/regulator/mediatek,mt6392-regulator.h @@ -0,0 +1,23 @@ +/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */ + +#ifndef _DT_BINDINGS_REGULATOR_MEDIATEK_MT6392_H_ +#define _DT_BINDINGS_REGULATOR_MEDIATEK_MT6392_H_ + +/* + * Buck mode constants which may be used in devicetree properties (eg. + * regulator-initial-mode, regulator-allowed-modes). + * See the manufacturer's datasheet for more information on these modes. + */ + +#define MT6392_REGULATOR_MODE_NORMAL 0 +#define MT6392_BUCK_MODE_FORCE_PWM 1 + +/* + * LDO mode constants which may be used in devicetree properties (eg. + * regulator-initial-mode, regulator-allowed-modes). + * See the manufacturer's datasheet for more information on these modes. + */ + +#define MT6392_LDO_MODE_LP 2 + +#endif -- 2.43.0