18c2ecf20Sopenharmony_ciNVIDIA Tegra Regulators Coupling 28c2ecf20Sopenharmony_ci================================ 38c2ecf20Sopenharmony_ci 48c2ecf20Sopenharmony_ciNVIDIA Tegra SoC's have a mandatory voltage-coupling between regulators. 58c2ecf20Sopenharmony_ciThus on Tegra20 there are 3 coupled regulators and on NVIDIA Tegra30 68c2ecf20Sopenharmony_cithere are 2. 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_ciTegra20 voltage coupling 98c2ecf20Sopenharmony_ci------------------------ 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_ciOn Tegra20 SoC's there are 3 coupled regulators: CORE, RTC and CPU. 128c2ecf20Sopenharmony_ciThe CORE and RTC voltages shall be in a range of 170mV from each other 138c2ecf20Sopenharmony_ciand they both shall be higher than the CPU voltage by at least 120mV. 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ciTegra30 voltage coupling 168c2ecf20Sopenharmony_ci------------------------ 178c2ecf20Sopenharmony_ci 188c2ecf20Sopenharmony_ciOn Tegra30 SoC's there are 2 coupled regulators: CORE and CPU. The CORE 198c2ecf20Sopenharmony_ciand CPU voltages shall be in a range of 300mV from each other and CORE 208c2ecf20Sopenharmony_civoltage shall be higher than the CPU by N mV, where N depends on the CPU 218c2ecf20Sopenharmony_civoltage. 228c2ecf20Sopenharmony_ci 238c2ecf20Sopenharmony_ciRequired properties: 248c2ecf20Sopenharmony_ci- nvidia,tegra-core-regulator: Boolean property that designates regulator 258c2ecf20Sopenharmony_ci as the "Core domain" voltage regulator. 268c2ecf20Sopenharmony_ci- nvidia,tegra-rtc-regulator: Boolean property that designates regulator 278c2ecf20Sopenharmony_ci as the "RTC domain" voltage regulator. 288c2ecf20Sopenharmony_ci- nvidia,tegra-cpu-regulator: Boolean property that designates regulator 298c2ecf20Sopenharmony_ci as the "CPU domain" voltage regulator. 308c2ecf20Sopenharmony_ci 318c2ecf20Sopenharmony_ciExample: 328c2ecf20Sopenharmony_ci 338c2ecf20Sopenharmony_ci pmic { 348c2ecf20Sopenharmony_ci regulators { 358c2ecf20Sopenharmony_ci core_vdd_reg: core { 368c2ecf20Sopenharmony_ci regulator-name = "vdd_core"; 378c2ecf20Sopenharmony_ci regulator-min-microvolt = <950000>; 388c2ecf20Sopenharmony_ci regulator-max-microvolt = <1300000>; 398c2ecf20Sopenharmony_ci regulator-coupled-with = <&rtc_vdd_reg &cpu_vdd_reg>; 408c2ecf20Sopenharmony_ci regulator-coupled-max-spread = <170000 550000>; 418c2ecf20Sopenharmony_ci 428c2ecf20Sopenharmony_ci nvidia,tegra-core-regulator; 438c2ecf20Sopenharmony_ci }; 448c2ecf20Sopenharmony_ci 458c2ecf20Sopenharmony_ci rtc_vdd_reg: rtc { 468c2ecf20Sopenharmony_ci regulator-name = "vdd_rtc"; 478c2ecf20Sopenharmony_ci regulator-min-microvolt = <950000>; 488c2ecf20Sopenharmony_ci regulator-max-microvolt = <1300000>; 498c2ecf20Sopenharmony_ci regulator-coupled-with = <&core_vdd_reg &cpu_vdd_reg>; 508c2ecf20Sopenharmony_ci regulator-coupled-max-spread = <170000 550000>; 518c2ecf20Sopenharmony_ci 528c2ecf20Sopenharmony_ci nvidia,tegra-rtc-regulator; 538c2ecf20Sopenharmony_ci }; 548c2ecf20Sopenharmony_ci 558c2ecf20Sopenharmony_ci cpu_vdd_reg: cpu { 568c2ecf20Sopenharmony_ci regulator-name = "vdd_cpu"; 578c2ecf20Sopenharmony_ci regulator-min-microvolt = <750000>; 588c2ecf20Sopenharmony_ci regulator-max-microvolt = <1125000>; 598c2ecf20Sopenharmony_ci regulator-coupled-with = <&core_vdd_reg &rtc_vdd_reg>; 608c2ecf20Sopenharmony_ci regulator-coupled-max-spread = <550000 550000>; 618c2ecf20Sopenharmony_ci 628c2ecf20Sopenharmony_ci nvidia,tegra-cpu-regulator; 638c2ecf20Sopenharmony_ci }; 648c2ecf20Sopenharmony_ci }; 658c2ecf20Sopenharmony_ci }; 66