[PATCH v2 1/2] regulator: dt-bindings: document the SGM3804 Dual Output regulator

Neil Armstrong
2026-04-30T08:48:51Z

Document the SG Micro SGM3804 Single Inductor Dual Output Buck/Boost
Converter used to power LCD panels a provide positive and negative
power rails with configurable voltage and active discharge function
for each output.

Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
---
.../bindings/regulator/sgmicro,sgm3804.yaml | 77 ++++++++++++++++++++++
1 file changed, 77 insertions(+)

diff --git a/Documentation/devicetree/bindings/regulator/sgmicro,sgm3804.yaml b/Documentation/devicetree/bindings/regulator/sgmicro,sgm3804.yaml
new file mode 100644
index 000000000000..fbed911434e2
--- /dev/null
+++ b/Documentation/devicetree/bindings/regulator/sgmicro,sgm3804.yaml
@@ -0,0 +1,77 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/regulator/sgmicro,sgm3804.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: SG Micro SGM3804 Single Inductor Dual Output Buck/Boost Converter
+
+maintainers:
+ - Neil Armstrong <neil.armstrong@linaro.org>
+
+description:
+ The SGM3804 is a dual voltage regulator, designed to support positive/negative
+ supply for driving LCD panels. It support software-configurable output
+ switching. The output voltages can be programmed via an I2C compatible interface.
+
+properties:
+ compatible:
+ const: sgmicro,sgm3804
+
+ reg:
+ maxItems: 1
+
+ enable-gpios:
+ minItems: 2
+ description:
+ GPIO specifiers to enable the positive and negative outputs.
+
+ vin-supply: true
+
+patternProperties:
+ "^(pos|neg)$":
+ type: object
+ $ref: regulator.yaml#
+ unevaluatedProperties: false
+
+required:
+ - compatible
+ - reg
+ - enable-gpios
+ - pos
+ - neg
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ regulator@3e {
+ compatible = "sgmicro,sgm3804";
+ reg = <0x3e>;
+
+ vin-supply = <&vin_reg>;
+
+ enable-gpios = <&gpio 17 GPIO_ACTIVE_LOW>,
+ <&gpio 18 GPIO_ACTIVE_LOW>;
+
+ pos {
+ regulator-name = "outpos";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ };
+
+ neg {
+ regulator-name = "outneg";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ };
+ };
+ };
+...
+

--
2.34.1