[U-Boot] [PATCH 14/14] odroid: adjust gpio calls to dm gpio api
Przemyslaw Marczak
p.marczak at samsung.com
Tue Oct 28 08:27:13 CET 2014
Hello,
On 10/28/2014 02:13 AM, Simon Glass wrote:
> Hi,
>
> On 24 October 2014 09:45, Przemyslaw Marczak <p.marczak at samsung.com> wrote:
>> Setting gpio value before dm gpio init has no effect,
>> so now, odroid gpio settings are moved after the gpio uclass init.
>>
>> Using non-requested gpio pin cases printing error messages.
>> To avoid this, gpio_request() is added for those gpios.
>>
>> Signed-off-by: Przemyslaw Marczak <p.marczak at samsung.com>
>> ---
>> board/samsung/odroid/odroid.c | 17 ++++++++++++++++-
>> 1 file changed, 16 insertions(+), 1 deletion(-)
>>
>> diff --git a/board/samsung/odroid/odroid.c b/board/samsung/odroid/odroid.c
>> index 5edb250..5ce8e9f 100644
>> --- a/board/samsung/odroid/odroid.c
>> +++ b/board/samsung/odroid/odroid.c
>> @@ -355,22 +355,36 @@ static void board_clock_init(void)
>>
>> static void board_gpio_init(void)
>> {
>> + char buf[16];
>> +
>> /* eMMC Reset Pin */
>> + sprintf(buf, "eMMC Reset");
>> + gpio_request(EXYNOS4X12_GPIO_K12, buf);
>
> You can use:
>
> gpio_request(EXYNOS4X12_GPIO_K12, "eMMC Reset");
>
> Same below.
>
Ops, right! This was to easy:)
>> +
>> gpio_cfg_pin(EXYNOS4X12_GPIO_K12, S5P_GPIO_FUNC(0x1));
>> gpio_set_pull(EXYNOS4X12_GPIO_K12, S5P_GPIO_PULL_NONE);
>> gpio_set_drv(EXYNOS4X12_GPIO_K12, S5P_GPIO_DRV_4X);
>>
>> /* Enable FAN (Odroid U3) */
>> + sprintf(buf, "FAN Control");
>> + gpio_request(EXYNOS4X12_GPIO_D00, buf);
>> +
>> gpio_set_pull(EXYNOS4X12_GPIO_D00, S5P_GPIO_PULL_UP);
>> gpio_set_drv(EXYNOS4X12_GPIO_D00, S5P_GPIO_DRV_4X);
>> gpio_direction_output(EXYNOS4X12_GPIO_D00, 1);
>>
>> /* OTG Vbus output (Odroid U3+) */
>> + sprintf(buf, "OTG Vbus");
>> + gpio_request(EXYNOS4X12_GPIO_L20, buf);
>> +
>> gpio_set_pull(EXYNOS4X12_GPIO_L20, S5P_GPIO_PULL_NONE);
>> gpio_set_drv(EXYNOS4X12_GPIO_L20, S5P_GPIO_DRV_4X);
>> gpio_direction_output(EXYNOS4X12_GPIO_L20, 0);
>>
>> /* OTG INT (Odroid U3+) */
>> + sprintf(buf, "OTG INT");
>> + gpio_request(EXYNOS4X12_GPIO_X31, buf);
>> +
>> gpio_set_pull(EXYNOS4X12_GPIO_X31, S5P_GPIO_PULL_UP);
>> gpio_set_drv(EXYNOS4X12_GPIO_X31, S5P_GPIO_DRV_4X);
>> gpio_direction_input(EXYNOS4X12_GPIO_X31);
>> @@ -403,7 +417,6 @@ static void board_init_i2c(void)
>> int exynos_early_init_f(void)
>> {
>> board_clock_init();
>> - board_gpio_init();
>>
>> return 0;
>> }
>> @@ -414,6 +427,8 @@ int exynos_init(void)
>> gd->ram_size -= SZ_1M;
>> gd->bd->bi_dram[CONFIG_NR_DRAM_BANKS - 1].size -= SZ_1M;
>>
>> + board_gpio_init();
>> +
>> return 0;
>> }
>>
>> --
>> 1.9.1
>>
>
> Regards,
> Simon
>
Best regards,
--
Przemyslaw Marczak
Samsung R&D Institute Poland
Samsung Electronics
p.marczak at samsung.com
More information about the U-Boot
mailing list