NVIDIA Tegra Regulators Coupling
================================

NVIDIA Tegra SoC's have a mandatory voltage-coupling between regulators.
Thus on Tegra20 there are 3 coupled regulators and on NVIDIA Tegra30
there are 2.

Tegra20 voltage coupling
------------------------

On Tegra20 SoC's there are 3 coupled regulators: CORE, RTC and CPU.
The CORE and RTC voltages shall be in a range of 170mV from each other
and they both shall be higher than the CPU voltage by at least 120mV.

Tegra30 voltage coupling
------------------------

On Tegra30 SoC's there are 2 coupled regulators: CORE and CPU. The CORE
and CPU voltages shall be in a range of 300mV from each other and CORE
voltage shall be higher than the CPU by N mV, where N depends on the CPU
voltage.

Required properties:
- nvidia,tegra-core-regulator: Boolean property that designates regulator
  as the "Core domain" voltage regulator.
- nvidia,tegra-rtc-regulator: Boolean property that designates regulator
  as the "RTC domain" voltage regulator.
- nvidia,tegra-cpu-regulator: Boolean property that designates regulator
  as the "CPU domain" voltage regulator.

Example:

	pmic {
		regulators {
			core_vdd_reg: core {
				regulator-name = "vdd_core";
				regulator-min-microvolt = <950000>;
				regulator-max-microvolt = <1300000>;
				regulator-coupled-with = <&rtc_vdd_reg &cpu_vdd_reg>;
				regulator-coupled-max-spread = <170000 550000>;

				nvidia,tegra-core-regulator;
			};

			rtc_vdd_reg: rtc {
				regulator-name = "vdd_rtc";
				regulator-min-microvolt = <950000>;
				regulator-max-microvolt = <1300000>;
				regulator-coupled-with = <&core_vdd_reg &cpu_vdd_reg>;
				regulator-coupled-max-spread = <170000 550000>;

				nvidia,tegra-rtc-regulator;
			};

			cpu_vdd_reg: cpu {
				regulator-name = "vdd_cpu";
				regulator-min-microvolt = <750000>;
				regulator-max-microvolt = <1125000>;
				regulator-coupled-with = <&core_vdd_reg &rtc_vdd_reg>;
				regulator-coupled-max-spread = <550000 550000>;

				nvidia,tegra-cpu-regulator;
			};
		};
	};
