Esempio n. 1
0
int __init bowser_sdhci_init(void)
{
	int nominal_core_mv;
	int min_vcore_override_mv;
	int boot_vcore_mv;
	struct board_info board_info;

	nominal_core_mv =
		tegra_dvfs_rail_get_nominal_millivolts(tegra_core_rail);
	if (nominal_core_mv) {
		tegra_sdhci_platform_data0.nominal_vcore_mv = nominal_core_mv;
		tegra_sdhci_platform_data2.nominal_vcore_mv = nominal_core_mv;
		tegra_sdhci_platform_data3.nominal_vcore_mv = nominal_core_mv;
	}
	min_vcore_override_mv =
		tegra_dvfs_rail_get_override_floor(tegra_core_rail);
	if (min_vcore_override_mv) {
		tegra_sdhci_platform_data0.min_vcore_override_mv =
			min_vcore_override_mv;
		tegra_sdhci_platform_data2.min_vcore_override_mv =
			min_vcore_override_mv;
		tegra_sdhci_platform_data3.min_vcore_override_mv =
			min_vcore_override_mv;
	}
	boot_vcore_mv = tegra_dvfs_rail_get_boot_level(tegra_core_rail);
	if (boot_vcore_mv) {
		tegra_sdhci_platform_data0.boot_vcore_mv = boot_vcore_mv;
		tegra_sdhci_platform_data2.boot_vcore_mv = boot_vcore_mv;
		tegra_sdhci_platform_data3.boot_vcore_mv = boot_vcore_mv;
	}
	if ((tegra_sdhci_platform_data3.uhs_mask & MMC_MASK_HS200)
		&& (!(tegra_sdhci_platform_data3.uhs_mask &
		MMC_UHS_MASK_DDR50)))
		tegra_sdhci_platform_data3.trim_delay = 0;
	tegra_get_board_info(&board_info);
	if (board_info.fab == BOARD_FAB_A05) {
		tegra_sdhci_platform_data0.max_clk_limit = 204000000;
		tegra_sdhci_platform_data0.en_freq_scaling = true;
		tegra_sdhci_platform_data2.wp_gpio = -1;
		tegra_sdhci_platform_data2.max_clk_limit = 204000000;
		tegra_sdhci_platform_data2.en_freq_scaling = true;
	}
	platform_device_register(&tegra_sdhci_device3);
	platform_device_register(&tegra_sdhci_device2);
	platform_device_register(&tegra_sdhci_device0);
	bowser_wifi_init();
	return 0;
}
Esempio n. 2
0
static void __init omap_4430sdp_init(void)
{
	int package = OMAP_PACKAGE_CBS;

	if (omap_rev() == OMAP4430_REV_ES1_0)
		package = OMAP_PACKAGE_CBL;
	omap4_mux_init(board_mux, NULL, package);

	lpddr_init();

	omap_board_config = sdp4430_config;
	omap_board_config_size = ARRAY_SIZE(sdp4430_config);

	omap_init_board_version(0);

	omap4_create_board_props();
	blaze_pmic_mux_init();

	omap4_i2c_init();
	/* JossCheng, 20111221, Porting gyro sensor and e-compass {*/
#ifdef CONFIG_MPU_SENSORS_MPU6050B1
	mpu6050b1_init();
#endif
	/* JossCheng, 20111221, Porting gyro sensor and e-compass }*/
	//blaze_sensor_init();
// Anvoi, 2011/12/14, Porting Light sensor driver to ICS
	omap4_als_init();
// Anvoi, 2011/12/14, Porting Light sensor driver to ICS
	//blaze_touch_init();
	omap4_register_ion();
/*SW5, Anvoi, 20111215, Config key VolumeUp/VolumeDown{*/
	platform_add_devices(bowser_devices, ARRAY_SIZE(bowser_devices));
/*SW5, Anvoi, 20111215, Config key VolumeUp/VolumeDown}*/
#if defined (CONFIG_TATE_HALL_SENSORS)
	hall_init();
#endif
	board_serial_init();
	omap4_twl6030_hsmmc_init(mmc);
	bowser_wifi_init();
	omap4_sdp4430_bt_init();

	omap4_ehci_ohci_init();
	usb_musb_init(&musb_board_data);

// BokeeLi, 2011/12/14, Porting proximity driver
#ifdef CONFIG_INPUT_PIC12LF1822_PROXIMITY
	omap4_proximity_init();
#endif
// BokeeLi, 2011/12/14, Porting proximity driver

/*SW5, Jamestsai, 1213, enable cypress{*/
#if defined(CONFIG_TOUCHSCREEN_CYPRESS_TTSP) || (CONFIG_TOUCHSCREEN_ATMEL_MXT) || defined(CONFIG_TOUCHSCREEN_ATMEL_MXT_MODULE)
	omap4_touch_init();
#endif
/*}SW5, Jamestsai, 1213, enable cypress*/

	omap_dmm_init();

	//omap_4430sdp_display_init();
	bowser_panel_init();


	omap_enable_smartreflex_on_init();
        if (enable_suspend_off)
                omap_pm_enable_off_mode();

}