Add device tree binding information for MT6315 regulator driver. Example bindings for MT6315 are added. Signed-off-by: Hsin-Hsiung Wang <hsin-hsiung.wang@xxxxxxxxxxxx> --- .../regulator/mtk,mt6315-regulator.yaml | 88 +++++++++++++++++++ include/dt-bindings/regulator/mtk,mt6315.h | 17 ++++ 2 files changed, 105 insertions(+) create mode 100644 Documentation/devicetree/bindings/regulator/mtk,mt6315-regulator.yaml create mode 100644 include/dt-bindings/regulator/mtk,mt6315.h diff --git a/Documentation/devicetree/bindings/regulator/mtk,mt6315-regulator.yaml b/Documentation/devicetree/bindings/regulator/mtk,mt6315-regulator.yaml new file mode 100644 index 000000000000..457606800d5b --- /dev/null +++ b/Documentation/devicetree/bindings/regulator/mtk,mt6315-regulator.yaml @@ -0,0 +1,88 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/regulator/mtk,mt6315-regulator.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Mediatek MT6315 Regulator + +maintainers: + - Hsin-Hsiung Wang <hsin-hsiung.wang@xxxxxxxxxxxx> + +description: | + The MT6315 is a power management IC (PMIC) configurable with SPMI. + that contains 4 BUCKs output which can combine with each other + by different efuse settings. + +allOf: + - $ref: "regulator.yaml#" + +properties: + $nodename: + pattern: "mt6315@[0-9]" + compatible: + enum: + - mediatek,mt6315_3-regulator + - mediatek,mt6315_6-regulator + - mediatek,mt6315_7-regulator + + reg: + maxItems: 1 + + regulators: + type: object + description: List of regulators and its properties + + patternProperties: + "^vbuck[1-4]$": + type: object + + properties: + regulator-name: + pattern: "^vbuck[1-4]$" + description: + should be "vbuck1", ..., "vbuck4" + + mtk,combined-regulator: + $ref: "/schemas/types.yaml#/definitions/uint32-array" + description: | + defines other bucks combined with this buck, must contain the following + values MT6315_VBUCK1, MT6315_VBUCK2, MT6315_VBUCK3, MT6315_VBUCK4 + + unevaluatedProperties: false + +required: + - compatible + - reg + - regulators + +additionalProperties: false + +examples: + - | + /* This example shows that buck2 and buck4 are combined into buck1. */ + #include <dt-bindings/regulator/mtk,mt6315.h> + + mt6315@6 { + compatible = "mediatek,mt6315_6-regulator"; + reg = <0x6 0 0xb 1>; + + regulators { + vbuck1 { + regulator-compatible = "vbuck1"; + regulator-min-microvolt = <300000>; + regulator-max-microvolt = <1193750>; + regulator-enable-ramp-delay = <256>; + regulator-allowed-modes = <0 1 2 4>; + mtk,combined-regulator = <MT6315_VBUCK2 MT6315_VBUCK4>; + }; + + vbuck3 { + regulator-compatible = "vbuck3"; + regulator-min-microvolt = <300000>; + regulator-max-microvolt = <1193750>; + regulator-enable-ramp-delay = <256>; + regulator-allowed-modes = <0 1 2 4>; + }; + }; + }; diff --git a/include/dt-bindings/regulator/mtk,mt6315.h b/include/dt-bindings/regulator/mtk,mt6315.h new file mode 100644 index 000000000000..6ed9b2b121db --- /dev/null +++ b/include/dt-bindings/regulator/mtk,mt6315.h @@ -0,0 +1,17 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ +/* + * Copyright (c) 2020 MediaTek Inc. + * Author: Hsin-Hsiung Wang <hsin-hsiung.wang@xxxxxxxxxxxx> + */ + +#ifndef _DT_BINDINGS_REGULATOR_MTK_MT6315_H +#define _DT_BINDINGS_REGULATOR_MTK_MT6315_H + +/* Regulator ID */ +#define MT6315_VBUCK1 1 +#define MT6315_VBUCK2 2 +#define MT6315_VBUCK3 3 +#define MT6315_VBUCK4 4 +#define MT6315_VBUCK_MAX 5 + +#endif /* _DT_BINDINGS_REGULATOR_MTK_MT6315_H */ -- 2.18.0