diff options
author | Ben Dooks <ben-linux@fluff.org> | 2007-07-11 05:14:53 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2007-07-12 05:56:23 -0400 |
commit | eac1d8dab03bde6d20679c961a6409c1b786c201 (patch) | |
tree | d7c770abf58aae7855adbc5819eafa6aa39469e9 /arch/arm/mach-s3c2440 | |
parent | 7dcca30a32aadb0520417521b0c44f42d09fe05c (diff) |
[ARM] 4466/1: ANUBIS: Anubis AX88796 support
This patch adds the resources necessary for the
AX88796 driver to attach to the AX88796 network
controller fitted on the Simtec Anubis board.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-s3c2440')
-rw-r--r-- | arch/arm/mach-s3c2440/mach-anubis.c | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/arch/arm/mach-s3c2440/mach-anubis.c b/arch/arm/mach-s3c2440/mach-anubis.c index bff7ddd06a52..64456f9a0f6d 100644 --- a/arch/arm/mach-s3c2440/mach-anubis.c +++ b/arch/arm/mach-s3c2440/mach-anubis.c | |||
@@ -42,6 +42,8 @@ | |||
42 | #include <linux/mtd/nand_ecc.h> | 42 | #include <linux/mtd/nand_ecc.h> |
43 | #include <linux/mtd/partitions.h> | 43 | #include <linux/mtd/partitions.h> |
44 | 44 | ||
45 | #include <net/ax88796.h> | ||
46 | |||
45 | #include <asm/plat-s3c24xx/clock.h> | 47 | #include <asm/plat-s3c24xx/clock.h> |
46 | #include <asm/plat-s3c24xx/devs.h> | 48 | #include <asm/plat-s3c24xx/devs.h> |
47 | #include <asm/plat-s3c24xx/cpu.h> | 49 | #include <asm/plat-s3c24xx/cpu.h> |
@@ -260,6 +262,38 @@ static struct platform_device anubis_device_ide1 = { | |||
260 | .resource = anubis_ide1_resource, | 262 | .resource = anubis_ide1_resource, |
261 | }; | 263 | }; |
262 | 264 | ||
265 | /* Asix AX88796 10/100 ethernet controller */ | ||
266 | |||
267 | static struct ax_plat_data anubis_asix_platdata = { | ||
268 | .flags = AXFLG_MAC_FROMDEV, | ||
269 | .wordlength = 2, | ||
270 | .dcr_val = 0x48, | ||
271 | .rcr_val = 0x40, | ||
272 | }; | ||
273 | |||
274 | static struct resource anubis_asix_resource[] = { | ||
275 | [0] = { | ||
276 | .start = S3C2410_CS5, | ||
277 | .end = S3C2410_CS5 + (0x20 * 0x20) -1, | ||
278 | .flags = IORESOURCE_MEM | ||
279 | }, | ||
280 | [1] = { | ||
281 | .start = IRQ_ASIX, | ||
282 | .end = IRQ_ASIX, | ||
283 | .flags = IORESOURCE_IRQ | ||
284 | } | ||
285 | }; | ||
286 | |||
287 | static struct platform_device anubis_device_asix = { | ||
288 | .name = "ax88796", | ||
289 | .id = 0, | ||
290 | .num_resources = ARRAY_SIZE(anubis_asix_resource), | ||
291 | .resource = anubis_asix_resource, | ||
292 | .dev = { | ||
293 | .platform_data = &anubis_asix_platdata, | ||
294 | } | ||
295 | }; | ||
296 | |||
263 | /* Standard Anubis devices */ | 297 | /* Standard Anubis devices */ |
264 | 298 | ||
265 | static struct platform_device *anubis_devices[] __initdata = { | 299 | static struct platform_device *anubis_devices[] __initdata = { |
@@ -271,6 +305,7 @@ static struct platform_device *anubis_devices[] __initdata = { | |||
271 | &s3c_device_nand, | 305 | &s3c_device_nand, |
272 | &anubis_device_ide0, | 306 | &anubis_device_ide0, |
273 | &anubis_device_ide1, | 307 | &anubis_device_ide1, |
308 | &anubis_device_asix, | ||
274 | }; | 309 | }; |
275 | 310 | ||
276 | static struct clk *anubis_clocks[] = { | 311 | static struct clk *anubis_clocks[] = { |