diff options
Diffstat (limited to 'arch/arm/mach-davinci/board-dm644x-evm.c')
-rw-r--r-- | arch/arm/mach-davinci/board-dm644x-evm.c | 60 |
1 files changed, 9 insertions, 51 deletions
diff --git a/arch/arm/mach-davinci/board-dm644x-evm.c b/arch/arm/mach-davinci/board-dm644x-evm.c index 976e11b7fa4a..34c8b418cd72 100644 --- a/arch/arm/mach-davinci/board-dm644x-evm.c +++ b/arch/arm/mach-davinci/board-dm644x-evm.c | |||
@@ -41,14 +41,6 @@ | |||
41 | #define DM644X_EVM_PHY_MASK (0x2) | 41 | #define DM644X_EVM_PHY_MASK (0x2) |
42 | #define DM644X_EVM_MDIO_FREQUENCY (2200000) /* PHY bus frequency */ | 42 | #define DM644X_EVM_MDIO_FREQUENCY (2200000) /* PHY bus frequency */ |
43 | 43 | ||
44 | #define DAVINCI_CFC_ATA_BASE 0x01C66000 | ||
45 | |||
46 | #define DAVINCI_ASYNC_EMIF_CONTROL_BASE 0x01e00000 | ||
47 | #define DAVINCI_ASYNC_EMIF_DATA_CE0_BASE 0x02000000 | ||
48 | #define DAVINCI_ASYNC_EMIF_DATA_CE1_BASE 0x04000000 | ||
49 | #define DAVINCI_ASYNC_EMIF_DATA_CE2_BASE 0x06000000 | ||
50 | #define DAVINCI_ASYNC_EMIF_DATA_CE3_BASE 0x08000000 | ||
51 | |||
52 | #define LXT971_PHY_ID (0x001378e2) | 44 | #define LXT971_PHY_ID (0x001378e2) |
53 | #define LXT971_PHY_MASK (0xfffffff0) | 45 | #define LXT971_PHY_MASK (0xfffffff0) |
54 | 46 | ||
@@ -92,8 +84,8 @@ static struct physmap_flash_data davinci_evm_norflash_data = { | |||
92 | /* NOTE: CFI probe will correctly detect flash part as 32M, but EMIF | 84 | /* NOTE: CFI probe will correctly detect flash part as 32M, but EMIF |
93 | * limits addresses to 16M, so using addresses past 16M will wrap */ | 85 | * limits addresses to 16M, so using addresses past 16M will wrap */ |
94 | static struct resource davinci_evm_norflash_resource = { | 86 | static struct resource davinci_evm_norflash_resource = { |
95 | .start = DAVINCI_ASYNC_EMIF_DATA_CE0_BASE, | 87 | .start = DM644X_ASYNC_EMIF_DATA_CE0_BASE, |
96 | .end = DAVINCI_ASYNC_EMIF_DATA_CE0_BASE + SZ_16M - 1, | 88 | .end = DM644X_ASYNC_EMIF_DATA_CE0_BASE + SZ_16M - 1, |
97 | .flags = IORESOURCE_MEM, | 89 | .flags = IORESOURCE_MEM, |
98 | }; | 90 | }; |
99 | 91 | ||
@@ -111,7 +103,7 @@ static struct platform_device davinci_evm_norflash_device = { | |||
111 | * It may used instead of the (default) NOR chip to boot, using TI's | 103 | * It may used instead of the (default) NOR chip to boot, using TI's |
112 | * tools to install the secondary boot loader (UBL) and U-Boot. | 104 | * tools to install the secondary boot loader (UBL) and U-Boot. |
113 | */ | 105 | */ |
114 | struct mtd_partition davinci_evm_nandflash_partition[] = { | 106 | static struct mtd_partition davinci_evm_nandflash_partition[] = { |
115 | /* Bootloader layout depends on whose u-boot is installed, but we | 107 | /* Bootloader layout depends on whose u-boot is installed, but we |
116 | * can hide all the details. | 108 | * can hide all the details. |
117 | * - block 0 for u-boot environment ... in mainline u-boot | 109 | * - block 0 for u-boot environment ... in mainline u-boot |
@@ -154,12 +146,12 @@ static struct davinci_nand_pdata davinci_evm_nandflash_data = { | |||
154 | 146 | ||
155 | static struct resource davinci_evm_nandflash_resource[] = { | 147 | static struct resource davinci_evm_nandflash_resource[] = { |
156 | { | 148 | { |
157 | .start = DAVINCI_ASYNC_EMIF_DATA_CE0_BASE, | 149 | .start = DM644X_ASYNC_EMIF_DATA_CE0_BASE, |
158 | .end = DAVINCI_ASYNC_EMIF_DATA_CE0_BASE + SZ_16M - 1, | 150 | .end = DM644X_ASYNC_EMIF_DATA_CE0_BASE + SZ_16M - 1, |
159 | .flags = IORESOURCE_MEM, | 151 | .flags = IORESOURCE_MEM, |
160 | }, { | 152 | }, { |
161 | .start = DAVINCI_ASYNC_EMIF_CONTROL_BASE, | 153 | .start = DM644X_ASYNC_EMIF_CONTROL_BASE, |
162 | .end = DAVINCI_ASYNC_EMIF_CONTROL_BASE + SZ_4K - 1, | 154 | .end = DM644X_ASYNC_EMIF_CONTROL_BASE + SZ_4K - 1, |
163 | .flags = IORESOURCE_MEM, | 155 | .flags = IORESOURCE_MEM, |
164 | }, | 156 | }, |
165 | }; | 157 | }; |
@@ -258,32 +250,6 @@ static struct platform_device rtc_dev = { | |||
258 | .id = -1, | 250 | .id = -1, |
259 | }; | 251 | }; |
260 | 252 | ||
261 | static struct resource ide_resources[] = { | ||
262 | { | ||
263 | .start = DAVINCI_CFC_ATA_BASE, | ||
264 | .end = DAVINCI_CFC_ATA_BASE + 0x7ff, | ||
265 | .flags = IORESOURCE_MEM, | ||
266 | }, | ||
267 | { | ||
268 | .start = IRQ_IDE, | ||
269 | .end = IRQ_IDE, | ||
270 | .flags = IORESOURCE_IRQ, | ||
271 | }, | ||
272 | }; | ||
273 | |||
274 | static u64 ide_dma_mask = DMA_BIT_MASK(32); | ||
275 | |||
276 | static struct platform_device ide_dev = { | ||
277 | .name = "palm_bk3710", | ||
278 | .id = -1, | ||
279 | .resource = ide_resources, | ||
280 | .num_resources = ARRAY_SIZE(ide_resources), | ||
281 | .dev = { | ||
282 | .dma_mask = &ide_dma_mask, | ||
283 | .coherent_dma_mask = DMA_BIT_MASK(32), | ||
284 | }, | ||
285 | }; | ||
286 | |||
287 | static struct snd_platform_data dm644x_evm_snd_data; | 253 | static struct snd_platform_data dm644x_evm_snd_data; |
288 | 254 | ||
289 | /*----------------------------------------------------------------------*/ | 255 | /*----------------------------------------------------------------------*/ |
@@ -704,10 +670,7 @@ static __init void davinci_evm_init(void) | |||
704 | pr_warning("WARNING: both IDE and Flash are " | 670 | pr_warning("WARNING: both IDE and Flash are " |
705 | "enabled, but they share AEMIF pins.\n" | 671 | "enabled, but they share AEMIF pins.\n" |
706 | "\tDisable IDE for NAND/NOR support.\n"); | 672 | "\tDisable IDE for NAND/NOR support.\n"); |
707 | davinci_cfg_reg(DM644X_HPIEN_DISABLE); | 673 | davinci_init_ide(); |
708 | davinci_cfg_reg(DM644X_ATAEN); | ||
709 | davinci_cfg_reg(DM644X_HDIREN); | ||
710 | platform_device_register(&ide_dev); | ||
711 | } else if (HAS_NAND || HAS_NOR) { | 674 | } else if (HAS_NAND || HAS_NOR) { |
712 | davinci_cfg_reg(DM644X_HPIEN_DISABLE); | 675 | davinci_cfg_reg(DM644X_HPIEN_DISABLE); |
713 | davinci_cfg_reg(DM644X_ATAEN_DISABLE); | 676 | davinci_cfg_reg(DM644X_ATAEN_DISABLE); |
@@ -741,18 +704,13 @@ static __init void davinci_evm_init(void) | |||
741 | 704 | ||
742 | } | 705 | } |
743 | 706 | ||
744 | static __init void davinci_evm_irq_init(void) | ||
745 | { | ||
746 | davinci_irq_init(); | ||
747 | } | ||
748 | |||
749 | MACHINE_START(DAVINCI_EVM, "DaVinci DM644x EVM") | 707 | MACHINE_START(DAVINCI_EVM, "DaVinci DM644x EVM") |
750 | /* Maintainer: MontaVista Software <source@mvista.com> */ | 708 | /* Maintainer: MontaVista Software <source@mvista.com> */ |
751 | .phys_io = IO_PHYS, | 709 | .phys_io = IO_PHYS, |
752 | .io_pg_offst = (__IO_ADDRESS(IO_PHYS) >> 18) & 0xfffc, | 710 | .io_pg_offst = (__IO_ADDRESS(IO_PHYS) >> 18) & 0xfffc, |
753 | .boot_params = (DAVINCI_DDR_BASE + 0x100), | 711 | .boot_params = (DAVINCI_DDR_BASE + 0x100), |
754 | .map_io = davinci_evm_map_io, | 712 | .map_io = davinci_evm_map_io, |
755 | .init_irq = davinci_evm_irq_init, | 713 | .init_irq = davinci_irq_init, |
756 | .timer = &davinci_timer, | 714 | .timer = &davinci_timer, |
757 | .init_machine = davinci_evm_init, | 715 | .init_machine = davinci_evm_init, |
758 | MACHINE_END | 716 | MACHINE_END |