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....@freescale.com>
---

Changes v5:
 Take Fabio's suggestion.
 Since iomux-v3.h is not compatible with mx27, we can not directly
 include iomux-v3.h for mx27. Move the GPIO_PORTx to gpio.h which
 should be not in imx-regs.h.

Changes v4:
 New patch.
 we include mxc_i2c.h in driver/i2c/mxc_i2c.c in patch 1/2.
 mxc_i2c.h includes iomux-v3.h.
 Since iomux-v3.h have some macros which also exists in
 asm/arch-xx/imx-regs.h, this will introudce compile warnings
 such as "redefined macro".

Changes v3:
 none

Changes v2:
 none

 arch/arm/include/asm/arch-mx27/gpio.h     | 20 ++++++++++++++++++++
 arch/arm/include/asm/arch-mx27/imx-regs.h | 22 ----------------------
 2 files changed, 20 insertions(+), 22 deletions(-)

diff --git a/arch/arm/include/asm/arch-mx27/gpio.h 
b/arch/arm/include/asm/arch-mx27/gpio.h
index 1e38b93..a8a1ed6 100644
--- a/arch/arm/include/asm/arch-mx27/gpio.h
+++ b/arch/arm/include/asm/arch-mx27/gpio.h
@@ -36,4 +36,24 @@ 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
diff --git a/arch/arm/include/asm/arch-mx27/imx-regs.h 
b/arch/arm/include/asm/arch-mx27/imx-regs.h
index 92c847e..7402e31 100644
--- a/arch/arm/include/asm/arch-mx27/imx-regs.h
+++ b/arch/arm/include/asm/arch-mx27/imx-regs.h
@@ -138,16 +138,6 @@ struct gpt_regs {
        u32 gpt_tstat;
 };
 
-/*
- *  GPIO Module and I/O Multiplexer
- */
-#define PORTA 0
-#define PORTB 1
-#define PORTC 2
-#define PORTD 3
-#define PORTE 4
-#define PORTF 5
-
 /* IIM Control Registers */
 struct iim_regs {
        u32 iim_stat;
@@ -449,18 +439,6 @@ struct fuse_bank0_regs {
 #define GPIO5_BASE_ADDR 0x10015400
 #define GPIO6_BASE_ADDR 0x10015500
 
-#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)
-
 #define GPIO_OUT       (1 << 8)
 #define GPIO_IN                (0 << 8)
 #define GPIO_PUEN      (1 << 9)
-- 
1.8.4


_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to