All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] MX: serial_mxc: cleanup removing nasty #ifdef
@ 2011-11-22 15:51 Stefano Babic
  2011-11-22 18:06 ` Marek Vasut
                   ` (2 more replies)
  0 siblings, 3 replies; 18+ messages in thread
From: Stefano Babic @ 2011-11-22 15:51 UTC (permalink / raw)
  To: u-boot

The serial driver for iMX SOCs is continuosly changed if a
new SOC or not yet used port is used. CONFIG_SYS_<SOC>_<UART Port>
defines were used only to find the base address for the selected UART.
Instead of that, move the base address to the board configuration
file and drop all #ifdef from driver.

Signed-off-by: Stefano Babic <sbabic@denx.de>
CC: Marek Vasut <marek.vasut@gmail.com>
CC: Wolfgang Denk <wd@denx.de>
CC: Fabio Estevam <fabio.estevam@freescale.com>
CC: Helmut Raiger <helmut.raiger@hale.at>
CC: John Rigby <jcrigby@gmail.com>
CC: Matthias Weisser <weisserm@arcor.de>
CC: Jason Liu <jason.hui@linaro.org>
---
 arch/arm/cpu/arm1136/mx31/devices.c       |    4 ---
 arch/arm/include/asm/arch-mx25/imx-regs.h |   10 ++++----
 arch/arm/include/asm/arch-mx27/imx-regs.h |    8 +++---
 arch/arm/include/asm/arch-mx31/imx-regs.h |    6 ++++
 arch/arm/include/asm/arch-mx35/imx-regs.h |    6 ++--
 arch/arm/include/asm/arch-mx5/imx-regs.h  |    6 ++--
 drivers/serial/serial_mxc.c               |   37 +++-------------------------
 include/configs/efikamx.h                 |    2 +-
 include/configs/flea3.h                   |    2 +-
 include/configs/imx27lite-common.h        |    2 +-
 include/configs/imx31_litekit.h           |    4 +-
 include/configs/imx31_phycore.h           |    2 +-
 include/configs/mx25pdk.h                 |    2 +-
 include/configs/mx31ads.h                 |    4 +-
 include/configs/mx31pdk.h                 |    2 +-
 include/configs/mx35pdk.h                 |    2 +-
 include/configs/mx51evk.h                 |    2 +-
 include/configs/mx53ard.h                 |    2 +-
 include/configs/mx53evk.h                 |    2 +-
 include/configs/mx53loco.h                |    2 +-
 include/configs/mx53smd.h                 |    2 +-
 include/configs/qong.h                    |    4 +-
 include/configs/tt01.h                    |    2 +-
 include/configs/tx25.h                    |    2 +-
 include/configs/vision2.h                 |    2 +-
 include/configs/zmx25.h                   |    2 +-
 26 files changed, 47 insertions(+), 74 deletions(-)

diff --git a/arch/arm/cpu/arm1136/mx31/devices.c b/arch/arm/cpu/arm1136/mx31/devices.c
index b42dac3..2ebee2e 100644
--- a/arch/arm/cpu/arm1136/mx31/devices.c
+++ b/arch/arm/cpu/arm1136/mx31/devices.c
@@ -27,7 +27,6 @@
 #include <asm/arch/imx-regs.h>
 #include <asm/arch/clock.h>
 
-#ifdef CONFIG_SYS_MX31_UART1
 void mx31_uart1_hw_init(void)
 {
 	/* setup pins for UART1 */
@@ -36,9 +35,7 @@ void mx31_uart1_hw_init(void)
 	mx31_gpio_mux(MUX_RTS1__UART1_RTS_B);
 	mx31_gpio_mux(MUX_CTS1__UART1_CTS_B);
 }
-#endif
 
-#ifdef CONFIG_SYS_MX31_UART2
 void mx31_uart2_hw_init(void)
 {
 	/* setup pins for UART2 */
@@ -47,7 +44,6 @@ void mx31_uart2_hw_init(void)
 	mx31_gpio_mux(MUX_RTS2__UART2_RTS_B);
 	mx31_gpio_mux(MUX_CTS2__UART2_CTS_B);
 }
-#endif
 
 #ifdef CONFIG_MXC_SPI
 /*
diff --git a/arch/arm/include/asm/arch-mx25/imx-regs.h b/arch/arm/include/asm/arch-mx25/imx-regs.h
index eece138..7f9449b 100644
--- a/arch/arm/include/asm/arch-mx25/imx-regs.h
+++ b/arch/arm/include/asm/arch-mx25/imx-regs.h
@@ -180,8 +180,8 @@ struct aips_regs {
 #define IMX_I2C3_BASE		(0x43F84000)
 #define IMX_CAN1_BASE		(0x43F88000)
 #define IMX_CAN2_BASE		(0x43F8C000)
-#define IMX_UART1_BASE		(0x43F90000)
-#define IMX_UART2_BASE		(0x43F94000)
+#define UART1_BASE		(0x43F90000)
+#define UART2_BASE		(0x43F94000)
 #define IMX_I2C2_BASE		(0x43F98000)
 #define IMX_OWIRE_BASE		(0x43F9C000)
 #define IMX_CSPI1_BASE		(0x43FA4000)
@@ -197,15 +197,15 @@ struct aips_regs {
 /* SPBA */
 #define IMX_SPBA_BASE		(0x50000000)
 #define IMX_CSPI3_BASE		(0x50004000)
-#define IMX_UART4_BASE		(0x50008000)
-#define IMX_UART3_BASE		(0x5000C000)
+#define UART4_BASE		(0x50008000)
+#define UART3_BASE		(0x5000C000)
 #define IMX_CSPI2_BASE		(0x50010000)
 #define IMX_SSI2_BASE		(0x50014000)
 #define IMX_ESAI_BASE		(0x50018000)
 #define IMX_ATA_DMA_BASE	(0x50020000)
 #define IMX_SIM1_BASE		(0x50024000)
 #define IMX_SIM2_BASE		(0x50028000)
-#define IMX_UART5_BASE		(0x5002C000)
+#define UART5_BASE		(0x5002C000)
 #define IMX_TSC_BASE		(0x50030000)
 #define IMX_SSI1_BASE		(0x50034000)
 #define IMX_FEC_BASE		(0x50038000)
diff --git a/arch/arm/include/asm/arch-mx27/imx-regs.h b/arch/arm/include/asm/arch-mx27/imx-regs.h
index 83ab216..ced5b2a 100644
--- a/arch/arm/include/asm/arch-mx27/imx-regs.h
+++ b/arch/arm/include/asm/arch-mx27/imx-regs.h
@@ -224,10 +224,10 @@ struct fuse_bank0_regs {
 #define IMX_TIM1_BASE		(0x03000 + IMX_IO_BASE)
 #define IMX_TIM2_BASE		(0x04000 + IMX_IO_BASE)
 #define IMX_TIM3_BASE		(0x05000 + IMX_IO_BASE)
-#define IMX_UART1_BASE		(0x0a000 + IMX_IO_BASE)
-#define IMX_UART2_BASE		(0x0b000 + IMX_IO_BASE)
-#define IMX_UART3_BASE		(0x0c000 + IMX_IO_BASE)
-#define IMX_UART4_BASE		(0x0d000 + IMX_IO_BASE)
+#define UART1_BASE		(0x0a000 + IMX_IO_BASE)
+#define UART2_BASE		(0x0b000 + IMX_IO_BASE)
+#define UART3_BASE		(0x0c000 + IMX_IO_BASE)
+#define UART4_BASE		(0x0d000 + IMX_IO_BASE)
 #define IMX_I2C1_BASE		(0x12000 + IMX_IO_BASE)
 #define IMX_GPIO_BASE		(0x15000 + IMX_IO_BASE)
 #define IMX_TIM4_BASE		(0x19000 + IMX_IO_BASE)
diff --git a/arch/arm/include/asm/arch-mx31/imx-regs.h b/arch/arm/include/asm/arch-mx31/imx-regs.h
index 0147920..6a517dd 100644
--- a/arch/arm/include/asm/arch-mx31/imx-regs.h
+++ b/arch/arm/include/asm/arch-mx31/imx-regs.h
@@ -600,6 +600,12 @@ struct esdc_regs {
 #define WEIM_ESDCFG1	0xB800100C
 #define WEIM_ESDMISC	0xB8001010
 
+#define UART1_BASE	0x43F90000
+#define UART2_BASE	0x43F94000
+#define UART3_BASE	0x5000C000
+#define UART4_BASE	0x43FB0000
+#define UART5_BASE	0x43FB4000
+
 #define ESDCTL_SDE			(1 << 31)
 #define ESDCTL_CMD_RW			(0 << 28)
 #define ESDCTL_CMD_PRECHARGE		(1 << 28)
diff --git a/arch/arm/include/asm/arch-mx35/imx-regs.h b/arch/arm/include/asm/arch-mx35/imx-regs.h
index 25c324e..df74508 100644
--- a/arch/arm/include/asm/arch-mx35/imx-regs.h
+++ b/arch/arm/include/asm/arch-mx35/imx-regs.h
@@ -42,8 +42,8 @@
 #define I2C_BASE_ADDR           0x43F80000
 #define I2C3_BASE_ADDR          0x43F84000
 #define ATA_BASE_ADDR           0x43F8C000
-#define UART1_BASE_ADDR         0x43F90000
-#define UART2_BASE_ADDR         0x43F94000
+#define UART1_BASE		0x43F90000
+#define UART2_BASE		0x43F94000
 #define I2C2_BASE_ADDR          0x43F98000
 #define CSPI1_BASE_ADDR         0x43FA4000
 #define IOMUXC_BASE_ADDR        0x43FAC000
@@ -52,7 +52,7 @@
  * SPBA
  */
 #define SPBA_BASE_ADDR          0x50000000
-#define UART3_BASE_ADDR         0x5000C000
+#define UART3_BASE		0x5000C000
 #define CSPI2_BASE_ADDR         0x50010000
 #define ATA_DMA_BASE_ADDR       0x50020000
 #define FEC_BASE_ADDR           0x50038000
diff --git a/arch/arm/include/asm/arch-mx5/imx-regs.h b/arch/arm/include/asm/arch-mx5/imx-regs.h
index d069209..0ee88d2 100644
--- a/arch/arm/include/asm/arch-mx5/imx-regs.h
+++ b/arch/arm/include/asm/arch-mx5/imx-regs.h
@@ -54,7 +54,7 @@
  */
 #define MMC_SDHC1_BASE_ADDR	(SPBA0_BASE_ADDR + 0x00004000)
 #define MMC_SDHC2_BASE_ADDR	(SPBA0_BASE_ADDR + 0x00008000)
-#define UART3_BASE_ADDR 	(SPBA0_BASE_ADDR + 0x0000C000)
+#define UART3_BASE		(SPBA0_BASE_ADDR + 0x0000C000)
 #define CSPI1_BASE_ADDR 	(SPBA0_BASE_ADDR + 0x00010000)
 #define SSI2_BASE_ADDR		(SPBA0_BASE_ADDR + 0x00014000)
 #define MMC_SDHC3_BASE_ADDR	(SPBA0_BASE_ADDR + 0x00020000)
@@ -83,8 +83,8 @@
 #define EPIT2_BASE_ADDR		(AIPS1_BASE_ADDR + 0x000B0000)
 #define PWM1_BASE_ADDR		(AIPS1_BASE_ADDR + 0x000B4000)
 #define PWM2_BASE_ADDR		(AIPS1_BASE_ADDR + 0x000B8000)
-#define UART1_BASE_ADDR		(AIPS1_BASE_ADDR + 0x000BC000)
-#define UART2_BASE_ADDR		(AIPS1_BASE_ADDR + 0x000C0000)
+#define UART1_BASE		(AIPS1_BASE_ADDR + 0x000BC000)
+#define UART2_BASE		(AIPS1_BASE_ADDR + 0x000C0000)
 #define SRC_BASE_ADDR		(AIPS1_BASE_ADDR + 0x000D0000)
 #define CCM_BASE_ADDR		(AIPS1_BASE_ADDR + 0x000D4000)
 #define GPC_BASE_ADDR		(AIPS1_BASE_ADDR + 0x000D8000)
diff --git a/drivers/serial/serial_mxc.c b/drivers/serial/serial_mxc.c
index dcb4bd1..af00b9c 100644
--- a/drivers/serial/serial_mxc.c
+++ b/drivers/serial/serial_mxc.c
@@ -24,41 +24,12 @@
 
 #define __REG(x)     (*((volatile u32 *)(x)))
 
-#if defined(CONFIG_SYS_MX31_UART1) || defined(CONFIG_SYS_MX25_UART1)
-#define UART_PHYS 0x43f90000
-#elif defined(CONFIG_SYS_MX31_UART2) || defined(CONFIG_SYS_MX25_UART2)
-#define UART_PHYS 0x43f94000
-#elif defined(CONFIG_SYS_MX31_UART3) || defined(CONFIG_SYS_MX25_UART3)
-#define UART_PHYS 0x5000c000
-#elif defined(CONFIG_SYS_MX31_UART4) || defined(CONFIG_SYS_MX25_UART4)
-#define UART_PHYS 0x43fb0000
-#elif defined(CONFIG_SYS_MX31_UART5) || defined(CONFIG_SYS_MX25_UART5)
-#define UART_PHYS 0x43fb4000
-#elif defined(CONFIG_SYS_MX27_UART1)
-#define UART_PHYS 0x1000a000
-#elif defined(CONFIG_SYS_MX27_UART2)
-#define UART_PHYS 0x1000b000
-#elif defined(CONFIG_SYS_MX27_UART3)
-#define UART_PHYS 0x1000c000
-#elif defined(CONFIG_SYS_MX27_UART4)
-#define UART_PHYS 0x1000d000
-#elif defined(CONFIG_SYS_MX27_UART5)
-#define UART_PHYS 0x1001b000
-#elif defined(CONFIG_SYS_MX27_UART6)
-#define UART_PHYS 0x1001c000
-#elif defined(CONFIG_SYS_MX35_UART1) || defined(CONFIG_SYS_MX51_UART1) || \
-	defined(CONFIG_SYS_MX53_UART1)
-#define UART_PHYS UART1_BASE_ADDR
-#elif defined(CONFIG_SYS_MX35_UART2) || defined(CONFIG_SYS_MX51_UART2) || \
-	defined(CONFIG_SYS_MX53_UART2)
-#define UART_PHYS UART2_BASE_ADDR
-#elif defined(CONFIG_SYS_MX35_UART3) || defined(CONFIG_SYS_MX51_UART3) || \
-	defined(CONFIG_SYS_MX53_UART3)
-#define UART_PHYS UART3_BASE_ADDR
-#else
-#error "define CONFIG_SYS_MXxx_UARTx to use the MXC UART driver"
+#ifndef CONFIG_MXC_UART_BASE
+#error "define CONFIG_MXC_UART_BASE to use the MXC UART driver"
 #endif
 
+#define UART_PHYS	CONFIG_MXC_UART_BASE
+
 #ifdef CONFIG_SERIAL_MULTI
 #warning "MXC driver does not support MULTI serials."
 #endif
diff --git a/include/configs/efikamx.h b/include/configs/efikamx.h
index a07c8b5..2b069d6 100644
--- a/include/configs/efikamx.h
+++ b/include/configs/efikamx.h
@@ -85,7 +85,7 @@
  * Hardware drivers
  */
 #define CONFIG_MXC_UART
-#define CONFIG_SYS_MX51_UART1
+#define CONFIG_MXC_UART_BASE		UART1_BASE
 #define CONFIG_CONS_INDEX		1
 #define CONFIG_BAUDRATE			115200
 #define CONFIG_SYS_BAUDRATE_TABLE	{9600, 19200, 38400, 57600, 115200}
diff --git a/include/configs/flea3.h b/include/configs/flea3.h
index d88c578..20100c2 100644
--- a/include/configs/flea3.h
+++ b/include/configs/flea3.h
@@ -77,7 +77,7 @@
  * UART (console)
  */
 #define CONFIG_MXC_UART
-#define CONFIG_SYS_MX35_UART3
+#define CONFIG_MXC_UART_BASE	UART3_BASE
 
 /* allow to overwrite serial and ethaddr */
 #define CONFIG_ENV_OVERWRITE
diff --git a/include/configs/imx27lite-common.h b/include/configs/imx27lite-common.h
index 6953a80..2af4e7a 100644
--- a/include/configs/imx27lite-common.h
+++ b/include/configs/imx27lite-common.h
@@ -102,7 +102,7 @@
  * Serial Driver info
  */
 #define CONFIG_MXC_UART
-#define CONFIG_SYS_MX27_UART1
+#define CONFIG_MXC_UART_BASE	UART1_BASE
 #define CONFIG_CONS_INDEX	1		/* use UART0 for console */
 #define CONFIG_BAUDRATE		115200		/* Default baud rate */
 #define CONFIG_SYS_BAUDRATE_TABLE	{ 9600, 19200, 38400, 57600, 115200 }
diff --git a/include/configs/imx31_litekit.h b/include/configs/imx31_litekit.h
index 1455ea2..bbcbce1 100644
--- a/include/configs/imx31_litekit.h
+++ b/include/configs/imx31_litekit.h
@@ -63,8 +63,8 @@
  * Hardware drivers
  */
 
-#define CONFIG_MXC_UART	1
-#define CONFIG_SYS_MX31_UART1		1
+#define CONFIG_MXC_UART
+#define CONFIG_MXC_UART_BASE	UART1_BASE
 #define CONFIG_MXC_GPIO
 
 #define CONFIG_HARD_SPI		1
diff --git a/include/configs/imx31_phycore.h b/include/configs/imx31_phycore.h
index 1b75197..3153eb5 100644
--- a/include/configs/imx31_phycore.h
+++ b/include/configs/imx31_phycore.h
@@ -59,7 +59,7 @@
 #define CONFIG_SYS_I2C_SLAVE		0xfe
 
 #define CONFIG_MXC_UART
-#define CONFIG_SYS_MX31_UART1
+#define CONFIG_MXC_UART_BASE		UART1_BASE
 
 /* allow to overwrite serial and ethaddr */
 #define CONFIG_ENV_OVERWRITE
diff --git a/include/configs/mx25pdk.h b/include/configs/mx25pdk.h
index 8414376..d1ba02b 100644
--- a/include/configs/mx25pdk.h
+++ b/include/configs/mx25pdk.h
@@ -54,7 +54,7 @@
 
 /* Serial Info */
 #define CONFIG_MXC_UART
-#define CONFIG_SYS_MX25_UART1
+#define CONFIG_MXC_UART_BASE	UART1_BASE
 #define CONFIG_CONS_INDEX	1	/* use UART0 for console */
 #define CONFIG_BAUDRATE		115200	/* Default baud rate */
 #define CONFIG_SYS_BAUDRATE_TABLE	{ 9600, 19200, 38400, 57600, 115200 }
diff --git a/include/configs/mx31ads.h b/include/configs/mx31ads.h
index 7e011ae..87638a4 100644
--- a/include/configs/mx31ads.h
+++ b/include/configs/mx31ads.h
@@ -60,8 +60,8 @@
  * Hardware drivers
  */
 
-#define CONFIG_MXC_UART	1
-#define CONFIG_SYS_MX31_UART1		1
+#define CONFIG_MXC_UART
+#define CONFIG_MXC_UART_BASE	UART1_BASE
 
 #define CONFIG_HARD_SPI		1
 #define CONFIG_MXC_SPI		1
diff --git a/include/configs/mx31pdk.h b/include/configs/mx31pdk.h
index 4253c3e..4da6020 100644
--- a/include/configs/mx31pdk.h
+++ b/include/configs/mx31pdk.h
@@ -61,7 +61,7 @@
  */
 
 #define CONFIG_MXC_UART
-#define CONFIG_SYS_MX31_UART1
+#define CONFIG_MXC_UART_BASE	UART1_BASE
 #define CONFIG_HW_WATCHDOG
 #define CONFIG_MXC_GPIO
 
diff --git a/include/configs/mx35pdk.h b/include/configs/mx35pdk.h
index 32ed609..0c62b9f 100644
--- a/include/configs/mx35pdk.h
+++ b/include/configs/mx35pdk.h
@@ -85,7 +85,7 @@
  * UART (console)
  */
 #define CONFIG_MXC_UART
-#define CONFIG_SYS_MX35_UART1
+#define CONFIG_MXC_UART_BASE	UART1_BASE
 
 /* allow to overwrite serial and ethaddr */
 #define CONFIG_ENV_OVERWRITE
diff --git a/include/configs/mx51evk.h b/include/configs/mx51evk.h
index 7c7544f..dd53f48 100644
--- a/include/configs/mx51evk.h
+++ b/include/configs/mx51evk.h
@@ -59,7 +59,7 @@
  * Hardware drivers
  */
 #define CONFIG_MXC_UART
-#define CONFIG_SYS_MX51_UART1
+#define CONFIG_MXC_UART_BASE	UART1_BASE
 #define CONFIG_MXC_GPIO
 
 /*
diff --git a/include/configs/mx53ard.h b/include/configs/mx53ard.h
index 15dfcb4..f48a41e 100644
--- a/include/configs/mx53ard.h
+++ b/include/configs/mx53ard.h
@@ -44,7 +44,7 @@
 #define CONFIG_MXC_GPIO
 
 #define CONFIG_MXC_UART
-#define CONFIG_SYS_MX53_UART1
+#define CONFIG_MXC_UART_BASE	UART1_BASE
 
 /* I2C Configs */
 #define CONFIG_CMD_I2C
diff --git a/include/configs/mx53evk.h b/include/configs/mx53evk.h
index 7c49136..11fe6ef 100644
--- a/include/configs/mx53evk.h
+++ b/include/configs/mx53evk.h
@@ -47,7 +47,7 @@
 #define CONFIG_MXC_GPIO
 
 #define CONFIG_MXC_UART
-#define CONFIG_SYS_MX53_UART1
+#define CONFIG_MXC_UART_BASE	UART1_BASE
 
 /* I2C Configs */
 #define CONFIG_CMD_I2C
diff --git a/include/configs/mx53loco.h b/include/configs/mx53loco.h
index d699010..537649e 100644
--- a/include/configs/mx53loco.h
+++ b/include/configs/mx53loco.h
@@ -45,7 +45,7 @@
 #define CONFIG_MXC_GPIO
 
 #define CONFIG_MXC_UART
-#define CONFIG_SYS_MX53_UART1
+#define CONFIG_MXC_UART_BASE	UART1_BASE
 
 /* MMC Configs */
 #define CONFIG_FSL_ESDHC
diff --git a/include/configs/mx53smd.h b/include/configs/mx53smd.h
index 48b32dd..032f722 100644
--- a/include/configs/mx53smd.h
+++ b/include/configs/mx53smd.h
@@ -44,7 +44,7 @@
 #define CONFIG_MXC_GPIO
 
 #define CONFIG_MXC_UART
-#define CONFIG_SYS_MX53_UART1
+#define CONFIG_MXC_UART_BASE	UART1_BASE
 
 /* I2C Configs */
 #define CONFIG_CMD_I2C
diff --git a/include/configs/qong.h b/include/configs/qong.h
index 3346802..3e36bb0 100644
--- a/include/configs/qong.h
+++ b/include/configs/qong.h
@@ -49,8 +49,8 @@
  * Hardware drivers
  */
 
-#define CONFIG_MXC_UART	1
-#define CONFIG_SYS_MX31_UART1	1
+#define CONFIG_MXC_UART
+#define CONFIG_MXC_UART_BASE	UART1_BASE
 
 #define CONFIG_MXC_GPIO
 #define CONFIG_HW_WATCHDOG
diff --git a/include/configs/tt01.h b/include/configs/tt01.h
index 6ef25cd..a553712 100644
--- a/include/configs/tt01.h
+++ b/include/configs/tt01.h
@@ -148,7 +148,7 @@
  * make sure that the transceiver is enabled during PL=1 for testing!
  */
 #define CONFIG_MXC_UART
-#define CONFIG_SYS_MX31_UART2
+#define CONFIG_MXC_UART_BASE	UART2_BASE
 
 #define CONFIG_MXC_SPI
 #define CONFIG_MXC_GPIO
diff --git a/include/configs/tx25.h b/include/configs/tx25.h
index f77c546..87bd8a6 100644
--- a/include/configs/tx25.h
+++ b/include/configs/tx25.h
@@ -90,7 +90,7 @@
  * Serial Info
  */
 #define CONFIG_MXC_UART
-#define CONFIG_SYS_MX25_UART1
+#define CONFIG_MXC_UART_BASE	UART1_BASE
 #define CONFIG_CONS_INDEX	1	/* use UART0 for console */
 #define CONFIG_BAUDRATE		115200	/* Default baud rate */
 #define CONFIG_SYS_BAUDRATE_TABLE	{ 9600, 19200, 38400, 57600, 115200 }
diff --git a/include/configs/vision2.h b/include/configs/vision2.h
index f321ad2..35b71f7 100644
--- a/include/configs/vision2.h
+++ b/include/configs/vision2.h
@@ -54,7 +54,7 @@
  * Hardware drivers
  */
 #define CONFIG_MXC_UART
-#define CONFIG_SYS_MX51_UART3
+#define CONFIG_MXC_UART_BASE	UART3_BASE
 #define CONFIG_MXC_GPIO
 #define CONFIG_MXC_SPI
 #define CONFIG_HW_WATCHDOG
diff --git a/include/configs/zmx25.h b/include/configs/zmx25.h
index 9a7a27a..599d5bb 100644
--- a/include/configs/zmx25.h
+++ b/include/configs/zmx25.h
@@ -66,7 +66,7 @@
  * Serial
  */
 #define CONFIG_MXC_UART
-#define CONFIG_SYS_MX25_UART2
+#define CONFIG_MXC_UART_BASE	UART2_BASE
 #define CONFIG_CONS_INDEX	1	/* use UART2 for console */
 #define CONFIG_BAUDRATE		115200	/* Default baud rate */
 #define CONFIG_SYS_BAUDRATE_TABLE	{ 9600, 19200, 38400, 57600, 115200 }
-- 
1.7.5.4

^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH] MX: serial_mxc: cleanup removing nasty #ifdef
  2011-11-22 15:51 [U-Boot] [PATCH] MX: serial_mxc: cleanup removing nasty #ifdef Stefano Babic
@ 2011-11-22 18:06 ` Marek Vasut
  2011-11-23  8:41   ` Stefano Babic
  2011-11-23  2:48 ` Jason Hui
  2011-11-25  3:32 ` Jason Hui
  2 siblings, 1 reply; 18+ messages in thread
From: Marek Vasut @ 2011-11-22 18:06 UTC (permalink / raw)
  To: u-boot

> The serial driver for iMX SOCs is continuosly changed if a
> new SOC or not yet used port is used. CONFIG_SYS_<SOC>_<UART Port>
> defines were used only to find the base address for the selected UART.
> Instead of that, move the base address to the board configuration
> file and drop all #ifdef from driver.
> 
> Signed-off-by: Stefano Babic <sbabic@denx.de>
> CC: Marek Vasut <marek.vasut@gmail.com>
> CC: Wolfgang Denk <wd@denx.de>
> CC: Fabio Estevam <fabio.estevam@freescale.com>
> CC: Helmut Raiger <helmut.raiger@hale.at>
> CC: John Rigby <jcrigby@gmail.com>
> CC: Matthias Weisser <weisserm@arcor.de>
> CC: Jason Liu <jason.hui@linaro.org>
> ---
>  arch/arm/cpu/arm1136/mx31/devices.c       |    4 ---
>  arch/arm/include/asm/arch-mx25/imx-regs.h |   10 ++++----
>  arch/arm/include/asm/arch-mx27/imx-regs.h |    8 +++---
>  arch/arm/include/asm/arch-mx31/imx-regs.h |    6 ++++
>  arch/arm/include/asm/arch-mx35/imx-regs.h |    6 ++--
>  arch/arm/include/asm/arch-mx5/imx-regs.h  |    6 ++--
>  drivers/serial/serial_mxc.c               |   37
> +++------------------------- include/configs/efikamx.h                 |  
>  2 +-
>  include/configs/flea3.h                   |    2 +-
>  include/configs/imx27lite-common.h        |    2 +-
>  include/configs/imx31_litekit.h           |    4 +-
>  include/configs/imx31_phycore.h           |    2 +-
>  include/configs/mx25pdk.h                 |    2 +-
>  include/configs/mx31ads.h                 |    4 +-
>  include/configs/mx31pdk.h                 |    2 +-
>  include/configs/mx35pdk.h                 |    2 +-
>  include/configs/mx51evk.h                 |    2 +-
>  include/configs/mx53ard.h                 |    2 +-
>  include/configs/mx53evk.h                 |    2 +-
>  include/configs/mx53loco.h                |    2 +-
>  include/configs/mx53smd.h                 |    2 +-
>  include/configs/qong.h                    |    4 +-
>  include/configs/tt01.h                    |    2 +-
>  include/configs/tx25.h                    |    2 +-
>  include/configs/vision2.h                 |    2 +-
>  include/configs/zmx25.h                   |    2 +-
>  26 files changed, 47 insertions(+), 74 deletions(-)
> 

I'm definitelly not against such cleanup!

> diff --git a/arch/arm/cpu/arm1136/mx31/devices.c
> b/arch/arm/cpu/arm1136/mx31/devices.c index b42dac3..2ebee2e 100644
> --- a/arch/arm/cpu/arm1136/mx31/devices.c
> +++ b/arch/arm/cpu/arm1136/mx31/devices.c
> @@ -27,7 +27,6 @@
>  #include <asm/arch/imx-regs.h>
>  #include <asm/arch/clock.h>
> 
> -#ifdef CONFIG_SYS_MX31_UART1
>  void mx31_uart1_hw_init(void)
>  {
>  	/* setup pins for UART1 */
> @@ -36,9 +35,7 @@ void mx31_uart1_hw_init(void)
>  	mx31_gpio_mux(MUX_RTS1__UART1_RTS_B);
>  	mx31_gpio_mux(MUX_CTS1__UART1_CTS_B);
>  }
> -#endif
> 
> -#ifdef CONFIG_SYS_MX31_UART2
>  void mx31_uart2_hw_init(void)
>  {
>  	/* setup pins for UART2 */
> @@ -47,7 +44,6 @@ void mx31_uart2_hw_init(void)
>  	mx31_gpio_mux(MUX_RTS2__UART2_RTS_B);
>  	mx31_gpio_mux(MUX_CTS2__UART2_CTS_B);
>  }
> -#endif

Maybe the MUX should be abstracted into CPU-files in arch/arm/.... ?

> 
>  #ifdef CONFIG_MXC_SPI
>  /*
> diff --git a/arch/arm/include/asm/arch-mx25/imx-regs.h
> b/arch/arm/include/asm/arch-mx25/imx-regs.h index eece138..7f9449b 100644
> --- a/arch/arm/include/asm/arch-mx25/imx-regs.h
> +++ b/arch/arm/include/asm/arch-mx25/imx-regs.h
> @@ -180,8 +180,8 @@ struct aips_regs {
>  #define IMX_I2C3_BASE		(0x43F84000)
>  #define IMX_CAN1_BASE		(0x43F88000)
>  #define IMX_CAN2_BASE		(0x43F8C000)
> -#define IMX_UART1_BASE		(0x43F90000)
> -#define IMX_UART2_BASE		(0x43F94000)
> +#define UART1_BASE		(0x43F90000)
> +#define UART2_BASE		(0x43F94000)
>  #define IMX_I2C2_BASE		(0x43F98000)
>  #define IMX_OWIRE_BASE		(0x43F9C000)
>  #define IMX_CSPI1_BASE		(0x43FA4000)
> @@ -197,15 +197,15 @@ struct aips_regs {
>  /* SPBA */
>  #define IMX_SPBA_BASE		(0x50000000)
>  #define IMX_CSPI3_BASE		(0x50004000)
> -#define IMX_UART4_BASE		(0x50008000)
> -#define IMX_UART3_BASE		(0x5000C000)
> +#define UART4_BASE		(0x50008000)
> +#define UART3_BASE		(0x5000C000)
>  #define IMX_CSPI2_BASE		(0x50010000)
>  #define IMX_SSI2_BASE		(0x50014000)
>  #define IMX_ESAI_BASE		(0x50018000)
>  #define IMX_ATA_DMA_BASE	(0x50020000)
>  #define IMX_SIM1_BASE		(0x50024000)
>  #define IMX_SIM2_BASE		(0x50028000)
> -#define IMX_UART5_BASE		(0x5002C000)
> +#define UART5_BASE		(0x5002C000)
>  #define IMX_TSC_BASE		(0x50030000)
>  #define IMX_SSI1_BASE		(0x50034000)
>  #define IMX_FEC_BASE		(0x50038000)

The parenthesis should go too ...

> diff --git a/arch/arm/include/asm/arch-mx27/imx-regs.h
> b/arch/arm/include/asm/arch-mx27/imx-regs.h index 83ab216..ced5b2a 100644
> --- a/arch/arm/include/asm/arch-mx27/imx-regs.h
> +++ b/arch/arm/include/asm/arch-mx27/imx-regs.h
> @@ -224,10 +224,10 @@ struct fuse_bank0_regs {
>  #define IMX_TIM1_BASE		(0x03000 + IMX_IO_BASE)
>  #define IMX_TIM2_BASE		(0x04000 + IMX_IO_BASE)
>  #define IMX_TIM3_BASE		(0x05000 + IMX_IO_BASE)
> -#define IMX_UART1_BASE		(0x0a000 + IMX_IO_BASE)
> -#define IMX_UART2_BASE		(0x0b000 + IMX_IO_BASE)
> -#define IMX_UART3_BASE		(0x0c000 + IMX_IO_BASE)
> -#define IMX_UART4_BASE		(0x0d000 + IMX_IO_BASE)
> +#define UART1_BASE		(0x0a000 + IMX_IO_BASE)
> +#define UART2_BASE		(0x0b000 + IMX_IO_BASE)
> +#define UART3_BASE		(0x0c000 + IMX_IO_BASE)
> +#define UART4_BASE		(0x0d000 + IMX_IO_BASE)
>  #define IMX_I2C1_BASE		(0x12000 + IMX_IO_BASE)
>  #define IMX_GPIO_BASE		(0x15000 + IMX_IO_BASE)
>  #define IMX_TIM4_BASE		(0x19000 + IMX_IO_BASE)
> diff --git a/arch/arm/include/asm/arch-mx31/imx-regs.h
> b/arch/arm/include/asm/arch-mx31/imx-regs.h index 0147920..6a517dd 100644
> --- a/arch/arm/include/asm/arch-mx31/imx-regs.h
> +++ b/arch/arm/include/asm/arch-mx31/imx-regs.h
> @@ -600,6 +600,12 @@ struct esdc_regs {
>  #define WEIM_ESDCFG1	0xB800100C
>  #define WEIM_ESDMISC	0xB8001010
> 
> +#define UART1_BASE	0x43F90000
> +#define UART2_BASE	0x43F94000
> +#define UART3_BASE	0x5000C000
> +#define UART4_BASE	0x43FB0000
> +#define UART5_BASE	0x43FB4000
> +
>  #define ESDCTL_SDE			(1 << 31)
>  #define ESDCTL_CMD_RW			(0 << 28)
>  #define ESDCTL_CMD_PRECHARGE		(1 << 28)
> diff --git a/arch/arm/include/asm/arch-mx35/imx-regs.h
> b/arch/arm/include/asm/arch-mx35/imx-regs.h index 25c324e..df74508 100644
> --- a/arch/arm/include/asm/arch-mx35/imx-regs.h
> +++ b/arch/arm/include/asm/arch-mx35/imx-regs.h
> @@ -42,8 +42,8 @@
>  #define I2C_BASE_ADDR           0x43F80000
>  #define I2C3_BASE_ADDR          0x43F84000
>  #define ATA_BASE_ADDR           0x43F8C000
> -#define UART1_BASE_ADDR         0x43F90000
> -#define UART2_BASE_ADDR         0x43F94000
> +#define UART1_BASE		0x43F90000
> +#define UART2_BASE		0x43F94000
>  #define I2C2_BASE_ADDR          0x43F98000
>  #define CSPI1_BASE_ADDR         0x43FA4000
>  #define IOMUXC_BASE_ADDR        0x43FAC000

Maybe cleanup this space/tab mix ? s/ \+/\t/ ?

M

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH] MX: serial_mxc: cleanup removing nasty #ifdef
  2011-11-22 15:51 [U-Boot] [PATCH] MX: serial_mxc: cleanup removing nasty #ifdef Stefano Babic
  2011-11-22 18:06 ` Marek Vasut
@ 2011-11-23  2:48 ` Jason Hui
  2011-11-23  8:37   ` Stefano Babic
  2011-11-25  3:32 ` Jason Hui
  2 siblings, 1 reply; 18+ messages in thread
From: Jason Hui @ 2011-11-23  2:48 UTC (permalink / raw)
  To: u-boot

On Tue, Nov 22, 2011 at 11:51 PM, Stefano Babic <sbabic@denx.de> wrote:
> The serial driver for iMX SOCs is continuosly changed if a
> new SOC or not yet used port is used. CONFIG_SYS_<SOC>_<UART Port>
> defines were used only to find the base address for the selected UART.
> Instead of that, move the base address to the board configuration
> file and drop all #ifdef from driver.

Good clean up. :)

>
> Signed-off-by: Stefano Babic <sbabic@denx.de>
> CC: Marek Vasut <marek.vasut@gmail.com>
> CC: Wolfgang Denk <wd@denx.de>
> CC: Fabio Estevam <fabio.estevam@freescale.com>
> CC: Helmut Raiger <helmut.raiger@hale.at>
> CC: John Rigby <jcrigby@gmail.com>
> CC: Matthias Weisser <weisserm@arcor.de>
> CC: Jason Liu <jason.hui@linaro.org>
> ---
> ?arch/arm/cpu/arm1136/mx31/devices.c ? ? ? | ? ?4 ---
> ?arch/arm/include/asm/arch-mx25/imx-regs.h | ? 10 ++++----
> ?arch/arm/include/asm/arch-mx27/imx-regs.h | ? ?8 +++---
> ?arch/arm/include/asm/arch-mx31/imx-regs.h | ? ?6 ++++
> ?arch/arm/include/asm/arch-mx35/imx-regs.h | ? ?6 ++--
> ?arch/arm/include/asm/arch-mx5/imx-regs.h ?| ? ?6 ++--
> ?drivers/serial/serial_mxc.c ? ? ? ? ? ? ? | ? 37 +++-------------------------
> ?include/configs/efikamx.h ? ? ? ? ? ? ? ? | ? ?2 +-
> ?include/configs/flea3.h ? ? ? ? ? ? ? ? ? | ? ?2 +-
> ?include/configs/imx27lite-common.h ? ? ? ?| ? ?2 +-
> ?include/configs/imx31_litekit.h ? ? ? ? ? | ? ?4 +-
> ?include/configs/imx31_phycore.h ? ? ? ? ? | ? ?2 +-
> ?include/configs/mx25pdk.h ? ? ? ? ? ? ? ? | ? ?2 +-
> ?include/configs/mx31ads.h ? ? ? ? ? ? ? ? | ? ?4 +-
> ?include/configs/mx31pdk.h ? ? ? ? ? ? ? ? | ? ?2 +-
> ?include/configs/mx35pdk.h ? ? ? ? ? ? ? ? | ? ?2 +-
> ?include/configs/mx51evk.h ? ? ? ? ? ? ? ? | ? ?2 +-
> ?include/configs/mx53ard.h ? ? ? ? ? ? ? ? | ? ?2 +-
> ?include/configs/mx53evk.h ? ? ? ? ? ? ? ? | ? ?2 +-
> ?include/configs/mx53loco.h ? ? ? ? ? ? ? ?| ? ?2 +-
> ?include/configs/mx53smd.h ? ? ? ? ? ? ? ? | ? ?2 +-
> ?include/configs/qong.h ? ? ? ? ? ? ? ? ? ?| ? ?4 +-
> ?include/configs/tt01.h ? ? ? ? ? ? ? ? ? ?| ? ?2 +-
> ?include/configs/tx25.h ? ? ? ? ? ? ? ? ? ?| ? ?2 +-
> ?include/configs/vision2.h ? ? ? ? ? ? ? ? | ? ?2 +-
> ?include/configs/zmx25.h ? ? ? ? ? ? ? ? ? | ? ?2 +-
> ?26 files changed, 47 insertions(+), 74 deletions(-)
>
> diff --git a/arch/arm/cpu/arm1136/mx31/devices.c b/arch/arm/cpu/arm1136/mx31/devices.c
> index b42dac3..2ebee2e 100644
> --- a/arch/arm/cpu/arm1136/mx31/devices.c
> +++ b/arch/arm/cpu/arm1136/mx31/devices.c
> @@ -27,7 +27,6 @@
> ?#include <asm/arch/imx-regs.h>
> ?#include <asm/arch/clock.h>
>
> -#ifdef CONFIG_SYS_MX31_UART1
> ?void mx31_uart1_hw_init(void)
> ?{
> ? ? ? ?/* setup pins for UART1 */
> @@ -36,9 +35,7 @@ void mx31_uart1_hw_init(void)
> ? ? ? ?mx31_gpio_mux(MUX_RTS1__UART1_RTS_B);
> ? ? ? ?mx31_gpio_mux(MUX_CTS1__UART1_CTS_B);
> ?}
> -#endif
>
> -#ifdef CONFIG_SYS_MX31_UART2
> ?void mx31_uart2_hw_init(void)
> ?{
> ? ? ? ?/* setup pins for UART2 */
> @@ -47,7 +44,6 @@ void mx31_uart2_hw_init(void)
> ? ? ? ?mx31_gpio_mux(MUX_RTS2__UART2_RTS_B);
> ? ? ? ?mx31_gpio_mux(MUX_CTS2__UART2_CTS_B);
> ?}
> -#endif
>
> ?#ifdef CONFIG_MXC_SPI
> ?/*
> diff --git a/arch/arm/include/asm/arch-mx25/imx-regs.h b/arch/arm/include/asm/arch-mx25/imx-regs.h
> index eece138..7f9449b 100644
> --- a/arch/arm/include/asm/arch-mx25/imx-regs.h
> +++ b/arch/arm/include/asm/arch-mx25/imx-regs.h
> @@ -180,8 +180,8 @@ struct aips_regs {
> ?#define IMX_I2C3_BASE ? ? ? ? ?(0x43F84000)
> ?#define IMX_CAN1_BASE ? ? ? ? ?(0x43F88000)
> ?#define IMX_CAN2_BASE ? ? ? ? ?(0x43F8C000)
> -#define IMX_UART1_BASE ? ? ? ? (0x43F90000)
> -#define IMX_UART2_BASE ? ? ? ? (0x43F94000)
> +#define UART1_BASE ? ? ? ? ? ? (0x43F90000)
> +#define UART2_BASE ? ? ? ? ? ? (0x43F94000)
> ?#define IMX_I2C2_BASE ? ? ? ? ?(0x43F98000)
> ?#define IMX_OWIRE_BASE ? ? ? ? (0x43F9C000)
> ?#define IMX_CSPI1_BASE ? ? ? ? (0x43FA4000)
> @@ -197,15 +197,15 @@ struct aips_regs {
> ?/* SPBA */
> ?#define IMX_SPBA_BASE ? ? ? ? ?(0x50000000)
> ?#define IMX_CSPI3_BASE ? ? ? ? (0x50004000)
> -#define IMX_UART4_BASE ? ? ? ? (0x50008000)
> -#define IMX_UART3_BASE ? ? ? ? (0x5000C000)
> +#define UART4_BASE ? ? ? ? ? ? (0x50008000)
> +#define UART3_BASE ? ? ? ? ? ? (0x5000C000)
> ?#define IMX_CSPI2_BASE ? ? ? ? (0x50010000)
> ?#define IMX_SSI2_BASE ? ? ? ? ?(0x50014000)
> ?#define IMX_ESAI_BASE ? ? ? ? ?(0x50018000)
> ?#define IMX_ATA_DMA_BASE ? ? ? (0x50020000)
> ?#define IMX_SIM1_BASE ? ? ? ? ?(0x50024000)
> ?#define IMX_SIM2_BASE ? ? ? ? ?(0x50028000)
> -#define IMX_UART5_BASE ? ? ? ? (0x5002C000)
> +#define UART5_BASE ? ? ? ? ? ? (0x5002C000)
> ?#define IMX_TSC_BASE ? ? ? ? ? (0x50030000)
> ?#define IMX_SSI1_BASE ? ? ? ? ?(0x50034000)
> ?#define IMX_FEC_BASE ? ? ? ? ? (0x50038000)
> diff --git a/arch/arm/include/asm/arch-mx27/imx-regs.h b/arch/arm/include/asm/arch-mx27/imx-regs.h
> index 83ab216..ced5b2a 100644
> --- a/arch/arm/include/asm/arch-mx27/imx-regs.h
> +++ b/arch/arm/include/asm/arch-mx27/imx-regs.h
> @@ -224,10 +224,10 @@ struct fuse_bank0_regs {
> ?#define IMX_TIM1_BASE ? ? ? ? ?(0x03000 + IMX_IO_BASE)
> ?#define IMX_TIM2_BASE ? ? ? ? ?(0x04000 + IMX_IO_BASE)
> ?#define IMX_TIM3_BASE ? ? ? ? ?(0x05000 + IMX_IO_BASE)
> -#define IMX_UART1_BASE ? ? ? ? (0x0a000 + IMX_IO_BASE)
> -#define IMX_UART2_BASE ? ? ? ? (0x0b000 + IMX_IO_BASE)
> -#define IMX_UART3_BASE ? ? ? ? (0x0c000 + IMX_IO_BASE)
> -#define IMX_UART4_BASE ? ? ? ? (0x0d000 + IMX_IO_BASE)
> +#define UART1_BASE ? ? ? ? ? ? (0x0a000 + IMX_IO_BASE)
> +#define UART2_BASE ? ? ? ? ? ? (0x0b000 + IMX_IO_BASE)
> +#define UART3_BASE ? ? ? ? ? ? (0x0c000 + IMX_IO_BASE)
> +#define UART4_BASE ? ? ? ? ? ? (0x0d000 + IMX_IO_BASE)
> ?#define IMX_I2C1_BASE ? ? ? ? ?(0x12000 + IMX_IO_BASE)
> ?#define IMX_GPIO_BASE ? ? ? ? ?(0x15000 + IMX_IO_BASE)
> ?#define IMX_TIM4_BASE ? ? ? ? ?(0x19000 + IMX_IO_BASE)
> diff --git a/arch/arm/include/asm/arch-mx31/imx-regs.h b/arch/arm/include/asm/arch-mx31/imx-regs.h
> index 0147920..6a517dd 100644
> --- a/arch/arm/include/asm/arch-mx31/imx-regs.h
> +++ b/arch/arm/include/asm/arch-mx31/imx-regs.h
> @@ -600,6 +600,12 @@ struct esdc_regs {
> ?#define WEIM_ESDCFG1 ? 0xB800100C
> ?#define WEIM_ESDMISC ? 0xB8001010
>
> +#define UART1_BASE ? ? 0x43F90000
> +#define UART2_BASE ? ? 0x43F94000
> +#define UART3_BASE ? ? 0x5000C000
> +#define UART4_BASE ? ? 0x43FB0000
> +#define UART5_BASE ? ? 0x43FB4000
> +
> ?#define ESDCTL_SDE ? ? ? ? ? ? ? ? ? ? (1 << 31)
> ?#define ESDCTL_CMD_RW ? ? ? ? ? ? ? ? ?(0 << 28)
> ?#define ESDCTL_CMD_PRECHARGE ? ? ? ? ? (1 << 28)
> diff --git a/arch/arm/include/asm/arch-mx35/imx-regs.h b/arch/arm/include/asm/arch-mx35/imx-regs.h
> index 25c324e..df74508 100644
> --- a/arch/arm/include/asm/arch-mx35/imx-regs.h
> +++ b/arch/arm/include/asm/arch-mx35/imx-regs.h
> @@ -42,8 +42,8 @@
> ?#define I2C_BASE_ADDR ? ? ? ? ? 0x43F80000
> ?#define I2C3_BASE_ADDR ? ? ? ? ?0x43F84000
> ?#define ATA_BASE_ADDR ? ? ? ? ? 0x43F8C000
> -#define UART1_BASE_ADDR ? ? ? ? 0x43F90000
> -#define UART2_BASE_ADDR ? ? ? ? 0x43F94000
> +#define UART1_BASE ? ? ? ? ? ? 0x43F90000
> +#define UART2_BASE ? ? ? ? ? ? 0x43F94000
> ?#define I2C2_BASE_ADDR ? ? ? ? ?0x43F98000
> ?#define CSPI1_BASE_ADDR ? ? ? ? 0x43FA4000
> ?#define IOMUXC_BASE_ADDR ? ? ? ?0x43FAC000
> @@ -52,7 +52,7 @@
> ?* SPBA
> ?*/
> ?#define SPBA_BASE_ADDR ? ? ? ? ?0x50000000
> -#define UART3_BASE_ADDR ? ? ? ? 0x5000C000
> +#define UART3_BASE ? ? ? ? ? ? 0x5000C000
> ?#define CSPI2_BASE_ADDR ? ? ? ? 0x50010000
> ?#define ATA_DMA_BASE_ADDR ? ? ? 0x50020000
> ?#define FEC_BASE_ADDR ? ? ? ? ? 0x50038000
> diff --git a/arch/arm/include/asm/arch-mx5/imx-regs.h b/arch/arm/include/asm/arch-mx5/imx-regs.h
> index d069209..0ee88d2 100644
> --- a/arch/arm/include/asm/arch-mx5/imx-regs.h
> +++ b/arch/arm/include/asm/arch-mx5/imx-regs.h
> @@ -54,7 +54,7 @@
> ?*/
> ?#define MMC_SDHC1_BASE_ADDR ? ?(SPBA0_BASE_ADDR + 0x00004000)
> ?#define MMC_SDHC2_BASE_ADDR ? ?(SPBA0_BASE_ADDR + 0x00008000)
> -#define UART3_BASE_ADDR ? ? ? ?(SPBA0_BASE_ADDR + 0x0000C000)
> +#define UART3_BASE ? ? ? ? ? ? (SPBA0_BASE_ADDR + 0x0000C000)
> ?#define CSPI1_BASE_ADDR ? ? ? ?(SPBA0_BASE_ADDR + 0x00010000)
> ?#define SSI2_BASE_ADDR ? ? ? ? (SPBA0_BASE_ADDR + 0x00014000)
> ?#define MMC_SDHC3_BASE_ADDR ? ?(SPBA0_BASE_ADDR + 0x00020000)
> @@ -83,8 +83,8 @@
> ?#define EPIT2_BASE_ADDR ? ? ? ? ? ? ? ?(AIPS1_BASE_ADDR + 0x000B0000)
> ?#define PWM1_BASE_ADDR ? ? ? ? (AIPS1_BASE_ADDR + 0x000B4000)
> ?#define PWM2_BASE_ADDR ? ? ? ? (AIPS1_BASE_ADDR + 0x000B8000)
> -#define UART1_BASE_ADDR ? ? ? ? ? ? ? ?(AIPS1_BASE_ADDR + 0x000BC000)
> -#define UART2_BASE_ADDR ? ? ? ? ? ? ? ?(AIPS1_BASE_ADDR + 0x000C0000)
> +#define UART1_BASE ? ? ? ? ? ? (AIPS1_BASE_ADDR + 0x000BC000)
> +#define UART2_BASE ? ? ? ? ? ? (AIPS1_BASE_ADDR + 0x000C0000)
> ?#define SRC_BASE_ADDR ? ? ? ? ?(AIPS1_BASE_ADDR + 0x000D0000)
> ?#define CCM_BASE_ADDR ? ? ? ? ?(AIPS1_BASE_ADDR + 0x000D4000)
> ?#define GPC_BASE_ADDR ? ? ? ? ?(AIPS1_BASE_ADDR + 0x000D8000)
> diff --git a/drivers/serial/serial_mxc.c b/drivers/serial/serial_mxc.c
> index dcb4bd1..af00b9c 100644
> --- a/drivers/serial/serial_mxc.c
> +++ b/drivers/serial/serial_mxc.c
> @@ -24,41 +24,12 @@
>
> ?#define __REG(x) ? ? (*((volatile u32 *)(x)))
>
> -#if defined(CONFIG_SYS_MX31_UART1) || defined(CONFIG_SYS_MX25_UART1)
> -#define UART_PHYS 0x43f90000
> -#elif defined(CONFIG_SYS_MX31_UART2) || defined(CONFIG_SYS_MX25_UART2)
> -#define UART_PHYS 0x43f94000
> -#elif defined(CONFIG_SYS_MX31_UART3) || defined(CONFIG_SYS_MX25_UART3)
> -#define UART_PHYS 0x5000c000
> -#elif defined(CONFIG_SYS_MX31_UART4) || defined(CONFIG_SYS_MX25_UART4)
> -#define UART_PHYS 0x43fb0000
> -#elif defined(CONFIG_SYS_MX31_UART5) || defined(CONFIG_SYS_MX25_UART5)
> -#define UART_PHYS 0x43fb4000
> -#elif defined(CONFIG_SYS_MX27_UART1)
> -#define UART_PHYS 0x1000a000
> -#elif defined(CONFIG_SYS_MX27_UART2)
> -#define UART_PHYS 0x1000b000
> -#elif defined(CONFIG_SYS_MX27_UART3)
> -#define UART_PHYS 0x1000c000
> -#elif defined(CONFIG_SYS_MX27_UART4)
> -#define UART_PHYS 0x1000d000
> -#elif defined(CONFIG_SYS_MX27_UART5)
> -#define UART_PHYS 0x1001b000
> -#elif defined(CONFIG_SYS_MX27_UART6)
> -#define UART_PHYS 0x1001c000
> -#elif defined(CONFIG_SYS_MX35_UART1) || defined(CONFIG_SYS_MX51_UART1) || \
> - ? ? ? defined(CONFIG_SYS_MX53_UART1)
> -#define UART_PHYS UART1_BASE_ADDR
> -#elif defined(CONFIG_SYS_MX35_UART2) || defined(CONFIG_SYS_MX51_UART2) || \
> - ? ? ? defined(CONFIG_SYS_MX53_UART2)
> -#define UART_PHYS UART2_BASE_ADDR
> -#elif defined(CONFIG_SYS_MX35_UART3) || defined(CONFIG_SYS_MX51_UART3) || \
> - ? ? ? defined(CONFIG_SYS_MX53_UART3)
> -#define UART_PHYS UART3_BASE_ADDR
> -#else
> -#error "define CONFIG_SYS_MXxx_UARTx to use the MXC UART driver"
> +#ifndef CONFIG_MXC_UART_BASE
> +#error "define CONFIG_MXC_UART_BASE to use the MXC UART driver"
> ?#endif
>
> +#define UART_PHYS ? ? ?CONFIG_MXC_UART_BASE
> +
> ?#ifdef CONFIG_SERIAL_MULTI
> ?#warning "MXC driver does not support MULTI serials."
> ?#endif
> diff --git a/include/configs/efikamx.h b/include/configs/efikamx.h
> index a07c8b5..2b069d6 100644
> --- a/include/configs/efikamx.h
> +++ b/include/configs/efikamx.h
> @@ -85,7 +85,7 @@
> ?* Hardware drivers
> ?*/
> ?#define CONFIG_MXC_UART
> -#define CONFIG_SYS_MX51_UART1
> +#define CONFIG_MXC_UART_BASE ? ? ? ? ? UART1_BASE
> ?#define CONFIG_CONS_INDEX ? ? ? ? ? ? ?1
> ?#define CONFIG_BAUDRATE ? ? ? ? ? ? ? ? ? ? ? ?115200
> ?#define CONFIG_SYS_BAUDRATE_TABLE ? ? ?{9600, 19200, 38400, 57600, 115200}
> diff --git a/include/configs/flea3.h b/include/configs/flea3.h
> index d88c578..20100c2 100644
> --- a/include/configs/flea3.h
> +++ b/include/configs/flea3.h
> @@ -77,7 +77,7 @@
> ?* UART (console)
> ?*/
> ?#define CONFIG_MXC_UART
> -#define CONFIG_SYS_MX35_UART3
> +#define CONFIG_MXC_UART_BASE ? UART3_BASE
>
> ?/* allow to overwrite serial and ethaddr */
> ?#define CONFIG_ENV_OVERWRITE
> diff --git a/include/configs/imx27lite-common.h b/include/configs/imx27lite-common.h
> index 6953a80..2af4e7a 100644
> --- a/include/configs/imx27lite-common.h
> +++ b/include/configs/imx27lite-common.h
> @@ -102,7 +102,7 @@
> ?* Serial Driver info
> ?*/
> ?#define CONFIG_MXC_UART
> -#define CONFIG_SYS_MX27_UART1
> +#define CONFIG_MXC_UART_BASE ? UART1_BASE
> ?#define CONFIG_CONS_INDEX ? ? ?1 ? ? ? ? ? ? ? /* use UART0 for console */
> ?#define CONFIG_BAUDRATE ? ? ? ? ? ? ? ?115200 ? ? ? ? ?/* Default baud rate */
> ?#define CONFIG_SYS_BAUDRATE_TABLE ? ? ?{ 9600, 19200, 38400, 57600, 115200 }
> diff --git a/include/configs/imx31_litekit.h b/include/configs/imx31_litekit.h
> index 1455ea2..bbcbce1 100644
> --- a/include/configs/imx31_litekit.h
> +++ b/include/configs/imx31_litekit.h
> @@ -63,8 +63,8 @@
> ?* Hardware drivers
> ?*/
>
> -#define CONFIG_MXC_UART ? ? ? ?1
> -#define CONFIG_SYS_MX31_UART1 ? ? ? ? ?1
> +#define CONFIG_MXC_UART
> +#define CONFIG_MXC_UART_BASE ? UART1_BASE
> ?#define CONFIG_MXC_GPIO
>
> ?#define CONFIG_HARD_SPI ? ? ? ? ? ? ? ?1
> diff --git a/include/configs/imx31_phycore.h b/include/configs/imx31_phycore.h
> index 1b75197..3153eb5 100644
> --- a/include/configs/imx31_phycore.h
> +++ b/include/configs/imx31_phycore.h
> @@ -59,7 +59,7 @@
> ?#define CONFIG_SYS_I2C_SLAVE ? ? ? ? ? 0xfe
>
> ?#define CONFIG_MXC_UART
> -#define CONFIG_SYS_MX31_UART1
> +#define CONFIG_MXC_UART_BASE ? ? ? ? ? UART1_BASE
>
> ?/* allow to overwrite serial and ethaddr */
> ?#define CONFIG_ENV_OVERWRITE
> diff --git a/include/configs/mx25pdk.h b/include/configs/mx25pdk.h
> index 8414376..d1ba02b 100644
> --- a/include/configs/mx25pdk.h
> +++ b/include/configs/mx25pdk.h
> @@ -54,7 +54,7 @@
>
> ?/* Serial Info */
> ?#define CONFIG_MXC_UART
> -#define CONFIG_SYS_MX25_UART1
> +#define CONFIG_MXC_UART_BASE ? UART1_BASE
> ?#define CONFIG_CONS_INDEX ? ? ?1 ? ? ? /* use UART0 for console */
> ?#define CONFIG_BAUDRATE ? ? ? ? ? ? ? ?115200 ?/* Default baud rate */
> ?#define CONFIG_SYS_BAUDRATE_TABLE ? ? ?{ 9600, 19200, 38400, 57600, 115200 }
> diff --git a/include/configs/mx31ads.h b/include/configs/mx31ads.h
> index 7e011ae..87638a4 100644
> --- a/include/configs/mx31ads.h
> +++ b/include/configs/mx31ads.h
> @@ -60,8 +60,8 @@
> ?* Hardware drivers
> ?*/
>
> -#define CONFIG_MXC_UART ? ? ? ?1
> -#define CONFIG_SYS_MX31_UART1 ? ? ? ? ?1
> +#define CONFIG_MXC_UART
> +#define CONFIG_MXC_UART_BASE ? UART1_BASE

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH] MX: serial_mxc: cleanup removing nasty #ifdef
  2011-11-23  2:48 ` Jason Hui
@ 2011-11-23  8:37   ` Stefano Babic
  2011-11-23 10:44     ` Marek Vasut
  0 siblings, 1 reply; 18+ messages in thread
From: Stefano Babic @ 2011-11-23  8:37 UTC (permalink / raw)
  To: u-boot

On 23/11/2011 03:48, Jason Hui wrote:

> From the u-boot/README:
> 
> * Configuration _OPTIONS_:
>   These are selectable by the user and have names beginning with
>   "CONFIG_".
> 
> * Configuration _SETTINGS_:
>   These depend on the hardware etc. and should not be meddled with if
>   you don't know what you're doing; they have names beginning with
>   "CONFIG_SYS_".
> 
> It's better to use #define CONFIG_SYS_MXC_UART_BASE   UART1_BASE
> 
> [...]

Agree, I do it in V2

Best regards,
Stefano Babic

-- 
=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80  Email: office at denx.de
=====================================================================

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH] MX: serial_mxc: cleanup removing nasty #ifdef
  2011-11-22 18:06 ` Marek Vasut
@ 2011-11-23  8:41   ` Stefano Babic
  0 siblings, 0 replies; 18+ messages in thread
From: Stefano Babic @ 2011-11-23  8:41 UTC (permalink / raw)
  To: u-boot

On 22/11/2011 19:06, Marek Vasut wrote:
>> -#ifdef CONFIG_SYS_MX31_UART2
>>  void mx31_uart2_hw_init(void)
>>  {
>>  	/* setup pins for UART2 */
>> @@ -47,7 +44,6 @@ void mx31_uart2_hw_init(void)
>>  	mx31_gpio_mux(MUX_RTS2__UART2_RTS_B);
>>  	mx31_gpio_mux(MUX_CTS2__UART2_CTS_B);
>>  }
>> -#endif
> 
> Maybe the MUX should be abstracted into CPU-files in arch/arm/.... ?

There are several way to improve the MUX on the IMX, but this should be
done in separate patches. This patch takes care only to move the
selected UART from the driver to the board configuration file.

>>  #ifdef CONFIG_MXC_SPI
>>  /*
>> diff --git a/arch/arm/include/asm/arch-mx25/imx-regs.h
>> b/arch/arm/include/asm/arch-mx25/imx-regs.h index eece138..7f9449b 100644
>> --- a/arch/arm/include/asm/arch-mx25/imx-regs.h
>> +++ b/arch/arm/include/asm/arch-mx25/imx-regs.h
>> @@ -180,8 +180,8 @@ struct aips_regs {
>>  #define IMX_I2C3_BASE		(0x43F84000)
>>  #define IMX_CAN1_BASE		(0x43F88000)
>>  #define IMX_CAN2_BASE		(0x43F8C000)
>> -#define IMX_UART1_BASE		(0x43F90000)
>> -#define IMX_UART2_BASE		(0x43F94000)
>> +#define UART1_BASE		(0x43F90000)
>> +#define UART2_BASE		(0x43F94000)
>>  #define IMX_I2C2_BASE		(0x43F98000)
>>  #define IMX_OWIRE_BASE		(0x43F9C000)
>>  #define IMX_CSPI1_BASE		(0x43FA4000)
>> @@ -197,15 +197,15 @@ struct aips_regs {
>>  /* SPBA */
>>  #define IMX_SPBA_BASE		(0x50000000)
>>  #define IMX_CSPI3_BASE		(0x50004000)
>> -#define IMX_UART4_BASE		(0x50008000)
>> -#define IMX_UART3_BASE		(0x5000C000)
>> +#define UART4_BASE		(0x50008000)
>> +#define UART3_BASE		(0x5000C000)
>>  #define IMX_CSPI2_BASE		(0x50010000)
>>  #define IMX_SSI2_BASE		(0x50014000)
>>  #define IMX_ESAI_BASE		(0x50018000)
>>  #define IMX_ATA_DMA_BASE	(0x50020000)
>>  #define IMX_SIM1_BASE		(0x50024000)
>>  #define IMX_SIM2_BASE		(0x50028000)
>> -#define IMX_UART5_BASE		(0x5002C000)
>> +#define UART5_BASE		(0x5002C000)
>>  #define IMX_TSC_BASE		(0x50030000)
>>  #define IMX_SSI1_BASE		(0x50034000)
>>  #define IMX_FEC_BASE		(0x50038000)
> 
> The parenthesis should go too ...

This should be done globally. Agree this must be done, but I will let
that the patch remain easy to be read containing only the changes
related to the commit message. So I tend to move this cleanup in a
separate patch.

Best regards,
Stefano Babic

-- 
=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80  Email: office at denx.de
=====================================================================

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH] MX: serial_mxc: cleanup removing nasty #ifdef
  2011-11-23  8:37   ` Stefano Babic
@ 2011-11-23 10:44     ` Marek Vasut
  2011-11-23 21:27       ` stefano babic
  0 siblings, 1 reply; 18+ messages in thread
From: Marek Vasut @ 2011-11-23 10:44 UTC (permalink / raw)
  To: u-boot

> On 23/11/2011 03:48, Jason Hui wrote:
> > From the u-boot/README:
> > 
> > * Configuration _OPTIONS_:
> >   These are selectable by the user and have names beginning with
> >   "CONFIG_".
> > 
> > * Configuration _SETTINGS_:
> >   These depend on the hardware etc. and should not be meddled with if
> >   you don't know what you're doing; they have names beginning with
> >   "CONFIG_SYS_".
> > 
> > It's better to use #define CONFIG_SYS_MXC_UART_BASE   UART1_BASE
> > 
> > [...]
> 
> Agree, I do it in V2
> 
> Best regards,
> Stefano Babic

But this is not completely right. Why CONFIG_SYS, if the user can change it 
quite safely to adjust his serial port.

M

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH] MX: serial_mxc: cleanup removing nasty #ifdef
  2011-11-23 10:44     ` Marek Vasut
@ 2011-11-23 21:27       ` stefano babic
  2011-11-24  0:08         ` Marek Vasut
  0 siblings, 1 reply; 18+ messages in thread
From: stefano babic @ 2011-11-23 21:27 UTC (permalink / raw)
  To: u-boot

Am 23/11/2011 11:44, schrieb Marek Vasut:
>> On 23/11/2011 03:48, Jason Hui wrote:
>>> From the u-boot/README:
>>>
>>> * Configuration _OPTIONS_:
>>>   These are selectable by the user and have names beginning with
>>>   "CONFIG_".
>>>
>>> * Configuration _SETTINGS_:
>>>   These depend on the hardware etc. and should not be meddled with if
>>>   you don't know what you're doing; they have names beginning with
>>>   "CONFIG_SYS_".
>>>
>>> It's better to use #define CONFIG_SYS_MXC_UART_BASE   UART1_BASE
>>>
>>> [...]
>>
>> Agree, I do it in V2
>>
>> Best regards,
>> Stefano Babic
> 
> But this is not completely right. Why CONFIG_SYS, if the user can change it 
> quite safely to adjust his serial port.

So we have a case where we can use CONFIG_ (because it is an option
selectable by user) or CONFIG_SYS_ because it depends on HW... I see
other cases where a CONFIG_ (CONFIG_SERIAL_BASE, CONFIG_FFUART, ..) is
used to select the UART on different SOCs. And I see also other cases
with CONFIG_SYS_ (CONFIG_SYS_UART_BASE, for example). Both are currently
used - I will not change, I think that CONFIG_MXC_UART_BASE explains
already well what is supposed to do.

Stefano

-- 
=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80  Email: office at denx.de
=====================================================================

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH] MX: serial_mxc: cleanup removing nasty #ifdef
  2011-11-23 21:27       ` stefano babic
@ 2011-11-24  0:08         ` Marek Vasut
  2011-11-24  2:35           ` Jason Hui
  0 siblings, 1 reply; 18+ messages in thread
From: Marek Vasut @ 2011-11-24  0:08 UTC (permalink / raw)
  To: u-boot

> Am 23/11/2011 11:44, schrieb Marek Vasut:
> >> On 23/11/2011 03:48, Jason Hui wrote:
> >>> From the u-boot/README:
> >>> 
> >>> * Configuration _OPTIONS_:
> >>>   These are selectable by the user and have names beginning with
> >>>   "CONFIG_".
> >>> 
> >>> * Configuration _SETTINGS_:
> >>>   These depend on the hardware etc. and should not be meddled with if
> >>>   you don't know what you're doing; they have names beginning with
> >>>   "CONFIG_SYS_".
> >>> 
> >>> It's better to use #define CONFIG_SYS_MXC_UART_BASE   UART1_BASE
> >>> 
> >>> [...]
> >> 
> >> Agree, I do it in V2
> >> 
> >> Best regards,
> >> Stefano Babic
> > 
> > But this is not completely right. Why CONFIG_SYS, if the user can change
> > it quite safely to adjust his serial port.
> 
> So we have a case where we can use CONFIG_ (because it is an option
> selectable by user) or CONFIG_SYS_ because it depends on HW... I see
> other cases where a CONFIG_ (CONFIG_SERIAL_BASE, CONFIG_FFUART, ..) is
> used to select the UART on different SOCs. And I see also other cases
> with CONFIG_SYS_ (CONFIG_SYS_UART_BASE, for example). Both are currently
> used - I will not change, I think that CONFIG_MXC_UART_BASE explains
> already well what is supposed to do.

Definitelly.

M

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH] MX: serial_mxc: cleanup removing nasty #ifdef
  2011-11-24  0:08         ` Marek Vasut
@ 2011-11-24  2:35           ` Jason Hui
  2011-11-24  2:44             ` Marek Vasut
  2011-11-24  6:13             ` Wolfgang Denk
  0 siblings, 2 replies; 18+ messages in thread
From: Jason Hui @ 2011-11-24  2:35 UTC (permalink / raw)
  To: u-boot

On Thu, Nov 24, 2011 at 8:08 AM, Marek Vasut <marek.vasut@gmail.com> wrote:
>> Am 23/11/2011 11:44, schrieb Marek Vasut:
>> >> On 23/11/2011 03:48, Jason Hui wrote:
>> >>> From the u-boot/README:
>> >>>
>> >>> * Configuration _OPTIONS_:
>> >>> ? These are selectable by the user and have names beginning with
>> >>> ? "CONFIG_".
>> >>>
>> >>> * Configuration _SETTINGS_:
>> >>> ? These depend on the hardware etc. and should not be meddled with if
>> >>> ? you don't know what you're doing; they have names beginning with
>> >>> ? "CONFIG_SYS_".
>> >>>
>> >>> It's better to use #define CONFIG_SYS_MXC_UART_BASE ? UART1_BASE
>> >>>
>> >>> [...]
>> >>
>> >> Agree, I do it in V2
>> >>
>> >> Best regards,
>> >> Stefano Babic
>> >
>> > But this is not completely right. Why CONFIG_SYS, if the user can change
>> > it quite safely to adjust his serial port.
>>
>> So we have a case where we can use CONFIG_ (because it is an option
>> selectable by user) or CONFIG_SYS_ because it depends on HW... I see
>> other cases where a CONFIG_ (CONFIG_SERIAL_BASE, CONFIG_FFUART, ..) is
>> used to select the UART on different SOCs. And I see also other cases
>> with CONFIG_SYS_ (CONFIG_SYS_UART_BASE, for example). Both are currently
>> used - I will not change, I think that CONFIG_MXC_UART_BASE explains
>> already well what is supposed to do.
>
> Definitelly.

Really? As I understand:

CONFIG_OPTION is for an option selectable by user, so if we:
#define CONFIG_OPTION

means we select this feature or something like that.

CONFIG_SYS_XXXX: means the option is depend on the HW, typically,
it will have one value at the end. For example:

#define CONFIG_SYS_XXX     yyy

Since there is a lot of inconsistency in the u-boot. I don't know what is
definitely correct way.

Maybe, Wolfgang can comment on this?


>
> M
>

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH] MX: serial_mxc: cleanup removing nasty #ifdef
  2011-11-24  2:35           ` Jason Hui
@ 2011-11-24  2:44             ` Marek Vasut
  2011-11-24 11:35               ` Wolfgang Denk
  2011-11-24  6:13             ` Wolfgang Denk
  1 sibling, 1 reply; 18+ messages in thread
From: Marek Vasut @ 2011-11-24  2:44 UTC (permalink / raw)
  To: u-boot

> On Thu, Nov 24, 2011 at 8:08 AM, Marek Vasut <marek.vasut@gmail.com> wrote:
> >> Am 23/11/2011 11:44, schrieb Marek Vasut:
> >> >> On 23/11/2011 03:48, Jason Hui wrote:
> >> >>> From the u-boot/README:
> >> >>> 
> >> >>> * Configuration _OPTIONS_:
> >> >>>   These are selectable by the user and have names beginning with
> >> >>>   "CONFIG_".
> >> >>> 
> >> >>> * Configuration _SETTINGS_:
> >> >>>   These depend on the hardware etc. and should not be meddled with
> >> >>> if you don't know what you're doing; they have names beginning with
> >> >>> "CONFIG_SYS_".
> >> >>> 
> >> >>> It's better to use #define CONFIG_SYS_MXC_UART_BASE   UART1_BASE
> >> >>> 
> >> >>> [...]
> >> >> 
> >> >> Agree, I do it in V2
> >> >> 
> >> >> Best regards,
> >> >> Stefano Babic
> >> > 
> >> > But this is not completely right. Why CONFIG_SYS, if the user can
> >> > change it quite safely to adjust his serial port.
> >> 
> >> So we have a case where we can use CONFIG_ (because it is an option
> >> selectable by user) or CONFIG_SYS_ because it depends on HW... I see
> >> other cases where a CONFIG_ (CONFIG_SERIAL_BASE, CONFIG_FFUART, ..) is
> >> used to select the UART on different SOCs. And I see also other cases
> >> with CONFIG_SYS_ (CONFIG_SYS_UART_BASE, for example). Both are currently
> >> used - I will not change, I think that CONFIG_MXC_UART_BASE explains
> >> already well what is supposed to do.
> > 
> > Definitelly.
> 
> Really? As I understand:
> 
> CONFIG_OPTION is for an option selectable by user, so if we:
> #define CONFIG_OPTION
> 
> means we select this feature or something like that.
> 
> CONFIG_SYS_XXXX: means the option is depend on the HW, typically,
> it will have one value at the end. For example:
> 
> #define CONFIG_SYS_XXX     yyy
> 
> Since there is a lot of inconsistency in the u-boot. I don't know what is
> definitely correct way.
> 
> Maybe, Wolfgang can comment on this?
> 

Someone should step up and make it consistent then ;-)

M

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH] MX: serial_mxc: cleanup removing nasty #ifdef
  2011-11-24  2:35           ` Jason Hui
  2011-11-24  2:44             ` Marek Vasut
@ 2011-11-24  6:13             ` Wolfgang Denk
  2011-11-24  6:23               ` Jason Hui
  1 sibling, 1 reply; 18+ messages in thread
From: Wolfgang Denk @ 2011-11-24  6:13 UTC (permalink / raw)
  To: u-boot

Dear Jason Hui,

In message <CAFQ4atSGoTA9YXHxiprdRrWw4E5VFfssOoYOS=N2Yj=q9j_+TQ@mail.gmail.com> you wrote:
>
> Really? As I understand:
> 
> CONFIG_OPTION is for an option selectable by user, so if we:
> #define CONFIG_OPTION
> 
> means we select this feature or something like that.
> 
> CONFIG_SYS_XXXX: means the option is depend on the HW, typically,
> it will have one value at the end. For example:
> 
> #define CONFIG_SYS_XXX     yyy
> 
> Since there is a lot of inconsistency in the u-boot. I don't know what is
> definitely correct way.

Your understanding is not correct, that's all.

There user configurable settings that just select features (like
adding support for optional features, say things like
CONFIG_CMD_ASKENV, CONFIG_CMD_CONSOLE, CONFIG_CMD_IMI etc.), but there
are also such options that take values, like for example
CONFIG_BAUDRATE, CONFIG_BOOTDELAY or CONFIG_BOOTCOMMAND.

The same applies for the CONFIG_SYS_ variables - there are some that
don't take values, and some do.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
While most peoples' opinions change, the conviction of their correct-
ness never does.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH] MX: serial_mxc: cleanup removing nasty #ifdef
  2011-11-24  6:13             ` Wolfgang Denk
@ 2011-11-24  6:23               ` Jason Hui
  2011-11-24 11:41                 ` Wolfgang Denk
  0 siblings, 1 reply; 18+ messages in thread
From: Jason Hui @ 2011-11-24  6:23 UTC (permalink / raw)
  To: u-boot

On Thu, Nov 24, 2011 at 2:13 PM, Wolfgang Denk <wd@denx.de> wrote:
> Dear Jason Hui,
>
> In message <CAFQ4atSGoTA9YXHxiprdRrWw4E5VFfssOoYOS=N2Yj=q9j_+TQ@mail.gmail.com> you wrote:
>>
>> Really? As I understand:
>>
>> CONFIG_OPTION is for an option selectable by user, so if we:
>> #define CONFIG_OPTION
>>
>> means we select this feature or something like that.
>>
>> CONFIG_SYS_XXXX: means the option is depend on the HW, typically,
>> it will have one value at the end. For example:
>>
>> #define CONFIG_SYS_XXX ? ? yyy
>>
>> Since there is a lot of inconsistency in the u-boot. I don't know what is
>> definitely correct way.
>
> Your understanding is not correct, that's all.

OK, thanks for pointing this out.

>
> There user configurable settings that just select features (like
> adding support for optional features, say things like
> CONFIG_CMD_ASKENV, CONFIG_CMD_CONSOLE, CONFIG_CMD_IMI etc.), but there
> are also such options that take values, like for example
> CONFIG_BAUDRATE, CONFIG_BOOTDELAY or CONFIG_BOOTCOMMAND.
>
> The same applies for the CONFIG_SYS_ variables - there are some that
> don't take values, and some do.

Then what's the rule that we must need use CONFIG_SYS_ other than
CONFIG_option?

>
> Best regards,
>
> Wolfgang Denk
>
> --
> DENX Software Engineering GmbH, ? ? MD: Wolfgang Denk & Detlev Zundel
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
> While most peoples' opinions change, the conviction of their correct-
> ness never does.
>

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH] MX: serial_mxc: cleanup removing nasty #ifdef
  2011-11-24  2:44             ` Marek Vasut
@ 2011-11-24 11:35               ` Wolfgang Denk
  0 siblings, 0 replies; 18+ messages in thread
From: Wolfgang Denk @ 2011-11-24 11:35 UTC (permalink / raw)
  To: u-boot

Dear Marek Vasut,

In message <201111240344.15295.marek.vasut@gmail.com> you wrote:
>
> Someone should step up and make it consistent then ;-)

There is no inconsistency, only misunderstanding.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Nothing in progression can rest on its original plan. We may as  well
think  of  rocking  a grown man in the cradle of an infant.
- Edmund Burke

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH] MX: serial_mxc: cleanup removing nasty #ifdef
  2011-11-24  6:23               ` Jason Hui
@ 2011-11-24 11:41                 ` Wolfgang Denk
  2011-11-24 11:47                   ` Jason Hui
  0 siblings, 1 reply; 18+ messages in thread
From: Wolfgang Denk @ 2011-11-24 11:41 UTC (permalink / raw)
  To: u-boot

Dear Jason Hui,

In message <CAFQ4atQfQ7YKKwa5fBBe16eWT95uBnKk1bjtPPqw8adTUWZvZQ@mail.gmail.com> you wrote:
>
> Then what's the rule that we must need use CONFIG_SYS_ other than
> CONFIG_option?

You yourself quoted the relevant part of the README before in this
thread.  Just re-read your own posting and/or the README:

11/23 Jason Hui          Re: [PATCH] MX: serial_mxc: cleanup removing nasty #ifdef
http://article.gmane.org/gmane.comp.boot-loaders.u-boot/117887


Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
In the beginning, there was nothing, which exploded.
                                - Terry Pratchett, _Lords and Ladies_

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH] MX: serial_mxc: cleanup removing nasty #ifdef
  2011-11-24 11:41                 ` Wolfgang Denk
@ 2011-11-24 11:47                   ` Jason Hui
  2011-11-24 12:11                     ` Wolfgang Denk
  0 siblings, 1 reply; 18+ messages in thread
From: Jason Hui @ 2011-11-24 11:47 UTC (permalink / raw)
  To: u-boot

On Thu, Nov 24, 2011 at 7:41 PM, Wolfgang Denk <wd@denx.de> wrote:
> Dear Jason Hui,
>
> In message <CAFQ4atQfQ7YKKwa5fBBe16eWT95uBnKk1bjtPPqw8adTUWZvZQ@mail.gmail.com> you wrote:
>>
>> Then what's the rule that we must need use CONFIG_SYS_ other than
>> CONFIG_option?
>
> You yourself quoted the relevant part of the README before in this
> thread. ?Just re-read your own posting and/or the README:
>
> 11/23 Jason Hui ? ? ? ? ?Re: [PATCH] MX: serial_mxc: cleanup removing nasty #ifdef
> http://article.gmane.org/gmane.comp.boot-loaders.u-boot/117887

I'm just get confused. It seems from you that we can both use:
CONFIG_option and CONFIG_SYS_  in this patch? right?

>
>
> Best regards,
>
> Wolfgang Denk
>
> --
> DENX Software Engineering GmbH, ? ? MD: Wolfgang Denk & Detlev Zundel
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
> In the beginning, there was nothing, which exploded.
> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?- Terry Pratchett, _Lords and Ladies_
>

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH] MX: serial_mxc: cleanup removing nasty #ifdef
  2011-11-24 11:47                   ` Jason Hui
@ 2011-11-24 12:11                     ` Wolfgang Denk
  2011-11-25  2:11                       ` Jason Hui
  0 siblings, 1 reply; 18+ messages in thread
From: Wolfgang Denk @ 2011-11-24 12:11 UTC (permalink / raw)
  To: u-boot

Dear Jason Hui,

In message <CAFQ4atRGwSxiw+mik8wSMMUVW4M=N9WS55PpD1iFhu-E1Aj_Rg@mail.gmail.com> you wrote:
>
> I'm just get confused. It seems from you that we can both use:
> CONFIG_option and CONFIG_SYS_  in this patch? right?

It's one of those boarder cases.  But given that we don't actually set
hardware related values (say, initial data for registers) here, but
select from a set of pre-defined options (UART1_BASE etc.) it seems OK
to me to handle this as Stefano suggested, i. e. as
CONFIG_MXC_UART_BASE .

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
You Don't Have To Be 'Damned' To Work Here, But It Helps!!!
                                             - Terry Pratchett, _Eric_

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH] MX: serial_mxc: cleanup removing nasty #ifdef
  2011-11-24 12:11                     ` Wolfgang Denk
@ 2011-11-25  2:11                       ` Jason Hui
  0 siblings, 0 replies; 18+ messages in thread
From: Jason Hui @ 2011-11-25  2:11 UTC (permalink / raw)
  To: u-boot

On Thu, Nov 24, 2011 at 8:11 PM, Wolfgang Denk <wd@denx.de> wrote:
> Dear Jason Hui,
>
> In message <CAFQ4atRGwSxiw+mik8wSMMUVW4M=N9WS55PpD1iFhu-E1Aj_Rg@mail.gmail.com> you wrote:
>>
>> I'm just get confused. It seems from you that we can both use:
>> CONFIG_option and CONFIG_SYS_ ?in this patch? right?
>
> It's one of those boarder cases. ?But given that we don't actually set
> hardware related values (say, initial data for registers) here, but
> select from a set of pre-defined options (UART1_BASE etc.) it seems OK
> to me to handle this as Stefano suggested, i. e. as
> CONFIG_MXC_UART_BASE .

OK, thanks Wolfgang.

>
> Best regards,
>
> Wolfgang Denk
>
> --
> DENX Software Engineering GmbH, ? ? MD: Wolfgang Denk & Detlev Zundel
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
> You Don't Have To Be 'Damned' To Work Here, But It Helps!!!
> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? - Terry Pratchett, _Eric_
>

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [U-Boot] [PATCH] MX: serial_mxc: cleanup removing nasty #ifdef
  2011-11-22 15:51 [U-Boot] [PATCH] MX: serial_mxc: cleanup removing nasty #ifdef Stefano Babic
  2011-11-22 18:06 ` Marek Vasut
  2011-11-23  2:48 ` Jason Hui
@ 2011-11-25  3:32 ` Jason Hui
  2 siblings, 0 replies; 18+ messages in thread
From: Jason Hui @ 2011-11-25  3:32 UTC (permalink / raw)
  To: u-boot

On Tue, Nov 22, 2011 at 11:51 PM, Stefano Babic <sbabic@denx.de> wrote:
> The serial driver for iMX SOCs is continuosly changed if a
> new SOC or not yet used port is used. CONFIG_SYS_<SOC>_<UART Port>
> defines were used only to find the base address for the selected UART.
> Instead of that, move the base address to the board configuration
> file and drop all #ifdef from driver.
>
> Signed-off-by: Stefano Babic <sbabic@denx.de>
> CC: Marek Vasut <marek.vasut@gmail.com>
> CC: Wolfgang Denk <wd@denx.de>
> CC: Fabio Estevam <fabio.estevam@freescale.com>
> CC: Helmut Raiger <helmut.raiger@hale.at>
> CC: John Rigby <jcrigby@gmail.com>
> CC: Matthias Weisser <weisserm@arcor.de>
> CC: Jason Liu <jason.hui@linaro.org>
> ---
> ?arch/arm/cpu/arm1136/mx31/devices.c ? ? ? | ? ?4 ---
> ?arch/arm/include/asm/arch-mx25/imx-regs.h | ? 10 ++++----
> ?arch/arm/include/asm/arch-mx27/imx-regs.h | ? ?8 +++---
> ?arch/arm/include/asm/arch-mx31/imx-regs.h | ? ?6 ++++
> ?arch/arm/include/asm/arch-mx35/imx-regs.h | ? ?6 ++--
> ?arch/arm/include/asm/arch-mx5/imx-regs.h ?| ? ?6 ++--
> ?drivers/serial/serial_mxc.c ? ? ? ? ? ? ? | ? 37 +++-------------------------
> ?include/configs/efikamx.h ? ? ? ? ? ? ? ? | ? ?2 +-
> ?include/configs/flea3.h ? ? ? ? ? ? ? ? ? | ? ?2 +-
> ?include/configs/imx27lite-common.h ? ? ? ?| ? ?2 +-
> ?include/configs/imx31_litekit.h ? ? ? ? ? | ? ?4 +-
> ?include/configs/imx31_phycore.h ? ? ? ? ? | ? ?2 +-
> ?include/configs/mx25pdk.h ? ? ? ? ? ? ? ? | ? ?2 +-
> ?include/configs/mx31ads.h ? ? ? ? ? ? ? ? | ? ?4 +-
> ?include/configs/mx31pdk.h ? ? ? ? ? ? ? ? | ? ?2 +-
> ?include/configs/mx35pdk.h ? ? ? ? ? ? ? ? | ? ?2 +-
> ?include/configs/mx51evk.h ? ? ? ? ? ? ? ? | ? ?2 +-
> ?include/configs/mx53ard.h ? ? ? ? ? ? ? ? | ? ?2 +-
> ?include/configs/mx53evk.h ? ? ? ? ? ? ? ? | ? ?2 +-
> ?include/configs/mx53loco.h ? ? ? ? ? ? ? ?| ? ?2 +-
> ?include/configs/mx53smd.h ? ? ? ? ? ? ? ? | ? ?2 +-
> ?include/configs/qong.h ? ? ? ? ? ? ? ? ? ?| ? ?4 +-
> ?include/configs/tt01.h ? ? ? ? ? ? ? ? ? ?| ? ?2 +-
> ?include/configs/tx25.h ? ? ? ? ? ? ? ? ? ?| ? ?2 +-
> ?include/configs/vision2.h ? ? ? ? ? ? ? ? | ? ?2 +-
> ?include/configs/zmx25.h ? ? ? ? ? ? ? ? ? | ? ?2 +-
> ?26 files changed, 47 insertions(+), 74 deletions(-)

Acked-by: Jason Liu <jason.hui@linaro.org>

[..]

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2011-11-25  3:32 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-11-22 15:51 [U-Boot] [PATCH] MX: serial_mxc: cleanup removing nasty #ifdef Stefano Babic
2011-11-22 18:06 ` Marek Vasut
2011-11-23  8:41   ` Stefano Babic
2011-11-23  2:48 ` Jason Hui
2011-11-23  8:37   ` Stefano Babic
2011-11-23 10:44     ` Marek Vasut
2011-11-23 21:27       ` stefano babic
2011-11-24  0:08         ` Marek Vasut
2011-11-24  2:35           ` Jason Hui
2011-11-24  2:44             ` Marek Vasut
2011-11-24 11:35               ` Wolfgang Denk
2011-11-24  6:13             ` Wolfgang Denk
2011-11-24  6:23               ` Jason Hui
2011-11-24 11:41                 ` Wolfgang Denk
2011-11-24 11:47                   ` Jason Hui
2011-11-24 12:11                     ` Wolfgang Denk
2011-11-25  2:11                       ` Jason Hui
2011-11-25  3:32 ` Jason Hui

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.