[U-Boot] [PATCH 2/2] imx27lite: update with gpio api change

Philippe Reynes tremyfr at yahoo.fr
Mon Aug 6 17:27:21 CEST 2012



>On 05/08/2012 12:00, Philippe Reynes wrote:
>> Signed-off-by: Philippe Reynes <tremyfr at 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(&regs->port[PORTC].dr) | (1 << 31),
>> -                &regs->port[PORTC].dr);
>> +    writel(readl(&regs->port[PORTC].gpio_dr) | (1 << 31),
>> +                &regs->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


More information about the U-Boot mailing list