1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2# Copyright 2022 Analog Devices Inc.
3%YAML 1.2
4---
5$id: http://devicetree.org/schemas/regulator/adi,max77857.yaml#
6$schema: http://devicetree.org/meta-schemas/core.yaml#
7
8title: Analog Devices MAX77857 Buck-Boost Converter
9
10maintainers:
11  - Ibrahim Tilki <Ibrahim.Tilki@analog.com>
12  - Okan Sahin <Okan.Sahin@analog.com>
13
14description: Analog Devices MAX77857 Buck-Boost Converter
15
16properties:
17  compatible:
18    enum:
19      - adi,max77831
20      - adi,max77857
21      - adi,max77859
22      - adi,max77859a
23
24  reg:
25    description: I2C address of the device
26    items:
27      - enum: [0x66, 0x67, 0x6E, 0x6F]
28
29  interrupts:
30    maxItems: 1
31
32  adi,switch-frequency-hz:
33    description: Switching frequency of the Buck-Boost converter in Hz.
34    items:
35      - enum: [1200000, 1500000, 1800000, 2100000]
36
37  adi,rtop-ohms:
38    description: Top feedback resistor value in ohms for external feedback.
39    minimum: 150000
40    maximum: 330000
41
42  adi,rbot-ohms:
43    description: Bottom feedback resistor value in ohms for external feedback.
44
45dependencies:
46  adi,rtop-ohms: [ 'adi,rbot-ohms' ]
47  adi,rbot-ohms: [ 'adi,rtop-ohms' ]
48
49required:
50  - compatible
51  - reg
52
53allOf:
54  - $ref: regulator.yaml#
55  - if:
56      properties:
57        compatible:
58          contains:
59            enum:
60              - adi,max77831
61
62    then:
63      properties:
64        adi,switch-frequency-hz:
65          items:
66            enum: [1200000, 1500000, 1800000]
67
68unevaluatedProperties: false
69
70examples:
71  - |
72    #include <dt-bindings/interrupt-controller/irq.h>
73    i2c {
74        #address-cells = <1>;
75        #size-cells = <0>;
76
77        regulator@66 {
78            reg = <0x66>;
79            compatible = "adi,max77857";
80            interrupt-parent = <&gpio>;
81            interrupts = <26 IRQ_TYPE_EDGE_FALLING>;
82
83            adi,rtop-ohms = <312000>;
84            adi,rbot-ohms = <12000>;
85        };
86    };
87