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