diff mbox

[v2,1/4] ARM: dts: exynos5250: max77686 is Snow only

Message ID 1405704009-8430-2-git-send-email-afaerber@suse.de
State New
Headers show

Commit Message

Andreas Färber July 18, 2014, 5:20 p.m. UTC
Move it from exynos5250-cros-common.dtsi to exynos5250-snow.dts.
Spring does not need it, it uses an s5m8767 instead.

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 v2: New (Doug Anderson)

 arch/arm/boot/dts/exynos5250-cros-common.dtsi | 151 -------------------------
 arch/arm/boot/dts/exynos5250-snow.dts         | 155 ++++++++++++++++++++++++++
 2 files changed, 155 insertions(+), 151 deletions(-)

Comments

Kukjin Kim July 25, 2014, 5:28 a.m. UTC | #1
Andreas Färber wrote:
> 
> Move it from exynos5250-cros-common.dtsi to exynos5250-snow.dts.
> Spring does not need it, it uses an s5m8767 instead.
> 
> Signed-off-by: Andreas Färber <afaerber@suse.de>
> ---

Hi Andreas,

I think this should be reviewed by chrome guys.


Doug, can you have a look this series for exynos5250-chromebook?
I'm not sure exynos5250-cros-common is still useful for exynos5250-spring...

- Kukjin

>  v2: New (Doug Anderson)
> 
>  arch/arm/boot/dts/exynos5250-cros-common.dtsi | 151 -------------------------
>  arch/arm/boot/dts/exynos5250-snow.dts         | 155 ++++++++++++++++++++++++++
>  2 files changed, 155 insertions(+), 151 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/exynos5250-cros-common.dtsi b/arch/arm/boot/dts/exynos5250-cros-
> common.dtsi
> index 89ac90f..61128d1 100644
> --- a/arch/arm/boot/dts/exynos5250-cros-common.dtsi
> +++ b/arch/arm/boot/dts/exynos5250-cros-common.dtsi
> @@ -27,163 +27,12 @@
>  		i2c2_bus: i2c2-bus {
>  			samsung,pin-pud = <0>;
>  		};
> -
> -		max77686_irq: max77686-irq {
> -			samsung,pins = "gpx3-2";
> -			samsung,pin-function = <0>;
> -			samsung,pin-pud = <0>;
> -			samsung,pin-drv = <0>;
> -		};
>  	};
> 
>  	i2c@12C60000 {
>  		status = "okay";
>  		samsung,i2c-sda-delay = <100>;
>  		samsung,i2c-max-bus-freq = <378000>;
> -
> -		max77686@09 {
> -			compatible = "maxim,max77686";
> -			interrupt-parent = <&gpx3>;
> -			interrupts = <2 0>;
> -			pinctrl-names = "default";
> -			pinctrl-0 = <&max77686_irq>;
> -			wakeup-source;
> -			reg = <0x09>;
> -			#clock-cells = <1>;
> -
> -			voltage-regulators {
> -				ldo1_reg: LDO1 {
> -					regulator-name = "P1.0V_LDO_OUT1";
> -					regulator-min-microvolt = <1000000>;
> -					regulator-max-microvolt = <1000000>;
> -					regulator-always-on;
> -				};
> -
> -				ldo2_reg: LDO2 {
> -					regulator-name = "P1.8V_LDO_OUT2";
> -					regulator-min-microvolt = <1800000>;
> -					regulator-max-microvolt = <1800000>;
> -					regulator-always-on;
> -				};
> -
> -				ldo3_reg: LDO3 {
> -					regulator-name = "P1.8V_LDO_OUT3";
> -					regulator-min-microvolt = <1800000>;
> -					regulator-max-microvolt = <1800000>;
> -					regulator-always-on;
> -				};
> -
> -				ldo7_reg: LDO7 {
> -					regulator-name = "P1.1V_LDO_OUT7";
> -					regulator-min-microvolt = <1100000>;
> -					regulator-max-microvolt = <1100000>;
> -					regulator-always-on;
> -				};
> -
> -				ldo8_reg: LDO8 {
> -					regulator-name = "P1.0V_LDO_OUT8";
> -					regulator-min-microvolt = <1000000>;
> -					regulator-max-microvolt = <1000000>;
> -					regulator-always-on;
> -				};
> -
> -				ldo10_reg: LDO10 {
> -					regulator-name = "P1.8V_LDO_OUT10";
> -					regulator-min-microvolt = <1800000>;
> -					regulator-max-microvolt = <1800000>;
> -					regulator-always-on;
> -				};
> -
> -				ldo12_reg: LDO12 {
> -					regulator-name = "P3.0V_LDO_OUT12";
> -					regulator-min-microvolt = <3000000>;
> -					regulator-max-microvolt = <3000000>;
> -					regulator-always-on;
> -				};
> -
> -				ldo14_reg: LDO14 {
> -					regulator-name = "P1.8V_LDO_OUT14";
> -					regulator-min-microvolt = <1800000>;
> -					regulator-max-microvolt = <1800000>;
> -					regulator-always-on;
> -				};
> -
> -				ldo15_reg: LDO15 {
> -					regulator-name = "P1.0V_LDO_OUT15";
> -					regulator-min-microvolt = <1000000>;
> -					regulator-max-microvolt = <1000000>;
> -					regulator-always-on;
> -				};
> -
> -				ldo16_reg: LDO16 {
> -					regulator-name = "P1.8V_LDO_OUT16";
> -					regulator-min-microvolt = <1800000>;
> -					regulator-max-microvolt = <1800000>;
> -					regulator-always-on;
> -				};
> -
> -				buck1_reg: BUCK1 {
> -					regulator-name = "vdd_mif";
> -					regulator-min-microvolt = <950000>;
> -					regulator-max-microvolt = <1300000>;
> -					regulator-always-on;
> -					regulator-boot-on;
> -				};
> -
> -				buck2_reg: BUCK2 {
> -					regulator-name = "vdd_arm";
> -					regulator-min-microvolt = <850000>;
> -					regulator-max-microvolt = <1350000>;
> -					regulator-always-on;
> -					regulator-boot-on;
> -				};
> -
> -				buck3_reg: BUCK3 {
> -					regulator-name = "vdd_int";
> -					regulator-min-microvolt = <900000>;
> -					regulator-max-microvolt = <1200000>;
> -					regulator-always-on;
> -					regulator-boot-on;
> -				};
> -
> -				buck4_reg: BUCK4 {
> -					regulator-name = "vdd_g3d";
> -					regulator-min-microvolt = <850000>;
> -					regulator-max-microvolt = <1300000>;
> -					regulator-always-on;
> -					regulator-boot-on;
> -				};
> -
> -				buck5_reg: BUCK5 {
> -					regulator-name = "P1.8V_BUCK_OUT5";
> -					regulator-min-microvolt = <1800000>;
> -					regulator-max-microvolt = <1800000>;
> -					regulator-always-on;
> -					regulator-boot-on;
> -				};
> -
> -				buck6_reg: BUCK6 {
> -					regulator-name = "P1.35V_BUCK_OUT6";
> -					regulator-min-microvolt = <1350000>;
> -					regulator-max-microvolt = <1350000>;
> -					regulator-always-on;
> -				};
> -
> -				buck7_reg: BUCK7 {
> -					regulator-name = "P2.0V_BUCK_OUT7";
> -					regulator-min-microvolt = <2000000>;
> -					regulator-max-microvolt = <2000000>;
> -					regulator-always-on;
> -				};
> -
> -				buck8_reg: BUCK8 {
> -					regulator-name = "P2.85V_BUCK_OUT8";
> -					regulator-min-microvolt = <2850000>;
> -					regulator-max-microvolt = <2850000>;
> -					regulator-always-on;
> -				};
> -			};
> -		};
>  	};
> 
>  	i2c@12C70000 {
> diff --git a/arch/arm/boot/dts/exynos5250-snow.dts b/arch/arm/boot/dts/exynos5250-snow.dts
> index c682c88..0f867a3 100644
> --- a/arch/arm/boot/dts/exynos5250-snow.dts
> +++ b/arch/arm/boot/dts/exynos5250-snow.dts
> @@ -344,4 +344,159 @@
>  	};
>  };
> 
> +&i2c_0 {
> +	max77686@09 {
> +		compatible = "maxim,max77686";
> +		interrupt-parent = <&gpx3>;
> +		interrupts = <2 0>;
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&max77686_irq>;
> +		wakeup-source;
> +		reg = <0x09>;
> +		#clock-cells = <1>;
> +
> +		voltage-regulators {
> +			ldo1_reg: LDO1 {
> +				regulator-name = "P1.0V_LDO_OUT1";
> +				regulator-min-microvolt = <1000000>;
> +				regulator-max-microvolt = <1000000>;
> +				regulator-always-on;
> +			};
> +
> +			ldo2_reg: LDO2 {
> +				regulator-name = "P1.8V_LDO_OUT2";
> +				regulator-min-microvolt = <1800000>;
> +				regulator-max-microvolt = <1800000>;
> +				regulator-always-on;
> +			};
> +
> +			ldo3_reg: LDO3 {
> +				regulator-name = "P1.8V_LDO_OUT3";
> +				regulator-min-microvolt = <1800000>;
> +				regulator-max-microvolt = <1800000>;
> +				regulator-always-on;
> +			};
> +
> +			ldo7_reg: LDO7 {
> +				regulator-name = "P1.1V_LDO_OUT7";
> +				regulator-min-microvolt = <1100000>;
> +				regulator-max-microvolt = <1100000>;
> +				regulator-always-on;
> +			};
> +
> +			ldo8_reg: LDO8 {
> +				regulator-name = "P1.0V_LDO_OUT8";
> +				regulator-min-microvolt = <1000000>;
> +				regulator-max-microvolt = <1000000>;
> +				regulator-always-on;
> +			};
> +
> +			ldo10_reg: LDO10 {
> +				regulator-name = "P1.8V_LDO_OUT10";
> +				regulator-min-microvolt = <1800000>;
> +				regulator-max-microvolt = <1800000>;
> +				regulator-always-on;
> +			};
> +
> +			ldo12_reg: LDO12 {
> +				regulator-name = "P3.0V_LDO_OUT12";
> +				regulator-min-microvolt = <3000000>;
> +				regulator-max-microvolt = <3000000>;
> +				regulator-always-on;
> +			};
> +
> +			ldo14_reg: LDO14 {
> +				regulator-name = "P1.8V_LDO_OUT14";
> +				regulator-min-microvolt = <1800000>;
> +				regulator-max-microvolt = <1800000>;
> +				regulator-always-on;
> +			};
> +
> +			ldo15_reg: LDO15 {
> +				regulator-name = "P1.0V_LDO_OUT15";
> +				regulator-min-microvolt = <1000000>;
> +				regulator-max-microvolt = <1000000>;
> +				regulator-always-on;
> +			};
> +
> +			ldo16_reg: LDO16 {
> +				regulator-name = "P1.8V_LDO_OUT16";
> +				regulator-min-microvolt = <1800000>;
> +				regulator-max-microvolt = <1800000>;
> +				regulator-always-on;
> +			};
> +
> +			buck1_reg: BUCK1 {
> +				regulator-name = "vdd_mif";
> +				regulator-min-microvolt = <950000>;
> +				regulator-max-microvolt = <1300000>;
> +				regulator-always-on;
> +				regulator-boot-on;
> +			};
> +
> +			buck2_reg: BUCK2 {
> +				regulator-name = "vdd_arm";
> +				regulator-min-microvolt = <850000>;
> +				regulator-max-microvolt = <1350000>;
> +				regulator-always-on;
> +				regulator-boot-on;
> +			};
> +
> +			buck3_reg: BUCK3 {
> +				regulator-name = "vdd_int";
> +				regulator-min-microvolt = <900000>;
> +				regulator-max-microvolt = <1200000>;
> +				regulator-always-on;
> +				regulator-boot-on;
> +			};
> +
> +			buck4_reg: BUCK4 {
> +				regulator-name = "vdd_g3d";
> +				regulator-min-microvolt = <850000>;
> +				regulator-max-microvolt = <1300000>;
> +				regulator-always-on;
> +				regulator-boot-on;
> +			};
> +
> +			buck5_reg: BUCK5 {
> +				regulator-name = "P1.8V_BUCK_OUT5";
> +				regulator-min-microvolt = <1800000>;
> +				regulator-max-microvolt = <1800000>;
> +				regulator-always-on;
> +				regulator-boot-on;
> +			};
> +
> +			buck6_reg: BUCK6 {
> +				regulator-name = "P1.35V_BUCK_OUT6";
> +				regulator-min-microvolt = <1350000>;
> +				regulator-max-microvolt = <1350000>;
> +				regulator-always-on;
> +			};
> +
> +			buck7_reg: BUCK7 {
> +				regulator-name = "P2.0V_BUCK_OUT7";
> +				regulator-min-microvolt = <2000000>;
> +				regulator-max-microvolt = <2000000>;
> +				regulator-always-on;
> +			};
> +
> +			buck8_reg: BUCK8 {
> +				regulator-name = "P2.85V_BUCK_OUT8";
> +				regulator-min-microvolt = <2850000>;
> +				regulator-max-microvolt = <2850000>;
> +				regulator-always-on;
> +			};
> +		};
> +	};
> +};
> +
> +&pinctrl_0 {
> +	max77686_irq: max77686-irq {
> +		samsung,pins = "gpx3-2";
> +		samsung,pin-function = <0>;
> +		samsung,pin-pud = <0>;
> +		samsung,pin-drv = <0>;
> +	};
> +};
> +
>  #include "cros-ec-keyboard.dtsi"
> --
> 1.9.3
Doug Anderson July 25, 2014, 3:08 p.m. UTC | #2
Hi,

On Thu, Jul 24, 2014 at 10:28 PM, Kukjin Kim <kgene.kim@samsung.com> wrote:
> Andreas Färber wrote:
>>
>> Move it from exynos5250-cros-common.dtsi to exynos5250-snow.dts.
>> Spring does not need it, it uses an s5m8767 instead.
>>
>> Signed-off-by: Andreas Färber <afaerber@suse.de>
>> ---
>
> Hi Andreas,
>
> I think this should be reviewed by chrome guys.
>
>
> Doug, can you have a look this series for exynos5250-chromebook?
> I'm not sure exynos5250-cros-common is still useful for exynos5250-spring...

Sorry, I've been on vacation and am now playing catchup.

Right.  The current suggestion is to rework to just duplicate things
and don't use exynos5250-cros-common.  I would structure the series
as:

1. Fold the current exynos5250-cros-common directly into the snow
device tree file.

2. If desired, cleanup the snow device tree file.

3. Create the spring device tree file based on snow.  There will be
duplication, but so be it.  Please try to minimize diffs between the
snow ad spring device tree files.

4. If possible, identify "fragments" like "cros-ec-keyboard.dtsi" and
factor them out of both spring and snow device tree files.


You could certainly reorder some of the above steps if you wish (you
could split out fragments before creating the spring device tree, for
instance).


Please make sure to CC Javier (now on CC) since he's helping with
Chromebook upstreaming and he may have a lower latency in responding
than I do.

-Doug
Doug Anderson July 25, 2014, 3:13 p.m. UTC | #3
Andreas,

On Fri, Jul 25, 2014 at 8:08 AM, Doug Anderson <dianders@chromium.org> wrote:
> Hi,
>
> On Thu, Jul 24, 2014 at 10:28 PM, Kukjin Kim <kgene.kim@samsung.com> wrote:
>> Andreas Färber wrote:
>>>
>>> Move it from exynos5250-cros-common.dtsi to exynos5250-snow.dts.
>>> Spring does not need it, it uses an s5m8767 instead.
>>>
>>> Signed-off-by: Andreas Färber <afaerber@suse.de>
>>> ---
>>
>> Hi Andreas,
>>
>> I think this should be reviewed by chrome guys.
>>
>>
>> Doug, can you have a look this series for exynos5250-chromebook?
>> I'm not sure exynos5250-cros-common is still useful for exynos5250-spring...
>
> Sorry, I've been on vacation and am now playing catchup.
>
> Right.  The current suggestion is to rework to just duplicate things
> and don't use exynos5250-cros-common.

Oh, it actually looks like your patch series ends up there, but the
first patch confused me.  Why move just the maxim PMIC first?  Move
everything at once and be done with the common file, then do
cleanup...
Andreas Färber July 25, 2014, 3:30 p.m. UTC | #4
Hi Doug,

Am 25.07.2014 17:13, schrieb Doug Anderson:
> On Fri, Jul 25, 2014 at 8:08 AM, Doug Anderson <dianders@chromium.org> wrote:
>> On Thu, Jul 24, 2014 at 10:28 PM, Kukjin Kim <kgene.kim@samsung.com> wrote:
>>> Andreas Färber wrote:
>>>>
>>>> Move it from exynos5250-cros-common.dtsi to exynos5250-snow.dts.
>>>> Spring does not need it, it uses an s5m8767 instead.
>>>>
>>>> Signed-off-by: Andreas Färber <afaerber@suse.de>
>>>> ---
>>>
>>> Doug, can you have a look this series for exynos5250-chromebook?
>>> I'm not sure exynos5250-cros-common is still useful for exynos5250-spring...
>>
>> Right.  The current suggestion is to rework to just duplicate things
>> and don't use exynos5250-cros-common.
> 
> Oh, it actually looks like your patch series ends up there, but the
> first patch confused me.

NP, guess you just started reading in the middle. ;)

>  Why move just the maxim PMIC first?

Review of the movements surely is easier this way, and it did not yet
seem a done deal that we would drop -cros-common. The merge patch nicely
shows which common parts need to be copied into spring.

>  Move
> everything at once and be done with the common file, then do
> cleanup...

If everyone agrees that we want to proceed that way, we can easily
squash patches 1+2. Separating is always harder.

Cheers,
Andreas
Doug Anderson July 25, 2014, 4:02 p.m. UTC | #5
Andreas,

On Fri, Jul 25, 2014 at 8:30 AM, Andreas Färber <afaerber@suse.de> wrote:
> Hi Doug,
>
> Am 25.07.2014 17:13, schrieb Doug Anderson:
>> On Fri, Jul 25, 2014 at 8:08 AM, Doug Anderson <dianders@chromium.org> wrote:
>>> On Thu, Jul 24, 2014 at 10:28 PM, Kukjin Kim <kgene.kim@samsung.com> wrote:
>>>> Andreas Färber wrote:
>>>>>
>>>>> Move it from exynos5250-cros-common.dtsi to exynos5250-snow.dts.
>>>>> Spring does not need it, it uses an s5m8767 instead.
>>>>>
>>>>> Signed-off-by: Andreas Färber <afaerber@suse.de>
>>>>> ---
>>>>
>>>> Doug, can you have a look this series for exynos5250-chromebook?
>>>> I'm not sure exynos5250-cros-common is still useful for exynos5250-spring...
>>>
>>> Right.  The current suggestion is to rework to just duplicate things
>>> and don't use exynos5250-cros-common.
>>
>> Oh, it actually looks like your patch series ends up there, but the
>> first patch confused me.
>
> NP, guess you just started reading in the middle. ;)

Yeah, I had this on my list to look at but ended up looking at this
one first due to Kukjin's response.


>>  Why move just the maxim PMIC first?
>
> Review of the movements surely is easier this way, and it did not yet
> seem a done deal that we would drop -cros-common. The merge patch nicely
> shows which common parts need to be copied into spring.

That's fine.  I can review it this way now that I realize what's going on.
Doug Anderson July 29, 2014, 4:15 p.m. UTC | #6
Andreas,

On Fri, Jul 18, 2014 at 10:20 AM, Andreas Färber <afaerber@suse.de> wrote:
> Move it from exynos5250-cros-common.dtsi to exynos5250-snow.dts.
> Spring does not need it, it uses an s5m8767 instead.
>
> Signed-off-by: Andreas Färber <afaerber@suse.de>
> ---
>  v2: New (Doug Anderson)
>
>  arch/arm/boot/dts/exynos5250-cros-common.dtsi | 151 -------------------------
>  arch/arm/boot/dts/exynos5250-snow.dts         | 155 ++++++++++++++++++++++++++
>  2 files changed, 155 insertions(+), 151 deletions(-)

Personally I would have squashed patches 1-3, but I don't have a
problem with it being broken up and it does mean that the mondo patch
is smaller, so...

Reviewed-by: Doug Anderson <dianders@chromium.org>

Kukjin could apply this now if he wanted to avoid future conflicts.

-Doug
diff mbox

Patch

diff --git a/arch/arm/boot/dts/exynos5250-cros-common.dtsi b/arch/arm/boot/dts/exynos5250-cros-common.dtsi
index 89ac90f..61128d1 100644
--- a/arch/arm/boot/dts/exynos5250-cros-common.dtsi
+++ b/arch/arm/boot/dts/exynos5250-cros-common.dtsi
@@ -27,163 +27,12 @@ 
 		i2c2_bus: i2c2-bus {
 			samsung,pin-pud = <0>;
 		};
-
-		max77686_irq: max77686-irq {
-			samsung,pins = "gpx3-2";
-			samsung,pin-function = <0>;
-			samsung,pin-pud = <0>;
-			samsung,pin-drv = <0>;
-		};
 	};
 
 	i2c@12C60000 {
 		status = "okay";
 		samsung,i2c-sda-delay = <100>;
 		samsung,i2c-max-bus-freq = <378000>;
-
-		max77686@09 {
-			compatible = "maxim,max77686";
-			interrupt-parent = <&gpx3>;
-			interrupts = <2 0>;
-			pinctrl-names = "default";
-			pinctrl-0 = <&max77686_irq>;
-			wakeup-source;
-			reg = <0x09>;
-			#clock-cells = <1>;
-
-			voltage-regulators {
-				ldo1_reg: LDO1 {
-					regulator-name = "P1.0V_LDO_OUT1";
-					regulator-min-microvolt = <1000000>;
-					regulator-max-microvolt = <1000000>;
-					regulator-always-on;
-				};
-
-				ldo2_reg: LDO2 {
-					regulator-name = "P1.8V_LDO_OUT2";
-					regulator-min-microvolt = <1800000>;
-					regulator-max-microvolt = <1800000>;
-					regulator-always-on;
-				};
-
-				ldo3_reg: LDO3 {
-					regulator-name = "P1.8V_LDO_OUT3";
-					regulator-min-microvolt = <1800000>;
-					regulator-max-microvolt = <1800000>;
-					regulator-always-on;
-				};
-
-				ldo7_reg: LDO7 {
-					regulator-name = "P1.1V_LDO_OUT7";
-					regulator-min-microvolt = <1100000>;
-					regulator-max-microvolt = <1100000>;
-					regulator-always-on;
-				};
-
-				ldo8_reg: LDO8 {
-					regulator-name = "P1.0V_LDO_OUT8";
-					regulator-min-microvolt = <1000000>;
-					regulator-max-microvolt = <1000000>;
-					regulator-always-on;
-				};
-
-				ldo10_reg: LDO10 {
-					regulator-name = "P1.8V_LDO_OUT10";
-					regulator-min-microvolt = <1800000>;
-					regulator-max-microvolt = <1800000>;
-					regulator-always-on;
-				};
-
-				ldo12_reg: LDO12 {
-					regulator-name = "P3.0V_LDO_OUT12";
-					regulator-min-microvolt = <3000000>;
-					regulator-max-microvolt = <3000000>;
-					regulator-always-on;
-				};
-
-				ldo14_reg: LDO14 {
-					regulator-name = "P1.8V_LDO_OUT14";
-					regulator-min-microvolt = <1800000>;
-					regulator-max-microvolt = <1800000>;
-					regulator-always-on;
-				};
-
-				ldo15_reg: LDO15 {
-					regulator-name = "P1.0V_LDO_OUT15";
-					regulator-min-microvolt = <1000000>;
-					regulator-max-microvolt = <1000000>;
-					regulator-always-on;
-				};
-
-				ldo16_reg: LDO16 {
-					regulator-name = "P1.8V_LDO_OUT16";
-					regulator-min-microvolt = <1800000>;
-					regulator-max-microvolt = <1800000>;
-					regulator-always-on;
-				};
-
-				buck1_reg: BUCK1 {
-					regulator-name = "vdd_mif";
-					regulator-min-microvolt = <950000>;
-					regulator-max-microvolt = <1300000>;
-					regulator-always-on;
-					regulator-boot-on;
-				};
-
-				buck2_reg: BUCK2 {
-					regulator-name = "vdd_arm";
-					regulator-min-microvolt = <850000>;
-					regulator-max-microvolt = <1350000>;
-					regulator-always-on;
-					regulator-boot-on;
-				};
-
-				buck3_reg: BUCK3 {
-					regulator-name = "vdd_int";
-					regulator-min-microvolt = <900000>;
-					regulator-max-microvolt = <1200000>;
-					regulator-always-on;
-					regulator-boot-on;
-				};
-
-				buck4_reg: BUCK4 {
-					regulator-name = "vdd_g3d";
-					regulator-min-microvolt = <850000>;
-					regulator-max-microvolt = <1300000>;
-					regulator-always-on;
-					regulator-boot-on;
-				};
-
-				buck5_reg: BUCK5 {
-					regulator-name = "P1.8V_BUCK_OUT5";
-					regulator-min-microvolt = <1800000>;
-					regulator-max-microvolt = <1800000>;
-					regulator-always-on;
-					regulator-boot-on;
-				};
-
-				buck6_reg: BUCK6 {
-					regulator-name = "P1.35V_BUCK_OUT6";
-					regulator-min-microvolt = <1350000>;
-					regulator-max-microvolt = <1350000>;
-					regulator-always-on;
-				};
-
-				buck7_reg: BUCK7 {
-					regulator-name = "P2.0V_BUCK_OUT7";
-					regulator-min-microvolt = <2000000>;
-					regulator-max-microvolt = <2000000>;
-					regulator-always-on;
-				};
-
-				buck8_reg: BUCK8 {
-					regulator-name = "P2.85V_BUCK_OUT8";
-					regulator-min-microvolt = <2850000>;
-					regulator-max-microvolt = <2850000>;
-					regulator-always-on;
-				};
-			};
-		};
 	};
 
 	i2c@12C70000 {
diff --git a/arch/arm/boot/dts/exynos5250-snow.dts b/arch/arm/boot/dts/exynos5250-snow.dts
index c682c88..0f867a3 100644
--- a/arch/arm/boot/dts/exynos5250-snow.dts
+++ b/arch/arm/boot/dts/exynos5250-snow.dts
@@ -344,4 +344,159 @@ 
 	};
 };
 
+&i2c_0 {
+	max77686@09 {
+		compatible = "maxim,max77686";
+		interrupt-parent = <&gpx3>;
+		interrupts = <2 0>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&max77686_irq>;
+		wakeup-source;
+		reg = <0x09>;
+		#clock-cells = <1>;
+
+		voltage-regulators {
+			ldo1_reg: LDO1 {
+				regulator-name = "P1.0V_LDO_OUT1";
+				regulator-min-microvolt = <1000000>;
+				regulator-max-microvolt = <1000000>;
+				regulator-always-on;
+			};
+
+			ldo2_reg: LDO2 {
+				regulator-name = "P1.8V_LDO_OUT2";
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <1800000>;
+				regulator-always-on;
+			};
+
+			ldo3_reg: LDO3 {
+				regulator-name = "P1.8V_LDO_OUT3";
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <1800000>;
+				regulator-always-on;
+			};
+
+			ldo7_reg: LDO7 {
+				regulator-name = "P1.1V_LDO_OUT7";
+				regulator-min-microvolt = <1100000>;
+				regulator-max-microvolt = <1100000>;
+				regulator-always-on;
+			};
+
+			ldo8_reg: LDO8 {
+				regulator-name = "P1.0V_LDO_OUT8";
+				regulator-min-microvolt = <1000000>;
+				regulator-max-microvolt = <1000000>;
+				regulator-always-on;
+			};
+
+			ldo10_reg: LDO10 {
+				regulator-name = "P1.8V_LDO_OUT10";
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <1800000>;
+				regulator-always-on;
+			};
+
+			ldo12_reg: LDO12 {
+				regulator-name = "P3.0V_LDO_OUT12";
+				regulator-min-microvolt = <3000000>;
+				regulator-max-microvolt = <3000000>;
+				regulator-always-on;
+			};
+
+			ldo14_reg: LDO14 {
+				regulator-name = "P1.8V_LDO_OUT14";
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <1800000>;
+				regulator-always-on;
+			};
+
+			ldo15_reg: LDO15 {
+				regulator-name = "P1.0V_LDO_OUT15";
+				regulator-min-microvolt = <1000000>;
+				regulator-max-microvolt = <1000000>;
+				regulator-always-on;
+			};
+
+			ldo16_reg: LDO16 {
+				regulator-name = "P1.8V_LDO_OUT16";
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <1800000>;
+				regulator-always-on;
+			};
+
+			buck1_reg: BUCK1 {
+				regulator-name = "vdd_mif";
+				regulator-min-microvolt = <950000>;
+				regulator-max-microvolt = <1300000>;
+				regulator-always-on;
+				regulator-boot-on;
+			};
+
+			buck2_reg: BUCK2 {
+				regulator-name = "vdd_arm";
+				regulator-min-microvolt = <850000>;
+				regulator-max-microvolt = <1350000>;
+				regulator-always-on;
+				regulator-boot-on;
+			};
+
+			buck3_reg: BUCK3 {
+				regulator-name = "vdd_int";
+				regulator-min-microvolt = <900000>;
+				regulator-max-microvolt = <1200000>;
+				regulator-always-on;
+				regulator-boot-on;
+			};
+
+			buck4_reg: BUCK4 {
+				regulator-name = "vdd_g3d";
+				regulator-min-microvolt = <850000>;
+				regulator-max-microvolt = <1300000>;
+				regulator-always-on;
+				regulator-boot-on;
+			};
+
+			buck5_reg: BUCK5 {
+				regulator-name = "P1.8V_BUCK_OUT5";
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <1800000>;
+				regulator-always-on;
+				regulator-boot-on;
+			};
+
+			buck6_reg: BUCK6 {
+				regulator-name = "P1.35V_BUCK_OUT6";
+				regulator-min-microvolt = <1350000>;
+				regulator-max-microvolt = <1350000>;
+				regulator-always-on;
+			};
+
+			buck7_reg: BUCK7 {
+				regulator-name = "P2.0V_BUCK_OUT7";
+				regulator-min-microvolt = <2000000>;
+				regulator-max-microvolt = <2000000>;
+				regulator-always-on;
+			};
+
+			buck8_reg: BUCK8 {
+				regulator-name = "P2.85V_BUCK_OUT8";
+				regulator-min-microvolt = <2850000>;
+				regulator-max-microvolt = <2850000>;
+				regulator-always-on;
+			};
+		};
+	};
+};
+
+&pinctrl_0 {
+	max77686_irq: max77686-irq {
+		samsung,pins = "gpx3-2";
+		samsung,pin-function = <0>;
+		samsung,pin-pud = <0>;
+		samsung,pin-drv = <0>;
+	};
+};
+
 #include "cros-ec-keyboard.dtsi"