| Texas Instruments OMAP compatible OPP supply description |
| |
| OMAP5, DRA7, and AM57 family of SoCs have Class0 AVS eFuse registers which |
| contain data that can be used to adjust voltages programmed for some of their |
| supplies for more efficient operation. This binding provides the information |
| needed to read these values and use them to program the main regulator during |
| an OPP transitions. |
| |
| Also, some supplies may have an associated vbb-supply which is an Adaptive Body |
| Bias regulator which much be transitioned in a specific sequence with regards |
| to the vdd-supply and clk when making an OPP transition. By supplying two |
| regulators to the device that will undergo OPP transitions we can make use |
| of the multi regulator binding that is part of the OPP core described here [1] |
| to describe both regulators needed by the platform. |
| |
| [1] Documentation/devicetree/bindings/opp/opp-v2.yaml |
| |
| Required Properties for Device Node: |
| - vdd-supply: phandle to regulator controlling VDD supply |
| - vbb-supply: phandle to regulator controlling Body Bias supply |
| (Usually Adaptive Body Bias regulator) |
| |
| Required Properties for opp-supply node: |
| - compatible: Should be one of: |
| "ti,omap-opp-supply" - basic OPP supply controlling VDD and VBB |
| "ti,omap5-opp-supply" - OMAP5+ optimized voltages in efuse(class0)VDD |
| along with VBB |
| "ti,omap5-core-opp-supply" - OMAP5+ optimized voltages in efuse(class0) VDD |
| but no VBB. |
| - reg: Address and length of the efuse register set for the device (mandatory |
| only for "ti,omap5-opp-supply") |
| - ti,efuse-settings: An array of u32 tuple items providing information about |
| optimized efuse configuration. Each item consists of the following: |
| volt: voltage in uV - reference voltage (OPP voltage) |
| efuse_offseet: efuse offset from reg where the optimized voltage is stored. |
| - ti,absolute-max-voltage-uv: absolute maximum voltage for the OPP supply. |
| |
| Example: |
| |
| /* Device Node (CPU) */ |
| cpus { |
| cpu0: cpu@0 { |
| device_type = "cpu"; |
| |
| ... |
| |
| vdd-supply = <&vcc>; |
| vbb-supply = <&abb_mpu>; |
| }; |
| }; |
| |
| /* OMAP OPP Supply with Class0 registers */ |
| opp_supply_mpu: opp_supply@4a003b20 { |
| compatible = "ti,omap5-opp-supply"; |
| reg = <0x4a003b20 0x8>; |
| ti,efuse-settings = < |
| /* uV offset */ |
| 1060000 0x0 |
| 1160000 0x4 |
| 1210000 0x8 |
| >; |
| ti,absolute-max-voltage-uv = <1500000>; |
| }; |