1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/opp/ti,omap-opp-supply.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Texas Instruments OMAP compatible OPP supply
8
9description:
10  OMAP5, DRA7, and AM57 families of SoCs have Class 0 AVS eFuse
11  registers, which contain OPP-specific voltage information tailored
12  for the specific device. This binding provides the information
13  needed to describe such a hardware values and relate them to program
14  the primary regulator during an OPP transition.
15
16  Also, some supplies may have an associated vbb-supply, an Adaptive
17  Body Bias regulator, which must transition in a specific sequence
18  w.r.t the vdd-supply and clk when making an OPP transition. By
19  supplying two regulators to the device that will undergo OPP
20  transitions, we can use the multi-regulator support implemented by
21  the OPP core to describe both regulators the platform needs. The
22  OPP core binding Documentation/devicetree/bindings/opp/opp-v2.yaml
23  provides further information (refer to Example 4 Handling multiple
24  regulators).
25
26maintainers:
27  - Nishanth Menon <nm@ti.com>
28
29properties:
30  $nodename:
31    pattern: '^opp-supply(@[0-9a-f]+)?$'
32
33  compatible:
34    oneOf:
35      - description: Basic OPP supply controlling VDD and VBB
36        const: ti,omap-opp-supply
37      - description: OMAP5+ optimized voltages in efuse(Class 0) VDD along with
38          VBB.
39        const: ti,omap5-opp-supply
40      - description: OMAP5+ optimized voltages in efuse(class0) VDD but no VBB
41        const: ti,omap5-core-opp-supply
42
43  reg:
44    maxItems: 1
45
46  ti,absolute-max-voltage-uv:
47    $ref: /schemas/types.yaml#/definitions/uint32
48    description: Absolute maximum voltage for the OPP supply in micro-volts.
49    minimum: 750000
50    maximum: 1500000
51
52  ti,efuse-settings:
53    description: An array of u32 tuple items providing information about
54      optimized efuse configuration.
55    minItems: 1
56    $ref: /schemas/types.yaml#/definitions/uint32-matrix
57    items:
58      items:
59        - description: Reference voltage in micro-volts (OPP Voltage)
60          minimum: 750000
61          maximum: 1500000
62          multipleOf: 10000
63        - description: efuse offset where the optimized voltage is located
64          multipleOf: 4
65          maximum: 256
66
67required:
68  - compatible
69  - ti,absolute-max-voltage-uv
70
71allOf:
72  - if:
73      not:
74        properties:
75          compatible:
76            contains:
77              const: ti,omap-opp-supply
78    then:
79      required:
80        - reg
81        - ti,efuse-settings
82
83additionalProperties: false
84
85examples:
86  - |
87    opp-supply {
88        compatible = "ti,omap-opp-supply";
89        ti,absolute-max-voltage-uv = <1375000>;
90    };
91  - |
92    opp-supply@4a003b20 {
93        compatible = "ti,omap5-opp-supply";
94        reg = <0x4a003b20 0x8>;
95        ti,efuse-settings =
96            /* uV   offset */
97            <1060000 0x0>,
98            <1160000 0x4>,
99            <1210000 0x8>;
100        ti,absolute-max-voltage-uv = <1500000>;
101    };
102