162306a36Sopenharmony_ciNVIDIA Tegra Regulators Coupling 262306a36Sopenharmony_ci================================ 362306a36Sopenharmony_ci 462306a36Sopenharmony_ciNVIDIA Tegra SoC's have a mandatory voltage-coupling between regulators. 562306a36Sopenharmony_ciThus on Tegra20 there are 3 coupled regulators and on NVIDIA Tegra30 662306a36Sopenharmony_cithere are 2. 762306a36Sopenharmony_ci 862306a36Sopenharmony_ciTegra20 voltage coupling 962306a36Sopenharmony_ci------------------------ 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ciOn Tegra20 SoC's there are 3 coupled regulators: CORE, RTC and CPU. 1262306a36Sopenharmony_ciThe CORE and RTC voltages shall be in a range of 170mV from each other 1362306a36Sopenharmony_ciand they both shall be higher than the CPU voltage by at least 120mV. 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ciTegra30 voltage coupling 1662306a36Sopenharmony_ci------------------------ 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ciOn Tegra30 SoC's there are 2 coupled regulators: CORE and CPU. The CORE 1962306a36Sopenharmony_ciand CPU voltages shall be in a range of 300mV from each other and CORE 2062306a36Sopenharmony_civoltage shall be higher than the CPU by N mV, where N depends on the CPU 2162306a36Sopenharmony_civoltage. 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ciRequired properties: 2462306a36Sopenharmony_ci- nvidia,tegra-core-regulator: Boolean property that designates regulator 2562306a36Sopenharmony_ci as the "Core domain" voltage regulator. 2662306a36Sopenharmony_ci- nvidia,tegra-rtc-regulator: Boolean property that designates regulator 2762306a36Sopenharmony_ci as the "RTC domain" voltage regulator. 2862306a36Sopenharmony_ci- nvidia,tegra-cpu-regulator: Boolean property that designates regulator 2962306a36Sopenharmony_ci as the "CPU domain" voltage regulator. 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ciExample: 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_ci pmic { 3462306a36Sopenharmony_ci regulators { 3562306a36Sopenharmony_ci core_vdd_reg: core { 3662306a36Sopenharmony_ci regulator-name = "vdd_core"; 3762306a36Sopenharmony_ci regulator-min-microvolt = <950000>; 3862306a36Sopenharmony_ci regulator-max-microvolt = <1300000>; 3962306a36Sopenharmony_ci regulator-coupled-with = <&rtc_vdd_reg &cpu_vdd_reg>; 4062306a36Sopenharmony_ci regulator-coupled-max-spread = <170000 550000>; 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_ci nvidia,tegra-core-regulator; 4362306a36Sopenharmony_ci }; 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_ci rtc_vdd_reg: rtc { 4662306a36Sopenharmony_ci regulator-name = "vdd_rtc"; 4762306a36Sopenharmony_ci regulator-min-microvolt = <950000>; 4862306a36Sopenharmony_ci regulator-max-microvolt = <1300000>; 4962306a36Sopenharmony_ci regulator-coupled-with = <&core_vdd_reg &cpu_vdd_reg>; 5062306a36Sopenharmony_ci regulator-coupled-max-spread = <170000 550000>; 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ci nvidia,tegra-rtc-regulator; 5362306a36Sopenharmony_ci }; 5462306a36Sopenharmony_ci 5562306a36Sopenharmony_ci cpu_vdd_reg: cpu { 5662306a36Sopenharmony_ci regulator-name = "vdd_cpu"; 5762306a36Sopenharmony_ci regulator-min-microvolt = <750000>; 5862306a36Sopenharmony_ci regulator-max-microvolt = <1125000>; 5962306a36Sopenharmony_ci regulator-coupled-with = <&core_vdd_reg &rtc_vdd_reg>; 6062306a36Sopenharmony_ci regulator-coupled-max-spread = <550000 550000>; 6162306a36Sopenharmony_ci 6262306a36Sopenharmony_ci nvidia,tegra-cpu-regulator; 6362306a36Sopenharmony_ci }; 6462306a36Sopenharmony_ci }; 6562306a36Sopenharmony_ci }; 66