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