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(); }
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(); }
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 }
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(); }
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); }
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(); }
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(); }
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; }
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 }
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(); }