From mboxrd@z Thu Jan 1 00:00:00 1970 From: Vikram Narayanan Date: Mon, 11 Jun 2012 20:28:30 +0530 Subject: [U-Boot] [PATCH 2/3] tx25: Use generic gpio_* calls In-Reply-To: References: <4FD49AA5.7000303@gmail.com> <4FD49B2F.8090706@gmail.com> Message-ID: <4FD60796.8050003@gmail.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Fabio, On 6/10/2012 8:08 PM, Fabio Estevam wrote: > On Sun, Jun 10, 2012 at 10:03 AM, Vikram Narayanan 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