18c2ecf20Sopenharmony_ciTexas Instruments OMAP compatible OPP supply description 28c2ecf20Sopenharmony_ci 38c2ecf20Sopenharmony_ciOMAP5, DRA7, and AM57 family of SoCs have Class0 AVS eFuse registers which 48c2ecf20Sopenharmony_cicontain data that can be used to adjust voltages programmed for some of their 58c2ecf20Sopenharmony_cisupplies for more efficient operation. This binding provides the information 68c2ecf20Sopenharmony_cineeded to read these values and use them to program the main regulator during 78c2ecf20Sopenharmony_cian OPP transitions. 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_ciAlso, some supplies may have an associated vbb-supply which is an Adaptive Body 108c2ecf20Sopenharmony_ciBias regulator which much be transitioned in a specific sequence with regards 118c2ecf20Sopenharmony_cito the vdd-supply and clk when making an OPP transition. By supplying two 128c2ecf20Sopenharmony_ciregulators to the device that will undergo OPP transitions we can make use 138c2ecf20Sopenharmony_ciof the multi regulator binding that is part of the OPP core described here [1] 148c2ecf20Sopenharmony_cito describe both regulators needed by the platform. 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_ci[1] Documentation/devicetree/bindings/opp/opp.txt 178c2ecf20Sopenharmony_ci 188c2ecf20Sopenharmony_ciRequired Properties for Device Node: 198c2ecf20Sopenharmony_ci- vdd-supply: phandle to regulator controlling VDD supply 208c2ecf20Sopenharmony_ci- vbb-supply: phandle to regulator controlling Body Bias supply 218c2ecf20Sopenharmony_ci (Usually Adaptive Body Bias regulator) 228c2ecf20Sopenharmony_ci 238c2ecf20Sopenharmony_ciRequired Properties for opp-supply node: 248c2ecf20Sopenharmony_ci- compatible: Should be one of: 258c2ecf20Sopenharmony_ci "ti,omap-opp-supply" - basic OPP supply controlling VDD and VBB 268c2ecf20Sopenharmony_ci "ti,omap5-opp-supply" - OMAP5+ optimized voltages in efuse(class0)VDD 278c2ecf20Sopenharmony_ci along with VBB 288c2ecf20Sopenharmony_ci "ti,omap5-core-opp-supply" - OMAP5+ optimized voltages in efuse(class0) VDD 298c2ecf20Sopenharmony_ci but no VBB. 308c2ecf20Sopenharmony_ci- reg: Address and length of the efuse register set for the device (mandatory 318c2ecf20Sopenharmony_ci only for "ti,omap5-opp-supply") 328c2ecf20Sopenharmony_ci- ti,efuse-settings: An array of u32 tuple items providing information about 338c2ecf20Sopenharmony_ci optimized efuse configuration. Each item consists of the following: 348c2ecf20Sopenharmony_ci volt: voltage in uV - reference voltage (OPP voltage) 358c2ecf20Sopenharmony_ci efuse_offseet: efuse offset from reg where the optimized voltage is stored. 368c2ecf20Sopenharmony_ci- ti,absolute-max-voltage-uv: absolute maximum voltage for the OPP supply. 378c2ecf20Sopenharmony_ci 388c2ecf20Sopenharmony_ciExample: 398c2ecf20Sopenharmony_ci 408c2ecf20Sopenharmony_ci/* Device Node (CPU) */ 418c2ecf20Sopenharmony_cicpus { 428c2ecf20Sopenharmony_ci cpu0: cpu@0 { 438c2ecf20Sopenharmony_ci device_type = "cpu"; 448c2ecf20Sopenharmony_ci 458c2ecf20Sopenharmony_ci ... 468c2ecf20Sopenharmony_ci 478c2ecf20Sopenharmony_ci vdd-supply = <&vcc>; 488c2ecf20Sopenharmony_ci vbb-supply = <&abb_mpu>; 498c2ecf20Sopenharmony_ci }; 508c2ecf20Sopenharmony_ci}; 518c2ecf20Sopenharmony_ci 528c2ecf20Sopenharmony_ci/* OMAP OPP Supply with Class0 registers */ 538c2ecf20Sopenharmony_ciopp_supply_mpu: opp_supply@4a003b20 { 548c2ecf20Sopenharmony_ci compatible = "ti,omap5-opp-supply"; 558c2ecf20Sopenharmony_ci reg = <0x4a003b20 0x8>; 568c2ecf20Sopenharmony_ci ti,efuse-settings = < 578c2ecf20Sopenharmony_ci /* uV offset */ 588c2ecf20Sopenharmony_ci 1060000 0x0 598c2ecf20Sopenharmony_ci 1160000 0x4 608c2ecf20Sopenharmony_ci 1210000 0x8 618c2ecf20Sopenharmony_ci >; 628c2ecf20Sopenharmony_ci ti,absolute-max-voltage-uv = <1500000>; 638c2ecf20Sopenharmony_ci}; 64