|
@@ -777,3 +777,57 @@ static __init void davinci_evm_init(void)
|
|
|
struct davinci_soc_info *soc_info = &davinci_soc_info;
|
|
|
|
|
|
aemif_clk = clk_get(NULL, "aemif");
|
|
|
+ clk_prepare_enable(aemif_clk);
|
|
|
+
|
|
|
+ if (HAS_ATA) {
|
|
|
+ if (HAS_NAND || HAS_NOR)
|
|
|
+ pr_warning("WARNING: both IDE and Flash are "
|
|
|
+ "enabled, but they share AEMIF pins.\n"
|
|
|
+ "\tDisable IDE for NAND/NOR support.\n");
|
|
|
+ davinci_init_ide();
|
|
|
+ } else if (HAS_NAND || HAS_NOR) {
|
|
|
+ davinci_cfg_reg(DM644X_HPIEN_DISABLE);
|
|
|
+ davinci_cfg_reg(DM644X_ATAEN_DISABLE);
|
|
|
+
|
|
|
+ /* only one device will be jumpered and detected */
|
|
|
+ if (HAS_NAND) {
|
|
|
+ platform_device_register(&davinci_evm_nandflash_device);
|
|
|
+ evm_leds[7].default_trigger = "nand-disk";
|
|
|
+ if (HAS_NOR)
|
|
|
+ pr_warning("WARNING: both NAND and NOR flash "
|
|
|
+ "are enabled; disable one of them.\n");
|
|
|
+ } else if (HAS_NOR)
|
|
|
+ platform_device_register(&davinci_evm_norflash_device);
|
|
|
+ }
|
|
|
+
|
|
|
+ platform_add_devices(davinci_evm_devices,
|
|
|
+ ARRAY_SIZE(davinci_evm_devices));
|
|
|
+ evm_init_i2c();
|
|
|
+
|
|
|
+ davinci_setup_mmc(0, &dm6446evm_mmc_config);
|
|
|
+ dm644x_init_video(&dm644xevm_capture_cfg, &dm644xevm_display_cfg);
|
|
|
+
|
|
|
+ davinci_serial_init(&uart_config);
|
|
|
+ dm644x_init_asp(&dm644x_evm_snd_data);
|
|
|
+
|
|
|
+ /* irlml6401 switches over 1A, in under 8 msec */
|
|
|
+ davinci_setup_usb(1000, 8);
|
|
|
+
|
|
|
+ soc_info->emac_pdata->phy_id = DM644X_EVM_PHY_ID;
|
|
|
+ /* Register the fixup for PHY on DaVinci */
|
|
|
+ phy_register_fixup_for_uid(LXT971_PHY_ID, LXT971_PHY_MASK,
|
|
|
+ davinci_phy_fixup);
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+MACHINE_START(DAVINCI_EVM, "DaVinci DM644x EVM")
|
|
|
+ /* Maintainer: MontaVista Software <source@mvista.com> */
|
|
|
+ .atag_offset = 0x100,
|
|
|
+ .map_io = davinci_evm_map_io,
|
|
|
+ .init_irq = davinci_irq_init,
|
|
|
+ .timer = &davinci_timer,
|
|
|
+ .init_machine = davinci_evm_init,
|
|
|
+ .init_late = davinci_init_late,
|
|
|
+ .dma_zone_size = SZ_128M,
|
|
|
+ .restart = davinci_restart,
|
|
|
+MACHINE_END
|