[U-Boot] [PATCH 2/3] tx25: Use generic gpio_* calls

Vikram Narayanan vikram186 at gmail.com
Mon Jun 11 16:58:30 CEST 2012


Hi Fabio,

On 6/10/2012 8:08 PM, Fabio Estevam wrote:
> On Sun, Jun 10, 2012 at 10:03 AM, Vikram Narayanan<vikram186 at gmail.com>  wrote:
>
>>         /* drop PHY power and assert reset (low) */
>> -       val = readl(&gpio4->gpio_dr)&  ~((1<<  7) | (1<<  9));
>> -       writel(val,&gpio4->gpio_dr);
>> -       val = readl(&gpio4->gpio_dir) | (1<<  7) | (1<<  9);
>> -       writel(val,&gpio4->gpio_dir);
>> +       gpio_direction_output(GPIO_FEC_RESET_B, 0);
>> +       gpio_direction_output(GPIO_FEC_ENABLE_B, 0);
>> +
>> +       gpio_direction_output(GPIO_FEC_RESET_B, 1);
>> +       gpio_direction_output(GPIO_FEC_ENABLE_B, 1);
>
> gpio_direction_output should be set only once for each GPIO.
>
> After you set the direction (input or output) you should use
> 'gpio_set_value' for setting the GPIO to 0 or 1.

That was my understanding too. But some board file used it in the above 
way. Hope I got a wrong example. I'll fix this.

> Also, please remove the:
>
>> +       gpio_direction_output(GPIO_FEC_RESET_B, 1);
>> +       gpio_direction_output(GPIO_FEC_ENABLE_B, 1);
>
> lines, as the setting to 1 should be after the delay (via gpio_set_value).

Any idea about the delay value?

Thanks,
Vikram


More information about the U-Boot mailing list