mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-22 06:57:57 +00:00
181 lines
5.5 KiB
Diff
181 lines
5.5 KiB
Diff
|
From b77e70f6b8f2cc62fba847f3008a430a09ef275d Mon Sep 17 00:00:00 2001
|
||
|
From: ChiYuan Huang <cy_huang@richtek.com>
|
||
|
Date: Wed, 9 Mar 2022 16:01:42 +0800
|
||
|
Subject: [PATCH 1/2] regulator: Add bindings for Richtek RT5190A PMIC
|
||
|
|
||
|
Add bindings for Richtek RT5190A PMIC.
|
||
|
|
||
|
Signed-off-by: ChiYuan Huang <cy_huang@richtek.com>
|
||
|
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
|
||
|
Link: https://lore.kernel.org/r/1646812903-32496-2-git-send-email-u0084500@gmail.com
|
||
|
Signed-off-by: Mark Brown <broonie@kernel.org>
|
||
|
---
|
||
|
.../regulator/richtek,rt5190a-regulator.yaml | 141 ++++++++++++++++++
|
||
|
.../regulator/richtek,rt5190a-regulator.h | 15 ++
|
||
|
2 files changed, 156 insertions(+)
|
||
|
create mode 100644 Documentation/devicetree/bindings/regulator/richtek,rt5190a-regulator.yaml
|
||
|
create mode 100644 include/dt-bindings/regulator/richtek,rt5190a-regulator.h
|
||
|
|
||
|
--- /dev/null
|
||
|
+++ b/Documentation/devicetree/bindings/regulator/richtek,rt5190a-regulator.yaml
|
||
|
@@ -0,0 +1,141 @@
|
||
|
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||
|
+%YAML 1.2
|
||
|
+---
|
||
|
+$id: http://devicetree.org/schemas/regulator/richtek,rt5190a-regulator.yaml#
|
||
|
+$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||
|
+
|
||
|
+title: Richtek RT5190A PMIC Regulator
|
||
|
+
|
||
|
+maintainers:
|
||
|
+ - ChiYuan Huang <cy_huang@richtek.com>
|
||
|
+
|
||
|
+description: |
|
||
|
+ The RT5190A integrates 1 channel buck controller, 3 channels high efficiency
|
||
|
+ synchronous buck converters, 1 LDO, I2C control interface and peripherial
|
||
|
+ logical control.
|
||
|
+
|
||
|
+ It also supports mute AC OFF depop sound and quick setting storage while
|
||
|
+ input power is removed.
|
||
|
+
|
||
|
+properties:
|
||
|
+ compatible:
|
||
|
+ enum:
|
||
|
+ - richtek,rt5190a
|
||
|
+
|
||
|
+ reg:
|
||
|
+ maxItems: 1
|
||
|
+
|
||
|
+ interrupts:
|
||
|
+ maxItems: 1
|
||
|
+
|
||
|
+ vin2-supply:
|
||
|
+ description: phandle to buck2 input voltage.
|
||
|
+
|
||
|
+ vin3-supply:
|
||
|
+ description: phandle to buck3 input voltage.
|
||
|
+
|
||
|
+ vin4-supply:
|
||
|
+ description: phandle to buck4 input voltage.
|
||
|
+
|
||
|
+ vinldo-supply:
|
||
|
+ description: phandle to ldo input voltage
|
||
|
+
|
||
|
+ richtek,mute-enable:
|
||
|
+ description: |
|
||
|
+ The mute function uses 'mutein', 'muteout', and 'vdet' pins as the control
|
||
|
+ signal. When enabled, The normal behavior is to bypass the 'mutein' signal
|
||
|
+ 'muteout'. But if the power source removal is detected from 'vdet',
|
||
|
+ whatever the 'mutein' signal is, it will pull down the 'muteout' to force
|
||
|
+ speakers mute. this function is commonly used to prevent the speaker pop
|
||
|
+ noise during AC power turned off in the modern TV system design.
|
||
|
+ type: boolean
|
||
|
+
|
||
|
+ regulators:
|
||
|
+ type: object
|
||
|
+
|
||
|
+ patternProperties:
|
||
|
+ "^buck[1-4]$|^ldo$":
|
||
|
+ type: object
|
||
|
+ $ref: regulator.yaml#
|
||
|
+ description: |
|
||
|
+ regulator description for buck1 and buck4.
|
||
|
+
|
||
|
+ properties:
|
||
|
+ regulator-allowed-modes:
|
||
|
+ description: |
|
||
|
+ buck operating mode, only buck1/4 support mode operating.
|
||
|
+ 0: auto mode
|
||
|
+ 1: force pwm mode
|
||
|
+ items:
|
||
|
+ enum: [0, 1]
|
||
|
+
|
||
|
+ richtek,latchup-enable:
|
||
|
+ type: boolean
|
||
|
+ description: |
|
||
|
+ If specified, undervolt protection mode changes from the default
|
||
|
+ hiccup to latchup.
|
||
|
+
|
||
|
+ unevaluatedProperties: false
|
||
|
+
|
||
|
+ additionalProperties: false
|
||
|
+
|
||
|
+required:
|
||
|
+ - compatible
|
||
|
+ - reg
|
||
|
+ - regulators
|
||
|
+
|
||
|
+additionalProperties: false
|
||
|
+
|
||
|
+examples:
|
||
|
+ - |
|
||
|
+ #include <dt-bindings/interrupt-controller/irq.h>
|
||
|
+ #include <dt-bindings/regulator/richtek,rt5190a-regulator.h>
|
||
|
+
|
||
|
+ i2c {
|
||
|
+ #address-cells = <1>;
|
||
|
+ #size-cells = <0>;
|
||
|
+
|
||
|
+ pmic@64 {
|
||
|
+ compatible = "richtek,rt5190a";
|
||
|
+ reg = <0x64>;
|
||
|
+ interrupts-extended = <&gpio26 0 IRQ_TYPE_LEVEL_LOW>;
|
||
|
+ vin2-supply = <&rt5190_buck1>;
|
||
|
+ vin3-supply = <&rt5190_buck1>;
|
||
|
+ vin4-supply = <&rt5190_buck1>;
|
||
|
+
|
||
|
+ regulators {
|
||
|
+ rt5190_buck1: buck1 {
|
||
|
+ regulator-name = "rt5190a-buck1";
|
||
|
+ regulator-min-microvolt = <5090000>;
|
||
|
+ regulator-max-microvolt = <5090000>;
|
||
|
+ regulator-allowed-modes = <RT5190A_OPMODE_AUTO RT5190A_OPMODE_FPWM>;
|
||
|
+ regulator-boot-on;
|
||
|
+ };
|
||
|
+ buck2 {
|
||
|
+ regulator-name = "rt5190a-buck2";
|
||
|
+ regulator-min-microvolt = <600000>;
|
||
|
+ regulator-max-microvolt = <1400000>;
|
||
|
+ regulator-boot-on;
|
||
|
+ };
|
||
|
+ buck3 {
|
||
|
+ regulator-name = "rt5190a-buck3";
|
||
|
+ regulator-min-microvolt = <600000>;
|
||
|
+ regulator-max-microvolt = <1400000>;
|
||
|
+ regulator-boot-on;
|
||
|
+ };
|
||
|
+ buck4 {
|
||
|
+ regulator-name = "rt5190a-buck4";
|
||
|
+ regulator-min-microvolt = <850000>;
|
||
|
+ regulator-max-microvolt = <850000>;
|
||
|
+ regulator-allowed-modes = <RT5190A_OPMODE_AUTO RT5190A_OPMODE_FPWM>;
|
||
|
+ regulator-boot-on;
|
||
|
+ };
|
||
|
+ ldo {
|
||
|
+ regulator-name = "rt5190a-ldo";
|
||
|
+ regulator-min-microvolt = <1200000>;
|
||
|
+ regulator-max-microvolt = <1200000>;
|
||
|
+ regulator-boot-on;
|
||
|
+ };
|
||
|
+ };
|
||
|
+ };
|
||
|
+ };
|
||
|
--- /dev/null
|
||
|
+++ b/include/dt-bindings/regulator/richtek,rt5190a-regulator.h
|
||
|
@@ -0,0 +1,15 @@
|
||
|
+/* SPDX-License-Identifier: GPL-2.0 */
|
||
|
+
|
||
|
+#ifndef __DT_BINDINGS_RICHTEK_RT5190A_REGULATOR_H__
|
||
|
+#define __DT_BINDINGS_RICHTEK_RT5190A_REGULATOR_H__
|
||
|
+
|
||
|
+/*
|
||
|
+ * BUCK/LDO mode constants which may be used in devicetree properties
|
||
|
+ * (eg. regulator-allowed-modes).
|
||
|
+ * See the manufacturer's datasheet for more information on these modes.
|
||
|
+ */
|
||
|
+
|
||
|
+#define RT5190A_OPMODE_AUTO 0
|
||
|
+#define RT5190A_OPMODE_FPWM 1
|
||
|
+
|
||
|
+#endif
|