diff options
Diffstat (limited to 'arch/arm/mach-mvf/board-twr_vf600.c')
-rw-r--r-- | arch/arm/mach-mvf/board-twr_vf600.c | 52 |
1 files changed, 31 insertions, 21 deletions
diff --git a/arch/arm/mach-mvf/board-twr_vf600.c b/arch/arm/mach-mvf/board-twr_vf600.c index 27546c930281..f5e6da7da201 100644 --- a/arch/arm/mach-mvf/board-twr_vf600.c +++ b/arch/arm/mach-mvf/board-twr_vf600.c @@ -216,10 +216,10 @@ static struct fec_platform_data fec_data __initdata = { .phy = PHY_INTERFACE_MODE_RMII, }; -static struct resource edma_resources[] = { +static struct resource edma_resources0[] = { [0] = { .start = MVF_DMA0_BASE_ADDR, - .end = MVF_DMA0_BASE_ADDR + 0x2000, + .end = MVF_DMA0_BASE_ADDR + 0x2000-1, .flags = IORESOURCE_MEM, }, [1] = { @@ -231,34 +231,41 @@ static struct resource edma_resources[] = { .start = MXC_INT_DMA0_ERROR, .end = MXC_INT_DMA0_ERROR, .flags = IORESOURCE_IRQ, - } -#if 0 - [3] = { + }, +}; + +static struct platform_device edma_device0 = { + .name = "mvf-edma", + .id = 0, + .num_resources = 3, + .resource = edma_resources0, +}; + +static struct resource edma_resources1[] = { + [0] = { .start = MVF_DMA1_BASE_ADDR, .end = MVF_DMA1_BASE_ADDR + 0x2000, .flags = IORESOURCE_MEM, }, - [4] = { + [1] = { .start = MXC_INT_DMA1, .end = MXC_INT_DMA1, .flags = IORESOURCE_IRQ, - } - [5] = { + }, + [2] = { .start = MXC_INT_DMA1_ERROR, .end = MXC_INT_DMA1_ERROR, .flags = IORESOURCE_IRQ, - } -#endif + }, }; -static struct platform_device edma_device = { +static struct platform_device edma_device1 = { .name = "mvf-edma", - .id = 0, + .id = 1, .num_resources = 3, - .resource = edma_resources, + .resource = edma_resources1, }; - // // Timer resources // @@ -266,7 +273,7 @@ static struct platform_device edma_device = { static struct resource pit_resources[] = { [0] = { .start = MVF_PIT_BASE_ADDR, - .end = MVF_PIT_BASE_ADDR + 0x1000, + .end = MVF_PIT_BASE_ADDR + 0x1000-1, .flags = IORESOURCE_MEM, }, [1] = { @@ -282,12 +289,12 @@ static struct platform_device pit_device = { .num_resources = 2, .resource = pit_resources, }; - +#if 1 // ftm 0 static struct resource ftm0_resources[] = { [0] = { .start = MVF_FTM0_BASE_ADDR, - .end = MVF_FTM0_BASE_ADDR + 0x1000, + .end = MVF_FTM0_BASE_ADDR + 0x1000-1, .flags = IORESOURCE_MEM, }, [1] = { @@ -303,12 +310,13 @@ static struct platform_device ftm0_device = { .num_resources = 2, .resource = ftm0_resources, }; - +#endif +#if 1 // ftm 1 static struct resource ftm1_resources[] = { [0] = { .start = MVF_FTM1_BASE_ADDR, - .end = MVF_FTM1_BASE_ADDR + 0x1000, + .end = MVF_FTM1_BASE_ADDR + 0x1000-1, .flags = IORESOURCE_MEM, }, [1] = { @@ -324,12 +332,13 @@ static struct platform_device ftm1_device = { .num_resources = 2, .resource = ftm1_resources, }; +#endif // pit static struct resource lpt_resources[] = { [0] = { .start = MVF_LPTMR_BASE_ADDR, - .end = MVF_LPTMR_BASE_ADDR + 0x1000, + .end = MVF_LPTMR_BASE_ADDR + 0x1000-1, .flags = IORESOURCE_MEM, }, [1] = { @@ -418,7 +427,8 @@ static void __init twr_vf600_init(void) printk("TWR_VF600: Adding lcdif\n"); mvf_add_lcdif(&lcdif_data); - platform_device_register(&edma_device); + platform_device_register(&edma_device0); + platform_device_register(&edma_device1); platform_device_register(&pit_device); platform_device_register(&ftm0_device); platform_device_register(&ftm1_device); |