static int grouper_camera_init(void) { pmic_id = grouper_query_pmic_id(); printk("%s: pmic_id= 0x%X", __FUNCTION__, pmic_id); #if 0 int ret; tegra_gpio_enable(CAM2_POWER_DWN_GPIO); ret = gpio_request(CAM2_POWER_DWN_GPIO, "cam2_power_en"); if (ret < 0) { pr_err("%s: gpio_request failed for gpio %s\n", __func__, "CAM2_POWER_DWN_GPIO"); } gpio_direction_output(CAM2_POWER_DWN_GPIO, 1); mdelay(10); tegra_gpio_enable(CAM2_RST_GPIO); ret = gpio_request(CAM2_RST_GPIO, "cam2_reset"); if (ret < 0) { pr_err("%s: gpio_request failed for gpio %s\n", __func__, "CAM2_RST_GPIO"); } gpio_direction_output(CAM2_RST_GPIO, 0); mdelay(5); #endif return 0; }
static void __init tegra_grouper_init(void) { grouper_misc_init(); tegra_thermal_init(&thermal_data); tegra_clk_init_from_table(grouper_clk_init_table); grouper_pinmux_init(); grouper_misc_reset(); grouper_booting_info(); grouper_i2c_init(); grouper_spi_init(); grouper_usb_init(); #ifdef CONFIG_CPU_FREQ_GOV_ONDEMAND_2_PHASE set_two_phase_freq(1000000); #endif #ifdef CONFIG_TEGRA_EDP_LIMITS if (grouper_query_pmic_id()) grouper_ti_edp_init(); else grouper_edp_init(); #endif grouper_uart_init(); grouper_audio_init(); platform_add_devices(grouper_devices, ARRAY_SIZE(grouper_devices)); tegra_ram_console_debug_init(); grouper_sdhci_init(); if (grouper_query_pmic_id()) { grouper_ti_regulator_init(); grouper_ti_suspend_init(); } else { grouper_regulator_init(); grouper_suspend_init(); } grouper_touch_init(); grouper_gps_init(); grouper_modem_init(); grouper_keys_init(); grouper_panel_init(); grouper_nfc_init(); grouper_sensors_init(); grouper_setup_bluesleep(); grouper_pins_state_init(); grouper_emc_init(); // tegra_release_bootloader_fb(); #ifdef CONFIG_TEGRA_WDT_RECOVERY tegra_wdt_recovery_init(); #endif }