diff options
author | Gregory Bean <gbean@codeaurora.org> | 2010-09-29 16:46:45 -0400 |
---|---|---|
committer | Daniel Walker <dwalker@codeaurora.org> | 2010-10-06 12:01:20 -0400 |
commit | 5d73c53b786665f991f70be01a51a23233aeb44f (patch) | |
tree | af6bf910e20d9dac1e94d6f584c388c9d7a8699d /arch/arm/mach-msm/board-qsd8x50.c | |
parent | 26cc66607189ac544edad04927f506599d990f0f (diff) |
msm: qsd8x50: enable ethernet.
Configure the smc91x ethernet chip on the qsd8x50 SURF.
Signed-off-by: Gregory Bean <gbean@codeaurora.org>
Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
Diffstat (limited to 'arch/arm/mach-msm/board-qsd8x50.c')
-rw-r--r-- | arch/arm/mach-msm/board-qsd8x50.c | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/arch/arm/mach-msm/board-qsd8x50.c b/arch/arm/mach-msm/board-qsd8x50.c index fb0fe6771e56..9e4cf2441122 100644 --- a/arch/arm/mach-msm/board-qsd8x50.c +++ b/arch/arm/mach-msm/board-qsd8x50.c | |||
@@ -35,6 +35,45 @@ | |||
35 | 35 | ||
36 | extern struct sys_timer msm_timer; | 36 | extern struct sys_timer msm_timer; |
37 | 37 | ||
38 | static const resource_size_t qsd8x50_surf_smc91x_base __initdata = 0x70000300; | ||
39 | static const unsigned qsd8x50_surf_smc91x_gpio __initdata = 156; | ||
40 | |||
41 | /* Leave smc91x resources empty here, as we'll fill them in | ||
42 | * at run-time: they vary from board to board, and the true | ||
43 | * configuration won't be known until boot. | ||
44 | */ | ||
45 | static struct resource smc91x_resources[] __initdata = { | ||
46 | [0] = { | ||
47 | .flags = IORESOURCE_MEM, | ||
48 | }, | ||
49 | [1] = { | ||
50 | .flags = IORESOURCE_IRQ, | ||
51 | }, | ||
52 | }; | ||
53 | |||
54 | static struct platform_device smc91x_device __initdata = { | ||
55 | .name = "smc91x", | ||
56 | .id = 0, | ||
57 | .num_resources = ARRAY_SIZE(smc91x_resources), | ||
58 | .resource = smc91x_resources, | ||
59 | }; | ||
60 | |||
61 | static int __init msm_init_smc91x(void) | ||
62 | { | ||
63 | if (machine_is_qsd8x50_surf()) { | ||
64 | smc91x_resources[0].start = qsd8x50_surf_smc91x_base; | ||
65 | smc91x_resources[0].end = qsd8x50_surf_smc91x_base + 0xff; | ||
66 | smc91x_resources[1].start = | ||
67 | gpio_to_irq(qsd8x50_surf_smc91x_gpio); | ||
68 | smc91x_resources[1].end = | ||
69 | gpio_to_irq(qsd8x50_surf_smc91x_gpio); | ||
70 | platform_device_register(&smc91x_device); | ||
71 | } | ||
72 | |||
73 | return 0; | ||
74 | } | ||
75 | module_init(msm_init_smc91x); | ||
76 | |||
38 | static struct platform_device *devices[] __initdata = { | 77 | static struct platform_device *devices[] __initdata = { |
39 | &msm_device_uart3, | 78 | &msm_device_uart3, |
40 | }; | 79 | }; |