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