Beispiel #1
0
static void __init tegra_curacao_init(void)
{
	tegra_clk_init_from_table(curacao_clk_init_table);
	tegra_enable_pinmux();
	curacao_pinmux_init();
	tegra_soc_device_init("curacao");

	if (tegra_revision == TEGRA_REVISION_QT)
		debug_uart_platform_data[0].uartclk = tegra_clk_measure_input_freq();

	platform_add_devices(curacao_devices, ARRAY_SIZE(curacao_devices));

	curacao_power_off_init();
	tegra_io_dpd_init();
	curacao_sdhci_init();
	curacao_i2c_init();
	curacao_regulator_init();
	curacao_emc_init();
	curacao_suspend_init();
	curacao_touch_init();
	curacao_usb_init();
	curacao_panel_init();
	curacao_hs_uart_init();
	curacao_bt_rfkill();
	curacao_sensors_init();
}
Beispiel #2
0
static void __init tegra_e1853_init(void)
{
	tegra_init_board_info();
	tegra_clk_init_from_table(e1853_clk_init_table);
	tegra_enable_pinmux();
	tegra_smmu_init();
	tegra_soc_device_init("e1853");
	e1853_pinmux_init();
	e1853_i2c_init();
	e1853_gpio_init();
/*	e1853_regulator_init();
	e1853_suspend_init(); */
	e1853_i2s_audio_init();
	e1853_uart_init();
	e1853_usb_init();
	tegra_io_dpd_init();
	e1853_sdhci_init();
	e1853_spi_init();
	platform_add_devices(e1853_devices, ARRAY_SIZE(e1853_devices));
#ifdef CONFIG_TOUCHSCREEN_ATMEL_MXT
	e1853_touch_init();
#endif
	e1853_panel_init();
	e1853_nor_init();
	e1853_pcie_init();
}
static void __init tegra_kai_init(void)
{
	tegra_clk_init_from_table(kai_clk_init_table);
	tegra_enable_pinmux();
	tegra_soc_device_init("kai");
	kai_pinmux_init();
	kai_i2c_init();
	kai_spi_init();
	kai_usb_init();
#ifdef CONFIG_TEGRA_EDP_LIMITS
	kai_edp_init();
#endif
	kai_uart_init();
	kai_audio_init();
	platform_add_devices(kai_devices, ARRAY_SIZE(kai_devices));
	tegra_ram_console_debug_init();
	tegra_io_dpd_init();
	kai_sdhci_init();
	kai_regulator_init();
	kai_suspend_init();
	kai_touch_init();
	kai_keys_init();
	kai_panel_init();
	kai_tegra_setup_tibluesleep();
	kai_bt_st();
	kai_sensors_init();
	kai_pins_state_init();
	kai_emc_init();
	kai_modem_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_register_fuse();
}
static void __init tegra_whistler_init(void)
{
	int modem_id = tegra_get_modem_id();
	tegra_clk_init_from_table(whistler_clk_init_table);
	whistler_emc_init();
	tegra_soc_device_init("whistler");
	tegra_enable_pinmux();
	whistler_pinmux_init();
	whistler_i2c_init();
	whistler_uart_init();
	platform_add_devices(whistler_devices, ARRAY_SIZE(whistler_devices));
	tegra_ram_console_debug_init();
	whistler_sdhci_init();
	whistler_regulator_init();
	whistler_panel_init();
	whistler_sensors_init();
	whistler_touch_init();
	whistler_kbc_init();
	whistler_usb_init();
	whistler_emc_init();
	if (modem_id == 0x1)
		whistler_baseband_init();
	whistler_setup_bluesleep();
	tegra_release_bootloader_fb();
}
Beispiel #5
0
static void __init tegra_p1852_init(void)
{
	tegra_init_board_info();
	tegra_clk_init_from_table(p1852_clk_init_table);
	tegra_enable_pinmux();
	tegra_smmu_init();
	tegra_soc_device_init("p1852");
	p1852_pinmux_init();
	p1852_i2c_init();
	p1852_i2s_audio_init();
	p1852_gpio_init();
	p1852_uart_init();
	p1852_usb_init();
	tegra_io_dpd_init();
	p1852_sdhci_init();
	p1852_spi_init();
	platform_add_devices(p1852_devices, ARRAY_SIZE(p1852_devices));
#ifdef CONFIG_TOUCHSCREEN_ATMEL_MXT
	p1852_touch_init();
#endif
	p1852_panel_init();
	p1852_nor_init();
	p1852_pcie_init();
	p1852_suspend_init();
	tegra_serial_debug_init(TEGRA_UARTD_BASE, INT_WDT_CPU, NULL, -1, -1);

}
static void __init tegra_tegranote7c_early_init(void)
{
	tegra_clk_init_from_table(tegranote7c_clk_init_table);
	tegra_clk_verify_parents();
	tegra_soc_device_init("tegranote7c");
#if defined(CONFIG_TEGRA_IOVMM_SMMU) || defined(CONFIG_TEGRA_IOMMU_SMMU)
	platform_device_register(&tegra_smmu_device);
#endif
}
Beispiel #7
0
static void __init tegra_wario_init(void)
{
	/* Wario uses UARTB for the debug port. */
	debug_uart_platform_data[0].membase = IO_ADDRESS(TEGRA_UARTB_BASE);
	debug_uart_platform_data[0].mapbase = TEGRA_UARTB_BASE;
	debug_uart_platform_data[0].irq = INT_UARTB;
	tegra_soc_device_init("wario");
	seaboard_common_init();

	seaboard_i2c_init();
}
static void __init tegra_enterprise_init(void)
{
	struct board_info board_info;
	tegra_get_board_info(&board_info);
	if (board_info.fab == BOARD_FAB_A04)
		tegra_clk_init_from_table(enterprise_clk_i2s4_table);
	else
		tegra_clk_init_from_table(enterprise_clk_i2s2_table);

	tegra_thermal_init(&thermal_data,
				throttle_list,
				ARRAY_SIZE(throttle_list));
	tegra_clk_init_from_table(enterprise_clk_init_table);
	tegra_soc_device_init("tegra_enterprise");
	enterprise_pinmux_init();
	enterprise_i2c_init();
	enterprise_uart_init();
	enterprise_usb_init();
#ifdef CONFIG_BT_BLUESLEEP
	if (board_info.board_id == BOARD_E1239)
		enterprise_bt_rfkill_pdata[0].reset_gpio = TEGRA_GPIO_PF4;
#endif
	platform_add_devices(enterprise_devices, ARRAY_SIZE(enterprise_devices));
	tegra_ram_console_debug_init();
	enterprise_regulator_init();
	tegra_io_dpd_init();
	enterprise_sdhci_init();
#ifdef CONFIG_TEGRA_EDP_LIMITS
	enterprise_edp_init();
#endif
	enterprise_kbc_init();
	enterprise_nfc_init();
	enterprise_touch_init();
	enterprise_audio_init();
	enterprise_baseband_init();
	enterprise_panel_init();
	if (tegra_get_commchip_id() == COMMCHIP_TI_WL18XX)
		enterprise_bt_st();
	else
#ifdef CONFIG_BT_BLUESLEEP
		enterprise_bt_rfkill();
	enterprise_setup_bluesleep();
#elif defined CONFIG_BLUEDROID_PM
		enterprise_bluedroid_pm();
#endif
	enterprise_emc_init();
	enterprise_sensors_init();
	enterprise_suspend_init();
	enterprise_bpc_mgmt_init();
	tegra_release_bootloader_fb();
	enterprise_vibrator_init();
}
Beispiel #9
0
static void __init tegra_kaen_init(void)
{
	/* Kaen uses UARTB for the debug port. */
	debug_uart_platform_data[0].membase = IO_ADDRESS(TEGRA_UARTB_BASE);
	debug_uart_platform_data[0].mapbase = TEGRA_UARTB_BASE;
	debug_uart_platform_data[0].irq = INT_UARTB;

	seaboard_audio_pdata.gpio_hp_mute = TEGRA_GPIO_KAEN_HP_MUTE;
	tegra_soc_device_init("kaen");
	seaboard_common_init();

	seaboard_i2c_init();
}
static void __init tegra_roth_init(void)
{
	tegra_clk_init_from_table(roth_clk_init_table);
	tegra_clk_vefify_parents();
	tegra_soc_device_init("roth");
	tegra_enable_pinmux();
	roth_pinmux_init();
	roth_i2c_init();
	roth_spi_init();
	roth_usb_init();
	roth_uart_init();
	roth_led_init();
	roth_audio_init();
	platform_add_devices(roth_devices, ARRAY_SIZE(roth_devices));
	tegra_ram_console_debug_init();
	tegra_io_dpd_init();
	roth_regulator_init();
	roth_sdhci_init();
	roth_suspend_init();
	roth_emc_init();
	roth_edp_init();
	roth_touch_init();
	/* roth will pass a null board id to panel_init */
	roth_panel_init(0);
	roth_kbc_init();
	roth_pmon_init();
#ifdef CONFIG_BT_BLUESLEEP
	roth_setup_bluesleep();
	roth_setup_bt_rfkill();
#elif defined CONFIG_BLUEDROID_PM
	roth_setup_bluedroid_pm();
#endif
	tegra_release_bootloader_fb();
#ifdef CONFIG_TEGRA_WDT_RECOVERY
	tegra_wdt_recovery_init();
#endif
	tegra_serial_debug_init(TEGRA_UARTD_BASE, INT_WDT_CPU, NULL, -1, -1);
	roth_sensors_init();
	roth_soctherm_init();
	roth_fan_init();
	roth_revision_init();
	roth_issp_init();
	/* Enable HDMI hotplug as a wakesource */
	tegra_set_wake_gpio(4, TEGRA_GPIO_HDMI_HPD);
}
Beispiel #11
0
static void __init tegra_dalmore_init(void)
{
	struct board_info board_info;

	tegra_get_display_board_info(&board_info);
	tegra_clk_init_from_table(dalmore_clk_init_table);
	tegra_clk_verify_parents();
	tegra_soc_device_init("dalmore");
	tegra_enable_pinmux();
	dalmore_pinmux_init();
	dalmore_i2c_init();
	dalmore_spi_init();
	dalmore_usb_init();
	dalmore_xusb_init();
	dalmore_uart_init();
	dalmore_audio_init();
	platform_add_devices(dalmore_devices, ARRAY_SIZE(dalmore_devices));
	tegra_ram_console_debug_init();
	tegra_io_dpd_init();
	dalmore_regulator_init();
	dalmore_sdhci_init();
	dalmore_suspend_init();
	dalmore_emc_init();
	dalmore_edp_init();
	dalmore_touch_init();
	if (board_info.board_id == BOARD_E1582)
		roth_panel_init(board_info.board_id);
	else
		dalmore_panel_init();
	dalmore_kbc_init();
	dalmore_pmon_init();
#if defined(CONFIG_BT_BLUESLEEP) || defined(CONFIG_BT_BLUESLEEP_MODULE)
	dalmore_setup_bluesleep();
	dalmore_setup_bt_rfkill();
#elif defined CONFIG_BLUEDROID_PM
	dalmore_setup_bluedroid_pm();
#endif
	dalmore_modem_init();
#ifdef CONFIG_TEGRA_WDT_RECOVERY
	tegra_wdt_recovery_init();
#endif
	dalmore_sensors_init();
	dalmore_soctherm_init();
	tegra_register_fuse();
}
Beispiel #12
0
static void __init tegra_pluto_init(void)
{
	pluto_sysedp_init();
	tegra_clk_init_from_table(pluto_clk_init_table);
	tegra_clk_verify_parents();
	tegra_soc_device_init("tegra_pluto");
	tegra_enable_pinmux();
	pluto_pinmux_init();
	pluto_i2c_init();
	pluto_spi_init();
	pluto_usb_init();
	pluto_uart_init();
	pluto_audio_init();
	platform_add_devices(pluto_devices, ARRAY_SIZE(pluto_devices));
	tegra_ram_console_debug_init();
	tegra_io_dpd_init();
	pluto_sdhci_init();
	pluto_regulator_init();
	pluto_dtv_init();
	pluto_suspend_init();
	pluto_touch_init();
	pluto_emc_init();
	pluto_edp_init();
	pluto_panel_init();
	pluto_pmon_init();
	pluto_kbc_init();
#ifdef CONFIG_BT_BLUESLEEP
	pluto_setup_bluesleep();
	pluto_setup_bt_rfkill();
#elif defined CONFIG_BLUEDROID_PM
	pluto_setup_bluedroid_pm();
#endif
	pluto_modem_init();
#ifdef CONFIG_TEGRA_WDT_RECOVERY
	tegra_wdt_recovery_init();
#endif
	pluto_sensors_init();
	tegra_serial_debug_init(TEGRA_UARTD_BASE, INT_WDT_CPU, NULL, -1, -1);
	pluto_soctherm_init();
	tegra_register_fuse();
	pluto_sysedp_core_init();
	pluto_sysedp_psydepl_init();
}
Beispiel #13
0
static void __init tegra_macallan_init(void)
{
	struct board_info board_info;

	macallan_sysedp_init();
	tegra_get_display_board_info(&board_info);
	tegra_clk_init_from_table(macallan_clk_init_table);
	tegra_clk_verify_parents();
	tegra_soc_device_init("macallan");
	tegra_enable_pinmux();
	macallan_pinmux_init();
	macallan_i2c_init();
	macallan_spi_init();
	macallan_usb_init();
	macallan_uart_init();
	macallan_audio_init();
	platform_add_devices(macallan_devices, ARRAY_SIZE(macallan_devices));
	tegra_ram_console_debug_init();
	tegra_io_dpd_init();
	macallan_regulator_init();
	macallan_sdhci_init();
	macallan_suspend_init();
	macallan_emc_init();
	macallan_edp_init();
	macallan_touch_init();
	macallan_panel_init();
	macallan_kbc_init();
	macallan_pmon_init();
#if defined CONFIG_TI_ST || defined CONFIG_TI_ST_MODULE
	macallan_bt_st();
	macallan_tegra_setup_st_host_wake();
#endif
	macallan_modem_init();
#ifdef CONFIG_TEGRA_WDT_RECOVERY
	tegra_wdt_recovery_init();
#endif
	macallan_sensors_init();
	macallan_soctherm_init();
	tegra_register_fuse();
	macallan_sysedp_core_init();
	macallan_sysedp_psydepl_init();
}
static void __init tegra_roth_init(void)
{
	tegra_clk_init_from_table(roth_clk_init_table);
	tegra_clk_verify_parents();
	tegra_soc_device_init("roth");
	roth_i2c_init();
	roth_usb_init();
	roth_uart_init();
	roth_led_init();
	roth_audio_init();
	platform_add_devices(roth_devices, ARRAY_SIZE(roth_devices));
	tegra_io_dpd_init();
	roth_regulator_init();
	roth_sdhci_init();
	roth_suspend_init();
	roth_emc_init();
	roth_edp_init();
	isomgr_init();
	roth_touch_init();
	/* roth will pass a null board id to panel_init */
	roth_panel_init(0);
	roth_kbc_init();
	roth_pmon_init();
#ifdef CONFIG_BT_BLUESLEEP
	roth_setup_bluesleep();
	roth_setup_bt_rfkill();
#elif defined CONFIG_BLUEDROID_PM
	roth_setup_bluedroid_pm();
#endif
#ifdef CONFIG_TEGRA_WDT_RECOVERY
	tegra_wdt_recovery_init();
#endif
	tegra_serial_debug_init(TEGRA_UARTD_BASE, INT_WDT_CPU, NULL, -1, -1);
	roth_sensors_init();
	roth_soctherm_init();
	roth_fan_init();
	tegra_register_fuse();
	roth_issp_init();
}
static void __init tegra_ardbeg_early_init(void)
{
	ardbeg_sysedp_init();
	tegra_clk_init_from_table(ardbeg_clk_init_table);
	tegra_clk_verify_parents();
	if (of_machine_is_compatible("nvidia,laguna"))
		tegra_soc_device_init("laguna");
	else if (of_machine_is_compatible("nvidia,tn8"))
		tegra_soc_device_init("tn8");
	else if (of_machine_is_compatible("nvidia,ardbeg_sata"))
		tegra_soc_device_init("ardbeg_sata");
	else if (of_machine_is_compatible("nvidia,norrin"))
		tegra_soc_device_init("norrin");
	else if (of_machine_is_compatible("nvidia,bowmore"))
		tegra_soc_device_init("bowmore");
	else if (of_machine_is_compatible("nvidia,loki"))
		tegra_soc_device_init("loki");
	else
		tegra_soc_device_init("ardbeg");
}
static void __init tegra_macallan_early_init(void)
{
	tegra_clk_init_from_table(macallan_clk_init_table);
	tegra_clk_verify_parents();
	tegra_soc_device_init("macallan");
}
static void __init tegra_dalmore_early_init(void)
{
	tegra_clk_init_from_table(dalmore_clk_init_table);
	tegra_clk_verify_parents();
	tegra_soc_device_init("dalmore");
}
static void __init tegra_loki_early_init(void)
{
	tegra_clk_init_from_table(loki_clk_init_table);
	tegra_clk_verify_parents();
	tegra_soc_device_init("loki");
}
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();
}