void __init mot_sensors_init(void)
{
	kxtf9_init();
	tegra_akm8975_init();
	if (machine_is_tegra_daytona() ||
		machine_is_sunfire())
		tegra_hall_effect_init();

	tegra_vibrator_init();
	if(!(bi_powerup_reason() & PWRUP_BAREBOARD)) {
		isl29030_init();
	}
	if (machine_is_etna() ||
		machine_is_tegra_daytona() ||
		machine_is_sunfire()) {
			tegra_l3g4200d_init();
	}

	platform_add_devices(tegra_sensors, ARRAY_SIZE(tegra_sensors));

    if (machine_is_olympus()) {
        aes1750_spi_device.irq = gpio_to_irq(aes1750_interrupt);
        spi_register_board_info(&aes1750_spi_device,sizeof(aes1750_spi_device));
    }
}
void __init mot_sensors_init(void)
{
	kxtf9_init();
	tegra_akm8975_init();
	tegra_vibrator_init();

	if(!(bi_powerup_reason() & PWRUP_BAREBOARD)) {
		isl29030_init();
	}

	platform_add_devices(tegra_sensors, ARRAY_SIZE(tegra_sensors));

        aes1750_spi_device.irq = gpio_to_irq(aes1750_interrupt);
        spi_register_board_info(&aes1750_spi_device,sizeof(aes1750_spi_device));

	
	printk("bus 3: %d devices\n", ARRAY_SIZE(olympus_i2c_bus4_board_info));
	i2c_register_board_info(3, olympus_i2c_bus4_board_info, 
				ARRAY_SIZE(olympus_i2c_bus4_board_info));
}
예제 #3
0
static void __init tegra_cardhu_init(void)
{
	struct board_info board_info;

	tegra_get_board_info(&board_info);
	tegra_clk_init_from_table(cardhu_clk_init_table);
	tegra_enable_pinmux();
	tegra_soc_device_init("cardhu");
	cardhu_pinmux_init();
	cardhu_gpio_init();
	cardhu_i2c_init();
	cardhu_spi_init();
	cardhu_usb_init();
#ifdef CONFIG_TEGRA_EDP_LIMITS
	cardhu_edp_init();
#endif
	cardhu_uart_init();
	platform_add_devices(cardhu_devices, ARRAY_SIZE(cardhu_devices));
	switch (board_info.board_id) {
	case BOARD_PM315:
		platform_add_devices(beaver_audio_devices,
				ARRAY_SIZE(beaver_audio_devices));
		break;
	default:
		platform_add_devices(cardhu_audio_devices,
				ARRAY_SIZE(cardhu_audio_devices));

		break;
	}
	tegra_ram_console_debug_init();
	tegra_io_dpd_init();
	cardhu_sdhci_init();
	cardhu_regulator_init();
	cardhu_dtv_init();
	cardhu_suspend_init();
	cardhu_touch_init();
	cardhu_modem_init();
	cardhu_kbc_init();
	cardhu_scroll_init();
	cardhu_keys_init();
	cardhu_panel_init();
	cardhu_pmon_init();
	cardhu_sensors_init();
#if defined(CONFIG_BT_BLUESLEEP) || defined(CONFIG_BT_BLUESLEEP_MODULE)
	cardhu_setup_bluesleep();
#elif defined CONFIG_BLUEDROID_PM
	cardhu_setup_bluedroid_pm();
#endif
	/*
	 * if you want to add support for SATA in your board
	 * then add your board check here like
	 * board_info.board_id == BOARD_E1186
	 */
	if (board_info.board_id == BOARD_PM315)
		cardhu_sata_init();
	cardhu_pins_state_init();
	cardhu_emc_init();
	cardhu_pci_init();
#ifdef CONFIG_TEGRA_WDT_RECOVERY
	tegra_wdt_recovery_init();
#endif
	tegra_serial_debug_init(TEGRA_UARTD_BASE, INT_WDT_CPU, NULL, -1, -1);
	tegra_vibrator_init();
	tegra_register_fuse();
}