[U-Boot] [PATCH 2/4] EXYNOS5: PINMUX: Add pinmux for SDMMC4
Simon Glass
sjg at chromium.org
Fri Jun 1 03:33:54 CEST 2012
Hi,
On Fri, May 25, 2012 at 4:53 AM, Rajeshwari Shinde <rajeshwari.s at samsung.com
> wrote:
> Add pinmux support for SDMMC4 on EXYNOS5.
>
> Signed-off-by: Terry Lambert <tlambert at chromium.org>
> Signed-off-by: Rajeshwari Shinde <rajeshwari.s at samsung.com>
>
Is this relevant only to EVT0? It's fine if this is just a step along the
way, just wanted to check.
> ---
> This patch is based on:
> "EXYNOS5: PINMUX: Added default pinumx settings"
> arch/arm/cpu/armv7/exynos/pinmux.c | 24 +++++++++++++++++-------
> 1 files changed, 17 insertions(+), 7 deletions(-)
>
> diff --git a/arch/arm/cpu/armv7/exynos/pinmux.c
> b/arch/arm/cpu/armv7/exynos/pinmux.c
> index 103bcbb..9319fd6 100644
> --- a/arch/arm/cpu/armv7/exynos/pinmux.c
> +++ b/arch/arm/cpu/armv7/exynos/pinmux.c
> @@ -32,7 +32,7 @@ int exynos5_pinmux_config(int peripheral, int flags)
> struct exynos5_gpio_part1 *gpio1 =
> (struct exynos5_gpio_part1 *) samsung_get_base_gpio_part1();
> struct s5p_gpio_bank *bank, *bank_ext;
> - int i, start, count;
> + int i, start, count, pin, pin_ext, drv;
>
> switch (peripheral) {
> case PERIPH_ID_UART0:
> @@ -66,6 +66,10 @@ int exynos5_pinmux_config(int peripheral, int flags)
> case PERIPH_ID_SDMMC1:
> case PERIPH_ID_SDMMC2:
> case PERIPH_ID_SDMMC3:
> + case PERIPH_ID_SDMMC4:
> + pin = GPIO_FUNC(0x2);
> + pin_ext = GPIO_FUNC(0x3);
> + drv = GPIO_DRV_4X;
> switch (peripheral) {
> case PERIPH_ID_SDMMC0:
> bank = &gpio1->c0; bank_ext = &gpio1->c1;
> @@ -79,6 +83,12 @@ int exynos5_pinmux_config(int peripheral, int flags)
> case PERIPH_ID_SDMMC3:
> bank = &gpio1->c3; bank_ext = NULL;
> break;
> + case PERIPH_ID_SDMMC4:
> + bank = &gpio1->c0; bank_ext = &gpio1->c1;
> + pin = GPIO_FUNC(0x3);
> + pin_ext = GPIO_FUNC(0x4);
> + drv = GPIO_DRV_2X;
> + break;
> }
> if ((flags & PINMUX_FLAG_8BIT_MODE) && !bank_ext) {
> debug("SDMMC device %d does not support 8bit mode",
> @@ -87,20 +97,20 @@ int exynos5_pinmux_config(int peripheral, int flags)
> }
> if (flags & PINMUX_FLAG_8BIT_MODE) {
> for (i = 3; i <= 6; i++) {
> - s5p_gpio_cfg_pin(bank_ext, i,
> GPIO_FUNC(0x3));
> + s5p_gpio_cfg_pin(bank_ext, i, pin_ext);
> s5p_gpio_set_pull(bank_ext, i,
> GPIO_PULL_UP);
> - s5p_gpio_set_drv(bank_ext, i, GPIO_DRV_4X);
> + s5p_gpio_set_drv(bank_ext, i, drv);
> }
> }
> for (i = 0; i < 2; i++) {
> - s5p_gpio_cfg_pin(bank, i, GPIO_FUNC(0x2));
> + s5p_gpio_cfg_pin(bank, i, pin);
> s5p_gpio_set_pull(bank, i, GPIO_PULL_NONE);
> - s5p_gpio_set_drv(bank, i, GPIO_DRV_4X);
> + s5p_gpio_set_drv(bank, i, drv);
> }
> for (i = 3; i <= 6; i++) {
> - s5p_gpio_cfg_pin(bank, i, GPIO_FUNC(0x2));
> + s5p_gpio_cfg_pin(bank, i, pin);
> s5p_gpio_set_pull(bank, i, GPIO_PULL_UP);
> - s5p_gpio_set_drv(bank, i, GPIO_DRV_4X);
> + s5p_gpio_set_drv(bank, i, drv);
> }
> break;
> case PERIPH_ID_SROMC:
> --
> 1.7.4.4
>
> Regards,
Simon
More information about the U-Boot
mailing list