xref: /freebsd/sys/contrib/device-tree/Bindings/hwmon/pmbus/mps,mp2975.yaml (revision 5f62a964e9f8abc6a05d8338273fadd154f0a206)
1*5f62a964SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2*5f62a964SEmmanuel Vadot%YAML 1.2
3*5f62a964SEmmanuel Vadot---
4*5f62a964SEmmanuel Vadot$id: http://devicetree.org/schemas/hwmon/pmbus/mps,mp2975.yaml#
5*5f62a964SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*5f62a964SEmmanuel Vadot
7*5f62a964SEmmanuel Vadottitle: MPS MP2975 Synchronous Buck Regulator
8*5f62a964SEmmanuel Vadot
9*5f62a964SEmmanuel Vadotmaintainers:
10*5f62a964SEmmanuel Vadot  - Naresh Solanki <naresh.solanki@9elements.com>
11*5f62a964SEmmanuel Vadot
12*5f62a964SEmmanuel Vadotdescription:
13*5f62a964SEmmanuel Vadot  The MPS MP2971, MP2973 & MP2975 is a multi-phase voltage regulator
14*5f62a964SEmmanuel Vadot  designed for use in high-performance computing and server
15*5f62a964SEmmanuel Vadot  applications. It supports I2C/PMBus for control and monitoring.
16*5f62a964SEmmanuel Vadot
17*5f62a964SEmmanuel Vadotproperties:
18*5f62a964SEmmanuel Vadot  compatible:
19*5f62a964SEmmanuel Vadot    enum:
20*5f62a964SEmmanuel Vadot      - mps,mp2971
21*5f62a964SEmmanuel Vadot      - mps,mp2973
22*5f62a964SEmmanuel Vadot      - mps,mp2975
23*5f62a964SEmmanuel Vadot
24*5f62a964SEmmanuel Vadot  reg:
25*5f62a964SEmmanuel Vadot    maxItems: 1
26*5f62a964SEmmanuel Vadot
27*5f62a964SEmmanuel Vadot  interrupts:
28*5f62a964SEmmanuel Vadot    maxItems: 1
29*5f62a964SEmmanuel Vadot
30*5f62a964SEmmanuel Vadot  regulators:
31*5f62a964SEmmanuel Vadot    type: object
32*5f62a964SEmmanuel Vadot    description:
33*5f62a964SEmmanuel Vadot      List of regulators provided by this controller.
34*5f62a964SEmmanuel Vadot
35*5f62a964SEmmanuel Vadot    patternProperties:
36*5f62a964SEmmanuel Vadot      "^vout[0-1]$":
37*5f62a964SEmmanuel Vadot        $ref: /schemas/regulator/regulator.yaml#
38*5f62a964SEmmanuel Vadot        type: object
39*5f62a964SEmmanuel Vadot        unevaluatedProperties: false
40*5f62a964SEmmanuel Vadot
41*5f62a964SEmmanuel Vadot    additionalProperties: false
42*5f62a964SEmmanuel Vadot
43*5f62a964SEmmanuel Vadotrequired:
44*5f62a964SEmmanuel Vadot  - compatible
45*5f62a964SEmmanuel Vadot  - reg
46*5f62a964SEmmanuel Vadot
47*5f62a964SEmmanuel VadotadditionalProperties: false
48*5f62a964SEmmanuel Vadot
49*5f62a964SEmmanuel Vadotexamples:
50*5f62a964SEmmanuel Vadot  - |
51*5f62a964SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
52*5f62a964SEmmanuel Vadot    i2c {
53*5f62a964SEmmanuel Vadot        #address-cells = <1>;
54*5f62a964SEmmanuel Vadot        #size-cells = <0>;
55*5f62a964SEmmanuel Vadot
56*5f62a964SEmmanuel Vadot        regulator@58 {
57*5f62a964SEmmanuel Vadot            compatible = "mps,mp2973";
58*5f62a964SEmmanuel Vadot            reg = <0x58>;
59*5f62a964SEmmanuel Vadot
60*5f62a964SEmmanuel Vadot            interrupt-parent = <&smb_pex_cpu1_event>;
61*5f62a964SEmmanuel Vadot            interrupts = <12 IRQ_TYPE_LEVEL_LOW>;
62*5f62a964SEmmanuel Vadot
63*5f62a964SEmmanuel Vadot            regulators {
64*5f62a964SEmmanuel Vadot                vout0 {
65*5f62a964SEmmanuel Vadot                    regulator-name = "pvccin_cpu1";
66*5f62a964SEmmanuel Vadot                    regulator-enable-ramp-delay = <200>;
67*5f62a964SEmmanuel Vadot                };
68*5f62a964SEmmanuel Vadot                vout1 {
69*5f62a964SEmmanuel Vadot                    regulator-name = "pvccfa_ehv_fivra_cpu1";
70*5f62a964SEmmanuel Vadot                    regulator-enable-ramp-delay = <200>;
71*5f62a964SEmmanuel Vadot                };
72*5f62a964SEmmanuel Vadot            };
73*5f62a964SEmmanuel Vadot        };
74*5f62a964SEmmanuel Vadot    };
75*5f62a964SEmmanuel Vadot
76