Merge tag 'samsung-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux...
authorOlof Johansson <olof@lixom.net>
Tue, 4 Nov 2014 06:04:47 +0000 (22:04 -0800)
committerOlof Johansson <olof@lixom.net>
Tue, 4 Nov 2014 06:04:47 +0000 (22:04 -0800)
Merge "1st Round of Samsung DT updates for v3.19" from Kukjin Kim:

Samsung DT updates for v3.19

- add CPU nodes for exynos4210, exynos4212, exynos4412

- exynos4x12-pinctrl: add utility macro to define pin sleep states
- exynos4412-trats2: add Maxim77693 PMIC node, add sleep mode pin
  configuration and keep eMMC regulators soft-disabled

- add new exynos5250-spring DT

- cleanup exynos5250-arndale, exynos5250-smdk5250 and exynos5250-snow

- exynos5250-arndale: fix apparent GPIO typo and simplify USB3503
- exynos5250-snow and exynos Peach boards: add rtc_src clock for RTC

- correct mmc0 capability string exynos5420-peach-pit and exynos5800-
  peach-pi

- exynos3250: add MFC codec nodes

- s3c64xx: enable PWM node by default

* tag 'samsung-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
  ARM: dts: add CPU nodes for Exynos4 SoCs
  ARM: dts: add MFC codec device node for exynos3250
  ARM: dts: Add Maxim 77693 PMIC to exynos4412-trats2
  ARM: dts: Add sleep mode pin configuration for exynos4412-trats2
  ARM: dts: Add utility macro to define pin sleep states for exynos4x12-pinctrl
  ARM: dts: Keep eMMC regulators soft-disabled for exynos4412-trats2
  ARM: dts: correct the mmc0 capability string for exynos Peach boards
  ARM: dts: Add rtc_src clk for s3c-rtc on exynos5250-snow
  ARM: dts: Add rtc_src clk for s3c-rtc on exynos Peach boards
  ARM: dts: Enable PWM node by default for s3c64xx
  ARM: dts: Add exynos5250-spring device tree
  ARM: dts: Simplify USB3503 on exynos5250-arndale
  ARM: dts: Fix apparent GPIO typo in exynos5250-arndale
  ARM: dts: Clean up exynos5250-arndale
  ARM: dts: Clean up exynos5250-smdk5250
  ARM: dts: Fill in bootargs for exynos5250-snow
  ARM: dts: Clean up exynos5250-snow
  ARM: dts: Prepare node labels for exynos5250

Signed-off-by: Olof Johansson <olof@lixom.net>
16 files changed:
arch/arm/boot/dts/Makefile
arch/arm/boot/dts/exynos3250.dtsi
arch/arm/boot/dts/exynos4210.dtsi
arch/arm/boot/dts/exynos4212.dtsi
arch/arm/boot/dts/exynos4412-trats2.dts
arch/arm/boot/dts/exynos4412.dtsi
arch/arm/boot/dts/exynos4x12-pinctrl.dtsi
arch/arm/boot/dts/exynos5250-arndale.dts
arch/arm/boot/dts/exynos5250-smdk5250.dts
arch/arm/boot/dts/exynos5250-snow.dts
arch/arm/boot/dts/exynos5250-spring.dts [new file with mode: 0644]
arch/arm/boot/dts/exynos5250.dtsi
arch/arm/boot/dts/exynos5420-peach-pit.dts
arch/arm/boot/dts/exynos5800-peach-pi.dts
arch/arm/boot/dts/s3c6410-mini6410.dts
arch/arm/boot/dts/s3c64xx.dtsi

index 38c89ca..4a75e29 100644 (file)
@@ -81,6 +81,7 @@ dtb-$(CONFIG_ARCH_EXYNOS) += exynos4210-origen.dtb \
        exynos5250-arndale.dtb \
        exynos5250-smdk5250.dtb \
        exynos5250-snow.dtb \
+       exynos5250-spring.dtb \
        exynos5260-xyref5260.dtb \
        exynos5410-smdk5410.dtb \
        exynos5420-arndale-octa.dtb \
index 693a327..242ddda 100644 (file)
                        status = "disabled";
                };
 
+               mfc: codec@13400000 {
+                       compatible = "samsung,mfc-v7";
+                       reg = <0x13400000 0x10000>;
+                       interrupts = <0 102 0>;
+                       clock-names = "mfc", "sclk_mfc";
+                       clocks = <&cmu CLK_MFC>, <&cmu CLK_SCLK_MFC>;
+                       samsung,power-domain = <&pd_mfc>;
+                       status = "disabled";
+               };
+
                serial_0: serial@13800000 {
                        compatible = "samsung,exynos4210-uart";
                        reg = <0x13800000 0x100>;
index 807bb5b..bcc9e63 100644 (file)
                pinctrl2 = &pinctrl_2;
        };
 
+       cpus {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               cpu@900 {
+                       device_type = "cpu";
+                       compatible = "arm,cortex-a9";
+                       reg = <0x900>;
+               };
+
+               cpu@901 {
+                       device_type = "cpu";
+                       compatible = "arm,cortex-a9";
+                       reg = <0x901>;
+               };
+       };
+
        pmu_system_controller: system-controller@10020000 {
                clock-names = "clkout0", "clkout1", "clkout2", "clkout3",
                                "clkout4", "clkout8", "clkout9";
index 3c00e6e..dd0a43e 100644 (file)
 / {
        compatible = "samsung,exynos4212", "samsung,exynos4";
 
+       cpus {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               cpu@A00 {
+                       device_type = "cpu";
+                       compatible = "arm,cortex-a9";
+                       reg = <0xA00>;
+               };
+
+               cpu@A01 {
+                       device_type = "cpu";
+                       compatible = "arm,cortex-a9";
+                       reg = <0xA01>;
+               };
+       };
+
        combiner: interrupt-controller@10440000 {
                samsung,combiner-nr = <18>;
        };
index 5e066cd..dd9ac66 100644 (file)
@@ -14,6 +14,7 @@
 
 /dts-v1/;
 #include "exynos4412.dtsi"
+#include <dt-bindings/gpio/gpio.h>
 
 / {
        model = "Samsung Trats 2 based on Exynos4412";
@@ -22,6 +23,7 @@
        aliases {
                i2c9 = &i2c_ak8975;
                i2c10 = &i2c_cm36651;
+               i2c11 = &i2c_max77693;
        };
 
        memory {
                                        regulator-name = "VMEM_VDD_2.8V";
                                        regulator-min-microvolt = <2800000>;
                                        regulator-max-microvolt = <2800000>;
-                                       regulator-always-on;
-                                       regulator-mem-off;
                                };
 
                                ldo23_reg: ldo23 {
                                        regulator-name = "VMEM_VDDF_3.0V";
                                        regulator-min-microvolt = <2850000>;
                                        regulator-max-microvolt = <2850000>;
-                                       regulator-always-on;
-                                       regulator-mem-off;
                                };
 
                                buck9_reg: buck9 {
                };
        };
 
+       i2c_max77693: i2c-gpio-1 {
+               compatible = "i2c-gpio";
+               gpios = <&gpm2 0 GPIO_ACTIVE_HIGH>, <&gpm2 1 GPIO_ACTIVE_HIGH>;
+               i2c-gpio,delay-us = <2>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+               status = "okay";
+
+               max77693@66 {
+                       compatible = "maxim,max77693";
+                       interrupt-parent = <&gpx1>;
+                       interrupts = <5 2>;
+                       reg = <0x66>;
+
+                       regulators {
+                               esafeout1_reg: ESAFEOUT1@1 {
+                                       regulator-name = "ESAFEOUT1";
+                               };
+                               esafeout2_reg: ESAFEOUT2@2 {
+                                       regulator-name = "ESAFEOUT2";
+                               };
+                               charger_reg: CHARGER@0 {
+                                       regulator-name = "CHARGER";
+                                       regulator-min-microamp = <60000>;
+                                       regulator-max-microamp = <2580000>;
+                               };
+                       };
+               };
+       };
+
        mmc@12550000 {
                num-slots = <1>;
                broken-cd;
                io-channels = <&adc 2>;  /* Battery temperature */
        };
 };
+
+&pinctrl_0 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&sleep0>;
+
+       sleep0: sleep-states {
+               PIN_SLP(gpa0-0, INPUT, NONE);
+               PIN_SLP(gpa0-1, OUT0, NONE);
+               PIN_SLP(gpa0-2, INPUT, NONE);
+               PIN_SLP(gpa0-3, INPUT, UP);
+               PIN_SLP(gpa0-4, INPUT, NONE);
+               PIN_SLP(gpa0-5, INPUT, DOWN);
+               PIN_SLP(gpa0-6, INPUT, DOWN);
+               PIN_SLP(gpa0-7, INPUT, UP);
+
+               PIN_SLP(gpa1-0, INPUT, DOWN);
+               PIN_SLP(gpa1-1, INPUT, DOWN);
+               PIN_SLP(gpa1-2, INPUT, DOWN);
+               PIN_SLP(gpa1-3, INPUT, DOWN);
+               PIN_SLP(gpa1-4, INPUT, DOWN);
+               PIN_SLP(gpa1-5, INPUT, DOWN);
+
+               PIN_SLP(gpb-0, INPUT, NONE);
+               PIN_SLP(gpb-1, INPUT, NONE);
+               PIN_SLP(gpb-2, INPUT, NONE);
+               PIN_SLP(gpb-3, INPUT, NONE);
+               PIN_SLP(gpb-4, INPUT, DOWN);
+               PIN_SLP(gpb-5, INPUT, UP);
+               PIN_SLP(gpb-6, INPUT, DOWN);
+               PIN_SLP(gpb-7, INPUT, DOWN);
+
+               PIN_SLP(gpc0-0, INPUT, DOWN);
+               PIN_SLP(gpc0-1, INPUT, DOWN);
+               PIN_SLP(gpc0-2, INPUT, DOWN);
+               PIN_SLP(gpc0-3, INPUT, DOWN);
+               PIN_SLP(gpc0-4, INPUT, DOWN);
+
+               PIN_SLP(gpc1-0, INPUT, NONE);
+               PIN_SLP(gpc1-1, PREV, NONE);
+               PIN_SLP(gpc1-2, INPUT, NONE);
+               PIN_SLP(gpc1-3, INPUT, NONE);
+               PIN_SLP(gpc1-4, INPUT, NONE);
+
+               PIN_SLP(gpd0-0, INPUT, DOWN);
+               PIN_SLP(gpd0-1, INPUT, DOWN);
+               PIN_SLP(gpd0-2, INPUT, NONE);
+               PIN_SLP(gpd0-3, INPUT, NONE);
+
+               PIN_SLP(gpd1-0, INPUT, DOWN);
+               PIN_SLP(gpd1-1, INPUT, DOWN);
+               PIN_SLP(gpd1-2, INPUT, NONE);
+               PIN_SLP(gpd1-3, INPUT, NONE);
+
+               PIN_SLP(gpf0-0, INPUT, NONE);
+               PIN_SLP(gpf0-1, INPUT, NONE);
+               PIN_SLP(gpf0-2, INPUT, DOWN);
+               PIN_SLP(gpf0-3, INPUT, DOWN);
+               PIN_SLP(gpf0-4, INPUT, NONE);
+               PIN_SLP(gpf0-5, INPUT, DOWN);
+               PIN_SLP(gpf0-6, INPUT, NONE);
+               PIN_SLP(gpf0-7, INPUT, DOWN);
+
+               PIN_SLP(gpf1-0, INPUT, DOWN);
+               PIN_SLP(gpf1-1, INPUT, DOWN);
+               PIN_SLP(gpf1-2, INPUT, DOWN);
+               PIN_SLP(gpf1-3, INPUT, DOWN);
+               PIN_SLP(gpf1-4, INPUT, NONE);
+               PIN_SLP(gpf1-5, INPUT, NONE);
+               PIN_SLP(gpf1-6, INPUT, DOWN);
+               PIN_SLP(gpf1-7, PREV, NONE);
+
+               PIN_SLP(gpf2-0, PREV, NONE);
+               PIN_SLP(gpf2-1, INPUT, DOWN);
+               PIN_SLP(gpf2-2, INPUT, DOWN);
+               PIN_SLP(gpf2-3, INPUT, DOWN);
+               PIN_SLP(gpf2-4, INPUT, DOWN);
+               PIN_SLP(gpf2-5, INPUT, DOWN);
+               PIN_SLP(gpf2-6, INPUT, NONE);
+               PIN_SLP(gpf2-7, INPUT, NONE);
+
+               PIN_SLP(gpf3-0, INPUT, NONE);
+               PIN_SLP(gpf3-1, PREV, NONE);
+               PIN_SLP(gpf3-2, PREV, NONE);
+               PIN_SLP(gpf3-3, PREV, NONE);
+               PIN_SLP(gpf3-4, OUT1, NONE);
+               PIN_SLP(gpf3-5, INPUT, DOWN);
+
+               PIN_SLP(gpj0-0, PREV, NONE);
+               PIN_SLP(gpj0-1, PREV, NONE);
+               PIN_SLP(gpj0-2, PREV, NONE);
+               PIN_SLP(gpj0-3, INPUT, DOWN);
+               PIN_SLP(gpj0-4, PREV, NONE);
+               PIN_SLP(gpj0-5, PREV, NONE);
+               PIN_SLP(gpj0-6, INPUT, DOWN);
+               PIN_SLP(gpj0-7, INPUT, DOWN);
+
+               PIN_SLP(gpj1-0, INPUT, DOWN);
+               PIN_SLP(gpj1-1, PREV, NONE);
+               PIN_SLP(gpj1-2, PREV, NONE);
+               PIN_SLP(gpj1-3, INPUT, DOWN);
+               PIN_SLP(gpj1-4, INPUT, DOWN);
+       };
+};
+
+&pinctrl_1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&sleep1>;
+
+       sleep1: sleep-states {
+               PIN_SLP(gpk0-0, PREV, NONE);
+               PIN_SLP(gpk0-1, PREV, NONE);
+               PIN_SLP(gpk0-2, OUT0, NONE);
+               PIN_SLP(gpk0-3, PREV, NONE);
+               PIN_SLP(gpk0-4, PREV, NONE);
+               PIN_SLP(gpk0-5, PREV, NONE);
+               PIN_SLP(gpk0-6, PREV, NONE);
+
+               PIN_SLP(gpk1-0, INPUT, DOWN);
+               PIN_SLP(gpk1-1, INPUT, DOWN);
+               PIN_SLP(gpk1-2, INPUT, DOWN);
+               PIN_SLP(gpk1-3, PREV, NONE);
+               PIN_SLP(gpk1-4, PREV, NONE);
+               PIN_SLP(gpk1-5, PREV, NONE);
+               PIN_SLP(gpk1-6, PREV, NONE);
+
+               PIN_SLP(gpk2-0, INPUT, DOWN);
+               PIN_SLP(gpk2-1, INPUT, DOWN);
+               PIN_SLP(gpk2-2, INPUT, DOWN);
+               PIN_SLP(gpk2-3, INPUT, DOWN);
+               PIN_SLP(gpk2-4, INPUT, DOWN);
+               PIN_SLP(gpk2-5, INPUT, DOWN);
+               PIN_SLP(gpk2-6, INPUT, DOWN);
+
+               PIN_SLP(gpk3-0, OUT0, NONE);
+               PIN_SLP(gpk3-1, INPUT, NONE);
+               PIN_SLP(gpk3-2, INPUT, DOWN);
+               PIN_SLP(gpk3-3, INPUT, NONE);
+               PIN_SLP(gpk3-4, INPUT, NONE);
+               PIN_SLP(gpk3-5, INPUT, NONE);
+               PIN_SLP(gpk3-6, INPUT, NONE);
+
+               PIN_SLP(gpl0-0, INPUT, DOWN);
+               PIN_SLP(gpl0-1, INPUT, DOWN);
+               PIN_SLP(gpl0-2, INPUT, DOWN);
+               PIN_SLP(gpl0-3, INPUT, DOWN);
+               PIN_SLP(gpl0-4, PREV, NONE);
+               PIN_SLP(gpl0-6, PREV, NONE);
+
+               PIN_SLP(gpl1-0, INPUT, DOWN);
+               PIN_SLP(gpl1-1, INPUT, DOWN);
+               PIN_SLP(gpl2-0, INPUT, DOWN);
+               PIN_SLP(gpl2-1, INPUT, DOWN);
+               PIN_SLP(gpl2-2, INPUT, DOWN);
+               PIN_SLP(gpl2-3, INPUT, DOWN);
+               PIN_SLP(gpl2-4, INPUT, DOWN);
+               PIN_SLP(gpl2-5, INPUT, DOWN);
+               PIN_SLP(gpl2-6, PREV, NONE);
+               PIN_SLP(gpl2-7, INPUT, DOWN);
+
+               PIN_SLP(gpm0-0, INPUT, DOWN);
+               PIN_SLP(gpm0-1, INPUT, DOWN);
+               PIN_SLP(gpm0-2, INPUT, DOWN);
+               PIN_SLP(gpm0-3, INPUT, DOWN);
+               PIN_SLP(gpm0-4, INPUT, DOWN);
+               PIN_SLP(gpm0-5, INPUT, DOWN);
+               PIN_SLP(gpm0-6, INPUT, DOWN);
+               PIN_SLP(gpm0-7, INPUT, DOWN);
+
+               PIN_SLP(gpm1-0, INPUT, DOWN);
+               PIN_SLP(gpm1-1, INPUT, DOWN);
+               PIN_SLP(gpm1-2, INPUT, NONE);
+               PIN_SLP(gpm1-3, INPUT, NONE);
+               PIN_SLP(gpm1-4, INPUT, NONE);
+               PIN_SLP(gpm1-5, INPUT, NONE);
+               PIN_SLP(gpm1-6, INPUT, DOWN);
+
+               PIN_SLP(gpm2-0, INPUT, NONE);
+               PIN_SLP(gpm2-1, INPUT, NONE);
+               PIN_SLP(gpm2-2, INPUT, DOWN);
+               PIN_SLP(gpm2-3, INPUT, DOWN);
+               PIN_SLP(gpm2-4, INPUT, DOWN);
+
+               PIN_SLP(gpm3-0, PREV, NONE);
+               PIN_SLP(gpm3-1, PREV, NONE);
+               PIN_SLP(gpm3-2, PREV, NONE);
+               PIN_SLP(gpm3-3, OUT1, NONE);
+               PIN_SLP(gpm3-4, INPUT, DOWN);
+               PIN_SLP(gpm3-5, INPUT, DOWN);
+               PIN_SLP(gpm3-6, INPUT, DOWN);
+               PIN_SLP(gpm3-7, INPUT, DOWN);
+
+               PIN_SLP(gpm4-0, INPUT, DOWN);
+               PIN_SLP(gpm4-1, INPUT, DOWN);
+               PIN_SLP(gpm4-2, INPUT, DOWN);
+               PIN_SLP(gpm4-3, INPUT, DOWN);
+               PIN_SLP(gpm4-4, INPUT, DOWN);
+               PIN_SLP(gpm4-5, INPUT, DOWN);
+               PIN_SLP(gpm4-6, INPUT, DOWN);
+               PIN_SLP(gpm4-7, INPUT, DOWN);
+
+               PIN_SLP(gpy0-0, INPUT, DOWN);
+               PIN_SLP(gpy0-1, INPUT, DOWN);
+               PIN_SLP(gpy0-2, INPUT, DOWN);
+               PIN_SLP(gpy0-3, INPUT, DOWN);
+               PIN_SLP(gpy0-4, INPUT, DOWN);
+               PIN_SLP(gpy0-5, INPUT, DOWN);
+
+               PIN_SLP(gpy1-0, INPUT, DOWN);
+               PIN_SLP(gpy1-1, INPUT, DOWN);
+               PIN_SLP(gpy1-2, INPUT, DOWN);
+               PIN_SLP(gpy1-3, INPUT, DOWN);
+
+               PIN_SLP(gpy2-0, PREV, NONE);
+               PIN_SLP(gpy2-1, INPUT, DOWN);
+               PIN_SLP(gpy2-2, INPUT, NONE);
+               PIN_SLP(gpy2-3, INPUT, NONE);
+               PIN_SLP(gpy2-4, INPUT, NONE);
+               PIN_SLP(gpy2-5, INPUT, NONE);
+
+               PIN_SLP(gpy3-0, INPUT, DOWN);
+               PIN_SLP(gpy3-1, INPUT, DOWN);
+               PIN_SLP(gpy3-2, INPUT, DOWN);
+               PIN_SLP(gpy3-3, INPUT, DOWN);
+               PIN_SLP(gpy3-4, INPUT, DOWN);
+               PIN_SLP(gpy3-5, INPUT, DOWN);
+               PIN_SLP(gpy3-6, INPUT, DOWN);
+               PIN_SLP(gpy3-7, INPUT, DOWN);
+
+               PIN_SLP(gpy4-0, INPUT, DOWN);
+               PIN_SLP(gpy4-1, INPUT, DOWN);
+               PIN_SLP(gpy4-2, INPUT, DOWN);
+               PIN_SLP(gpy4-3, INPUT, DOWN);
+               PIN_SLP(gpy4-4, INPUT, DOWN);
+               PIN_SLP(gpy4-5, INPUT, DOWN);
+               PIN_SLP(gpy4-6, INPUT, DOWN);
+               PIN_SLP(gpy4-7, INPUT, DOWN);
+
+               PIN_SLP(gpy5-0, INPUT, DOWN);
+               PIN_SLP(gpy5-1, INPUT, DOWN);
+               PIN_SLP(gpy5-2, INPUT, DOWN);
+               PIN_SLP(gpy5-3, INPUT, DOWN);
+               PIN_SLP(gpy5-4, INPUT, DOWN);
+               PIN_SLP(gpy5-5, INPUT, DOWN);
+               PIN_SLP(gpy5-6, INPUT, DOWN);
+               PIN_SLP(gpy5-7, INPUT, DOWN);
+
+               PIN_SLP(gpy6-0, INPUT, DOWN);
+               PIN_SLP(gpy6-1, INPUT, DOWN);
+               PIN_SLP(gpy6-2, INPUT, DOWN);
+               PIN_SLP(gpy6-3, INPUT, DOWN);
+               PIN_SLP(gpy6-4, INPUT, DOWN);
+               PIN_SLP(gpy6-5, INPUT, DOWN);
+               PIN_SLP(gpy6-6, INPUT, DOWN);
+               PIN_SLP(gpy6-7, INPUT, DOWN);
+       };
+};
+
+&pinctrl_2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&sleep2>;
+
+       sleep2: sleep-states {
+               PIN_SLP(gpz-0, INPUT, DOWN);
+               PIN_SLP(gpz-1, INPUT, DOWN);
+               PIN_SLP(gpz-2, INPUT, DOWN);
+               PIN_SLP(gpz-3, INPUT, DOWN);
+               PIN_SLP(gpz-4, INPUT, DOWN);
+               PIN_SLP(gpz-5, INPUT, DOWN);
+               PIN_SLP(gpz-6, INPUT, DOWN);
+       };
+};
+
+&pinctrl_3 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&sleep3>;
+
+       sleep3: sleep-states {
+               PIN_SLP(gpv0-0, INPUT, DOWN);
+               PIN_SLP(gpv0-1, INPUT, DOWN);
+               PIN_SLP(gpv0-2, INPUT, DOWN);
+               PIN_SLP(gpv0-3, INPUT, DOWN);
+               PIN_SLP(gpv0-4, INPUT, DOWN);
+               PIN_SLP(gpv0-5, INPUT, DOWN);
+               PIN_SLP(gpv0-6, INPUT, DOWN);
+               PIN_SLP(gpv0-7, INPUT, DOWN);
+
+               PIN_SLP(gpv1-0, INPUT, DOWN);
+               PIN_SLP(gpv1-1, INPUT, DOWN);
+               PIN_SLP(gpv1-2, INPUT, DOWN);
+               PIN_SLP(gpv1-3, INPUT, DOWN);
+               PIN_SLP(gpv1-4, INPUT, DOWN);
+               PIN_SLP(gpv1-5, INPUT, DOWN);
+               PIN_SLP(gpv1-6, INPUT, DOWN);
+               PIN_SLP(gpv1-7, INPUT, DOWN);
+
+               PIN_SLP(gpv2-0, INPUT, DOWN);
+               PIN_SLP(gpv2-1, INPUT, DOWN);
+               PIN_SLP(gpv2-2, INPUT, DOWN);
+               PIN_SLP(gpv2-3, INPUT, DOWN);
+               PIN_SLP(gpv2-4, INPUT, DOWN);
+               PIN_SLP(gpv2-5, INPUT, DOWN);
+               PIN_SLP(gpv2-6, INPUT, DOWN);
+               PIN_SLP(gpv2-7, INPUT, DOWN);
+
+               PIN_SLP(gpv3-0, INPUT, DOWN);
+               PIN_SLP(gpv3-1, INPUT, DOWN);
+               PIN_SLP(gpv3-2, INPUT, DOWN);
+               PIN_SLP(gpv3-3, INPUT, DOWN);
+               PIN_SLP(gpv3-4, INPUT, DOWN);
+               PIN_SLP(gpv3-5, INPUT, DOWN);
+               PIN_SLP(gpv3-6, INPUT, DOWN);
+               PIN_SLP(gpv3-7, INPUT, DOWN);
+
+               PIN_SLP(gpv4-0, INPUT, DOWN);
+       };
+};
index d8bc059..0f6ec93 100644 (file)
 / {
        compatible = "samsung,exynos4412", "samsung,exynos4";
 
+       cpus {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               cpu@A00 {
+                       device_type = "cpu";
+                       compatible = "arm,cortex-a9";
+                       reg = <0xA00>;
+               };
+
+               cpu@A01 {
+                       device_type = "cpu";
+                       compatible = "arm,cortex-a9";
+                       reg = <0xA01>;
+               };
+
+               cpu@A02 {
+                       device_type = "cpu";
+                       compatible = "arm,cortex-a9";
+                       reg = <0xA02>;
+               };
+
+               cpu@A03 {
+                       device_type = "cpu";
+                       compatible = "arm,cortex-a9";
+                       reg = <0xA03>;
+               };
+       };
+
        combiner: interrupt-controller@10440000 {
                samsung,combiner-nr = <20>;
        };
index 0865a2e..c141931 100644 (file)
  * published by the Free Software Foundation.
 */
 
+#define PIN_PULL_NONE          0
+#define PIN_PULL_DOWN          1
+#define PIN_PULL_UP            3
+
+#define PIN_PDN_OUT0           0
+#define PIN_PDN_OUT1           1
+#define PIN_PDN_INPUT          2
+#define PIN_PDN_PREV           3
+
+#define PIN_SLP(_pin, _mode, _pull)                            \
+       _pin {                                                  \
+               samsung,pins = #_pin;                           \
+               samsung,pin-con-pdn = <PIN_PDN_ ##_mode>;       \
+               samsung,pin-pud-pdn = <PIN_PULL_ ##_pull>;      \
+       }
+
 / {
        pinctrl@11400000 {
                gpa0: gpa0 {
index 3acd97e..7e728a1 100644 (file)
@@ -7,12 +7,13 @@
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation.
-*/
+ */
 
 /dts-v1/;
-#include "exynos5250.dtsi"
+#include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/interrupt-controller/irq.h>
 #include <dt-bindings/input/input.h>
+#include "exynos5250.dtsi"
 
 / {
        model = "Insignal Arndale evaluation board based on EXYNOS5250";
                bootargs = "console=ttySAC2,115200";
        };
 
-       rtc@101E0000 {
-               status = "okay";
-       };
-
-       codec@11000000 {
-               samsung,mfc-r = <0x43000000 0x800000>;
-               samsung,mfc-l = <0x51000000 0x800000>;
-       };
-
-       i2c@12C60000 {
-               samsung,i2c-sda-delay = <100>;
-               samsung,i2c-max-bus-freq = <20000>;
-               samsung,i2c-slave-addr = <0x66>;
-               status = "okay";
-
-               s5m8767_pmic@66 {
-                       compatible = "samsung,s5m8767-pmic";
-                       reg = <0x66>;
-                       interrupt-parent = <&gpx3>;
-                       interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
-
-                       vinb1-supply = <&main_dc_reg>;
-                       vinb2-supply = <&main_dc_reg>;
-                       vinb3-supply = <&main_dc_reg>;
-                       vinb4-supply = <&main_dc_reg>;
-                       vinb5-supply = <&main_dc_reg>;
-                       vinb6-supply = <&main_dc_reg>;
-                       vinb7-supply = <&main_dc_reg>;
-                       vinb8-supply = <&main_dc_reg>;
-                       vinb9-supply = <&main_dc_reg>;
-
-                       vinl1-supply = <&buck7_reg>;
-                       vinl2-supply = <&buck7_reg>;
-                       vinl3-supply = <&buck7_reg>;
-                       vinl4-supply = <&main_dc_reg>;
-                       vinl5-supply = <&main_dc_reg>;
-                       vinl6-supply = <&main_dc_reg>;
-                       vinl7-supply = <&main_dc_reg>;
-                       vinl8-supply = <&buck8_reg>;
-                       vinl9-supply = <&buck8_reg>;
-
-                       s5m8767,pmic-buck2-dvs-voltage = <1300000>;
-                       s5m8767,pmic-buck3-dvs-voltage = <1100000>;
-                       s5m8767,pmic-buck4-dvs-voltage = <1200000>;
-                       s5m8767,pmic-buck-dvs-gpios = <&gpd1 0 0>,
-                                                       <&gpd1 1 0>,
-                                                       <&gpd1 2 0>;
-                       s5m8767,pmic-buck-ds-gpios = <&gpx2 3 0>,
-                                                       <&gpx2 4 0>,
-                                                       <&gpx2 5 0>;
-                       regulators {
-                               ldo1_reg: LDO1 {
-                                       regulator-name = "VDD_ALIVE_1.0V";
-                                       regulator-min-microvolt = <1100000>;
-                                       regulator-max-microvolt = <1100000>;
-                                       regulator-always-on;
-                                       regulator-boot-on;
-                                       op_mode = <1>;
-                               };
-
-                               ldo2_reg: LDO2 {
-                                       regulator-name = "VDD_28IO_DP_1.35V";
-                                       regulator-min-microvolt = <1200000>;
-                                       regulator-max-microvolt = <1200000>;
-                                       regulator-always-on;
-                                       regulator-boot-on;
-                                       op_mode = <1>;
-                               };
-
-                               ldo3_reg: LDO3 {
-                                       regulator-name = "VDD_COMMON1_1.8V";
-                                       regulator-min-microvolt = <1800000>;
-                                       regulator-max-microvolt = <1800000>;
-                                       regulator-always-on;
-                                       regulator-boot-on;
-                                       op_mode = <1>;
-                               };
-
-                               ldo4_reg: LDO4 {
-                                       regulator-name = "VDD_IOPERI_1.8V";
-                                       regulator-min-microvolt = <1800000>;
-                                       regulator-max-microvolt = <1800000>;
-                                       regulator-always-on;
-                                       op_mode = <1>;
-                               };
-
-                               ldo5_reg: LDO5 {
-                                       regulator-name = "VDD_EXT_1.8V";
-                                       regulator-min-microvolt = <1800000>;
-                                       regulator-max-microvolt = <1800000>;
-                                       regulator-always-on;
-                                       regulator-boot-on;
-                                       op_mode = <1>;
-                               };
-
-                               ldo6_reg: LDO6 {
-                                       regulator-name = "VDD_MPLL_1.1V";
-                                       regulator-min-microvolt = <1100000>;
-                                       regulator-max-microvolt = <1100000>;
-                                       regulator-always-on;
-                                       regulator-boot-on;
-                                       op_mode = <1>;
-                               };
-
-                               ldo7_reg: LDO7 {
-                                       regulator-name = "VDD_XPLL_1.1V";
-                                       regulator-min-microvolt = <1100000>;
-                                       regulator-max-microvolt = <1100000>;
-                                       regulator-always-on;
-                                       regulator-boot-on;
-                                       op_mode = <1>;
-                               };
-
-                               ldo8_reg: LDO8 {
-                                       regulator-name = "VDD_COMMON2_1.0V";
-                                       regulator-min-microvolt = <1000000>;
-                                       regulator-max-microvolt = <1000000>;
-                                       regulator-always-on;
-                                       regulator-boot-on;
-                                       op_mode = <1>;
-                               };
-
-                               ldo9_reg: LDO9 {
-                                       regulator-name = "VDD_33ON_3.0V";
-                                       regulator-min-microvolt = <3000000>;
-                                       regulator-max-microvolt = <3000000>;
-                                       op_mode = <1>;
-                               };
-
-                               ldo10_reg: LDO10 {
-                                       regulator-name = "VDD_COMMON3_1.8V";
-                                       regulator-min-microvolt = <1800000>;
-                                       regulator-max-microvolt = <1800000>;
-                                       regulator-always-on;
-                                       regulator-boot-on;
-                                       op_mode = <1>;
-                               };
-
-                               ldo11_reg: LDO11 {
-                                       regulator-name = "VDD_ABB2_1.8V";
-                                       regulator-min-microvolt = <1800000>;
-                                       regulator-max-microvolt = <1800000>;
-                                       regulator-always-on;
-                                       regulator-boot-on;
-                                       op_mode = <1>;
-                               };
-
-                               ldo12_reg: LDO12 {
-                                       regulator-name = "VDD_USB_3.0V";
-                                       regulator-min-microvolt = <3000000>;
-                                       regulator-max-microvolt = <3000000>;
-                                       regulator-always-on;
-                                       regulator-boot-on;
-                                       op_mode = <1>;
-                               };
-
-                               ldo13_reg: LDO13 {
-                                       regulator-name = "VDDQ_C2C_W_1.8V";
-                                       regulator-min-microvolt = <1800000>;
-                                       regulator-max-microvolt = <1800000>;
-                                       regulator-always-on;
-                                       regulator-boot-on;
-                                       op_mode = <1>;
-                               };
-
-                               ldo14_reg: LDO14 {
-                                       regulator-name = "VDD18_ABB0_3_1.8V";
-                                       regulator-min-microvolt = <1800000>;
-                                       regulator-max-microvolt = <1800000>;
-                                       regulator-always-on;
-                                       regulator-boot-on;
-                                       op_mode = <1>;
-                               };
-
-                               ldo15_reg: LDO15 {
-                                       regulator-name = "VDD10_COMMON4_1.0V";
-                                       regulator-min-microvolt = <1000000>;
-                                       regulator-max-microvolt = <1000000>;
-                                       regulator-always-on;
-                                       regulator-boot-on;
-                                       op_mode = <1>;
-                               };
-
-                               ldo16_reg: LDO16 {
-                                       regulator-name = "VDD18_HSIC_1.8V";
-                                       regulator-min-microvolt = <1800000>;
-                                       regulator-max-microvolt = <1800000>;
-                                       regulator-always-on;
-                                       regulator-boot-on;
-                                       op_mode = <1>;
-                               };
-
-                               ldo17_reg: LDO17 {
-                                       regulator-name = "VDDQ_MMC2_3_2.8V";
-                                       regulator-min-microvolt = <2800000>;
-                                       regulator-max-microvolt = <2800000>;
-                                       regulator-always-on;
-                                       regulator-boot-on;
-                                       op_mode = <1>;
-                               };
-
-                               ldo18_reg: LDO18 {
-                                       regulator-name = "VDD_33ON_2.8V";
-                                       regulator-min-microvolt = <2800000>;
-                                       regulator-max-microvolt = <2800000>;
-                                       op_mode = <1>;
-                               };
-
-                               ldo22_reg: LDO22 {
-                                       regulator-name = "EXT_33_OFF";
-                                       regulator-min-microvolt = <3300000>;
-                                       regulator-max-microvolt = <3300000>;
-                                       op_mode = <1>;
-                               };
-
-                               ldo23_reg: LDO23 {
-                                       regulator-name = "EXT_28_OFF";
-                                       regulator-min-microvolt = <2800000>;
-                                       regulator-max-microvolt = <2800000>;
-                                       op_mode = <1>;
-                               };
-
-                               ldo25_reg: LDO25 {
-                                       regulator-name = "PVDD_LDO25";
-                                       regulator-min-microvolt = <1200000>;
-                                       regulator-max-microvolt = <1200000>;
-                                       op_mode = <1>;
-                               };
-
-                               ldo26_reg: LDO26 {
-                                       regulator-name = "EXT_18_OFF";
-                                       regulator-min-microvolt = <1800000>;
-                                       regulator-max-microvolt = <1800000>;
-                                       op_mode = <1>;
-                               };
-
-                               buck1_reg: BUCK1 {
-                                       regulator-name = "vdd_mif";
-                                       regulator-min-microvolt = <950000>;
-                                       regulator-max-microvolt = <1200000>;
-                                       regulator-always-on;
-                                       regulator-boot-on;
-                                       op_mode = <1>;
-                               };
-
-                               buck2_reg: BUCK2 {
-                                       regulator-name = "vdd_arm";
-                                       regulator-min-microvolt = <912500>;
-                                       regulator-max-microvolt = <1300000>;
-                                       regulator-always-on;
-                                       regulator-boot-on;
-                                       op_mode = <1>;
-                               };
-
-                               buck3_reg: BUCK3 {
-                                       regulator-name = "vdd_int";
-                                       regulator-min-microvolt = <900000>;
-                                       regulator-max-microvolt = <1200000>;
-                                       regulator-always-on;
-                                       regulator-boot-on;
-                                       op_mode = <1>;
-                               };
-
-                               buck4_reg: BUCK4 {
-                                       regulator-name = "vdd_g3d";
-                                       regulator-min-microvolt = <1000000>;
-                                       regulator-max-microvolt = <1000000>;
-                                       regulator-always-on;
-                                       regulator-boot-on;
-                                       op_mode = <1>;
-                               };
-
-                               buck5_reg: BUCK5 {
-                                       regulator-name = "VDD_MEM_1.35V";
-                                       regulator-min-microvolt = <750000>;
-                                       regulator-max-microvolt = <1355000>;
-                                       regulator-always-on;
-                                       regulator-boot-on;
-                                       op_mode = <1>;
-                               };
-
-                               buck7_reg: BUCK7 {
-                                       regulator-name = "PVDD_BUCK7";
-                                       regulator-always-on;
-                                       op_mode = <1>;
-                               };
-
-                               buck8_reg: BUCK8 {
-                                       regulator-name = "PVDD_BUCK8";
-                                       regulator-always-on;
-                                       op_mode = <1>;
-                               };
-
-                               buck9_reg: BUCK9 {
-                                       regulator-name = "VDD_33_OFF_EXT1";
-                                       regulator-min-microvolt = <750000>;
-                                       regulator-max-microvolt = <3000000>;
-                                       op_mode = <1>;
-                               };
-                       };
-               };
-       };
-
-       i2c@12C80000 {
-               status = "okay";
-
-               samsung,i2c-sda-delay = <100>;
-               samsung,i2c-max-bus-freq = <66000>;
-               samsung,i2c-slave-addr = <0x50>;
-
-               hdmiddc@50 {
-                       compatible = "samsung,exynos4210-hdmiddc";
-                       reg = <0x50>;
-               };
-       };
-
-       i2c@12C90000 {
-               status = "okay";
-
-               wm1811a@1a {
-
-                       compatible = "wlf,wm1811";
-                       reg = <0x1a>;
-
-                       AVDD2-supply = <&main_dc_reg>;
-                       CPVDD-supply = <&main_dc_reg>;
-                       DBVDD1-supply = <&main_dc_reg>;
-                       DBVDD2-supply = <&main_dc_reg>;
-                       DBVDD3-supply = <&main_dc_reg>;
-                       LDO1VDD-supply = <&main_dc_reg>;
-                       SPKVDD1-supply = <&main_dc_reg>;
-                       SPKVDD2-supply = <&main_dc_reg>;
-
-                       wlf,ldo1ena = <&gpb0 0 0>;
-                       wlf,ldo2ena = <&gpb0 1 0>;
-               };
-       };
-
-       i2c@12CE0000 {
-               status = "okay";
-
-               samsung,i2c-sda-delay = <100>;
-               samsung,i2c-max-bus-freq = <66000>;
-               samsung,i2c-slave-addr = <0x38>;
-
-               hdmiphy@38 {
-                       compatible = "samsung,exynos4212-hdmiphy";
-                       reg = <0x38>;
-               };
-       };
-
-       i2c@121D0000 {
-               status = "okay";
-               samsung,i2c-sda-delay = <100>;
-               samsung,i2c-max-bus-freq = <40000>;
-               samsung,i2c-slave-addr = <0x38>;
-
-               sata_phy_i2c:sata-phy@38 {
-                       compatible = "samsung,exynos-sataphy-i2c";
-                       reg = <0x38>;
-               };
-       };
-
-       sata@122F0000 {
-               status = "okay";
-       };
-
-       sata-phy@12170000 {
-               status = "okay";
-               samsung,exynos-sataphy-i2c-phandle = <&sata_phy_i2c>;
-       };
-
-       mmc_0: mmc@12200000 {
-               status = "okay";
-               num-slots = <1>;
-               broken-cd;
-               card-detect-delay = <200>;
-               samsung,dw-mshc-ciu-div = <3>;
-               samsung,dw-mshc-sdr-timing = <2 3>;
-               samsung,dw-mshc-ddr-timing = <1 2>;
-               vmmc-supply = <&mmc_reg>;
-               pinctrl-names = "default";
-               pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>;
-               bus-width = <8>;
-               cap-mmc-highspeed;
-       };
-
-       mmc_2: mmc@12220000 {
-               status = "okay";
-               num-slots = <1>;
-               card-detect-delay = <200>;
-               samsung,dw-mshc-ciu-div = <3>;
-               samsung,dw-mshc-sdr-timing = <2 3>;
-               samsung,dw-mshc-ddr-timing = <1 2>;
-               vmmc-supply = <&mmc_reg>;
-               pinctrl-names = "default";
-               pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
-               bus-width = <4>;
-               disable-wp;
-               cap-sd-highspeed;
-       };
-
-       i2s0: i2s@03830000 {
-               status = "okay";
-       };
-
        gpio_keys {
                compatible = "gpio-keys";
 
                menu {
                        label = "SW-TACT2";
-                       gpios = <&gpx1 4 1>;
+                       gpios = <&gpx1 4 GPIO_ACTIVE_LOW>;
                        linux,code = <KEY_MENU>;
                        gpio-key,wakeup;
                };
 
                home {
                        label = "SW-TACT3";
-                       gpios = <&gpx1 5 1>;
+                       gpios = <&gpx1 5 GPIO_ACTIVE_LOW>;
                        linux,code = <KEY_HOME>;
                        gpio-key,wakeup;
                };
 
                up {
                        label = "SW-TACT4";
-                       gpios = <&gpx1 6 1>;
+                       gpios = <&gpx1 6 GPIO_ACTIVE_LOW>;
                        linux,code = <KEY_UP>;
                        gpio-key,wakeup;
                };
 
                down {
                        label = "SW-TACT5";
-                       gpios = <&gpx1 7 1>;
+                       gpios = <&gpx1 7 GPIO_ACTIVE_LOW>;
                        linux,code = <KEY_DOWN>;
                        gpio-key,wakeup;
                };
 
                back {
                        label = "SW-TACT6";
-                       gpios = <&gpx2 0 1>;
+                       gpios = <&gpx2 0 GPIO_ACTIVE_LOW>;
                        linux,code = <KEY_BACK>;
                        gpio-key,wakeup;
                };
 
                wakeup {
                        label = "SW-TACT7";
-                       gpios = <&gpx2 1 1>;
+                       gpios = <&gpx2 1 GPIO_ACTIVE_LOW>;
                        linux,code = <KEY_WAKEUP>;
                        gpio-key,wakeup;
                };
        };
 
-       hdmi {
-               hpd-gpio = <&gpx3 7 2>;
-               vdd_osc-supply = <&ldo10_reg>;
-               vdd_pll-supply = <&ldo8_reg>;
-               vdd-supply = <&ldo8_reg>;
-       };
-
        regulators {
                compatible = "simple-bus";
                #address-cells = <1>;
                        regulator-name = "VDD_33ON_2.8V";
                        regulator-min-microvolt = <2800000>;
                        regulator-max-microvolt = <2800000>;
-                       gpio = <&gpx1 1 1>;
+                       gpio = <&gpx1 1 GPIO_ACTIVE_LOW>;
                        enable-active-high;
                };
 
                };
        };
 
-       dp-controller@145B0000 {
-               samsung,color-space = <0>;
-               samsung,dynamic-range = <0>;
-               samsung,ycbcr-coeff = <0>;
-               samsung,color-depth = <1>;
-               samsung,link-rate = <0x0a>;
-               samsung,lane-count = <4>;
-               status = "okay";
+       // SMSC USB3503 connected in hardware only mode as a PHY
+       usb_hub: usb-hub {
+               compatible = "smsc,usb3503a";
+
+               reset-gpios = <&gpx3 5 GPIO_ACTIVE_LOW>;
+               connect-gpios = <&gpd1 7 GPIO_ACTIVE_LOW>;
        };
+};
 
-       fimd: fimd@14400000 {
-               status = "okay";
-               display-timings {
-                       native-mode = <&timing0>;
-                       timing0: timing@0 {
-                               /* 2560x1600 DP panel */
-                               clock-frequency = <50000>;
-                               hactive = <2560>;
-                               vactive = <1600>;
-                               hfront-porch = <48>;
-                               hback-porch = <80>;
-                               hsync-len = <32>;
-                               vback-porch = <16>;
-                               vfront-porch = <8>;
-                               vsync-len = <6>;
-                       };
+&dp {
+       status = "okay";
+       samsung,color-space = <0>;
+       samsung,dynamic-range = <0>;
+       samsung,ycbcr-coeff = <0>;
+       samsung,color-depth = <1>;
+       samsung,link-rate = <0x0a>;
+       samsung,lane-count = <4>;
+};
+
+&fimd {
+       status = "okay";
+
+       display-timings {
+               native-mode = <&timing0>;
+
+               timing0: timing@0 {
+                       /* 2560x1600 DP panel */
+                       clock-frequency = <50000>;
+                       hactive = <2560>;
+                       vactive = <1600>;
+                       hfront-porch = <48>;
+                       hback-porch = <80>;
+                       hsync-len = <32>;
+                       vback-porch = <16>;
+                       vfront-porch = <8>;
+                       vsync-len = <6>;
                };
        };
+};
 
-       usb_hub_bus {
-               compatible = "simple-bus";
-               #address-cells = <1>;
-               #size-cells = <0>;
+&hdmi {
+       hpd-gpio = <&gpx3 7 GPIO_ACTIVE_LOW>;
+       vdd_osc-supply = <&ldo10_reg>;
+       vdd_pll-supply = <&ldo8_reg>;
+       vdd-supply = <&ldo8_reg>;
+};
+
+&i2c_0 {
+       status = "okay";
+       samsung,i2c-sda-delay = <100>;
+       samsung,i2c-max-bus-freq = <20000>;
+       samsung,i2c-slave-addr = <0x66>;
+
+       s5m8767_pmic@66 {
+               compatible = "samsung,s5m8767-pmic";
+               reg = <0x66>;
+               interrupt-parent = <&gpx3>;
+               interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
+
+               vinb1-supply = <&main_dc_reg>;
+               vinb2-supply = <&main_dc_reg>;
+               vinb3-supply = <&main_dc_reg>;
+               vinb4-supply = <&main_dc_reg>;
+               vinb5-supply = <&main_dc_reg>;
+               vinb6-supply = <&main_dc_reg>;
+               vinb7-supply = <&main_dc_reg>;
+               vinb8-supply = <&main_dc_reg>;
+               vinb9-supply = <&main_dc_reg>;
+
+               vinl1-supply = <&buck7_reg>;
+               vinl2-supply = <&buck7_reg>;
+               vinl3-supply = <&buck7_reg>;
+               vinl4-supply = <&main_dc_reg>;
+               vinl5-supply = <&main_dc_reg>;
+               vinl6-supply = <&main_dc_reg>;
+               vinl7-supply = <&main_dc_reg>;
+               vinl8-supply = <&buck8_reg>;
+               vinl9-supply = <&buck8_reg>;
+
+               s5m8767,pmic-buck2-dvs-voltage = <1300000>;
+               s5m8767,pmic-buck3-dvs-voltage = <1100000>;
+               s5m8767,pmic-buck4-dvs-voltage = <1200000>;
+               s5m8767,pmic-buck-dvs-gpios = <&gpd1 0 GPIO_ACTIVE_HIGH>,
+                                             <&gpd1 1 GPIO_ACTIVE_HIGH>,
+                                             <&gpd1 2 GPIO_ACTIVE_HIGH>;
+               s5m8767,pmic-buck-ds-gpios = <&gpx2 3 GPIO_ACTIVE_HIGH>,
+                                            <&gpx2 4 GPIO_ACTIVE_HIGH>,
+                                            <&gpx2 5 GPIO_ACTIVE_HIGH>;
+
+               regulators {
+                       ldo1_reg: LDO1 {
+                               regulator-name = "VDD_ALIVE_1.0V";
+                               regulator-min-microvolt = <1100000>;
+                               regulator-max-microvolt = <1100000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               op_mode = <1>;
+                       };
 
-               // SMSC USB3503 connected in hardware only mode as a PHY
-               usb_hub: usb_hub {
-                       compatible = "smsc,usb3503a";
+                       ldo2_reg: LDO2 {
+                               regulator-name = "VDD_28IO_DP_1.35V";
+                               regulator-min-microvolt = <1200000>;
+                               regulator-max-microvolt = <1200000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               op_mode = <1>;
+                       };
+
+                       ldo3_reg: LDO3 {
+                               regulator-name = "VDD_COMMON1_1.8V";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               op_mode = <1>;
+                       };
+
+                       ldo4_reg: LDO4 {
+                               regulator-name = "VDD_IOPERI_1.8V";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                               op_mode = <1>;
+                       };
+
+                       ldo5_reg: LDO5 {
+                               regulator-name = "VDD_EXT_1.8V";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               op_mode = <1>;
+                       };
+
+                       ldo6_reg: LDO6 {
+                               regulator-name = "VDD_MPLL_1.1V";
+                               regulator-min-microvolt = <1100000>;
+                               regulator-max-microvolt = <1100000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               op_mode = <1>;
+                       };
 
-                       reset-gpios = <&gpx3 5 1>;
-                       connect-gpios = <&gpd1 7 1>;
+                       ldo7_reg: LDO7 {
+                               regulator-name = "VDD_XPLL_1.1V";
+                               regulator-min-microvolt = <1100000>;
+                               regulator-max-microvolt = <1100000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               op_mode = <1>;
+                       };
+
+                       ldo8_reg: LDO8 {
+                               regulator-name = "VDD_COMMON2_1.0V";
+                               regulator-min-microvolt = <1000000>;
+                               regulator-max-microvolt = <1000000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               op_mode = <1>;
+                       };
+
+                       ldo9_reg: LDO9 {
+                               regulator-name = "VDD_33ON_3.0V";
+                               regulator-min-microvolt = <3000000>;
+                               regulator-max-microvolt = <3000000>;
+                               op_mode = <1>;
+                       };
+
+                       ldo10_reg: LDO10 {
+                               regulator-name = "VDD_COMMON3_1.8V";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               op_mode = <1>;
+                       };
+
+                       ldo11_reg: LDO11 {
+                               regulator-name = "VDD_ABB2_1.8V";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               op_mode = <1>;
+                       };
+
+                       ldo12_reg: LDO12 {
+                               regulator-name = "VDD_USB_3.0V";
+                               regulator-min-microvolt = <3000000>;
+                               regulator-max-microvolt = <3000000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               op_mode = <1>;
+                       };
+
+                       ldo13_reg: LDO13 {
+                               regulator-name = "VDDQ_C2C_W_1.8V";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               op_mode = <1>;
+                       };
+
+                       ldo14_reg: LDO14 {
+                               regulator-name = "VDD18_ABB0_3_1.8V";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               op_mode = <1>;
+                       };
+
+                       ldo15_reg: LDO15 {
+                               regulator-name = "VDD10_COMMON4_1.0V";
+                               regulator-min-microvolt = <1000000>;
+                               regulator-max-microvolt = <1000000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               op_mode = <1>;
+                       };
+
+                       ldo16_reg: LDO16 {
+                               regulator-name = "VDD18_HSIC_1.8V";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               op_mode = <1>;
+                       };
+
+                       ldo17_reg: LDO17 {
+                               regulator-name = "VDDQ_MMC2_3_2.8V";
+                               regulator-min-microvolt = <2800000>;
+                               regulator-max-microvolt = <2800000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               op_mode = <1>;
+                       };
+
+                       ldo18_reg: LDO18 {
+                               regulator-name = "VDD_33ON_2.8V";
+                               regulator-min-microvolt = <2800000>;
+                               regulator-max-microvolt = <2800000>;
+                               op_mode = <1>;
+                       };
+
+                       ldo22_reg: LDO22 {
+                               regulator-name = "EXT_33_OFF";
+                               regulator-min-microvolt = <3300000>;
+                               regulator-max-microvolt = <3300000>;
+                               op_mode = <1>;
+                       };
+
+                       ldo23_reg: LDO23 {
+                               regulator-name = "EXT_28_OFF";
+                               regulator-min-microvolt = <2800000>;
+                               regulator-max-microvolt = <2800000>;
+                               op_mode = <1>;
+                       };
+
+                       ldo25_reg: LDO25 {
+                               regulator-name = "PVDD_LDO25";
+                               regulator-min-microvolt = <1200000>;
+                               regulator-max-microvolt = <1200000>;
+                               op_mode = <1>;
+                       };
+
+                       ldo26_reg: LDO26 {
+                               regulator-name = "EXT_18_OFF";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               op_mode = <1>;
+                       };
+
+                       buck1_reg: BUCK1 {
+                               regulator-name = "vdd_mif";
+                               regulator-min-microvolt = <950000>;
+                               regulator-max-microvolt = <1200000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               op_mode = <1>;
+                       };
+
+                       buck2_reg: BUCK2 {
+                               regulator-name = "vdd_arm";
+                               regulator-min-microvolt = <912500>;
+                               regulator-max-microvolt = <1300000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               op_mode = <1>;
+                       };
+
+                       buck3_reg: BUCK3 {
+                               regulator-name = "vdd_int";
+                               regulator-min-microvolt = <900000>;
+                               regulator-max-microvolt = <1200000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               op_mode = <1>;
+                       };
+
+                       buck4_reg: BUCK4 {
+                               regulator-name = "vdd_g3d";
+                               regulator-min-microvolt = <1000000>;
+                               regulator-max-microvolt = <1000000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               op_mode = <1>;
+                       };
+
+                       buck5_reg: BUCK5 {
+                               regulator-name = "VDD_MEM_1.35V";
+                               regulator-min-microvolt = <750000>;
+                               regulator-max-microvolt = <1355000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               op_mode = <1>;
+                       };
+
+                       buck7_reg: BUCK7 {
+                               regulator-name = "PVDD_BUCK7";
+                               regulator-always-on;
+                               op_mode = <1>;
+                       };
+
+                       buck8_reg: BUCK8 {
+                               regulator-name = "PVDD_BUCK8";
+                               regulator-always-on;
+                               op_mode = <1>;
+                       };
+
+                       buck9_reg: BUCK9 {
+                               regulator-name = "VDD_33_OFF_EXT1";
+                               regulator-min-microvolt = <750000>;
+                               regulator-max-microvolt = <3000000>;
+                               op_mode = <1>;
+                       };
                };
        };
 };
+
+&i2c_2 {
+       status = "okay";
+
+       samsung,i2c-sda-delay = <100>;
+       samsung,i2c-max-bus-freq = <66000>;
+       samsung,i2c-slave-addr = <0x50>;
+
+       hdmiddc@50 {
+               compatible = "samsung,exynos4210-hdmiddc";
+               reg = <0x50>;
+       };
+};
+
+&i2c_3 {
+       status = "okay";
+
+       wm1811a@1a {
+               compatible = "wlf,wm1811";
+               reg = <0x1a>;
+
+               AVDD2-supply = <&main_dc_reg>;
+               CPVDD-supply = <&main_dc_reg>;
+               DBVDD1-supply = <&main_dc_reg>;
+               DBVDD2-supply = <&main_dc_reg>;
+               DBVDD3-supply = <&main_dc_reg>;
+               LDO1VDD-supply = <&main_dc_reg>;
+               SPKVDD1-supply = <&main_dc_reg>;
+               SPKVDD2-supply = <&main_dc_reg>;
+
+               wlf,ldo1ena = <&gpb0 0 GPIO_ACTIVE_HIGH>;
+               wlf,ldo2ena = <&gpb0 1 GPIO_ACTIVE_HIGH>;
+       };
+};
+
+&i2c_8 {
+       status = "okay";
+
+       samsung,i2c-sda-delay = <100>;
+       samsung,i2c-max-bus-freq = <66000>;
+       samsung,i2c-slave-addr = <0x38>;
+
+       hdmiphy@38 {
+               compatible = "samsung,exynos4212-hdmiphy";
+               reg = <0x38>;
+       };
+};
+
+&i2c_9 {
+       status = "okay";
+       samsung,i2c-sda-delay = <100>;
+       samsung,i2c-max-bus-freq = <40000>;
+       samsung,i2c-slave-addr = <0x38>;
+
+       sata_phy_i2c:sata-phy@38 {
+               compatible = "samsung,exynos-sataphy-i2c";
+               reg = <0x38>;
+       };
+};
+
+&i2s0 {
+       status = "okay";
+};
+
+&mfc {
+       samsung,mfc-r = <0x43000000 0x800000>;
+       samsung,mfc-l = <0x51000000 0x800000>;
+};
+
+&mmc_0 {
+       status = "okay";
+       num-slots = <1>;
+       broken-cd;
+       card-detect-delay = <200>;
+       samsung,dw-mshc-ciu-div = <3>;
+       samsung,dw-mshc-sdr-timing = <2 3>;
+       samsung,dw-mshc-ddr-timing = <1 2>;
+       vmmc-supply = <&mmc_reg>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>;
+       bus-width = <8>;
+       cap-mmc-highspeed;
+};
+
+&mmc_2 {
+       status = "okay";
+       num-slots = <1>;
+       card-detect-delay = <200>;
+       samsung,dw-mshc-ciu-div = <3>;
+       samsung,dw-mshc-sdr-timing = <2 3>;
+       samsung,dw-mshc-ddr-timing = <1 2>;
+       vmmc-supply = <&mmc_reg>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
+       bus-width = <4>;
+       disable-wp;
+       cap-sd-highspeed;
+};
+
+&rtc {
+       status = "okay";
+};
+
+&sata {
+       status = "okay";
+};
+
+&sata_phy {
+       status = "okay";
+       samsung,exynos-sataphy-i2c-phandle = <&sata_phy_i2c>;
+};
index 6a0f4c0..bc27cc2 100644 (file)
@@ -7,9 +7,11 @@
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation.
-*/
+ */
 
 /dts-v1/;
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/irq.h>
 #include "exynos5250.dtsi"
 
 / {
                bootargs = "root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M console=ttySAC2,115200 init=/linuxrc";
        };
 
-       rtc@101E0000 {
-               status = "okay";
-       };
-
-       i2c@12C60000 {
-               samsung,i2c-sda-delay = <100>;
-               samsung,i2c-max-bus-freq = <20000>;
-               status = "okay";
-
-               eeprom@50 {
-                       compatible = "samsung,s524ad0xd1";
-                       reg = <0x50>;
-               };
-
-               max77686@09 {
-                       compatible = "maxim,max77686";
-                       reg = <0x09>;
-                       interrupt-parent = <&gpx3>;
-                       interrupts = <2 0>;
-
-                       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.2V_LDO_OUT2";
-                                       regulator-min-microvolt = <1200000>;
-                                       regulator-max-microvolt = <1200000>;
-                                       regulator-always-on;
-                               };
-
-                               ldo3_reg: LDO3 {
-                                       regulator-name = "P1.8V_LDO_OUT3";
-                                       regulator-min-microvolt = <1800000>;
-                                       regulator-max-microvolt = <1800000>;
-                                       regulator-always-on;
-                               };
-
-                               ldo4_reg: LDO4 {
-                                       regulator-name = "P2.8V_LDO_OUT4";
-                                       regulator-min-microvolt = <2800000>;
-                                       regulator-max-microvolt = <2800000>;
-                               };
-
-                               ldo5_reg: LDO5 {
-                                       regulator-name = "P1.8V_LDO_OUT5";
-                                       regulator-min-microvolt = <1800000>;
-                                       regulator-max-microvolt = <1800000>;
-                               };
-
-                               ldo6_reg: LDO6 {
-                                       regulator-name = "P1.1V_LDO_OUT6";
-                                       regulator-min-microvolt = <1100000>;
-                                       regulator-max-microvolt = <1100000>;
-                                       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>;
-                               };
-
-                               ldo10_reg: LDO10 {
-                                       regulator-name = "P1.8V_LDO_OUT10";
-                                       regulator-min-microvolt = <1800000>;
-                                       regulator-max-microvolt = <1800000>;
-                               };
-
-                               ldo11_reg: LDO11 {
-                                       regulator-name = "P1.8V_LDO_OUT11";
-                                       regulator-min-microvolt = <1800000>;
-                                       regulator-max-microvolt = <1800000>;
-                               };
-
-                               ldo12_reg: LDO12 {
-                                       regulator-name = "P3.0V_LDO_OUT12";
-                                       regulator-min-microvolt = <3000000>;
-                                       regulator-max-microvolt = <3000000>;
-                               };
-
-                               ldo13_reg: LDO13 {
-                                       regulator-name = "P1.8V_LDO_OUT13";
-                                       regulator-min-microvolt = <1800000>;
-                                       regulator-max-microvolt = <1800000>;
-                               };
-
-                               ldo14_reg: LDO14 {
-                                       regulator-name = "P1.8V_LDO_OUT14";
-                                       regulator-min-microvolt = <1800000>;
-                                       regulator-max-microvolt = <1800000>;
-                               };
-
-                               ldo15_reg: LDO15 {
-                                       regulator-name = "P1.0V_LDO_OUT15";
-                                       regulator-min-microvolt = <1000000>;
-                                       regulator-max-microvolt = <1000000>;
-                               };
-
-                               ldo16_reg: LDO16 {
-                                       regulator-name = "P1.8V_LDO_OUT16";
-                                       regulator-min-microvolt = <1800000>;
-                                       regulator-max-microvolt = <1800000>;
-                               };
-
-                               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;
-                               };
-                       };
-               };
-       };
-
        vdd: fixed-regulator@0 {
                compatible = "regulator-fixed";
                regulator-name = "vdd-supply";
                regulator-always-on;
        };
 
-       i2c@12C70000 {
-               samsung,i2c-sda-delay = <100>;
-               samsung,i2c-max-bus-freq = <20000>;
-               status = "okay";
+       sound {
+               compatible = "samsung,smdk-wm8994";
 
-               eeprom@51 {
-                       compatible = "samsung,s524ad0xd1";
-                       reg = <0x51>;
+               samsung,i2s-controller = <&i2s0>;
+               samsung,audio-codec = <&wm8994>;
+       };
+
+       fixed-rate-clocks {
+               xxti {
+                       compatible = "samsung,clock-xxti";
+                       clock-frequency = <24000000>;
                };
 
-               wm8994: wm8994@1a {
-                       compatible = "wlf,wm8994";
-                       reg = <0x1a>;
+               codec_mclk: codec-mclk {
+                       compatible = "fixed-clock";
+                       #clock-cells = <0>;
+                       clock-frequency = <16934000>;
+               };
+       };
+};
 
-                       gpio-controller;
-                       #gpio-cells = <2>;
+&dp {
+       samsung,color-space = <0>;
+       samsung,dynamic-range = <0>;
+       samsung,ycbcr-coeff = <0>;
+       samsung,color-depth = <1>;
+       samsung,link-rate = <0x0a>;
+       samsung,lane-count = <4>;
+
+       pinctrl-names = "default";
+       pinctrl-0 = <&dp_hpd>;
+       status = "okay";
+};
 
-                       clocks = <&codec_mclk>;
-                       clock-names = "MCLK1";
+&ehci {
+       samsung,vbus-gpio = <&gpx2 6 GPIO_ACTIVE_HIGH>;
+};
 
-                       AVDD2-supply = <&vdd>;
-                       CPVDD-supply = <&vdd>;
-                       DBVDD-supply = <&dbvdd>;
-                       SPKVDD1-supply = <&spkvdd>;
-                       SPKVDD2-supply = <&spkvdd>;
+&fimd {
+       status = "okay";
+
+       display-timings {
+               native-mode = <&timing0>;
+
+               timing0: timing@0 {
+                       /* 1280x800 */
+                       clock-frequency = <50000>;
+                       hactive = <1280>;
+                       vactive = <800>;
+                       hfront-porch = <4>;
+                       hback-porch = <4>;
+                       hsync-len = <4>;
+                       vback-porch = <4>;
+                       vfront-porch = <4>;
+                       vsync-len = <4>;
                };
        };
+};
 
-       i2c@121D0000 {
-               samsung,i2c-sda-delay = <100>;
-               samsung,i2c-max-bus-freq = <40000>;
-               samsung,i2c-slave-addr = <0x38>;
-               status = "okay";
+&hdmi {
+       hpd-gpio = <&gpx3 7 GPIO_ACTIVE_HIGH>;
+};
 
-               sata_phy_i2c:sata-phy@38 {
-                       compatible = "samsung,exynos-sataphy-i2c";
-                       reg = <0x38>;
-               };
+&i2c_0 {
+       status = "okay";
+       samsung,i2c-sda-delay = <100>;
+       samsung,i2c-max-bus-freq = <20000>;
+
+       eeprom@50 {
+               compatible = "samsung,s524ad0xd1";
+               reg = <0x50>;
        };
 
-       i2c@12C80000 {
-               samsung,i2c-sda-delay = <100>;
-               samsung,i2c-max-bus-freq = <66000>;
-               status = "okay";
+       max77686@09 {
+               compatible = "maxim,max77686";
+               reg = <0x09>;
+               interrupt-parent = <&gpx3>;
+               interrupts = <2 IRQ_TYPE_NONE>;
+
+               voltage-regulators {
+                       ldo1_reg: LDO1 {
+                               regulator-name = "P1.0V_LDO_OUT1";
+                               regulator-min-microvolt = <1000000>;
+                               regulator-max-microvolt = <1000000>;
+                               regulator-always-on;
+                       };
 
-               hdmiddc@50 {
-                       compatible = "samsung,exynos4210-hdmiddc";
-                       reg = <0x50>;
-               };
-       };
+                       ldo2_reg: LDO2 {
+                               regulator-name = "P1.2V_LDO_OUT2";
+                               regulator-min-microvolt = <1200000>;
+                               regulator-max-microvolt = <1200000>;
+                               regulator-always-on;
+                       };
 
-       i2c@12CE0000 {
-               samsung,i2c-sda-delay = <100>;
-               samsung,i2c-max-bus-freq = <66000>;
-               status = "okay";
+                       ldo3_reg: LDO3 {
+                               regulator-name = "P1.8V_LDO_OUT3";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                       };
 
-               hdmiphy@38 {
-                       compatible = "samsung,exynos4212-hdmiphy";
-                       reg = <0x38>;
-               };
-       };
+                       ldo4_reg: LDO4 {
+                               regulator-name = "P2.8V_LDO_OUT4";
+                               regulator-min-microvolt = <2800000>;
+                               regulator-max-microvolt = <2800000>;
+                       };
 
-       sata@122F0000 {
-               status = "okay";
-       };
+                       ldo5_reg: LDO5 {
+                               regulator-name = "P1.8V_LDO_OUT5";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                       };
 
-       sata-phy@12170000 {
-               status = "okay";
-               samsung,exynos-sataphy-i2c-phandle = <&sata_phy_i2c>;
-       };
+                       ldo6_reg: LDO6 {
+                               regulator-name = "P1.1V_LDO_OUT6";
+                               regulator-min-microvolt = <1100000>;
+                               regulator-max-microvolt = <1100000>;
+                               regulator-always-on;
+                       };
 
-       mmc@12200000 {
-               status = "okay";
-               num-slots = <1>;
-               broken-cd;
-               card-detect-delay = <200>;
-               samsung,dw-mshc-ciu-div = <3>;
-               samsung,dw-mshc-sdr-timing = <2 3>;
-               samsung,dw-mshc-ddr-timing = <1 2>;
-               pinctrl-names = "default";
-               pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>;
-               bus-width = <8>;
-               cap-mmc-highspeed;
-       };
+                       ldo7_reg: LDO7 {
+                               regulator-name = "P1.1V_LDO_OUT7";
+                               regulator-min-microvolt = <1100000>;
+                               regulator-max-microvolt = <1100000>;
+                               regulator-always-on;
+                       };
 
-       mmc@12220000 {
-               status = "okay";
-               num-slots = <1>;
-               card-detect-delay = <200>;
-               samsung,dw-mshc-ciu-div = <3>;
-               samsung,dw-mshc-sdr-timing = <2 3>;
-               samsung,dw-mshc-ddr-timing = <1 2>;
-               pinctrl-names = "default";
-               pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
-               bus-width = <4>;
-               disable-wp;
-               cap-sd-highspeed;
-       };
+                       ldo8_reg: LDO8 {
+                               regulator-name = "P1.0V_LDO_OUT8";
+                               regulator-min-microvolt = <1000000>;
+                               regulator-max-microvolt = <1000000>;
+                       };
+
+                       ldo10_reg: LDO10 {
+                               regulator-name = "P1.8V_LDO_OUT10";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                       };
 
-       spi_1: spi@12d30000 {
-               cs-gpios = <&gpa2 5 0>;
-               status = "okay";
+                       ldo11_reg: LDO11 {
+                               regulator-name = "P1.8V_LDO_OUT11";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                       };
 
-               w25q80bw@0 {
-                       #address-cells = <1>;
-                       #size-cells = <1>;
-                       compatible = "w25x80";
-                       reg = <0>;
-                       spi-max-frequency = <1000000>;
+                       ldo12_reg: LDO12 {
+                               regulator-name = "P3.0V_LDO_OUT12";
+                               regulator-min-microvolt = <3000000>;
+                               regulator-max-microvolt = <3000000>;
+                       };
 
-                       controller-data {
-                               samsung,spi-feedback-delay = <0>;
+                       ldo13_reg: LDO13 {
+                               regulator-name = "P1.8V_LDO_OUT13";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
                        };
 
-                       partition@0 {
-                               label = "U-Boot";
-                               reg = <0x0 0x40000>;
-                               read-only;
+                       ldo14_reg: LDO14 {
+                               regulator-name = "P1.8V_LDO_OUT14";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
                        };
 
-                       partition@40000 {
-                               label = "Kernel";
-                               reg = <0x40000 0xc0000>;
+                       ldo15_reg: LDO15 {
+                               regulator-name = "P1.0V_LDO_OUT15";
+                               regulator-min-microvolt = <1000000>;
+                               regulator-max-microvolt = <1000000>;
+                       };
+
+                       ldo16_reg: LDO16 {
+                               regulator-name = "P1.8V_LDO_OUT16";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                       };
+
+                       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;
                        };
                };
        };
+};
 
-       hdmi {
-               hpd-gpio = <&gpx3 7 0>;
-       };
+&i2c_1 {
+       status = "okay";
+       samsung,i2c-sda-delay = <100>;
+       samsung,i2c-max-bus-freq = <20000>;
 
-       codec@11000000 {
-               samsung,mfc-r = <0x43000000 0x800000>;
-               samsung,mfc-l = <0x51000000 0x800000>;
+       eeprom@51 {
+               compatible = "samsung,s524ad0xd1";
+               reg = <0x51>;
        };
 
-       i2s0: i2s@03830000 {
-               status = "okay";
+       wm8994: wm8994@1a {
+               compatible = "wlf,wm8994";
+               reg = <0x1a>;
+
+               gpio-controller;
+               #gpio-cells = <2>;
+
+               clocks = <&codec_mclk>;
+               clock-names = "MCLK1";
+
+               AVDD2-supply = <&vdd>;
+               CPVDD-supply = <&vdd>;
+               DBVDD-supply = <&dbvdd>;
+               SPKVDD1-supply = <&spkvdd>;
+               SPKVDD2-supply = <&spkvdd>;
        };
+};
 
-       sound {
-               compatible = "samsung,smdk-wm8994";
+&i2c_2 {
+       status = "okay";
+       samsung,i2c-sda-delay = <100>;
+       samsung,i2c-max-bus-freq = <66000>;
 
-               samsung,i2s-controller = <&i2s0>;
-               samsung,audio-codec = <&wm8994>;
+       hdmiddc@50 {
+               compatible = "samsung,exynos4210-hdmiddc";
+               reg = <0x50>;
        };
+};
+
+&i2c_8 {
+       status = "okay";
+       samsung,i2c-sda-delay = <100>;
+       samsung,i2c-max-bus-freq = <66000>;
 
-       usb@12110000 {
-               samsung,vbus-gpio = <&gpx2 6 0>;
+       hdmiphy@38 {
+               compatible = "samsung,exynos4212-hdmiphy";
+               reg = <0x38>;
        };
+};
+
+&i2c_9 {
+       status = "okay";
+       samsung,i2c-sda-delay = <100>;
+       samsung,i2c-max-bus-freq = <40000>;
+       samsung,i2c-slave-addr = <0x38>;
 
-       dp-controller@145B0000 {
-               samsung,color-space = <0>;
-               samsung,dynamic-range = <0>;
-               samsung,ycbcr-coeff = <0>;
-               samsung,color-depth = <1>;
-               samsung,link-rate = <0x0a>;
-               samsung,lane-count = <4>;
-
-               pinctrl-names = "default";
-               pinctrl-0 = <&dp_hpd>;
-               status = "okay";
+       sata_phy_i2c: sata-phy@38 {
+               compatible = "samsung,exynos-sataphy-i2c";
+               reg = <0x38>;
        };
+};
 
-       fimd@14400000 {
-               status = "okay";
-               display-timings {
-                       native-mode = <&timing0>;
-                       timing0: timing@0 {
-                               /* 1280x800 */
-                               clock-frequency = <50000>;
-                               hactive = <1280>;
-                               vactive = <800>;
-                               hfront-porch = <4>;
-                               hback-porch = <4>;
-                               hsync-len = <4>;
-                               vback-porch = <4>;
-                               vfront-porch = <4>;
-                               vsync-len = <4>;
-                       };
+&i2s0 {
+       status = "okay";
+};
+
+&mfc {
+       samsung,mfc-r = <0x43000000 0x800000>;
+       samsung,mfc-l = <0x51000000 0x800000>;
+};
+
+&mmc_0 {
+       status = "okay";
+       num-slots = <1>;
+       broken-cd;
+       card-detect-delay = <200>;
+       samsung,dw-mshc-ciu-div = <3>;
+       samsung,dw-mshc-sdr-timing = <2 3>;
+       samsung,dw-mshc-ddr-timing = <1 2>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>;
+       bus-width = <8>;
+       cap-mmc-highspeed;
+};
+
+&mmc_2 {
+       status = "okay";
+       num-slots = <1>;
+       card-detect-delay = <200>;
+       samsung,dw-mshc-ciu-div = <3>;
+       samsung,dw-mshc-sdr-timing = <2 3>;
+       samsung,dw-mshc-ddr-timing = <1 2>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
+       bus-width = <4>;
+       disable-wp;
+       cap-sd-highspeed;
+};
+
+&rtc {
+       status = "okay";
+};
+
+&sata {
+       status = "okay";
+};
+
+&sata_phy {
+       status = "okay";
+       samsung,exynos-sataphy-i2c-phandle = <&sata_phy_i2c>;
+};
+
+&spi_1 {
+       status = "okay";
+       cs-gpios = <&gpa2 5 GPIO_ACTIVE_HIGH>;
+
+       w25q80bw@0 {
+               #address-cells = <1>;
+               #size-cells = <1>;
+               compatible = "w25x80";
+               reg = <0>;
+               spi-max-frequency = <1000000>;
+
+               controller-data {
+                       samsung,spi-feedback-delay = <0>;
                };
-       };
 
-       fixed-rate-clocks {
-               xxti {
-                       compatible = "samsung,clock-xxti";
-                       clock-frequency = <24000000>;
+               partition@0 {
+                       label = "U-Boot";
+                       reg = <0x0 0x40000>;
+                       read-only;
                };
 
-               codec_mclk: codec-mclk {
-                       compatible = "fixed-clock";
-                       #clock-cells = <0>;
-                       clock-frequency = <16934000>;
+               partition@40000 {
+                       label = "Kernel";
+                       reg = <0x40000 0xc0000>;
                };
        };
 };
index e51fcef..f9bc04b 100644 (file)
@@ -6,10 +6,13 @@
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
  * published by the Free Software Foundation.
-*/
+ */
 
 /dts-v1/;
 #include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/clock/maxim,max77686.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/input/input.h>
 #include "exynos5250.dtsi"
 
 / {
        };
 
        chosen {
-       };
-
-       rtc@101E0000 {
-               status = "okay";
-       };
-
-       pinctrl@11400000 {
-               ec_irq: ec-irq {
-                       samsung,pins = "gpx1-6";
-                       samsung,pin-function = <0>;
-                       samsung,pin-pud = <0>;
-                       samsung,pin-drv = <0>;
-               };
-
-               sd3_clk: sd3-clk {
-                       samsung,pin-drv = <0>;
-               };
-
-               sd3_cmd: sd3-cmd {
-                       samsung,pin-pud = <3>;
-                       samsung,pin-drv = <0>;
-               };
-
-               sd3_bus4: sd3-bus-width4 {
-                       samsung,pin-drv = <0>;
-               };
-
-               max98095_en: max98095-en {
-                       samsung,pins = "gpx1-7";
-                       samsung,pin-function = <0>;
-                       samsung,pin-pud = <3>;
-                       samsung,pin-drv = <0>;
-               };
-
-               tps65090_irq: tps65090-irq {
-                       samsung,pins = "gpx2-6";
-                       samsung,pin-function = <0>;
-                       samsung,pin-pud = <0>;
-                       samsung,pin-drv = <0>;
-               };
-
-               usb3_vbus_en: usb3-vbus-en {
-                       samsung,pins = "gpx2-7";
-                       samsung,pin-function = <1>;
-                       samsung,pin-pud = <0>;
-                       samsung,pin-drv = <0>;
-               };
-
-               hdmi_hpd_irq: hdmi-hpd-irq {
-                       samsung,pins = "gpx3-7";
-                       samsung,pin-function = <0>;
-                       samsung,pin-pud = <1>;
-                       samsung,pin-drv = <0>;
-               };
-       };
-
-       pinctrl@13400000 {
-               arb_their_claim: arb-their-claim {
-                       samsung,pins = "gpe0-4";
-                       samsung,pin-function = <0>;
-                       samsung,pin-pud = <3>;
-                       samsung,pin-drv = <0>;
-               };
-
-               arb_our_claim: arb-our-claim {
-                       samsung,pins = "gpf0-3";
-                       samsung,pin-function = <1>;
-                       samsung,pin-pud = <0>;
-                       samsung,pin-drv = <0>;
-               };
+               bootargs = "console=tty1";
        };
 
        gpio-keys {
 
                power {
                        label = "Power";
-                       gpios = <&gpx1 3 1>;
-                       linux,code = <116>; /* KEY_POWER */
+                       gpios = <&gpx1 3 GPIO_ACTIVE_LOW>;
+                       linux,code = <KEY_POWER>;
                        gpio-key,wakeup;
                };
 
                lid-switch {
                        label = "Lid";
-                       gpios = <&gpx3 5 1>;
+                       gpios = <&gpx3 5 GPIO_ACTIVE_LOW>;
                        linux,input-type = <5>; /* EV_SW */
                        linux,code = <0>; /* SW_LID */
                        debounce-interval = <1>;
 
                i2c-parent = <&{/i2c@12CA0000}>;
 
-               our-claim-gpio = <&gpf0 3 1>;
-               their-claim-gpios = <&gpe0 4 1>;
+               our-claim-gpio = <&gpf0 3 GPIO_ACTIVE_LOW>;
+               their-claim-gpios = <&gpe0 4 GPIO_ACTIVE_LOW>;
                slew-delay-us = <10>;
                wait-retry-us = <3000>;
                wait-free-us = <50000>;
                        cros_ec: embedded-controller {
                                compatible = "google,cros-ec-i2c";
                                reg = <0x1e>;
-                               interrupts = <6 0>;
+                               interrupts = <6 IRQ_TYPE_NONE>;
                                interrupt-parent = <&gpx1>;
                                pinctrl-names = "default";
                                pinctrl-0 = <&ec_irq>;
        };
 
        i2c@12CD0000 {
-               max98095: codec@11 {
-                       compatible = "maxim,max98095";
-                       reg = <0x11>;
-                       pinctrl-0 = <&max98095_en>;
-                       pinctrl-names = "default";
-               };
-
                ptn3460: lvds-bridge@20 {
                        compatible = "nxp,ptn3460";
                        reg = <0x20>;
                };
        };
 
-       i2s0: i2s@03830000 {
-               status = "okay";
-       };
-
        sound {
                compatible = "google,snow-audio-max98095";
 
                regulator-name = "P5.0V_USB3CON";
                regulator-min-microvolt = <5000000>;
                regulator-max-microvolt = <5000000>;
-               gpio = <&gpx2 7 0>;
+               gpio = <&gpx2 7 GPIO_ACTIVE_HIGH>;
                pinctrl-names = "default";
                pinctrl-0 = <&usb3_vbus_en>;
                enable-active-high;
        };
 
-       phy@12100000 {
-               vbus-supply = <&usb3_vbus_reg>;
-       };
-
-       usb@12110000 {
-               samsung,vbus-gpio = <&gpx1 1 0>;
-       };
-
        fixed-rate-clocks {
                xxti {
                        compatible = "samsung,clock-xxti";
                };
        };
 
-       hdmi {
-               hpd-gpio = <&gpx3 7 0>;
-               pinctrl-names = "default";
-               pinctrl-0 = <&hdmi_hpd_irq>;
-               phy = <&hdmiphy>;
-               ddc = <&i2c_2>;
-               hdmi-en-supply = <&tps65090_fet7>;
-               vdd-supply = <&ldo8_reg>;
-               vdd_osc-supply = <&ldo10_reg>;
-               vdd_pll-supply = <&ldo8_reg>;
-       };
-
        backlight: backlight {
                compatible = "pwm-backlight";
                pwms = <&pwm 0 1000000 0>;
                pinctrl-names = "default";
        };
 
-       fimd@14400000 {
-               status = "okay";
-               samsung,invert-vclk;
-       };
-
        panel: panel {
                compatible = "auo,b116xw03";
                power-supply = <&fet6>;
                backlight = <&backlight>;
        };
+};
 
-       dp-controller@145B0000 {
-               status = "okay";
-               pinctrl-names = "default";
-               pinctrl-0 = <&dp_hpd>;
-               samsung,color-space = <0>;
-               samsung,dynamic-range = <0>;
-               samsung,ycbcr-coeff = <0>;
-               samsung,color-depth = <1>;
-               samsung,link-rate = <0x0a>;
-               samsung,lane-count = <2>;
-               samsung,hpd-gpio = <&gpx0 7 0>;
-               bridge = <&ptn3460>;
-       };
+&dp {
+       status = "okay";
+       pinctrl-names = "default";
+       pinctrl-0 = <&dp_hpd>;
+       samsung,color-space = <0>;
+       samsung,dynamic-range = <0>;
+       samsung,ycbcr-coeff = <0>;
+       samsung,color-depth = <1>;
+       samsung,link-rate = <0x0a>;
+       samsung,lane-count = <2>;
+       samsung,hpd-gpio = <&gpx0 7 GPIO_ACTIVE_HIGH>;
+       bridge = <&ptn3460>;
+};
+
+&ehci {
+       samsung,vbus-gpio = <&gpx1 1 GPIO_ACTIVE_HIGH>;
+};
+
+&fimd {
+       status = "okay";
+       samsung,invert-vclk;
+};
+
+&hdmi {
+       hpd-gpio = <&gpx3 7 GPIO_ACTIVE_HIGH>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&hdmi_hpd_irq>;
+       phy = <&hdmiphy>;
+       ddc = <&i2c_2>;
+       hdmi-en-supply = <&tps65090_fet7>;
+       vdd-supply = <&ldo8_reg>;
+       vdd_osc-supply = <&ldo10_reg>;
+       vdd_pll-supply = <&ldo8_reg>;
 };
 
 &i2c_0 {
        samsung,i2c-sda-delay = <100>;
        samsung,i2c-max-bus-freq = <378000>;
 
-       max77686@09 {
+       max77686: max77686@09 {
                compatible = "maxim,max77686";
                interrupt-parent = <&gpx3>;
-               interrupts = <2 0>;
+               interrupts = <2 IRQ_TYPE_NONE>;
                pinctrl-names = "default";
                pinctrl-0 = <&max77686_irq>;
                wakeup-source;
        trackpad {
                reg = <0x67>;
                compatible = "cypress,cyapa";
-               interrupts = <2 0>;
+               interrupts = <2 IRQ_TYPE_NONE>;
                interrupt-parent = <&gpx1>;
                wakeup-source;
        };
        status = "okay";
        samsung,i2c-sda-delay = <100>;
        samsung,i2c-max-bus-freq = <66000>;
+
+       max98095: codec@11 {
+               compatible = "maxim,max98095";
+               reg = <0x11>;
+               pinctrl-0 = <&max98095_en>;
+               pinctrl-names = "default";
+       };
 };
 
 &i2c_8 {
        };
 };
 
+&i2s0 {
+       status = "okay";
+};
+
 &mmc_0 {
        status = "okay";
        num-slots = <1>;
        pinctrl-names = "default";
        pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
        bus-width = <4>;
-       wp-gpios = <&gpc2 1 0>;
+       wp-gpios = <&gpc2 1 GPIO_ACTIVE_HIGH>;
        cap-sd-highspeed;
 };
 
 };
 
 &pinctrl_0 {
+       ec_irq: ec-irq {
+               samsung,pins = "gpx1-6";
+               samsung,pin-function = <0>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <0>;
+       };
+
+       max98095_en: max98095-en {
+               samsung,pins = "gpx1-7";
+               samsung,pin-function = <0>;
+               samsung,pin-pud = <3>;
+               samsung,pin-drv = <0>;
+       };
+
+       tps65090_irq: tps65090-irq {
+               samsung,pins = "gpx2-6";
+               samsung,pin-function = <0>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <0>;
+       };
+
+       usb3_vbus_en: usb3-vbus-en {
+               samsung,pins = "gpx2-7";
+               samsung,pin-function = <1>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <0>;
+       };
+
        max77686_irq: max77686-irq {
                samsung,pins = "gpx3-2";
                samsung,pin-function = <0>;
                samsung,pin-pud = <0>;
                samsung,pin-drv = <0>;
        };
+
+       hdmi_hpd_irq: hdmi-hpd-irq {
+               samsung,pins = "gpx3-7";
+               samsung,pin-function = <0>;
+               samsung,pin-pud = <1>;
+               samsung,pin-drv = <0>;
+       };
+};
+
+&pinctrl_1 {
+       arb_their_claim: arb-their-claim {
+               samsung,pins = "gpe0-4";
+               samsung,pin-function = <0>;
+               samsung,pin-pud = <3>;
+               samsung,pin-drv = <0>;
+       };
+
+       arb_our_claim: arb-our-claim {
+               samsung,pins = "gpf0-3";
+               samsung,pin-function = <1>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <0>;
+       };
+};
+
+&rtc {
+       status = "okay";
+       clocks = <&clock CLK_RTC>, <&max77686 MAX77686_CLK_AP>;
+       clock-names = "rtc", "rtc_src";
+};
+
+&sd3_bus4 {
+       samsung,pin-drv = <0>;
+};
+
+&sd3_clk {
+       samsung,pin-drv = <0>;
+};
+
+&sd3_cmd {
+       samsung,pin-pud = <3>;
+       samsung,pin-drv = <0>;
 };
 
 &spi_1 {
        num-cs = <1>;
 };
 
+&usbdrd_phy {
+       vbus-supply = <&usb3_vbus_reg>;
+};
+
 #include "cros-ec-keyboard.dtsi"
diff --git a/arch/arm/boot/dts/exynos5250-spring.dts b/arch/arm/boot/dts/exynos5250-spring.dts
new file mode 100644 (file)
index 0000000..f5566f8
--- /dev/null
@@ -0,0 +1,536 @@
+/*
+ * Google Spring board device tree source
+ *
+ * Copyright (c) 2013 Google, Inc
+ * Copyright (c) 2014 SUSE LINUX Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+/dts-v1/;
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/input/input.h>
+#include "exynos5250.dtsi"
+
+/ {
+       model = "Google Spring";
+       compatible = "google,spring", "samsung,exynos5250", "samsung,exynos5";
+
+       memory {
+               reg = <0x40000000 0x80000000>;
+       };
+
+       chosen {
+               bootargs = "console=tty1";
+       };
+
+       gpio-keys {
+               compatible = "gpio-keys";
+               pinctrl-names = "default";
+               pinctrl-0 = <&power_key_irq>, <&lid_irq>;
+
+               power {
+                       label = "Power";
+                       gpios = <&gpx1 3 GPIO_ACTIVE_LOW>;
+                       linux,code = <KEY_POWER>;
+                       gpio-key,wakeup;
+               };
+
+               lid-switch {
+                       label = "Lid";
+                       gpios = <&gpx3 5 GPIO_ACTIVE_LOW>;
+                       linux,input-type = <5>; /* EV_SW */
+                       linux,code = <0>; /* SW_LID */
+                       debounce-interval = <1>;
+                       gpio-key,wakeup;
+               };
+       };
+
+       usb-hub {
+               compatible = "smsc,usb3503a";
+               reset-gpios = <&gpe1 0 GPIO_ACTIVE_LOW>;
+       };
+
+       fixed-rate-clocks {
+               xxti {
+                       compatible = "samsung,clock-xxti";
+                       clock-frequency = <24000000>;
+               };
+       };
+};
+
+&dp {
+       status = "okay";
+       pinctrl-names = "default";
+       pinctrl-0 = <&dp_hpd_gpio>;
+       samsung,color-space = <0>;
+       samsung,dynamic-range = <0>;
+       samsung,ycbcr-coeff = <0>;
+       samsung,color-depth = <1>;
+       samsung,link-rate = <0x0a>;
+       samsung,lane-count = <1>;
+       samsung,hpd-gpio = <&gpc3 0 GPIO_ACTIVE_HIGH>;
+};
+
+&ehci {
+       samsung,vbus-gpio = <&gpx1 1 GPIO_ACTIVE_HIGH>;
+};
+
+&fimd {
+       status = "okay";
+       samsung,invert-vclk;
+};
+
+&hdmi {
+       hpd-gpio = <&gpx3 7 GPIO_ACTIVE_HIGH>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&hdmi_hpd_irq>;
+       phy = <&hdmiphy>;
+       ddc = <&i2c_2>;
+       hdmi-en-supply = <&ldo8_reg>;
+       vdd-supply = <&ldo8_reg>;
+       vdd_osc-supply = <&ldo10_reg>;
+       vdd_pll-supply = <&ldo8_reg>;
+};
+
+&i2c_0 {
+       status = "okay";
+       samsung,i2c-sda-delay = <100>;
+       samsung,i2c-max-bus-freq = <378000>;
+
+       s5m8767-pmic@66 {
+               compatible = "samsung,s5m8767-pmic";
+               reg = <0x66>;
+               interrupt-parent = <&gpx3>;
+               interrupts = <2 IRQ_TYPE_NONE>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&s5m8767_irq &s5m8767_dvs &s5m8767_ds>;
+               wakeup-source;
+
+               s5m8767,pmic-buck-dvs-gpios = <&gpd1 0 GPIO_ACTIVE_LOW>, /* DVS1 */
+                                             <&gpd1 1 GPIO_ACTIVE_LOW>, /* DVS2 */
+                                             <&gpd1 2 GPIO_ACTIVE_LOW>; /* DVS3 */
+
+               s5m8767,pmic-buck-ds-gpios = <&gpx2 3 GPIO_ACTIVE_LOW>, /* SET1 */
+                                            <&gpx2 4 GPIO_ACTIVE_LOW>, /* SET2 */
+                                            <&gpx2 5 GPIO_ACTIVE_LOW>; /* SET3 */
+
+               /*
+                * The following arrays of DVS voltages are not used, since we are
+                * not using GPIOs to control PMIC bucks, but they must be defined
+                * to please the driver.
+                */
+               s5m8767,pmic-buck2-dvs-voltage = <1350000>, <1300000>,
+                                                <1250000>, <1200000>,
+                                                <1150000>, <1100000>,
+                                                <1000000>, <950000>;
+
+               s5m8767,pmic-buck3-dvs-voltage = <1100000>, <1100000>,
+                                                <1100000>, <1100000>,
+                                                <1000000>, <1000000>,
+                                                <1000000>, <1000000>;
+
+               s5m8767,pmic-buck4-dvs-voltage = <1200000>, <1200000>,
+                                                <1200000>, <1200000>,
+                                                <1200000>, <1200000>,
+                                                <1200000>, <1200000>;
+
+               clocks {
+                       compatible = "samsung,s5m8767-clk";
+                       #clock-cells = <1>;
+                       clock-output-names = "en32khz_ap",
+                                            "en32khz_cp",
+                                            "en32khz_bt";
+               };
+
+               regulators {
+                       ldo4_reg: LDO4 {
+                               regulator-name = "P1.0V_LDO_OUT4";
+                               regulator-min-microvolt = <1000000>;
+                               regulator-max-microvolt = <1000000>;
+                               regulator-always-on;
+                               op_mode = <0>;
+                       };
+
+                       ldo5_reg: LDO5 {
+                               regulator-name = "P1.0V_LDO_OUT5";
+                               regulator-min-microvolt = <1000000>;
+                               regulator-max-microvolt = <1000000>;
+                               regulator-always-on;
+                               op_mode = <0>;
+                       };
+
+                       ldo6_reg: LDO6 {
+                               regulator-name = "vdd_mydp";
+                               regulator-min-microvolt = <1000000>;
+                               regulator-max-microvolt = <1000000>;
+                               regulator-always-on;
+                               op_mode = <3>;
+                       };
+
+                       ldo7_reg: LDO7 {
+                               regulator-name = "P1.1V_LDO_OUT7";
+                               regulator-min-microvolt = <1100000>;
+                               regulator-max-microvolt = <1100000>;
+                               regulator-always-on;
+                               op_mode = <3>;
+                       };
+
+                       ldo8_reg: LDO8 {
+                               regulator-name = "P1.0V_LDO_OUT8";
+                               regulator-min-microvolt = <1000000>;
+                               regulator-max-microvolt = <1000000>;
+                               regulator-always-on;
+                               op_mode = <3>;
+                       };
+
+                       ldo10_reg: LDO10 {
+                               regulator-name = "P1.8V_LDO_OUT10";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                               op_mode = <3>;
+                       };
+
+                       ldo11_reg: LDO11 {
+                               regulator-name = "P1.8V_LDO_OUT11";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                               op_mode = <0>;
+                       };
+
+                       ldo12_reg: LDO12 {
+                               regulator-name = "P3.0V_LDO_OUT12";
+                               regulator-min-microvolt = <3000000>;
+                               regulator-max-microvolt = <3000000>;
+                               regulator-always-on;
+                               op_mode = <3>;
+                       };
+
+                       ldo13_reg: LDO13 {
+                               regulator-name = "P1.8V_LDO_OUT13";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                               op_mode = <0>;
+                       };
+
+                       ldo14_reg: LDO14 {
+                               regulator-name = "P1.8V_LDO_OUT14";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                               op_mode = <3>;
+                       };
+
+                       ldo15_reg: LDO15 {
+                               regulator-name = "P1.0V_LDO_OUT15";
+                               regulator-min-microvolt = <1000000>;
+                               regulator-max-microvolt = <1000000>;
+                               regulator-always-on;
+                               op_mode = <3>;
+                       };
+
+                       ldo16_reg: LDO16 {
+                               regulator-name = "P1.8V_LDO_OUT16";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                               op_mode = <3>;
+                       };
+
+                       ldo17_reg: LDO17 {
+                               regulator-name = "P2.8V_LDO_OUT17";
+                               regulator-min-microvolt = <2800000>;
+                               regulator-max-microvolt = <2800000>;
+                               regulator-always-on;
+                               op_mode = <0>;
+                       };
+
+                       ldo25_reg: LDO25 {
+                               regulator-name = "vdd_bridge";
+                               regulator-min-microvolt = <1200000>;
+                               regulator-max-microvolt = <1200000>;
+                               regulator-always-on;
+                               op_mode = <1>;
+                       };
+
+                       buck1_reg: BUCK1 {
+                               regulator-name = "vdd_mif";
+                               regulator-min-microvolt = <950000>;
+                               regulator-max-microvolt = <1300000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               op_mode = <3>;
+                       };
+
+                       buck2_reg: BUCK2 {
+                               regulator-name = "vdd_arm";
+                               regulator-min-microvolt = <850000>;
+                               regulator-max-microvolt = <1350000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               op_mode = <3>;
+                       };
+
+                       buck3_reg: BUCK3 {
+                               regulator-name = "vdd_int";
+                               regulator-min-microvolt = <900000>;
+                               regulator-max-microvolt = <1200000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               op_mode = <3>;
+                       };
+
+                       buck4_reg: BUCK4 {
+                               regulator-name = "vdd_g3d";
+                               regulator-min-microvolt = <850000>;
+                               regulator-max-microvolt = <1300000>;
+                               regulator-boot-on;
+                               op_mode = <3>;
+                       };
+
+                       buck5_reg: BUCK5 {
+                               regulator-name = "P1.8V_BUCK_OUT5";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               op_mode = <1>;
+                       };
+
+                       buck6_reg: BUCK6 {
+                               regulator-name = "P1.2V_BUCK_OUT6";
+                               regulator-min-microvolt = <1200000>;
+                               regulator-max-microvolt = <1200000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               op_mode = <0>;
+                       };
+
+                       buck9_reg: BUCK9 {
+                               regulator-name = "vdd_ummc";
+                               regulator-min-microvolt = <950000>;
+                               regulator-max-microvolt = <3000000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               op_mode = <3>;
+                       };
+               };
+       };
+};
+
+&i2c_1 {
+       status = "okay";
+       samsung,i2c-sda-delay = <100>;
+       samsung,i2c-max-bus-freq = <378000>;
+};
+
+/*
+ * Disabled pullups since external part has its own pullups and
+ * double-pulling gets us out of spec in some cases.
+ */
+&i2c2_bus {
+       samsung,pin-pud = <0>;
+};
+
+&i2c_2 {
+       status = "okay";
+       samsung,i2c-sda-delay = <100>;
+       samsung,i2c-max-bus-freq = <66000>;
+
+       hdmiddc@50 {
+               compatible = "samsung,exynos4210-hdmiddc";
+               reg = <0x50>;
+       };
+};
+
+&i2c_3 {
+       status = "okay";
+       samsung,i2c-sda-delay = <100>;
+       samsung,i2c-max-bus-freq = <66000>;
+};
+
+&i2c_4 {
+       status = "okay";
+       samsung,i2c-sda-delay = <100>;
+       samsung,i2c-max-bus-freq = <66000>;
+
+       cros_ec: embedded-controller {
+               compatible = "google,cros-ec-i2c";
+               reg = <0x1e>;
+               interrupts = <6 IRQ_TYPE_NONE>;
+               interrupt-parent = <&gpx1>;
+               wakeup-source;
+               pinctrl-names = "default";
+               pinctrl-0 = <&ec_irq>;
+       };
+};
+
+&i2c_5 {
+       status = "okay";
+       samsung,i2c-sda-delay = <100>;
+       samsung,i2c-max-bus-freq = <66000>;
+};
+
+&i2c_7 {
+       status = "okay";
+       samsung,i2c-sda-delay = <100>;
+       samsung,i2c-max-bus-freq = <66000>;
+};
+
+&i2c_8 {
+       status = "okay";
+       samsung,i2c-sda-delay = <100>;
+       samsung,i2c-max-bus-freq = <378000>;
+
+       hdmiphy: hdmiphy@38 {
+               compatible = "samsung,exynos4212-hdmiphy";
+               reg = <0x38>;
+       };
+};
+
+&i2s0 {
+       status = "okay";
+};
+
+&mfc {
+       samsung,mfc-r = <0x43000000 0x800000>;
+       samsung,mfc-l = <0x51000000 0x800000>;
+};
+
+&mmc_0 {
+       status = "okay";
+       num-slots = <1>;
+       supports-highspeed;
+       broken-cd;
+       card-detect-delay = <200>;
+       samsung,dw-mshc-ciu-div = <3>;
+       samsung,dw-mshc-sdr-timing = <2 3>;
+       samsung,dw-mshc-ddr-timing = <1 2>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_cd &sd0_bus4 &sd0_bus8>;
+
+       slot@0 {
+               reg = <0>;
+               bus-width = <8>;
+       };
+};
+
+/*
+ * On Spring we've got SIP WiFi and so can keep drive strengths low to
+ * reduce EMI.
+ */
+&mmc_1 {
+       status = "okay";
+       num-slots = <1>;
+       supports-highspeed;
+       broken-cd;
+       card-detect-delay = <200>;
+       samsung,dw-mshc-ciu-div = <3>;
+       samsung,dw-mshc-sdr-timing = <2 3>;
+       samsung,dw-mshc-ddr-timing = <1 2>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&sd1_clk &sd1_cmd &sd1_cd &sd1_bus4>;
+
+       slot@0 {
+               reg = <0>;
+               bus-width = <4>;
+       };
+};
+
+&pinctrl_0 {
+       s5m8767_dvs: s5m8767-dvs {
+               samsung,pins = "gpd1-0", "gpd1-1", "gpd1-2";
+               samsung,pin-function = <0>;
+               samsung,pin-pud = <1>;
+               samsung,pin-drv = <0>;
+       };
+
+       dp_hpd_gpio: dp-hpd-gpio {
+               samsung,pins = "gpc3-0";
+               samsung,pin-function = <0>;
+               samsung,pin-pud = <3>;
+               samsung,pin-drv = <0>;
+       };
+
+       power_key_irq: power-key-irq {
+               samsung,pins = "gpx1-3";
+               samsung,pin-function = <0>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <0>;
+       };
+
+       ec_irq: ec-irq {
+               samsung,pins = "gpx1-6";
+               samsung,pin-function = <0>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <0>;
+       };
+
+       s5m8767_ds: s5m8767-ds {
+               samsung,pins = "gpx2-3", "gpx2-4", "gpx2-5";
+               samsung,pin-function = <0>;
+               samsung,pin-pud = <1>;
+               samsung,pin-drv = <0>;
+       };
+
+       s5m8767_irq: s5m8767-irq {
+               samsung,pins = "gpx3-2";
+               samsung,pin-function = <0>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <0>;
+       };
+
+       lid_irq: lid-irq {
+               samsung,pins = "gpx3-5";
+               samsung,pin-function = <0>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <0>;
+       };
+
+       hdmi_hpd_irq: hdmi-hpd-irq {
+               samsung,pins = "gpx3-7";
+               samsung,pin-function = <0>;
+               samsung,pin-pud = <1>;
+               samsung,pin-drv = <0>;
+       };
+};
+
+&pinctrl_1 {
+       hsic_reset: hsic-reset {
+               samsung,pins = "gpe1-0";
+               samsung,pin-function = <1>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <0>;
+       };
+};
+
+&sd1_bus4 {
+       samsung,pin-drv = <0>;
+};
+
+&sd1_cd {
+       samsung,pin-drv = <0>;
+};
+
+&sd1_clk {
+       samsung,pin-drv = <0>;
+};
+
+&sd1_cmd {
+       samsung,pin-pud = <3>;
+       samsung,pin-drv = <0>;
+};
+
+&spi_1 {
+       status = "okay";
+       samsung,spi-src-clk = <0>;
+       num-cs = <1>;
+};
+
+#include "cros-ec-keyboard.dtsi"
index f21b9aa..012b021 100644 (file)
                clock-names = "fimg2d";
        };
 
-       codec@11000000 {
+       mfc: codec@11000000 {
                compatible = "samsung,mfc-v6";
                reg = <0x11000000 0x10000>;
                interrupts = <0 96 0>;
                clock-names = "mfc";
        };
 
-       rtc@101E0000 {
+       rtc: rtc@101E0000 {
                clocks = <&clock CLK_RTC>;
                clock-names = "rtc";
                status = "disabled";
                clock-names = "uart", "clk_uart_baud0";
        };
 
-       sata@122F0000 {
+       sata: sata@122F0000 {
                compatible = "snps,dwc-ahci";
                samsung,sata-freq = <66>;
                reg = <0x122F0000 0x1ff>;
                #phy-cells = <1>;
        };
 
-       usb@12110000 {
+       ehci: usb@12110000 {
                compatible = "samsung,exynos4210-ehci";
                reg = <0x12110000 0x100>;
                interrupts = <0 71 0>;
                };
        };
 
-       usb@12120000 {
+       ohci: usb@12120000 {
                compatible = "samsung,exynos4210-ohci";
                reg = <0x12120000 0x100>;
                interrupts = <0 71 0>;
                clock-names = "gscl";
        };
 
-       hdmi {
+       hdmi: hdmi {
                compatible = "samsung,exynos4212-hdmi";
                reg = <0x14530000 0x70000>;
                interrupts = <0 95 0>;
                #phy-cells = <0>;
        };
 
-       dp-controller@145B0000 {
+       dp: dp-controller@145B0000 {
                clocks = <&clock CLK_DP>;
                clock-names = "dp";
                phys = <&dp_phy>;
                phy-names = "dp";
        };
 
-       fimd@14400000 {
+       fimd: fimd@14400000 {
                clocks = <&clock CLK_SCLK_FIMD1>, <&clock CLK_FIMD1>;
                clock-names = "sclk_fimd", "fimd";
        };
index 82cdb74..9a050e1 100644 (file)
@@ -12,6 +12,7 @@
 #include <dt-bindings/input/input.h>
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/clock/maxim,max77802.h>
 #include "exynos5420.dtsi"
 
 / {
        status = "okay";
        clock-frequency = <400000>;
 
-       max77802-pmic@9 {
+       max77802: max77802-pmic@9 {
                compatible = "maxim,max77802";
                interrupt-parent = <&gpx3>;
                interrupts = <1 IRQ_TYPE_NONE>;
        status = "okay";
        num-slots = <1>;
        broken-cd;
-       caps2-mmc-hs200-1_8v;
+       mmc-hs200-1_8v;
        cap-mmc-highspeed;
        non-removable;
        card-detect-delay = <200>;
 
 &rtc {
        status = "okay";
+       clocks = <&clock CLK_RTC>, <&max77802 MAX77802_CLK_32K_AP>;
+       clock-names = "rtc", "rtc_src";
 };
 
 &spi_2 {
index 7bb1c8d..e8fdda8 100644 (file)
@@ -12,6 +12,7 @@
 #include <dt-bindings/input/input.h>
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/clock/maxim,max77802.h>
 #include "exynos5800.dtsi"
 
 / {
        status = "okay";
        clock-frequency = <400000>;
 
-       max77802-pmic@9 {
+       max77802: max77802-pmic@9 {
                compatible = "maxim,max77802";
                interrupt-parent = <&gpx3>;
                interrupts = <1 IRQ_TYPE_NONE>;
        status = "okay";
        num-slots = <1>;
        broken-cd;
-       caps2-mmc-hs200-1_8v;
+       mmc-hs200-1_8v;
        cap-mmc-highspeed;
        non-removable;
        card-detect-delay = <200>;
 
 &rtc {
        status = "okay";
+       clocks = <&clock CLK_RTC>, <&max77802 MAX77802_CLK_32K_AP>;
+       clock-names = "rtc", "rtc_src";
 };
 
 &spi_2 {
index 57e00f9..a25debb 100644 (file)
        status = "okay";
 };
 
-&pwm {
-       status = "okay";
-};
-
 &pinctrl0 {
        gpio_leds: gpio-leds {
                samsung,pins = "gpk-4", "gpk-5", "gpk-6", "gpk-7";
index ff5bdaa..0ccb414 100644 (file)
                        clocks = <&clocks PCLK_PWM>;
                        samsung,pwm-outputs = <0>, <1>;
                        #pwm-cells = <3>;
-                       status = "disabled";
                };
 
                pinctrl0: pinctrl@7f008000 {