static void __init am3517_evm_init(void) { omap3_mux_init(board_mux, OMAP_PACKAGE_CBB); am3517_evm_i2c_init(); omap_display_init(&am3517_evm_dss_data); omap_serial_init(); omap_sdrc_init(NULL, NULL); /* Configure GPIO for EHCI port */ omap_mux_init_gpio(57, OMAP_PIN_OUTPUT); usbhs_init(&usbhs_bdata); am3517_evm_hecc_init(&am3517_evm_hecc_pdata); /* DSS */ am3517_evm_display_init(); /* RTC - S35390A */ am3517_evm_rtc_init(); i2c_register_board_info(1, am3517evm_i2c1_boardinfo, ARRAY_SIZE(am3517evm_i2c1_boardinfo)); /*Ethernet*/ am35xx_emac_init(AM35XX_DEFAULT_MDIO_FREQUENCY, 1); /* MUSB */ am3517_evm_musb_init(); /* McBSP1 */ am3517_evm_mcbsp1_init(); /* MMC init function */ omap_hsmmc_init(mmc); }
static void __init am3517_evm_init(void) { omap_board_config = am3517_evm_config; omap_board_config_size = ARRAY_SIZE(am3517_evm_config); omap3_mux_init(board_mux, OMAP_PACKAGE_CBB); am3517_evm_i2c_init(); omap_display_init(&am3517_evm_dss_data); omap_serial_init(); /* Configure GPIO for EHCI port */ omap_mux_init_gpio(57, OMAP_PIN_OUTPUT); usbhs_init(&usbhs_bdata); am3517_evm_hecc_init(&am3517_evm_hecc_pdata); /* DSS */ am3517_evm_display_init(); /* RTC - S35390A */ am3517_evm_rtc_init(); i2c_register_board_info(1, am3517evm_i2c1_boardinfo, ARRAY_SIZE(am3517evm_i2c1_boardinfo)); /*Ethernet*/ am3517_evm_ethernet_init(&am3517_evm_emac_pdata); /* MUSB */ am3517_evm_musb_init(); }
/* * Routine: misc_init_r * Description: Init i2c, ethernet, etc... (done here so udelay works) */ int misc_init_r(void) { #ifdef CONFIG_DRIVER_OMAP34XX_I2C i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE); #endif dieid_num_r(); am3517_evm_musb_init(); return 0; }
static void __init am3517_evm_init(void) { omap3_mux_init(board_mux, OMAP_PACKAGE_CBB); am3517_evm_i2c_init(); platform_add_devices(am3517_evm_devices, ARRAY_SIZE(am3517_evm_devices)); omap_serial_init(); /* Configure GPIO for EHCI port */ omap_mux_init_gpio(57, OMAP_PIN_OUTPUT); usb_ehci_init(&ehci_pdata); am3517_evm_hecc_init(&am3517_evm_hecc_pdata); clk_add_alias("master", "dm644x_ccdc", "master", &vpfe_capture_dev.dev); clk_add_alias("slave", "dm644x_ccdc", "slave", &vpfe_capture_dev.dev); /* DSS */ am3517_evm_display_init(); /* RTC - S35390A */ am3517_evm_rtc_init(); i2c_register_board_info(1, am3517evm_i2c1_boardinfo, ARRAY_SIZE(am3517evm_i2c1_boardinfo)); /*Ethernet*/ am3517_evm_ethernet_init(&am3517_evm_emac_pdata); /* MUSB */ am3517_evm_musb_init(); /* TSC 2004 */ omap_mux_init_gpio(65, OMAP_PIN_INPUT_PULLUP); am3517evm_tsc_i2c_boardinfo[0].irq = gpio_to_irq(GPIO_TSC2004_IRQ); i2c_register_board_info(1, am3517evm_tsc_i2c_boardinfo, ARRAY_SIZE(am3517evm_tsc_i2c_boardinfo)); /* Init TCA6416 keypad */ tca6416_keypad_init_irq(); /* MMC init function */ omap2_hsmmc_init(mmc); }
/* * Routine: misc_init_r * Description: Init i2c, ethernet, etc... (done here so udelay works) */ int misc_init_r(void) { volatile unsigned int ctr; u32 reset; #ifdef CONFIG_SYS_I2C_OMAP24XX i2c_init(CONFIG_SYS_OMAP24_I2C_SPEED, CONFIG_SYS_OMAP24_I2C_SLAVE); #endif omap_die_id_display(); am3517_evm_musb_init(); if (gpio_request(PHY_GPIO, "gpio_30") == 0) { /* activate PHY reset */ gpio_direction_output(PHY_GPIO, 0); gpio_set_value(PHY_GPIO, 0); ctr = 0; do { udelay(1000); ctr++; } while (ctr < 300); /* deactivate PHY reset */ gpio_set_value(PHY_GPIO, 1); /* allow the PHY to stabilize and settle down */ ctr = 0; do { udelay(1000); ctr++; } while (ctr < 300); /* ensure that the module is out of reset */ reset = readl(AM3517_IP_SW_RESET); reset &= (~CPGMACSS_SW_RST); writel(reset, AM3517_IP_SW_RESET); /* Free requested GPIO */ gpio_free(PHY_GPIO); } return 0; }