[PATCH V1 1/1] regulator: Add awinic,aw3750x.yaml

From: like
Date: Wed Jul 05 2023 - 04:21:59 EST


From: Ke Li <like@xxxxxxxxxx>

Signed-off-by: Ke Li <like@xxxxxxxxxx>
---
.../bindings/regulator/awinic,aw3750x.yaml | 151 ++++++++++++++++++
1 file changed, 151 insertions(+)
create mode 100644 Documentation/devicetree/bindings/regulator/awinic,aw3750x.yaml

diff --git a/Documentation/devicetree/bindings/regulator/awinic,aw3750x.yaml b/Documentation/devicetree/bindings/regulator/awinic,aw3750x.yaml
new file mode 100644
index 000000000000..cdb3d9dbf88f
--- /dev/null
+++ b/Documentation/devicetree/bindings/regulator/awinic,aw3750x.yaml
@@ -0,0 +1,151 @@
+# SPDX-License-Identifier: GPL-2.0-only
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/regulator/awinic,aw3750x.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Awinic AW3750X Power Management IC
+
+maintainers:
+ - Weidong Wang <wangweidong.a@xxxxxxxxxx>
+ - Ke Li <like@xxxxxxxxxx>
+
+description: |
+ AW3750X is designed to generate both positive and negative bias voltages for.
+ TFT-LCD panels or other general dual-supply applications. It consists a highly
+ integrated synchronous boost converter with input voltage from 2.7V to 5.5V.
+
+properties:
+ compatible:
+ const: awinic,aw3750x_led
+
+ enp:
+ type: object
+ $ref: regulator.yaml#
+ description:
+ Properties for single LDO regulator.
+
+ properties:
+ regulator-name: true
+
+ required:
+ - regulator-name
+
+ unevaluatedProperties: false
+
+ enn:
+ type: object
+ $ref: regulator.yaml#
+ description:
+ Properties for single BOOST regulator.
+
+ properties:
+ regulator-name: true
+
+ required:
+ - regulator-name
+
+ unevaluatedProperties: false
+
+required:
+ - compatible
+ - enp
+ - enn
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/pinctrl/mt8186-pinfunc.h>
+ #include <dt-bindings/gpio/gpio.h>
+
+ pio: pinctrl@10005000 {
+ aw_enn_default: aw_enn_default {
+ pins_cmd_dat {
+ pinmux = <PINMUX_GPIO7__FUNC_GPIO7>;
+ slew-rate = <1>;
+ output-low;
+ };
+ };
+
+ aw_enn_output_high: aw_enn_output_high {
+ pins_cmd_dat {
+ pinmux = <PINMUX_GPIO7__FUNC_GPIO7>;
+ slew-rate = <1>;
+ output-high;
+ };
+ };
+
+ aw_enn_output_low: aw_enn_output_low {
+ pins_cmd_dat {
+ pinmux = <PINMUX_GPIO7__FUNC_GPIO7>;
+ slew-rate = <1>;
+ output-low;
+ };
+ };
+
+ aw_enp_default: aw_enp_default {
+ pins_cmd_dat {
+ pinmux = <PINMUX_GPIO1__FUNC_GPIO1>;
+ slew-rate = <1>;
+ output-low;
+ };
+ };
+
+ aw_enp_output_high: aw_enp_output_high {
+ pins_cmd_dat {
+ pinmux = <PINMUX_GPIO1__FUNC_GPIO1>;
+ slew-rate = <1>;
+ output-high;
+ };
+ };
+
+ aw_enp_output_low: aw_enp_output_low {
+ pins_cmd_dat {
+ pinmux = <PINMUX_GPIO1__FUNC_GPIO1>;
+ slew-rate = <1>;
+ output-low;
+ };
+ };
+
+ };
+
+ - |
+ #include <dt-bindings/interrupt-controller/irq.h>
+
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ aw3750x@3e {
+ compatible = "awinic,aw3750x_led";
+ aw3750x_gpio_ctrl = <0>;
+ reg = <0x3e>;
+ outp = <0x0E>;
+ outn = <0x0E>;
+ enn-gpio = <&pio 7 0>;
+ enp-gpio = <&pio 1 0>;
+ pinctrl-names = "aw_enn_default", "aw_enn_output_high",
+ "aw_enn_output_low", "aw_enp_default",
+ "aw_enp_output_high", "aw_enp_output_low";
+ pinctrl-0 = <&aw_enn_default>;
+ pinctrl-1 = <&aw_enn_output_high>;
+ pinctrl-2 = <&aw_enn_output_low>;
+ pinctrl-3 = <&aw_enp_default>;
+ pinctrl-4 = <&aw_enp_output_high>;
+ pinctrl-5 = <&aw_enp_output_low>;
+
+ aw_lcdb_outp_vreg: enp {
+ label = "outp";
+ regulator-name = "outp";
+ regulator-min-microvolt = <4000000>;
+ regulator-max-microvolt = <6000000>;
+ };
+ aw_lcdb_outn_vreg: enn {
+ label = "outn";
+ regulator-name = "outn";
+ regulator-min-microvolt = <4000000>;
+ regulator-max-microvolt = <6000000>;
+ };
+ };
+ };
--
2.41.0