Merge branch 'master' of git://git.denx.de/u-boot-samsung
diff --git a/arch/arm/dts/exynos4.dtsi b/arch/arm/dts/exynos4.dtsi
index a5a00c8..53d39dc 100644
--- a/arch/arm/dts/exynos4.dtsi
+++ b/arch/arm/dts/exynos4.dtsi
@@ -122,44 +122,49 @@
interrupts = <7 63 0>;
};
- sdhci@12510000 {
+ sdhci0: sdhci@12510000 {
#address-cells = <1>;
#size-cells = <0>;
- compatible = "samsung,exynos-mmc";
+ compatible = "samsung,exynos4412-sdhci";
reg = <0x12510000 0x1000>;
interrupts = <0 75 0>;
+ status = "disabled";
};
- sdhci@12520000 {
+ sdhci1: sdhci@12520000 {
#address-cells = <1>;
#size-cells = <0>;
- compatible = "samsung,exynos-mmc";
+ compatible = "samsung,exynos4412-sdhci";
reg = <0x12520000 0x1000>;
interrupts = <0 76 0>;
+ status = "disabled";
};
- sdhci@12530000 {
+ sdhci2: sdhci@12530000 {
#address-cells = <1>;
#size-cells = <0>;
- compatible = "samsung,exynos-mmc";
+ compatible = "samsung,exynos4412-sdhci";
reg = <0x12530000 0x1000>;
interrupts = <0 77 0>;
+ status = "disabled";
};
- sdhci@12540000 {
+ sdhci3: sdhci@12540000 {
#address-cells = <1>;
#size-cells = <0>;
- compatible = "samsung,exynos-mmc";
+ compatible = "samsung,exynos4412-sdhci";
reg = <0x12540000 0x1000>;
interrupts = <0 78 0>;
+ status = "disabled";
};
- dwmmc@12550000 {
+ mshc_0: dwmmc@12550000 {
#address-cells = <1>;
#size-cells = <0>;
- compatible = "samsung,exynos-dwmmc";
+ compatible = "samsung,exynos4412-dw-mshc";
reg = <0x12550000 0x1000>;
interrupts = <0 131 0>;
+ status = "disabled";
};
};
diff --git a/arch/arm/dts/exynos4210-origen.dts b/arch/arm/dts/exynos4210-origen.dts
index 26c4d7f..a13d033 100644
--- a/arch/arm/dts/exynos4210-origen.dts
+++ b/arch/arm/dts/exynos4210-origen.dts
@@ -22,24 +22,12 @@
aliases {
serial0 = "/serial@13800000";
console = "/serial@13820000";
- mmc2 = "/sdhci@12530000";
};
+};
- sdhci@12510000 {
- status = "disabled";
- };
-
- sdhci@12520000 {
- status = "disabled";
- };
-
- sdhci@12530000 {
- samsung,bus-width = <4>;
- samsung,timing = <1 2 3>;
- cd-gpios = <&gpk2 2 0>;
- };
-
- sdhci@12540000 {
- status = "disabled";
- };
+&sdhci2 {
+ samsung,bus-width = <4>;
+ samsung,timing = <1 2 3>;
+ cd-gpios = <&gpk2 2 0>;
+ status = "okay";
};
diff --git a/arch/arm/dts/exynos4210-trats.dts b/arch/arm/dts/exynos4210-trats.dts
index ac422e4..2abe3e9 100644
--- a/arch/arm/dts/exynos4210-trats.dts
+++ b/arch/arm/dts/exynos4210-trats.dts
@@ -21,8 +21,6 @@
aliases {
serial0 = "/serial@13800000";
console = "/serial@13820000";
- mmc0 = "/sdhci@12510000";
- mmc2 = "/sdhci@12530000";
i2c8 = &i2c_fg;
};
@@ -91,30 +89,6 @@
samsung,dsim-device-reverse-panel = <1>;
};
- sdhci@12510000 {
- samsung,bus-width = <8>;
- samsung,timing = <1 3 3>;
- pwr-gpios = <&gpk0 2 0>;
- };
-
- sdhci@12520000 {
- status = "disabled";
- };
-
- sdhci@12530000 {
- samsung,bus-width = <4>;
- samsung,timing = <1 2 3>;
- cd-gpios = <&gpx3 4 0>;
- };
-
- sdhci@12540000 {
- status = "disabled";
- };
-
- dwmmc@12550000 {
- status = "disabled";
- };
-
i2c_fg: fuel-gauge {
compatible = "i2c-gpio";
gpios = <&gpy4 1 0>, /* sda */
@@ -265,3 +239,17 @@
};
};
};
+
+&sdhci0 {
+ samsung,bus-width = <8>;
+ samsung,timing = <1 3 3>;
+ pwr-gpios = <&gpk0 2 0>;
+ status = "okay";
+};
+
+&sdhci2 {
+ samsung,bus-width = <4>;
+ samsung,timing = <1 2 3>;
+ cd-gpios = <&gpx3 4 0>;
+ status = "okay";
+};
diff --git a/arch/arm/dts/exynos4210-universal_c210.dts b/arch/arm/dts/exynos4210-universal_c210.dts
index 5763627..d8ce0e3 100644
--- a/arch/arm/dts/exynos4210-universal_c210.dts
+++ b/arch/arm/dts/exynos4210-universal_c210.dts
@@ -17,30 +17,8 @@
aliases {
serial0 = "/serial@13800000";
console = "/serial@13820000";
- mmc0 = "/sdhci@12510000";
- mmc2 = "/sdhci@12530000";
};
- sdhci@12510000 {
- samsung,bus-width = <8>;
- samsung,timing = <1 3 3>;
- pwr-gpios = <&gpk0 2 0>;
- };
-
- sdhci@12520000 {
- status = "disabled";
- };
-
- sdhci@12530000 {
- samsung,bus-width = <4>;
- samsung,timing = <1 2 3>;
- cd-gpios = <&gpx3 4 0>;
- };
-
- sdhci@12540000 {
- status = "disabled";
- };
-
soft-spi {
compatible = "spi-gpio";
cs-gpios = <&gpy4 3 0>;
@@ -258,3 +236,17 @@
};
};
};
+
+&sdhci0 {
+ samsung,bus-width = <8>;
+ samsung,timing = <1 3 3>;
+ pwr-gpios = <&gpk0 2 0>;
+ status = "okay";
+};
+
+&sdhci2 {
+ samsung,bus-width = <4>;
+ samsung,timing = <1 2 3>;
+ cd-gpios = <&gpx3 4 0>;
+ status = "okay";
+};
diff --git a/arch/arm/dts/exynos4412-odroid.dts b/arch/arm/dts/exynos4412-odroid.dts
index 8710747..ecfd5d1 100644
--- a/arch/arm/dts/exynos4412-odroid.dts
+++ b/arch/arm/dts/exynos4412-odroid.dts
@@ -25,8 +25,8 @@
i2c7 = "/i2c@138d0000";
serial0 = "/serial@13800000";
console = "/serial@13810000";
- mmc2 = "/sdhci@12530000";
- mmc4 = "/dwmmc@12550000";
+ mmc0 = &mshc_0;
+ mmc1 = &sdhci2;
};
i2c@13860000 {
@@ -224,34 +224,6 @@
status = "okay";
};
- sdhci@12510000 {
- status = "disabled";
- };
-
- sdhci@12520000 {
- status = "disabled";
- };
-
- sdhci@12530000 {
- samsung,bus-width = <4>;
- samsung,timing = <1 2 3>;
- cd-gpios = <&gpk2 2 0>;
- };
-
- sdhci@12540000 {
- status = "disabled";
- };
-
- dwmmc@12550000 {
- samsung,bus-width = <8>;
- samsung,timing = <2 1 0>;
- samsung,removable = <0>;
- fifoth_val = <0x203f0040>;
- bus_hz = <400000000>;
- div = <0x3>;
- index = <4>;
- };
-
ehci@12580000 {
compatible = "samsung,exynos-ehci";
reg = <0x12580000 0x100>;
@@ -268,3 +240,21 @@
reset-gpio = <&gpk1 2 0>;
};
};
+
+&sdhci2 {
+ samsung,bus-width = <4>;
+ samsung,timing = <1 2 3>;
+ cd-gpios = <&gpk2 2 0>;
+ status = "okay";
+};
+
+&mshc_0 {
+ samsung,bus-width = <8>;
+ samsung,timing = <2 1 0>;
+ samsung,removable = <0>;
+ fifoth_val = <0x203f0040>;
+ bus_hz = <400000000>;
+ div = <0x3>;
+ index = <4>;
+ status = "okay";
+};
diff --git a/arch/arm/dts/exynos4412-trats2.dts b/arch/arm/dts/exynos4412-trats2.dts
index fd9e48c..0938e79 100644
--- a/arch/arm/dts/exynos4412-trats2.dts
+++ b/arch/arm/dts/exynos4412-trats2.dts
@@ -31,9 +31,8 @@
i2c9 = &i2c_max77693;
serial0 = "/serial@13800000";
console = "/serial@13820000";
- mmc0 = "/sdhci@12510000";
- mmc2 = "/sdhci@12530000";
- mshc0 = "/dwmmc@12550000";
+ mmc0 = &mshc_0;
+ mmc1 = &sdhci2;
};
i2c_fg: fuel-gauge {
@@ -437,28 +436,30 @@
pwr-gpios = <&gpk0 4 0>;
status = "disabled";
};
+};
- sdhci@12520000 {
- status = "disabled";
- };
+&sdhci0 {
+ samsung,bus-width = <8>;
+ samsung,timing = <1 3 3>;
+ pwr-gpios = <&gpk0 4 0>;
+ status = "disabled";
+};
- sdhci@12530000 {
- samsung,bus-width = <4>;
- samsung,timing = <1 2 3>;
- cd-gpios = <&gpk2 2 0>;
- };
+&sdhci2 {
+ samsung,bus-width = <4>;
+ samsung,timing = <1 2 3>;
+ cd-gpios = <&gpk2 2 0>;
+ status = "okay";
+};
- sdhci@12540000 {
- status = "disabled";
- };
-
- dwmmc@12550000 {
- samsung,bus-width = <8>;
- samsung,timing = <2 1 0>;
- pwr-gpios = <&gpk0 4 0>;
- fifoth_val = <0x203f0040>;
- bus_hz = <400000000>;
- div = <0x3>;
- index = <4>;
- };
+&mshc_0 {
+ samsung,bus-width = <8>;
+ samsung,timing = <2 1 0>;
+ samsung,removable = <0>;
+ fifoth_val = <0x203f0040>;
+ bus_hz = <400000000>;
+ div = <0x3>;
+ index = <4>;
+ fifo-depth = <0x80>;
+ status = "okay";
};
diff --git a/arch/arm/dts/exynos4x12.dtsi b/arch/arm/dts/exynos4x12.dtsi
index 5d58c6e..b977288 100644
--- a/arch/arm/dts/exynos4x12.dtsi
+++ b/arch/arm/dts/exynos4x12.dtsi
@@ -27,7 +27,6 @@
pinctrl1 = &pinctrl_1;
pinctrl2 = &pinctrl_2;
pinctrl3 = &pinctrl_3;
- mshc0 = &mshc_0;
};
pd_isp: isp-power-domain@10023CA0 {
@@ -100,16 +99,4 @@
clock-names = "sclk_fimg2d", "fimg2d";
status = "disabled";
};
-
- mshc_0: mmc@12550000 {
- compatible = "samsung,exynos4412-dw-mshc";
- reg = <0x12550000 0x1000>;
- interrupts = <0 77 0>;
- #address-cells = <1>;
- #size-cells = <0>;
- fifo-depth = <0x80>;
- clocks = <&clock 301>, <&clock 149>;
- clock-names = "biu", "ciu";
- status = "disabled";
- };
};
diff --git a/arch/arm/dts/exynos5422-odroidxu3.dts b/arch/arm/dts/exynos5422-odroidxu3.dts
index 690c747..b6f4333 100644
--- a/arch/arm/dts/exynos5422-odroidxu3.dts
+++ b/arch/arm/dts/exynos5422-odroidxu3.dts
@@ -40,6 +40,215 @@
s2mps11_pmic@66 {
compatible = "samsung,s2mps11-pmic";
reg = <0x66>;
+ voltage-regulators {
+ ldo1_reg: LDO1 {
+ regulator-name = "vdd_ldo1";
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1000000>;
+ regulator-always-on;
+ };
+
+ ldo3_reg: LDO3 {
+ regulator-name = "vddq_mmc0";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ ldo4_reg: LDO4 {
+ regulator-name = "vdd_adc";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ ldo5_reg: LDO5 {
+ regulator-name = "vdd_ldo5";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ };
+
+ ldo6_reg: LDO6 {
+ regulator-name = "vdd_ldo6";
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1000000>;
+ regulator-always-on;
+ };
+
+ ldo7_reg: LDO7 {
+ regulator-name = "vdd_ldo7";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ };
+
+ ldo8_reg: LDO8 {
+ regulator-name = "vdd_ldo8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ };
+
+ ldo9_reg: LDO9 {
+ regulator-name = "vdd_ldo9";
+ regulator-min-microvolt = <3000000>;
+ regulator-max-microvolt = <3000000>;
+ regulator-always-on;
+ };
+
+ ldo10_reg: LDO10 {
+ regulator-name = "vdd_ldo10";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ };
+
+ ldo11_reg: LDO11 {
+ regulator-name = "vdd_ldo11";
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1000000>;
+ regulator-always-on;
+ };
+
+ ldo12_reg: LDO12 {
+ regulator-name = "vdd_ldo12";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ };
+
+ ldo13_reg: LDO13 {
+ regulator-name = "vddq_mmc2";
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+ };
+
+ ldo15_reg: LDO15 {
+ regulator-name = "vdd_ldo15";
+ regulator-min-microvolt = <3100000>;
+ regulator-max-microvolt = <3100000>;
+ regulator-always-on;
+ };
+
+ ldo16_reg: LDO16 {
+ regulator-name = "vdd_ldo16";
+ regulator-min-microvolt = <2200000>;
+ regulator-max-microvolt = <2200000>;
+ regulator-always-on;
+ };
+
+ ldo17_reg: LDO17 {
+ regulator-name = "tsp_avdd";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-always-on;
+ };
+
+ ldo18_reg: LDO18 {
+ regulator-name = "vdd_emmc_1V8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ ldo19_reg: LDO19 {
+ regulator-name = "vdd_sd";
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+ };
+
+ ldo24_reg: LDO24 {
+ regulator-name = "tsp_io";
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+ regulator-always-on;
+ };
+
+ ldo26_reg: LDO26 {
+ regulator-name = "vdd_ldo26";
+ regulator-min-microvolt = <3000000>;
+ regulator-max-microvolt = <3000000>;
+ regulator-always-on;
+ };
+
+ buck1_reg: BUCK1 {
+ regulator-name = "vdd_mif";
+ regulator-min-microvolt = <800000>;
+ regulator-max-microvolt = <1300000>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
+ buck2_reg: BUCK2 {
+ regulator-name = "vdd_arm";
+ regulator-min-microvolt = <800000>;
+ regulator-max-microvolt = <1500000>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
+ buck3_reg: BUCK3 {
+ regulator-name = "vdd_int";
+ regulator-min-microvolt = <800000>;
+ regulator-max-microvolt = <1400000>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
+ buck4_reg: BUCK4 {
+ regulator-name = "vdd_g3d";
+ regulator-min-microvolt = <800000>;
+ regulator-max-microvolt = <1400000>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
+ buck5_reg: BUCK5 {
+ regulator-name = "vdd_mem";
+ regulator-min-microvolt = <800000>;
+ regulator-max-microvolt = <1400000>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
+ buck6_reg: BUCK6 {
+ regulator-name = "vdd_kfc";
+ regulator-min-microvolt = <800000>;
+ regulator-max-microvolt = <1500000>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
+ buck7_reg: BUCK7 {
+ regulator-name = "vdd_1.0v_ldo";
+ regulator-min-microvolt = <800000>;
+ regulator-max-microvolt = <1500000>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
+ buck8_reg: BUCK8 {
+ regulator-name = "vdd_1.8v_ldo";
+ regulator-min-microvolt = <800000>;
+ regulator-max-microvolt = <1500000>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
+ buck9_reg: BUCK9 {
+ regulator-name = "vdd_2.8v_ldo";
+ regulator-min-microvolt = <3000000>;
+ regulator-max-microvolt = <3750000>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
+ buck10_reg: BUCK10 {
+ regulator-name = "vdd_vmem";
+ regulator-min-microvolt = <2850000>;
+ regulator-max-microvolt = <2850000>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+ };
};
};
diff --git a/configs/odroid-xu3_defconfig b/configs/odroid-xu3_defconfig
index fed24ec..d040af3 100644
--- a/configs/odroid-xu3_defconfig
+++ b/configs/odroid-xu3_defconfig
@@ -25,7 +25,7 @@
CONFIG_ADC=y
CONFIG_ADC_EXYNOS=y
CONFIG_DFU_MMC=y
-CONFIG_DM_I2C_COMPAT=y
+CONFIG_SYS_I2C_S3C24X0=y
CONFIG_MMC_DW=y
CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_S5P=y
diff --git a/configs/odroid_defconfig b/configs/odroid_defconfig
index f4e9e9a..22e86e2 100644
--- a/configs/odroid_defconfig
+++ b/configs/odroid_defconfig
@@ -38,7 +38,8 @@
CONFIG_ISO_PARTITION=y
CONFIG_OF_CONTROL=y
CONFIG_DFU_MMC=y
-CONFIG_DM_I2C_COMPAT=y
+CONFIG_SYS_I2C_S3C24X0=y
+CONFIG_DM_MMC=y
CONFIG_MMC_DW=y
CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_SDMA=y
diff --git a/configs/origen_defconfig b/configs/origen_defconfig
index dfb08fb..573c9e2 100644
--- a/configs/origen_defconfig
+++ b/configs/origen_defconfig
@@ -32,6 +32,7 @@
CONFIG_ISO_PARTITION=y
CONFIG_OF_CONTROL=y
CONFIG_DFU_MMC=y
+CONFIG_DM_MMC=y
CONFIG_MMC_DW=y
CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_SDMA=y
diff --git a/configs/s5pc210_universal_defconfig b/configs/s5pc210_universal_defconfig
index c342fa9..021e6c5 100644
--- a/configs/s5pc210_universal_defconfig
+++ b/configs/s5pc210_universal_defconfig
@@ -33,6 +33,7 @@
CONFIG_OF_CONTROL=y
CONFIG_DFU_MMC=y
CONFIG_SYS_I2C_S3C24X0=y
+CONFIG_DM_MMC=y
CONFIG_MMC_DW=y
CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_SDMA=y
diff --git a/configs/trats2_defconfig b/configs/trats2_defconfig
index 8c92f2f..16ac27f 100644
--- a/configs/trats2_defconfig
+++ b/configs/trats2_defconfig
@@ -37,6 +37,7 @@
CONFIG_DFU_MMC=y
CONFIG_DM_I2C_GPIO=y
CONFIG_SYS_I2C_S3C24X0=y
+CONFIG_DM_MMC=y
CONFIG_MMC_DW=y
CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_SDMA=y
diff --git a/configs/trats_defconfig b/configs/trats_defconfig
index 09797c3..0f2445b 100644
--- a/configs/trats_defconfig
+++ b/configs/trats_defconfig
@@ -36,6 +36,7 @@
CONFIG_DFU_MMC=y
CONFIG_DM_I2C_GPIO=y
CONFIG_SYS_I2C_S3C24X0=y
+CONFIG_DM_MMC=y
CONFIG_MMC_DW=y
CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_SDMA=y
diff --git a/include/configs/odroid.h b/include/configs/odroid.h
index afc7c5e..609a3d1 100644
--- a/include/configs/odroid.h
+++ b/include/configs/odroid.h
@@ -175,11 +175,6 @@
"scriptaddr=0x42000000\0" \
"fdtaddr=40800000\0"
-/* I2C */
-#define CONFIG_SYS_I2C_S3C24X0
-#define CONFIG_SYS_I2C_S3C24X0_SPEED 100000
-#define CONFIG_SYS_I2C_S3C24X0_SLAVE 0
-
/* GPT */
#define CONFIG_RANDOM_UUID