mach-shmobile: KZM9D board Ethernet support V3
Tie in the on-board Ethernet controller on KZM9D and make use of the GPIO controller for external IRQ pin support. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
This commit is contained in:
parent
088efd9273
commit
0c73f7bc12
1 changed files with 43 additions and 1 deletions
|
@ -20,18 +20,60 @@
|
|||
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/smsc911x.h>
|
||||
#include <mach/common.h>
|
||||
#include <mach/emev2.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/mach/arch.h>
|
||||
#include <asm/hardware/gic.h>
|
||||
|
||||
/* Ether */
|
||||
static struct resource smsc911x_resources[] = {
|
||||
[0] = {
|
||||
.start = 0x20000000,
|
||||
.end = 0x2000ffff,
|
||||
.flags = IORESOURCE_MEM,
|
||||
},
|
||||
[1] = {
|
||||
.start = EMEV2_GPIO_IRQ(1),
|
||||
.flags = IORESOURCE_IRQ | IRQF_TRIGGER_HIGH,
|
||||
},
|
||||
};
|
||||
|
||||
static struct smsc911x_platform_config smsc911x_platdata = {
|
||||
.flags = SMSC911X_USE_32BIT,
|
||||
.irq_type = SMSC911X_IRQ_TYPE_PUSH_PULL,
|
||||
.irq_polarity = SMSC911X_IRQ_POLARITY_ACTIVE_HIGH,
|
||||
};
|
||||
|
||||
static struct platform_device smsc91x_device = {
|
||||
.name = "smsc911x",
|
||||
.id = 0,
|
||||
.dev = {
|
||||
.platform_data = &smsc911x_platdata,
|
||||
},
|
||||
.num_resources = ARRAY_SIZE(smsc911x_resources),
|
||||
.resource = smsc911x_resources,
|
||||
};
|
||||
|
||||
static struct platform_device *kzm9d_devices[] __initdata = {
|
||||
&smsc91x_device,
|
||||
};
|
||||
|
||||
void __init kzm9d_add_standard_devices(void)
|
||||
{
|
||||
emev2_add_standard_devices();
|
||||
|
||||
platform_add_devices(kzm9d_devices, ARRAY_SIZE(kzm9d_devices));
|
||||
}
|
||||
|
||||
MACHINE_START(KZM9D, "kzm9d")
|
||||
.map_io = emev2_map_io,
|
||||
.init_early = emev2_add_early_devices,
|
||||
.nr_irqs = NR_IRQS_LEGACY,
|
||||
.init_irq = emev2_init_irq,
|
||||
.handle_irq = gic_handle_irq,
|
||||
.init_machine = emev2_add_standard_devices,
|
||||
.init_machine = kzm9d_add_standard_devices,
|
||||
.timer = &shmobile_timer,
|
||||
MACHINE_END
|
||||
|
|
Loading…
Reference in a new issue