From 3f3c13a513daa4c584e46bfc72cda2132bebf671 Mon Sep 17 00:00:00 2001 From: Przemyslaw Marczak Date: Fri, 24 Oct 2014 17:44:56 +0200 Subject: [PATCH 01/11] mmc: s5p: set SD detection pin as input The SD Card slot detection pin should be configured as input. Signed-off-by: Przemyslaw Marczak Acked-by: Simon Glass --- drivers/mmc/s5p_sdhci.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/mmc/s5p_sdhci.c b/drivers/mmc/s5p_sdhci.c index 0dea45d079f..a5d34876bbb 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; From 4367c71301c828d110105436bddfe1418613ea2f Mon Sep 17 00:00:00 2001 From: Przemyslaw Marczak Date: Fri, 24 Oct 2014 17:44:57 +0200 Subject: [PATCH 02/11] exynos: common: enable generic fs operations This config is required by Odroid, and could be also useful for the other boards. Signed-off-by: Przemyslaw Marczak Acked-by: Simon Glass --- include/configs/exynos-common.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/configs/exynos-common.h b/include/configs/exynos-common.h index 6ba9bb7a1b1..b258cb93c45 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 From f065500450bb4a982e973c12a06cb897d5c9aadd Mon Sep 17 00:00:00 2001 From: Przemyslaw Marczak Date: Fri, 24 Oct 2014 17:45:00 +0200 Subject: [PATCH 03/11] exynos4412: dts: fix bad gpio order in pinctrl The pinctrl dts was imported from the kernel, but the order of GPM and GPY is wrong. The gpio enum in: asm/arch/gpio.h is proper. Signed-off-by: Przemyslaw Marczak Acked-by: Simon Glass --- arch/arm/dts/exynos4x12-pinctrl.dtsi | 70 ++++++++++++++-------------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/arch/arm/dts/exynos4x12-pinctrl.dtsi b/arch/arm/dts/exynos4x12-pinctrl.dtsi index 93f39983b45..23061351ffb 100644 --- a/arch/arm/dts/exynos4x12-pinctrl.dtsi +++ b/arch/arm/dts/exynos4x12-pinctrl.dtsi @@ -176,6 +176,41 @@ #interrupt-cells = <2>; }; + gpy0: gpy0 { + gpio-controller; + #gpio-cells = <2>; + }; + + gpy1: gpy1 { + gpio-controller; + #gpio-cells = <2>; + }; + + gpy2: gpy2 { + gpio-controller; + #gpio-cells = <2>; + }; + + gpy3: gpy3 { + gpio-controller; + #gpio-cells = <2>; + }; + + gpy4: gpy4 { + gpio-controller; + #gpio-cells = <2>; + }; + + gpy5: gpy5 { + gpio-controller; + #gpio-cells = <2>; + }; + + gpy6: gpy6 { + gpio-controller; + #gpio-cells = <2>; + }; + gpm0: gpm0 { gpio-controller; #gpio-cells = <2>; @@ -216,41 +251,6 @@ #interrupt-cells = <2>; }; - gpy0: gpy0 { - gpio-controller; - #gpio-cells = <2>; - }; - - gpy1: gpy1 { - gpio-controller; - #gpio-cells = <2>; - }; - - gpy2: gpy2 { - gpio-controller; - #gpio-cells = <2>; - }; - - gpy3: gpy3 { - gpio-controller; - #gpio-cells = <2>; - }; - - gpy4: gpy4 { - gpio-controller; - #gpio-cells = <2>; - }; - - gpy5: gpy5 { - gpio-controller; - #gpio-cells = <2>; - }; - - gpy6: gpy6 { - gpio-controller; - #gpio-cells = <2>; - }; - gpx0: gpx0 { gpio-controller; #gpio-cells = <2>; From 8195a26f784f992000256b0453485429c5330478 Mon Sep 17 00:00:00 2001 From: Przemyslaw Marczak Date: Fri, 24 Oct 2014 17:45:01 +0200 Subject: [PATCH 04/11] exynos4412: dts: adjust pinctrl-uboot to changed gpio order The gpf0 offset was bad and it's now fixed. After fix gpio order in *pinctrl.dts , the gpy0 offset is not required now. Signed-off-by: Przemyslaw Marczak Acked-by: Simon Glass --- arch/arm/dts/exynos4x12-pinctrl-uboot.dtsi | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/arch/arm/dts/exynos4x12-pinctrl-uboot.dtsi b/arch/arm/dts/exynos4x12-pinctrl-uboot.dtsi index c02796d2b37..c41d07b65fc 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>; }; From 523943d429cd2a10f02360bb5d0bb8bda1d0eb01 Mon Sep 17 00:00:00 2001 From: Przemyslaw Marczak Date: Fri, 24 Oct 2014 17:45:02 +0200 Subject: [PATCH 05/11] exynos4210: dts: fix gpio offset in pinctrl-uboot The gpy0 don't need any additional register offset, but the gpx0 does, so now it is fixed. Signed-off-by: Przemyslaw Marczak Acked-by: Simon Glass --- arch/arm/dts/exynos4210-pinctrl-uboot.dtsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/dts/exynos4210-pinctrl-uboot.dtsi b/arch/arm/dts/exynos4210-pinctrl-uboot.dtsi index ee071c162f6..f9b61ba8e8f 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>; }; }; From 4381aad947b907dca5697656dd13b9b0223a2e00 Mon Sep 17 00:00:00 2001 From: Przemyslaw Marczak Date: Fri, 24 Oct 2014 17:45:03 +0200 Subject: [PATCH 06/11] universal: request soft i2c gpio Signed-off-by: Przemyslaw Marczak Acked-by: Simon Glass --- board/samsung/universal_c210/universal.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/board/samsung/universal_c210/universal.c b/board/samsung/universal_c210/universal.c index 22b08497cb5..df4671394f6 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); From 3f51ce66dfb02cb5762ad47c6914831cf5b00415 Mon Sep 17 00:00:00 2001 From: Przemyslaw Marczak Date: Fri, 24 Oct 2014 17:45:05 +0200 Subject: [PATCH 07/11] universal: dts: adjust gpio numbers to new api There is no gaps in exynos gpio enum after rework, so the gpio numbers should be adjusted to the new numbering. Signed-off-by: Przemyslaw Marczak Acked-by: Simon Glass --- arch/arm/dts/exynos4210-universal_c210.dts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/arm/dts/exynos4210-universal_c210.dts b/arch/arm/dts/exynos4210-universal_c210.dts index 9139810b1a9..808c3f7cc3a 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 { From 265634701ccb6e07df31164fd963580dabb7dec1 Mon Sep 17 00:00:00 2001 From: Przemyslaw Marczak Date: Fri, 24 Oct 2014 17:45:06 +0200 Subject: [PATCH 08/11] trats: dts: adjust gpio numbers to new api There is no gaps in exynos gpio enum after rework, so the gpio numbers should be adjusted to the new numbering. Signed-off-by: Przemyslaw Marczak Acked-by: Simon Glass --- arch/arm/dts/exynos4210-trats.dts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/arm/dts/exynos4210-trats.dts b/arch/arm/dts/exynos4210-trats.dts index 81188bca13b..8c7a2c3a787 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 { From 6a5ce1e906c467a05432f388f4e3a3ebc8c7e392 Mon Sep 17 00:00:00 2001 From: Przemyslaw Marczak Date: Fri, 24 Oct 2014 17:45:07 +0200 Subject: [PATCH 09/11] trats2: dts: adjust gpio numbers after gpio rework There is no gaps in exynos gpio enum after rework, so the gpio numbers should be adjusted to the new numbering. Signed-off-by: Przemyslaw Marczak Acked-by: Simon Glass --- arch/arm/dts/exynos4412-trats2.dts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/arch/arm/dts/exynos4412-trats2.dts b/arch/arm/dts/exynos4412-trats2.dts index 3b1e4588b54..60e4515a7e7 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>; From b74645490339c50e409aabd78d17fc331d96aae5 Mon Sep 17 00:00:00 2001 From: Przemyslaw Marczak Date: Fri, 24 Oct 2014 17:45:08 +0200 Subject: [PATCH 10/11] odroid: dts: adjust sd cd-gpios for SD Card There is no gaps in exynos gpio enum after rework, so the gpio numbers should be adjusted to the new numbering. Signed-off-by: Przemyslaw Marczak Acked-by: Simon Glass --- arch/arm/dts/exynos4412-odroid.dts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/dts/exynos4412-odroid.dts b/arch/arm/dts/exynos4412-odroid.dts index 4c5e2b39be5..aea012c0dcb 100644 --- a/arch/arm/dts/exynos4412-odroid.dts +++ b/arch/arm/dts/exynos4412-odroid.dts @@ -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 { From 6bc98f50e5700a8df126e21b14903579a8c781cf Mon Sep 17 00:00:00 2001 From: Przemyslaw Marczak Date: Fri, 24 Oct 2014 17:45:09 +0200 Subject: [PATCH 11/11] odroid: dts: fix name of included dtsi Odroid is based on Exynos4412. Signed-off-by: Przemyslaw Marczak Acked-by: Simon Glass --- arch/arm/dts/exynos4412-odroid.dts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/dts/exynos4412-odroid.dts b/arch/arm/dts/exynos4412-odroid.dts index aea012c0dcb..2a1f1dda4e2 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";