[U-Boot] [PATCH] MX: serial_mxc: cleanup removing nasty #ifdef

Jason Hui jason.hui at linaro.org
Wed Nov 23 03:48:01 CET 2011


On Tue, Nov 22, 2011 at 11:51 PM, Stefano Babic <sbabic at 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 at denx.de>
> CC: Marek Vasut <marek.vasut at gmail.com>
> CC: Wolfgang Denk <wd at denx.de>
> CC: Fabio Estevam <fabio.estevam at freescale.com>
> CC: Helmut Raiger <helmut.raiger at hale.at>
> CC: John Rigby <jcrigby at gmail.com>
> CC: Matthias Weisser <weisserm at arcor.de>
> CC: Jason Liu <jason.hui at 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




More information about the U-Boot mailing list