diff options
| author | Jaccon Bastiaansen <jaccon.bastiaansen@gmail.com> | 2012-01-26 21:46:57 +0100 | 
|---|---|---|
| committer | Sascha Hauer <s.hauer@pengutronix.de> | 2012-02-01 16:49:50 +0100 | 
| commit | c8c9e8379723e769c84e2b1914c56cfbb2c0988d (patch) | |
| tree | 588d62949f88aa97ed988fb6c59602d7a0901b2b | |
| parent | e9460a9e811dddd9ea1ae9838d9b53bfaf78cd2c (diff) | |
| download | olio-linux-3.10-c8c9e8379723e769c84e2b1914c56cfbb2c0988d.tar.xz olio-linux-3.10-c8c9e8379723e769c84e2b1914c56cfbb2c0988d.zip  | |
CS89x0 : add CS89x0 platform device to the iMX21ADS board
Add CS89x0 networking support to the iMX21ADS board by using the
platform driver support in the CS89x0 driver.
Signed-off-by: Jaccon Bastiaansen <jaccon.bastiaansen@gmail.com>
Acked-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| -rw-r--r-- | arch/arm/configs/imx_v4_v5_defconfig | 2 | ||||
| -rw-r--r-- | arch/arm/mach-imx/mach-mx21ads.c | 16 | 
2 files changed, 17 insertions, 1 deletions
diff --git a/arch/arm/configs/imx_v4_v5_defconfig b/arch/arm/configs/imx_v4_v5_defconfig index a22e9307906..b5f08e9813b 100644 --- a/arch/arm/configs/imx_v4_v5_defconfig +++ b/arch/arm/configs/imx_v4_v5_defconfig @@ -78,6 +78,8 @@ CONFIG_MISC_DEVICES=y  CONFIG_EEPROM_AT24=y  CONFIG_EEPROM_AT25=y  CONFIG_NETDEVICES=y +CONFIG_CS89x0=y +CONFIG_CS89x0_PLATFORM=y  CONFIG_DM9000=y  CONFIG_SMC91X=y  CONFIG_SMC911X=y diff --git a/arch/arm/mach-imx/mach-mx21ads.c b/arch/arm/mach-imx/mach-mx21ads.c index 8d9f95514b1..e432d4acee1 100644 --- a/arch/arm/mach-imx/mach-mx21ads.c +++ b/arch/arm/mach-imx/mach-mx21ads.c @@ -37,8 +37,8 @@  #define MX21ADS_REG_ADDR(offset)    (void __force __iomem *) \  		(MX21ADS_MMIO_BASE_ADDR + (offset)) +#define MX21ADS_CS8900A_MMIO_SIZE   0x200000  #define MX21ADS_CS8900A_IRQ         IRQ_GPIOE(11) -#define MX21ADS_CS8900A_IOBASE_REG  MX21ADS_REG_ADDR(0x000000)  #define MX21ADS_ST16C255_IOBASE_REG MX21ADS_REG_ADDR(0x200000)  #define MX21ADS_VERSION_REG         MX21ADS_REG_ADDR(0x400000)  #define MX21ADS_IO_REG              MX21ADS_REG_ADDR(0x800000) @@ -159,6 +159,18 @@ static struct platform_device mx21ads_nor_mtd_device = {  	.resource = &mx21ads_flash_resource,  }; +static const struct resource mx21ads_cs8900_resources[] __initconst = { +	DEFINE_RES_MEM(MX21_CS1_BASE_ADDR, MX21ADS_CS8900A_MMIO_SIZE), +	DEFINE_RES_IRQ(MX21ADS_CS8900A_IRQ), +}; + +static const struct platform_device_info mx21ads_cs8900_devinfo __initconst = { +	.name = "cs89x0", +	.id = 0, +	.res = mx21ads_cs8900_resources, +	.num_res = ARRAY_SIZE(mx21ads_cs8900_resources), +}; +  static const struct imxuart_platform_data uart_pdata_rts __initconst = {  	.flags = IMXUART_HAVE_RTSCTS,  }; @@ -292,6 +304,8 @@ static void __init mx21ads_board_init(void)  	imx21_add_mxc_nand(&mx21ads_nand_board_info);  	platform_add_devices(platform_devices, ARRAY_SIZE(platform_devices)); +	platform_device_register_full( +			(struct platform_device_info *)&mx21ads_cs8900_devinfo);  }  static void __init mx21ads_timer_init(void)  |