[U-Boot] [PATCH] MX: serial_mxc: cleanup removing nasty #ifdef
Marek Vasut
marek.vasut at gmail.com
Tue Nov 22 19:06:36 CET 2011
> 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 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(-)
>
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
More information about the U-Boot
mailing list