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();
}
static void __init tegra_enterprise_init(void)
{
	tegra_thermal_init(&thermal_data,
				throttle_list,
				ARRAY_SIZE(throttle_list));
	tegra_clk_init_from_table(enterprise_clk_init_table);
	enterprise_pinmux_init();
	enterprise_i2c_init();
	enterprise_uart_init();
	enterprise_usb_init();
	platform_add_devices(enterprise_devices, ARRAY_SIZE(enterprise_devices));
	tegra_ram_console_debug_init();
	enterprise_regulator_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();
	enterprise_setup_bluesleep();
	enterprise_emc_init();
	enterprise_sensors_init();
	enterprise_suspend_init();
	enterprise_bpc_mgmt_init();
	tegra_release_bootloader_fb();
	tegra_serial_debug_init(TEGRA_UARTD_BASE, INT_WDT_CPU, NULL, -1, -1);
}
static void __init tegra_kai_init(void)
{
	tegra_thermal_init(&thermal_data);
	tegra_clk_init_from_table(kai_clk_init_table);
	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_tsensor_init();
	platform_add_devices(kai_devices, ARRAY_SIZE(kai_devices));
	tegra_ram_console_debug_init();
	kai_sdhci_init();
	kai_regulator_init();
	kai_suspend_init();
	kai_power_off_init();
	kai_touch_init();
	kai_keys_init();
	kai_panel_init();
	kai_bt_st();
	kai_pins_state_init();
	tegra_release_bootloader_fb();
#ifdef CONFIG_TEGRA_WDT_RECOVERY
	tegra_wdt_recovery_init();
#endif
}
static void __init tegra_aruba_init(void)
{
	char serial[20];

	tegra_common_init();
	tegra_clk_init_from_table(aruba_clk_init_table);
	aruba_pinmux_init();

	snprintf(serial, sizeof(serial), "%llx", tegra_chip_uid());
	andusb_plat.serial_number = kstrdup(serial, GFP_KERNEL);
	tegra_i2s_device1.dev.platform_data = &tegra_i2s_pdata[0];
	platform_add_devices(aruba_devices, ARRAY_SIZE(aruba_devices));

	aruba_sdhci_init();
	aruba_i2c_init();
	aruba_regulator_init();
	aruba_touch_init();
	aruba_keys_init();
	aruba_usb_init();
	aruba_panel_init();
	aruba_sensors_init();
	aruba_bt_rfkill();
	aruba_sata_init();
	tegra_release_bootloader_fb();
}
static void __init tegra_enterprise_init(void)
{
    tegra_thermal_init(&thermal_data);
    tegra_clk_init_from_table(enterprise_clk_init_table);
    enterprise_pinmux_init();
    enterprise_i2c_init();
    enterprise_uart_init();
    enterprise_usb_init();
    enterprise_tsensor_init();
    platform_add_devices(enterprise_devices, ARRAY_SIZE(enterprise_devices));
    enterprise_regulator_init();
    enterprise_sdhci_init();
#ifdef CONFIG_TEGRA_EDP_LIMITS
    enterprise_edp_init();
#endif
    enterprise_kbc_init();
    enterprise_touch_init();
    enterprise_audio_init();
    enterprise_gps_init();
    enterprise_baseband_init();
    enterprise_panel_init();
    enterprise_setup_bluesleep();
    enterprise_emc_init();
    enterprise_sensors_init();
    enterprise_suspend_init();
    enterprise_bpc_mgmt_init();
    tegra_release_bootloader_fb();
    enterprise_nfc_init();
}
Beispiel #6
0
static void __init tegra_cardhu_init(void)
{
	struct board_info pmu_board_info;

	tegra_get_pmu_board_info(&pmu_board_info);

	tegra_thermal_init(&thermal_data);
	tegra_clk_init_from_table(cardhu_clk_init_table);
	cardhu_pinmux_init();
	cardhu_misc_init();
       tegra_booting_info( );
	cardhu_i2c_init();
	cardhu_spi_init();
	cardhu_usb_init();
#ifdef CONFIG_TEGRA_EDP_LIMITS
	cardhu_edp_init();
#endif
	cardhu_uart_init();
	snprintf(cardhu_chipid, sizeof(cardhu_chipid), "%016llx",
		tegra_chip_uid());
	cardhu_tsensor_init();
	platform_add_devices(cardhu_devices, ARRAY_SIZE(cardhu_devices));

	/* Don't register ALC5640 device if there is MAX77663 PMU on system,
	 * because MAX77663 PMU and ALC5640 Audio Codec are using same i2c addr
	 * on same i2c bus. */
	if (pmu_board_info.board_id != BOARD_PMU_PM298)
		platform_device_register(&cardhu_audio_rt5640_device);

	tegra_ram_console_debug_init();
	cardhu_sdhci_init();
	cardhu_regulator_init();
	cardhu_dtv_init();
	cardhu_suspend_init();
	cardhu_power_off_init();
	cardhu_touch_init();
	cardhu_gps_init();
	cardhu_modem_init();
	cardhu_kbc_init();
	cardhu_scroll_init();
	cardhu_keys_init();
	cardhu_panel_init();
	cardhu_pmon_init();
	cardhu_sensors_init();
	cardhu_setup_bluesleep();
	cardhu_sata_init();
	//audio_wired_jack_init();
	cardhu_pins_state_init();
	cardhu_emc_init();
	tegra_release_bootloader_fb();
	cardhu_nfc_init();
	cardhu_pci_init();
#ifdef CONFIG_TEGRA_WDT_RECOVERY
	tegra_wdt_recovery_init();
#endif
}
static void __init acer_t20_init(void)
{

	tegra_clk_init_from_table(ventana_clk_init_table);
	ventana_pinmux_init();
	ventana_i2c_init();
	ventana_uart_init();
	tegra_ehci2_device.dev.platform_data
		= &ventana_ehci2_ulpi_platform_data;
	platform_add_devices(ventana_devices, ARRAY_SIZE(ventana_devices));

	ventana_sdhci_init();
	acer_t20_charge_init();
	acer_t20_regulator_init();

#ifdef CONFIG_TOUCHSCREEN_CYPRESS
	ventana_touch_init_cypress();
#endif
#ifdef CONFIG_TOUCHSCREEN_ATMEL_MXT1386
	touch_init_atmel_mXT1386();
#endif
#ifdef CONFIG_TOUCHSCREEN_ATMEL_768E
	touch_init_atmel_mXT768e();
#endif
#ifdef CONFIG_KEYBOARD_GPIO
	acer_keys_init();
#endif
#ifdef CONFIG_ROTATELOCK
        rotationlock_init();
#endif
#ifdef CONFIG_DOCK_V1
	acer_dock_init();
#endif
	acer_board_info();

#ifdef CONFIG_PSENSOR
	p_sensor_init();
#endif
	ventana_usb_init();
	ventana_gps_init();
	ventana_panel_init();
	ventana_sensors_init();
	//ventana_bt_rfkill();
	ventana_power_off_init();
	acer_t20_emc_init();

	ventana_setup_bluesleep();
#if defined(CONFIG_ACER_VIBRATOR)
	vib_init();
#endif
	tegra_release_bootloader_fb();
}
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();
}
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);
}
static void __init tegra_cardhu_init(void)
{
	tegra_thermal_init(&thermal_data,
				throttle_list,
				ARRAY_SIZE(throttle_list));
	tegra_clk_init_from_table(cardhu_clk_init_table);
	cardhu_pinmux_init();
	cardhu_misc_init();
	tegra_booting_info();
	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));
	tegra_ram_console_debug_init();
	cardhu_sdhci_init();
	cardhu_regulator_init();
	cardhu_dtv_init();
	cardhu_suspend_init();
	cardhu_touch_init();
        cardhu_gps_init();
	cardhu_modem_init();
	cardhu_keys_init();
	cardhu_panel_init();
	//cardhu_pmon_init();
	cardhu_sensors_init();
	//cardhu_audio_init();
	cardhu_setup_bluesleep();
	cardhu_sata_init();
	//audio_wired_jack_init();
	cardhu_pins_state_init();
	cardhu_emc_init();
	tegra_release_bootloader_fb();
#ifdef CONFIG_PN544_NFC
	cardhu_nfc_init();
#endif
	//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);
}
static void __init tegra_enterprise_init(void)
{
	tegra_thermal_init(&thermal_data,
				throttle_list,
				ARRAY_SIZE(throttle_list));
	tegra_clk_init_from_table(enterprise_clk_init_table);
	enterprise_pinmux_init();
	enterprise_i2c_init();
	enterprise_uart_init();
	enterprise_usb_init();
	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(); */ /* ZTE: modified by pengtao for gpio-key 20120528*/
    zteenterprise_keys_init(); // ZTE: added by pengtao for gpio-key 20120528
	enterprise_touch_init();
	enterprise_audio_init();
	enterprise_gps_init();
	enterprise_baseband_init();
	enterprise_panel_init();
	enterprise_setup_bluesleep();
	enterprise_emc_init();
	enterprise_sensors_init();
	enterprise_suspend_init();
	enterprise_bpc_mgmt_init();
	tegra_release_bootloader_fb();
	enterprise_nfc_init();
	batt_init();
#ifdef CONFIG_ZTE_CMMB
      enterprise_cmmb_init();
#endif
#ifndef CONFIG_ZTE_CMMB
      cmmb_gpio_init();
#endif
#ifdef CONFIG_SIRF_GPS
     create_sirf_proc_file();
#endif
     zte_hver_proc_init();
}
Beispiel #12
0
static void __init tegra_cardhu_init(void)
{
	tegra_thermal_init(&thermal_data);
	tegra_clk_init_from_table(cardhu_clk_init_table);
	cardhu_pinmux_init();
	cardhu_misc_init();
       tegra_booting_info( );
	cardhu_i2c_init();
	cardhu_spi_init();
	cardhu_usb_init();
#ifdef CONFIG_TEGRA_EDP_LIMITS
	cardhu_edp_init();
#endif
	cardhu_uart_init();
	snprintf(cardhu_chipid, sizeof(cardhu_chipid), "%016llx",
		tegra_chip_uid());
	cardhu_tsensor_init();
	platform_add_devices(cardhu_devices, ARRAY_SIZE(cardhu_devices));
	cardhu_sdhci_init();
	cardhu_regulator_init();
	cardhu_gpio_switch_regulator_init();
	cardhu_suspend_init();
	cardhu_power_off_init();
	cardhu_touch_init();
	cardhu_gps_init();
	cardhu_modem_init();
	cardhu_kbc_init();
	cardhu_scroll_init();
	cardhu_keys_init();
	cardhu_panel_init();
	cardhu_pmon_init();
	cardhu_sensors_init();
	cardhu_setup_bluesleep();
	cardhu_sata_init();
	//audio_wired_jack_init();
	cardhu_pins_state_init();
	cardhu_emc_init();
	tegra_release_bootloader_fb();
	cardhu_nfc_init();
	cardhu_pci_init();
#ifdef CONFIG_TEGRA_WDT_RECOVERY
	tegra_wdt_recovery_init();
#endif
}
Beispiel #13
0
static void __init tegra_aruba_init(void)
{
	tegra_clk_init_from_table(aruba_clk_init_table);
	aruba_pinmux_init();

	platform_add_devices(aruba_devices, ARRAY_SIZE(aruba_devices));

	aruba_sdhci_init();
	aruba_i2c_init();
	aruba_regulator_init();
	aruba_touch_init();
	aruba_keys_init();
	aruba_usb_init();
	aruba_panel_init();
	aruba_sensors_init();
	aruba_bt_rfkill();
	aruba_sata_init();
	tegra_release_bootloader_fb();
}
static void __init tegra_ventana_init(void)
{
	struct board_info BoardInfo;

	tegra_clk_init_from_table(ventana_clk_init_table);
	ventana_pinmux_init();
	ventana_i2c_init();
	ventana_uart_init();
	tegra_ehci2_device.dev.platform_data
		= &ventana_ehci2_ulpi_platform_data;
	platform_add_devices(ventana_devices, ARRAY_SIZE(ventana_devices));
	tegra_ram_console_debug_init();
	ventana_sdhci_init();
	ventana_charge_init();
	ventana_regulator_init();
	ventana_charger_init();

	tegra_get_board_info(&BoardInfo);

	/* boards with sku > 0 have atmel touch panels */
	if (BoardInfo.sku) {
		pr_info("Initializing Atmel touch driver\n");
		ventana_touch_init_atmel();
	} else {
		pr_info("Initializing Panjit touch driver\n");
		ventana_touch_init_panjit();
	}

#ifdef CONFIG_KEYBOARD_GPIO
	ventana_keys_init();
#endif

	ventana_usb_init();
	ventana_gps_init();
	ventana_panel_init();
	ventana_sensors_init();
	ventana_bt_rfkill();
	ventana_power_off_init();
	ventana_emc_init();

	ventana_setup_bluesleep();
	tegra_release_bootloader_fb();
}
Beispiel #15
0
static void __init tegra_x3_init(void)
{	
	tegra_clk_init_from_table(x3_clk_i2s2_table);
    	x3_setup_reboot();
	tegra_clk_init_from_table(x3_clk_init_table);
	x3_pinmux_init();
	x3_uart_init();
	x3_i2c_init();
	x3_regulator_init();
	tegra_io_dpd_init();
	x3_sdhci_init();
	x3_usb_init();
//                                   
	tegra_thermal_init(&thermal_data, throttle_list, ARRAY_SIZE(throttle_list));
	platform_add_devices(x3_devices, ARRAY_SIZE(x3_devices));
	tegra_ram_console_debug_init();
#ifdef CONFIG_TEGRA_EDP_LIMITS
	x3_edp_init();
#endif
	x3_kbc_init();
	//x3_touch_init();
	x3_gps_init();
if(is_tegra_bootmode())
{
	x3_baseband_init();
}
	x3_panel_init();
	x3_audio_init();
#if defined(CONFIG_BCM4330_RFKILL)
	x3_bt_rfkill();
#endif
#if !defined(CONFIG_BRCM_LPM)
	x3_setup_bluesleep();
#endif
	x3_emc_init();
	x3_sensors_init();
	x3_suspend_init();
	x3_bpc_mgmt_init();
	tegra_release_bootloader_fb();
	x3_sensor_input_init();
	tegra_serial_debug_init(TEGRA_UARTD_BASE, INT_WDT_CPU, NULL, -1, -1);
}
Beispiel #16
0
static void __init tegra_macallan_init(void)
{
	struct board_info board_info;

	tegra_get_display_board_info(&board_info);
	tegra_clk_init_from_table(macallan_clk_init_table);
	tegra_clk_vefify_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
	tegra_release_bootloader_fb();
	macallan_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);
	macallan_sensors_init();
	macallan_soctherm_init();
}
Beispiel #17
0
static void __init tegra_cardhu_init(void)
{
	tegra_thermal_init(&thermal_data);
	tegra_clk_init_from_table(cardhu_clk_init_table);
	cardhu_pinmux_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));
	tegra_ram_console_debug_init();
	cardhu_sdhci_init();
	cardhu_regulator_init();
	cardhu_dtv_init();
	cardhu_suspend_init();
	cardhu_touch_init();
	cardhu_gps_init();
	cardhu_modem_init();
	cardhu_kbc_init();
	cardhu_scroll_init();
	cardhu_keys_init();
	cardhu_panel_init();
	cardhu_pmon_init();
	cardhu_sensors_init();
	cardhu_setup_bluesleep();
	cardhu_sata_init();
	//audio_wired_jack_init();
	cardhu_pins_state_init();
	cardhu_emc_init();
	tegra_release_bootloader_fb();
	cardhu_nfc_init();
	cardhu_pci_init();
#ifdef CONFIG_TEGRA_WDT_RECOVERY
	tegra_wdt_recovery_init();
#endif
}
static void __init tegra_tegratab_late_init(void)
{
	struct board_info board_info;
	tegra_get_display_board_info(&board_info);

	platform_device_register(&tegra_pinmux_device);
	tegratab_pinmux_init();
	tegratab_i2c_init();
	tegratab_spi_init();
	tegratab_usb_init();
	tegratab_uart_init();
	tegratab_audio_init();
	platform_add_devices(tegratab_devices, ARRAY_SIZE(tegratab_devices));
	tegra_ram_console_debug_init();
	tegra_io_dpd_init();
	tegratab_regulator_init();
	tegratab_sdhci_init();
	tegratab_suspend_init();
	tegratab_emc_init();
	tegratab_edp_init();
	tegratab_touch_init();
	tegratab_panel_init();
	tegratab_kbc_init();
	tegratab_pmon_init();
#if defined CONFIG_TI_ST || defined CONFIG_TI_ST_MODULE
	tegratab_bt_st();
	tegratab_tegra_setup_st_host_wake();
#endif
	tegra_release_bootloader_fb();
	tegratab_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);
	tegratab_sensors_init();
	tegratab_soctherm_init();
	tegra_register_fuse();
}
Beispiel #19
0
static void __init tegra_kai_init(void)
{
	tegra_clk_init_from_table(kai_clk_init_table);
	tegra_enable_pinmux();
	tegra_smmu_init();
	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();
	tegra_release_bootloader_fb();
	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 int dsi_p_900x1440_7_0_enable(struct device *dev)
{
	int err = 0;
	if(!atomic_read(&tegra_release_bootloader_fb_flag)) {
		tegra_release_bootloader_fb();
		atomic_set(&tegra_release_bootloader_fb_flag, 1);
	}

	err = macallan_dsi_regulator_get(dev);
	if (err < 0) {
		pr_err("dsi regulator get failed\n");
		goto fail;
	}
	err = macallan_dsi_gpio_get();
	if (err < 0) {
		pr_err("dsi gpio request failed\n");
		goto fail;
	}

	if (vdd_ds_1v8) {
		err = regulator_enable(vdd_ds_1v8);
		if (err < 0) {
			pr_err("vdd_ds_1v8 regulator enable failed\n");
			goto fail;
		}
	}

	if (dvdd_lcd_1v8) {
		err = regulator_enable(dvdd_lcd_1v8);
		if (err < 0) {
			pr_err("dvdd_lcd regulator enable failed\n");
			goto fail;
		}
	}

	if (avdd_lcd_3v3) {
		err = regulator_enable(avdd_lcd_3v3);
		if (err < 0) {
			pr_err("avdd_lcd regulator enable failed\n");
			goto fail;
		}
	}
	if(gpio_lcd_rst>0){
		gpio_set_value(gpio_lcd_rst, 1);
	}
	
    msleep(300);

	if (vdd_lcd_bl) {
		err = regulator_enable(vdd_lcd_bl);
		if (err < 0) {
			pr_err("vdd_lcd_bl regulator enable failed\n");
			goto fail;
		}
	}

	if(gpio_bl_en>0){
		gpio_set_value(gpio_bl_en, 1);
	}
	
	if(gpio_bl_pwm>0){
		//gpio_set_value(gpio_bl_pwm, 1);
	}

	if(gpio_lcd_bl_en>0){
		gpio_set_value(gpio_lcd_bl_en, 1);
	}

	if (vdd_lcd_bl_en) {
		err = regulator_enable(vdd_lcd_bl_en);
		if (err < 0) {
			pr_err("vdd_lcd_bl_en regulator enable failed\n");
			goto fail;
		}
	}

	msleep(210);
	if(gpio_bridge_mip_en>0){
	gpio_set_value(gpio_bridge_mip_en, 1);
	msleep(50);
	gpio_set_value(gpio_bridge_mip_en, 0);
	msleep(50);
	gpio_set_value(gpio_bridge_mip_en, 1);
	}
	
#if DSI_PANEL_RESET
	gpio_direction_output(gpio_lcd_rst, 1);
	usleep_range(1000, 5000);
	gpio_set_value(gpio_lcd_rst, 0);
	msleep(150);
	gpio_set_value(gpio_lcd_rst, 1);
	msleep(20);
#endif

	return 0;
fail:
	return err;
}
Beispiel #21
0
static void __init tegra_shuttle_init(void)
{
	struct clk *clk;

	/* force consoles to stay enabled across suspend/resume */
	// console_suspend_enabled = 0;

	/* Set the SDMMC2 (wifi) tap delay to 6.  This value is determined
	 * based on propagation delay on the PCB traces. */
	clk = clk_get_sys("sdhci-tegra.1", NULL);
	if (!IS_ERR(clk)) {
		tegra_sdmmc_tap_delay(clk, 6);
		clk_put(clk);
	} else {
		pr_err("Failed to set wifi sdmmc tap delay\n");
	}

	/* Initialize the pinmux */
	shuttle_pinmux_init();
	
	/* Initialize the clocks - clocks require the pinmux to be initialized first */
	shuttle_clks_init();

	/* Register i2c devices - required for Power management and MUST be done before the power register */
	shuttle_i2c_register_devices();

	/* Register UART devices */
	shuttle_uart_register_devices();

#ifdef CONFIG_ANDROID_RAM_CONSOLE
	/* Enable the ram console */
	tegra_ram_console_debug_init(); 
#endif

	/* Register the power subsystem - Including the poweroff handler - Required by all the others */
	shuttle_power_register_devices();
	
	/* Register the USB device */
	shuttle_usb_register_devices();
	
	/* Register SPI devices */
	shuttle_spi_register_devices();

	/* Register GPU devices */
	shuttle_gpu_register_devices();

	/* Register Audio devices */
	shuttle_audio_register_devices();

	/* Register AES encryption devices */
	shuttle_aes_register_devices();

	/* Register Watchdog devices */
	shuttle_wdt_register_devices();

	/* Register all the keyboard devices */
	shuttle_keyboard_register_devices();
	
	/* Register touchscreen devices */
	shuttle_touch_register_devices();
	
	/* Register SDHCI devices */
	shuttle_sdhci_register_devices();

	/* Register accelerometer device */
	shuttle_sensors_register_devices();
	
	/* Register wlan powermanagement devices */
	shuttle_wlan_pm_register_devices();
	
	/* Register gps powermanagement devices */
	shuttle_gps_pm_register_devices();

	/* Register gsm powermanagement devices */
	shuttle_gsm_pm_register_devices();
	
	/* Register Bluetooth powermanagement devices */
	shuttle_bt_pm_register_devices();

	/* Register Camera powermanagement devices */
	shuttle_camera_pm_register_devices();

	/* Register NAND flash devices */
	shuttle_nand_register_devices();
	
#if 0
	/* Finally, init the external memory controller and memory frequency scaling
   	   NB: This is not working on P10AN01. And seems there is no point in fixing it,
	   as the EMC clock is forced to the maximum speed as soon as the 2D/3D engine
	   starts.*/
	shuttle_init_emc();
#endif

#ifdef _DUMP_WBCODE
	dump_warmboot(tegra_lp0_vec_start,tegra_lp0_vec_size);
#endif

#ifdef _DUMP_BOOTCAUSE
	dump_bootflags();
#endif

	/* Release the tegra bootloader framebuffer */
	tegra_release_bootloader_fb();

	/* Initialize the watchdog suspend recovery */
#ifdef CONFIG_TEGRA_WDT_RECOVERY
	tegra_wdt_recovery_init();
#endif

}
Beispiel #22
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_smmu_init();
	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();
	tegra_release_bootloader_fb();
	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();
}