- 论坛徽章:
- 0
|
#define DM9000_BASE_ADDR MX31_CS0_BASE_ADDR
#define DM9000_IRQ IOMUX_TO_IRQ(MX31_PIN_GPIO1_0)
static struct resource dm9000_resources[] = {
{
.start = DM9000_BASE_ADDR,
.end = DM9000_BASE_ADDR + 0x01,
.flags = IORESOURCE_MEM,
},
{
.start = DM9000_BASE_ADDR + 0x02,
.end = DM9000_BASE_ADDR + 0x03,
.flags = IORESOURCE_MEM,
},
{
.start = DM9000_IRQ,
.end = DM9000_IRQ,
.flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE,
},
};
static struct dm9000_plat_data dm9000_platdata = {
.flags = DM9000_PLATF_16BITONLY,
};
static struct platform_device dm9000_device = {
.name = "dm9000",
.id = 0,
.dev = {
.platform_data = &dm9000_platdata,
},
.num_resources = ARRAY_SIZE(dm9000_resources),
.resource = dm9000_resources,
};
static void mxc_init_enet(void)
{
int ret=0;
ret = gpio_request(IOMUX_TO_GPIO(MX31_PIN_GPIO1_0), "dm9000-irq");
if (ret)
printk("failed to get dm9000-irq pin: %d\n", ret);
else {
printk(KERN_INFO "Get the GPIO1_0 irq**************************************\n");
gpio_direction_input(IOMUX_TO_GPIO(MX31_PIN_GPIO1_0));
set_irq_type(IOMUX_TO_IRQ(MX31_PIN_GPIO1_0), IRQF_TRIGGER_HIGH);
platform_device_register(&dm9000_device);
}
}
#define DM9000_BASE_ADDR2 MX31_CS1_BASE_ADDR
#define DM9000_IRQ2 IOMUX_TO_IRQ(MX31_PIN_GPIO1_5)
static struct resource dm9000_resources2[] = {
{
.start = DM9000_BASE_ADDR2,
.end = DM9000_BASE_ADDR2 + 0x01,
.flags = IORESOURCE_MEM,
},
{
.start = DM9000_BASE_ADDR2 + 0x02,
.end = DM9000_BASE_ADDR2 + 0x03,
.flags = IORESOURCE_MEM,
},
{
.start = DM9000_IRQ2,
.end = DM9000_IRQ2,
.flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE,
},
};
static struct dm9000_plat_data dm9000_platdata2 = {
.flags = DM9000_PLATF_16BITONLY,
};
static struct platform_device dm9000_device2 = {
.name = "dm9000",
.id = 1,
.dev = {
.platform_data = &dm9000_platdata2,
},
.num_resources = ARRAY_SIZE(dm9000_resources2),
.resource = dm9000_resources2,
};
static void mxc_init_enet2(void)
{
int ret=0;
ret = gpio_request(IOMUX_TO_GPIO(MX31_PIN_GPIO1_5), "dm90002-irq");
if (ret)
printk("failed to get dm90002-irq pin: %d\n", ret);
else {
printk(KERN_INFO "Get the GPIO1_5 irq**************************************\n");
gpio_direction_input(IOMUX_TO_GPIO(MX31_PIN_GPIO1_5));
set_irq_type(IOMUX_TO_IRQ(MX31_PIN_GPIO1_5), IRQF_TRIGGER_HIGH);
platform_device_register(&dm9000_device2);
}
} |
|