On Sun, Jun 10, 2012 at 10:03 AM, Vikram Narayanan <vikram...@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.

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).
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to