mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-13 06:42:56 +00:00
e6469f390f
These GPIO_PORTx macros should be in gpio.h, but not in imx-regs.h. Also, imx-regs.h and iomux-v3.h has same macro defintion for GPIO_PORTx, and both of them are included in mxc_i2c.c(include mxc_i2c.h). This will incur build warnings with macro redefinition. Since iomux-v3.h is not compatible with mx27, we can not simply include iomux-v3.h for mx27, so move the GPIO_PORTx to gpio.h to fix the build warning. Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
59 lines
1.1 KiB
C
59 lines
1.1 KiB
C
/*
|
|
* Copyright (C) 2012
|
|
* Philippe Reynes <tremyfr@yahoo.fr>
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0+
|
|
*/
|
|
|
|
|
|
#ifndef __ASM_ARCH_MX27_GPIO_H
|
|
#define __ASM_ARCH_MX27_GPIO_H
|
|
|
|
/* GPIO registers */
|
|
struct gpio_regs {
|
|
u32 gpio_dir; /* DDIR */
|
|
u32 ocr1;
|
|
u32 ocr2;
|
|
u32 iconfa1;
|
|
u32 iconfa2;
|
|
u32 iconfb1;
|
|
u32 iconfb2;
|
|
u32 gpio_dr; /* DR */
|
|
u32 gius;
|
|
u32 gpio_psr; /* SSR */
|
|
u32 icr1;
|
|
u32 icr2;
|
|
u32 imr;
|
|
u32 isr;
|
|
u32 gpr;
|
|
u32 swr;
|
|
u32 puen;
|
|
u32 res[0x2f];
|
|
};
|
|
|
|
/* This structure is used by the function imx_gpio_mode */
|
|
struct gpio_port_regs {
|
|
struct gpio_regs port[6];
|
|
};
|
|
|
|
/*
|
|
* GPIO Module and I/O Multiplexer
|
|
*/
|
|
#define PORTA 0
|
|
#define PORTB 1
|
|
#define PORTC 2
|
|
#define PORTD 3
|
|
#define PORTE 4
|
|
#define PORTF 5
|
|
|
|
#define GPIO_PIN_MASK 0x1f
|
|
#define GPIO_PORT_SHIFT 5
|
|
#define GPIO_PORT_MASK (0x7 << GPIO_PORT_SHIFT)
|
|
#define GPIO_PORTA (PORTA << GPIO_PORT_SHIFT)
|
|
#define GPIO_PORTB (PORTB << GPIO_PORT_SHIFT)
|
|
#define GPIO_PORTC (PORTC << GPIO_PORT_SHIFT)
|
|
#define GPIO_PORTD (PORTD << GPIO_PORT_SHIFT)
|
|
#define GPIO_PORTE (PORTE << GPIO_PORT_SHIFT)
|
|
#define GPIO_PORTF (PORTF << GPIO_PORT_SHIFT)
|
|
|
|
#endif
|