diff --git a/arch/arm/dts/exynos4210-pinctrl-uboot.dtsi b/arch/arm/dts/exynos4210-pinctrl-uboot.dtsi index ee071c162f623a059fa1b2f93ccc35031ec234e1..f9b61ba8e8fe525e57e4ca985afd9b540390d04d 100644 --- a/arch/arm/dts/exynos4210-pinctrl-uboot.dtsi +++ b/arch/arm/dts/exynos4210-pinctrl-uboot.dtsi @@ -14,7 +14,7 @@ pinctrl_1: pinctrl@11000000 { #address-cells = <1>; #size-cells = <0>; - gpy0: gpy0 { + gpx0: gpx0 { reg = <0xc00>; }; }; diff --git a/arch/arm/dts/exynos4210-trats.dts b/arch/arm/dts/exynos4210-trats.dts index 81188bca13b429a8c761db4020c2d507fbeb1078..8c7a2c3a78792e777ae2b2019ddb8b1eb0e26989 100644 --- a/arch/arm/dts/exynos4210-trats.dts +++ b/arch/arm/dts/exynos4210-trats.dts @@ -101,7 +101,7 @@ sdhci@12510000 { samsung,bus-width = <8>; samsung,timing = <1 3 3>; - pwr-gpios = <&gpio 0xA2 0>; + pwr-gpios = <&gpio 146 0>; }; sdhci@12520000 { @@ -111,7 +111,7 @@ sdhci@12530000 { samsung,bus-width = <4>; samsung,timing = <1 2 3>; - cd-gpios = <&gpio 0x39C 0>; + cd-gpios = <&gpio 284 0>; }; sdhci@12540000 { diff --git a/arch/arm/dts/exynos4210-universal_c210.dts b/arch/arm/dts/exynos4210-universal_c210.dts index 9139810b1a924e7fab07b306f5c121103ff90c4a..808c3f7cc3a2adc0183428fe3f0035169794aa85 100644 --- a/arch/arm/dts/exynos4210-universal_c210.dts +++ b/arch/arm/dts/exynos4210-universal_c210.dts @@ -24,7 +24,7 @@ sdhci@12510000 { samsung,bus-width = <8>; samsung,timing = <1 3 3>; - pwr-gpios = <&gpio 0xA2 0>; + pwr-gpios = <&gpio 146 0>; }; sdhci@12520000 { @@ -34,7 +34,7 @@ sdhci@12530000 { samsung,bus-width = <4>; samsung,timing = <1 2 3>; - cd-gpios = <&gpio 0x39C 0>; + cd-gpios = <&gpio 284 0>; }; sdhci@12540000 { diff --git a/arch/arm/dts/exynos4412-odroid.dts b/arch/arm/dts/exynos4412-odroid.dts index 4c5e2b39be5cb51181287e6390872b0016df7f5f..2a1f1dda4e23079a0e8108c9e29418b9eab7272b 100644 --- a/arch/arm/dts/exynos4412-odroid.dts +++ b/arch/arm/dts/exynos4412-odroid.dts @@ -8,7 +8,7 @@ */ /dts-v1/; -#include "exynos4.dtsi" +#include "exynos4412.dtsi" / { model = "Odroid based on Exynos4412"; @@ -51,7 +51,7 @@ sdhci@12530000 { samsung,bus-width = <4>; samsung,timing = <1 2 3>; - cd-gpios = <&gpio 0xC2 0>; + cd-gpios = <&gpio 122 0>; }; sdhci@12540000 { diff --git a/arch/arm/dts/exynos4412-trats2.dts b/arch/arm/dts/exynos4412-trats2.dts index 3b1e4588b54b3cfb9bd0b5c6bcf3424239eb76c8..60e4515a7e7a8833a2c1c62da90bf54fed404a03 100644 --- a/arch/arm/dts/exynos4412-trats2.dts +++ b/arch/arm/dts/exynos4412-trats2.dts @@ -416,7 +416,7 @@ sdhci@12510000 { samsung,bus-width = <8>; samsung,timing = <1 3 3>; - pwr-gpios = <&gpio 0xB2 0>; + pwr-gpios = <&gpio 0x6a 0>; status = "disabled"; }; @@ -427,7 +427,7 @@ sdhci@12530000 { samsung,bus-width = <4>; samsung,timing = <1 2 3>; - cd-gpios = <&gpio 0x3BC 0>; + cd-gpios = <&gpio 0x7a 0>; }; sdhci@12540000 { @@ -437,7 +437,7 @@ dwmmc@12550000 { samsung,bus-width = <8>; samsung,timing = <2 1 0>; - pwr-gpios = <&gpio 0xB2 0>; + pwr-gpios = <&gpio 0x6a 0>; fifoth_val = <0x203f0040>; bus_hz = <400000000>; div = <0x3>; diff --git a/arch/arm/dts/exynos4x12-pinctrl-uboot.dtsi b/arch/arm/dts/exynos4x12-pinctrl-uboot.dtsi index c02796d2b37e420aea244b4ad75b30ad4d5308e1..c41d07b65fc56abd07b890a369951713d94c5a33 100644 --- a/arch/arm/dts/exynos4x12-pinctrl-uboot.dtsi +++ b/arch/arm/dts/exynos4x12-pinctrl-uboot.dtsi @@ -9,7 +9,7 @@ #address-cells = <1>; #size-cells = <0>; gpf0: gpf0 { - reg = <0xc180>; + reg = <0x180>; }; gpj0: gpj0 { reg = <0x240>; @@ -25,9 +25,6 @@ gpm0: gpm0 { reg = <0x260>; }; - gpy0: gpy0 { - reg = <0x120>; - }; gpx0: gpx0 { reg = <0xc00>; }; diff --git a/arch/arm/dts/exynos4x12-pinctrl.dtsi b/arch/arm/dts/exynos4x12-pinctrl.dtsi index 93f39983b451f12ab7d64cd8887bbcd550a62f58..23061351ffb26b41119423ee91afa731d9c08ad2 100644 --- a/arch/arm/dts/exynos4x12-pinctrl.dtsi +++ b/arch/arm/dts/exynos4x12-pinctrl.dtsi @@ -176,79 +176,79 @@ #interrupt-cells = <2>; }; - gpm0: gpm0 { + gpy0: gpy0 { gpio-controller; #gpio-cells = <2>; - - interrupt-controller; - #interrupt-cells = <2>; }; - gpm1: gpm1 { + gpy1: gpy1 { gpio-controller; #gpio-cells = <2>; - - interrupt-controller; - #interrupt-cells = <2>; }; - gpm2: gpm2 { + gpy2: gpy2 { gpio-controller; #gpio-cells = <2>; - - interrupt-controller; - #interrupt-cells = <2>; }; - gpm3: gpm3 { + gpy3: gpy3 { gpio-controller; #gpio-cells = <2>; - - interrupt-controller; - #interrupt-cells = <2>; }; - gpm4: gpm4 { + gpy4: gpy4 { gpio-controller; #gpio-cells = <2>; - - interrupt-controller; - #interrupt-cells = <2>; }; - gpy0: gpy0 { + gpy5: gpy5 { gpio-controller; #gpio-cells = <2>; }; - gpy1: gpy1 { + gpy6: gpy6 { gpio-controller; #gpio-cells = <2>; }; - gpy2: gpy2 { + gpm0: gpm0 { gpio-controller; #gpio-cells = <2>; + + interrupt-controller; + #interrupt-cells = <2>; }; - gpy3: gpy3 { + gpm1: gpm1 { gpio-controller; #gpio-cells = <2>; + + interrupt-controller; + #interrupt-cells = <2>; }; - gpy4: gpy4 { + gpm2: gpm2 { gpio-controller; #gpio-cells = <2>; + + interrupt-controller; + #interrupt-cells = <2>; }; - gpy5: gpy5 { + gpm3: gpm3 { gpio-controller; #gpio-cells = <2>; + + interrupt-controller; + #interrupt-cells = <2>; }; - gpy6: gpy6 { + gpm4: gpm4 { gpio-controller; #gpio-cells = <2>; + + interrupt-controller; + #interrupt-cells = <2>; }; gpx0: gpx0 { diff --git a/board/samsung/universal_c210/universal.c b/board/samsung/universal_c210/universal.c index 22b08497cb57c1091b1eb82aeed7b58b73c18857..df4671394f668faa8639f3ba8881f94503dd6926 100644 --- a/board/samsung/universal_c210/universal.c +++ b/board/samsung/universal_c210/universal.c @@ -328,6 +328,8 @@ void exynos_enable_ldo(unsigned int onoff) int exynos_init(void) { + char buf[16]; + gd->bd->bi_arch_number = MACH_TYPE_UNIVERSAL_C210; switch (get_hwrev()) { @@ -352,6 +354,13 @@ int exynos_init(void) break; } + /* Request soft I2C gpios */ + sprintf(buf, "soft_i2c_scl"); + gpio_request(CONFIG_SOFT_I2C_GPIO_SCL, buf); + + sprintf(buf, "soft_i2c_sda"); + gpio_request(CONFIG_SOFT_I2C_GPIO_SDA, buf); + check_hw_revision(); printf("HW Revision:\t0x%x\n", board_rev); diff --git a/drivers/mmc/s5p_sdhci.c b/drivers/mmc/s5p_sdhci.c index 0dea45d079f33e9c4f8b3b55288d7f508e4abc2d..a5d34876bbb6d7633f4a8f3dac3c9f21a6b82753 100644 --- a/drivers/mmc/s5p_sdhci.c +++ b/drivers/mmc/s5p_sdhci.c @@ -123,7 +123,7 @@ static int do_sdhci_init(struct sdhci_host *host) if (fdt_gpio_isvalid(&host->cd_gpio)) { sprintf(str, "sdhci%d_cd", host->index & 0xf); gpio_request(host->cd_gpio.gpio, str); - gpio_direction_output(host->cd_gpio.gpio, 1); + gpio_direction_input(host->cd_gpio.gpio); if (gpio_get_value(host->cd_gpio.gpio)) return -ENODEV; diff --git a/include/configs/exynos-common.h b/include/configs/exynos-common.h index 6ba9bb7a1b15252fe56049ee1af3833609dee66e..b258cb93c454c7f44f85f535067a6f042776a5f7 100644 --- a/include/configs/exynos-common.h +++ b/include/configs/exynos-common.h @@ -75,6 +75,7 @@ #define CONFIG_CMD_EXT4_WRITE #define CONFIG_CMD_FAT #define CONFIG_FAT_WRITE +#define CONFIG_CMD_FS_GENERIC #define CONFIG_DOS_PARTITION #define CONFIG_EFI_PARTITION