1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/regulator/qcom-labibb-regulator.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Qualcomm's LAB(LCD AMOLED Boost)/IBB(Inverting Buck Boost) Regulator
8
9maintainers:
10  - Sumit Semwal <sumit.semwal@linaro.org>
11
12description:
13  LAB can be used as a positive boost power supply and IBB can be used as a
14  negative boost power supply for display panels. Currently implemented for
15  pmi8998.
16
17properties:
18  compatible:
19    const: qcom,pmi8998-lab-ibb
20
21  lab:
22    type: object
23    additionalProperties: false
24
25    properties:
26      qcom,soft-start-us:
27        description: Regulator soft start time in microseconds.
28        enum: [200, 400, 600, 800]
29        default: 200
30
31      interrupts:
32        minItems: 1
33        maxItems: 2
34        description:
35          Short-circuit and over-current interrupts for lab.
36
37      interrupt-names:
38        minItems: 1
39        items:
40          - const: sc-err
41          - const: ocp
42
43    required:
44      - interrupts
45      - interrupt-names
46
47  ibb:
48    type: object
49    additionalProperties: false
50
51    properties:
52      qcom,discharge-resistor-kohms:
53        $ref: /schemas/types.yaml#/definitions/uint32
54        description: Discharge resistor value in KiloOhms.
55        enum: [300, 64, 32, 16]
56        default: 300
57
58      interrupts:
59        minItems: 1
60        maxItems: 2
61        description:
62          Short-circuit and over-current interrupts for ibb.
63
64      interrupt-names:
65        minItems: 1
66        items:
67          - const: sc-err
68          - const: ocp
69
70    required:
71      - interrupts
72      - interrupt-names
73
74required:
75  - compatible
76
77additionalProperties: false
78
79examples:
80  - |
81    #include <dt-bindings/interrupt-controller/irq.h>
82
83    labibb {
84      compatible = "qcom,pmi8998-lab-ibb";
85
86      lab {
87        interrupts = <0x3 0xde 0x1 IRQ_TYPE_EDGE_RISING>,
88                     <0x3 0xde 0x0 IRQ_TYPE_LEVEL_LOW>;
89        interrupt-names = "sc-err", "ocp";
90      };
91
92      ibb {
93        interrupts = <0x3 0xdc 0x2 IRQ_TYPE_EDGE_RISING>,
94                     <0x3 0xdc 0x0 IRQ_TYPE_LEVEL_LOW>;
95        interrupt-names = "sc-err", "ocp";
96      };
97    };
98
99...
100