[PATCH] Fixing ethernet driver compilation error for i.MX32 ADS board
Sascha Hauer
s.hauer at pengutronix.de
Fri Sep 24 02:23:57 EDT 2010
On Thu, Sep 23, 2010 at 03:38:15PM +0100, Ian Lartey wrote:
> Revert "ARM: mx3/mx31ads: fold board header in its only user"
>
> This reverts commit ccfa7c269843001077df02d98918c6c9bde91395.
> As the board header is also used cs89x0 ethernet driver by the i.MX32 ADS.
Instead of reverting this whole patch, can you please re-add the defines
you actually need or even better move them to the cs89x0 driver?
Sascha
>
> Signed-off-by: Ian Lartey <ian at opensource.wolfsonmicro.com>
> ---
> arch/arm/mach-mx3/mach-mx31ads.c | 43 ++-------
> arch/arm/plat-mxc/include/mach/board-mx31ads.h | 117 ++++++++++++++++++++++++
> 2 files changed, 124 insertions(+), 36 deletions(-)
> create mode 100644 arch/arm/plat-mxc/include/mach/board-mx31ads.h
>
> diff --git a/arch/arm/mach-mx3/mach-mx31ads.c b/arch/arm/mach-mx3/mach-mx31ads.c
> index 94b3e7c..7d13e99 100644
> --- a/arch/arm/mach-mx3/mach-mx31ads.c
> +++ b/arch/arm/mach-mx3/mach-mx31ads.c
> @@ -29,6 +29,7 @@
> #include <asm/memory.h>
> #include <asm/mach/map.h>
> #include <mach/common.h>
> +#include <mach/board-mx31ads.h>
> #include <mach/iomux-mx3.h>
>
> #ifdef CONFIG_MACH_MX31ADS_WM1133_EV1
> @@ -40,42 +41,12 @@
> #include "devices-imx31.h"
> #include "devices.h"
>
> -/* Base address of PBC controller */
> -#define PBC_BASE_ADDRESS MX31_CS4_BASE_ADDR_VIRT
> -/* Offsets for the PBC Controller register */
> -
> -/* PBC Board interrupt status register */
> -#define PBC_INTSTATUS 0x000016
> -
> -/* PBC Board interrupt current status register */
> -#define PBC_INTCURR_STATUS 0x000018
> -
> -/* PBC Interrupt mask register set address */
> -#define PBC_INTMASK_SET 0x00001A
> -
> -/* PBC Interrupt mask register clear address */
> -#define PBC_INTMASK_CLEAR 0x00001C
> -
> -/* External UART A */
> -#define PBC_SC16C652_UARTA 0x010000
> -
> -/* External UART B */
> -#define PBC_SC16C652_UARTB 0x010010
> -
> -#define PBC_INTSTATUS_REG (PBC_INTSTATUS + PBC_BASE_ADDRESS)
> -#define PBC_INTMASK_SET_REG (PBC_INTMASK_SET + PBC_BASE_ADDRESS)
> -#define PBC_INTMASK_CLEAR_REG (PBC_INTMASK_CLEAR + PBC_BASE_ADDRESS)
> -#define EXPIO_PARENT_INT IOMUX_TO_IRQ(MX31_PIN_GPIO1_4)
> -
> -#define MXC_EXP_IO_BASE (MXC_BOARD_IRQ_START)
> -#define MXC_IRQ_TO_EXPIO(irq) ((irq) - MXC_EXP_IO_BASE)
> -
> -#define EXPIO_INT_XUART_INTA (MXC_EXP_IO_BASE + 10)
> -#define EXPIO_INT_XUART_INTB (MXC_EXP_IO_BASE + 11)
> -
> -#define MXC_MAX_EXP_IO_LINES 16
> -/*
> - * This file contains the board-specific initialization routines.
> +/*!
> + * @file mx31ads.c
> + *
> + * @brief This file contains the board-specific initialization routines.
> + *
> + * @ingroup System
> */
>
> #if defined(CONFIG_SERIAL_8250) || defined(CONFIG_SERIAL_8250_MODULE)
> diff --git a/arch/arm/plat-mxc/include/mach/board-mx31ads.h b/arch/arm/plat-mxc/include/mach/board-mx31ads.h
> new file mode 100644
> index 0000000..095a199
> --- /dev/null
> +++ b/arch/arm/plat-mxc/include/mach/board-mx31ads.h
> @@ -0,0 +1,117 @@
> +/*
> + * Copyright 2005-2007 Freescale Semiconductor, Inc. All Rights Reserved.
> + */
> +
> +/*
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License version 2 as
> + * published by the Free Software Foundation.
> + */
> +
> +#ifndef __ASM_ARCH_MXC_BOARD_MX31ADS_H__
> +#define __ASM_ARCH_MXC_BOARD_MX31ADS_H__
> +
> +#include <mach/hardware.h>
> +
> +/* Base address of PBC controller */
> +#define PBC_BASE_ADDRESS MX31_CS4_BASE_ADDR_VIRT
> +/* Offsets for the PBC Controller register */
> +
> +/* PBC Board status register offset */
> +#define PBC_BSTAT 0x000002
> +
> +/* PBC Board control register 1 set address */
> +#define PBC_BCTRL1_SET 0x000004
> +
> +/* PBC Board control register 1 clear address */
> +#define PBC_BCTRL1_CLEAR 0x000006
> +
> +/* PBC Board control register 2 set address */
> +#define PBC_BCTRL2_SET 0x000008
> +
> +/* PBC Board control register 2 clear address */
> +#define PBC_BCTRL2_CLEAR 0x00000A
> +
> +/* PBC Board control register 3 set address */
> +#define PBC_BCTRL3_SET 0x00000C
> +
> +/* PBC Board control register 3 clear address */
> +#define PBC_BCTRL3_CLEAR 0x00000E
> +
> +/* PBC Board control register 4 set address */
> +#define PBC_BCTRL4_SET 0x000010
> +
> +/* PBC Board control register 4 clear address */
> +#define PBC_BCTRL4_CLEAR 0x000012
> +
> +/* PBC Board status register 1 */
> +#define PBC_BSTAT1 0x000014
> +
> +/* PBC Board interrupt status register */
> +#define PBC_INTSTATUS 0x000016
> +
> +/* PBC Board interrupt current status register */
> +#define PBC_INTCURR_STATUS 0x000018
> +
> +/* PBC Interrupt mask register set address */
> +#define PBC_INTMASK_SET 0x00001A
> +
> +/* PBC Interrupt mask register clear address */
> +#define PBC_INTMASK_CLEAR 0x00001C
> +
> +/* External UART A */
> +#define PBC_SC16C652_UARTA 0x010000
> +
> +/* External UART B */
> +#define PBC_SC16C652_UARTB 0x010010
> +
> +/* Ethernet Controller IO base address */
> +#define PBC_CS8900A_IOBASE 0x020000
> +
> +/* Ethernet Controller Memory base address */
> +#define PBC_CS8900A_MEMBASE 0x021000
> +
> +/* Ethernet Controller DMA base address */
> +#define PBC_CS8900A_DMABASE 0x022000
> +
> +/* External chip select 0 */
> +#define PBC_XCS0 0x040000
> +
> +/* LCD Display enable */
> +#define PBC_LCD_EN_B 0x060000
> +
> +/* Code test debug enable */
> +#define PBC_CODE_B 0x070000
> +
> +/* PSRAM memory select */
> +#define PBC_PSRAM_B 0x5000000
> +
> +#define PBC_INTSTATUS_REG (PBC_INTSTATUS + PBC_BASE_ADDRESS)
> +#define PBC_INTCURR_STATUS_REG (PBC_INTCURR_STATUS + PBC_BASE_ADDRESS)
> +#define PBC_INTMASK_SET_REG (PBC_INTMASK_SET + PBC_BASE_ADDRESS)
> +#define PBC_INTMASK_CLEAR_REG (PBC_INTMASK_CLEAR + PBC_BASE_ADDRESS)
> +#define EXPIO_PARENT_INT IOMUX_TO_IRQ(MX31_PIN_GPIO1_4)
> +
> +#define MXC_EXP_IO_BASE (MXC_BOARD_IRQ_START)
> +#define MXC_IRQ_TO_EXPIO(irq) ((irq) - MXC_EXP_IO_BASE)
> +
> +#define EXPIO_INT_LOW_BAT (MXC_EXP_IO_BASE + 0)
> +#define EXPIO_INT_PB_IRQ (MXC_EXP_IO_BASE + 1)
> +#define EXPIO_INT_OTG_FS_OVR (MXC_EXP_IO_BASE + 2)
> +#define EXPIO_INT_FSH_OVR (MXC_EXP_IO_BASE + 3)
> +#define EXPIO_INT_RES4 (MXC_EXP_IO_BASE + 4)
> +#define EXPIO_INT_RES5 (MXC_EXP_IO_BASE + 5)
> +#define EXPIO_INT_RES6 (MXC_EXP_IO_BASE + 6)
> +#define EXPIO_INT_RES7 (MXC_EXP_IO_BASE + 7)
> +#define EXPIO_INT_ENET_INT (MXC_EXP_IO_BASE + 8)
> +#define EXPIO_INT_OTG_FS_INT (MXC_EXP_IO_BASE + 9)
> +#define EXPIO_INT_XUART_INTA (MXC_EXP_IO_BASE + 10)
> +#define EXPIO_INT_XUART_INTB (MXC_EXP_IO_BASE + 11)
> +#define EXPIO_INT_SYNTH_IRQ (MXC_EXP_IO_BASE + 12)
> +#define EXPIO_INT_CE_INT1 (MXC_EXP_IO_BASE + 13)
> +#define EXPIO_INT_CE_INT2 (MXC_EXP_IO_BASE + 14)
> +#define EXPIO_INT_RES15 (MXC_EXP_IO_BASE + 15)
> +
> +#define MXC_MAX_EXP_IO_LINES 16
> +
> +#endif /* __ASM_ARCH_MXC_BOARD_MX31ADS_H__ */
> --
> 1.7.0.4
>
>
>
>
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the linux-arm-kernel
mailing list