
On 05/08/2012 12:00, Philippe Reynes wrote:
Signed-off-by: Philippe Reynes tremyfr@yahoo.fr
board/logicpd/imx27lite/imx27lite.c | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-)
Hi Philippe,
Hi Stefano,
{ - struct gpio_regs *regs = (struct gpio_regs *)IMX_GPIO_BASE; + struct gpio_port_regs *regs = (struct gpio_port_regs *)IMX_GPIO_BASE; #if defined(CONFIG_SYS_NAND_LARGEPAGE) struct system_control_regs *sc_regs = (struct system_control_regs *)IMX_SYSTEM_CTL_BASE; @@ -43,8 +44,8 @@ int board_init(void) #ifdef CONFIG_FEC_MXC mx27_fec_init_pins(); imx_gpio_mode((GPIO_PORTC | GPIO_OUT | GPIO_PUEN | GPIO_GPIO | 31)); - writel(readl(®s->port[PORTC].dr) | (1 << 31), - ®s->port[PORTC].dr); + writel(readl(®s->port[PORTC].gpio_dr) | (1 << 31), + ®s->port[PORTC].gpio_dr);
This is not what I am expecting from the patch when it will move to generic GPIO API.
The GPIO API uses really generic as in kernel functions, independently from the SOC where it is running. This hides the physical registers of the GPIOs.
Instead of that, gpio_set_value(), gpio_get_value(), gpio_direction_input() and gpio_direction_output() should be used. You can take a look at other iMX (MX3, MX28, MX5, MX6), that are already using the generic API.
Oh, I understand. As I don't have this board, I've done the smallest change to fix the compilation. I add the driver mxc_gpio on imx27lite, remove this direct acces to gpio register, and send the new version of the patch.
regards, Philippe