static void __init universal_camera_init(void) { s3c_set_platdata(&mipi_csis_platdata, sizeof(mipi_csis_platdata), &s5p_device_mipi_csis0); s3c_set_platdata(&fimc_md_platdata, sizeof(fimc_md_platdata), &s5p_device_fimc_md); if (gpio_request_array(universal_camera_gpios, ARRAY_SIZE(universal_camera_gpios))) { pr_err("%s: GPIO request failed\n", __func__); return; } if (!s3c_gpio_cfgpin(GPIO_CAM_8M_ISP_INT, S3C_GPIO_SFN(0xf))) m5mols_board_info.irq = gpio_to_irq(GPIO_CAM_8M_ISP_INT); else pr_err("Failed to configure 8M_ISP_INT GPIO\n"); /* Free GPIOs controlled directly by the sensor drivers. */ gpio_free(GPIO_CAM_MEGA_nRST); gpio_free(GPIO_CAM_8M_ISP_INT); gpio_free(GPIO_CAM_VGA_NRST); gpio_free(GPIO_CAM_VGA_NSTBY); if (exynos4_fimc_setup_gpio(S5P_CAMPORT_A)) pr_err("Camera port A setup failed\n"); }
static void __init nuri_camera_init(void) { s3c_set_platdata(&mipi_csis_platdata, sizeof(mipi_csis_platdata), &s5p_device_mipi_csis0); s3c_set_platdata(&fimc_md_platdata, sizeof(fimc_md_platdata), &s5p_device_fimc_md); if (gpio_request_array(nuri_camera_gpios, ARRAY_SIZE(nuri_camera_gpios))) { pr_err("%s: GPIO request failed\n", __func__); return; } m5mols_board_info.irq = s5p_register_gpio_interrupt(GPIO_CAM_8M_ISP_INT); if (!IS_ERR_VALUE(m5mols_board_info.irq)) s3c_gpio_cfgpin(GPIO_CAM_8M_ISP_INT, S3C_GPIO_SFN(0xF)); else pr_err("%s: Failed to configure 8M_ISP_INT GPIO\n", __func__); /* Free GPIOs controlled directly by the sensor drivers. */ gpio_free(GPIO_CAM_VT_NRST); gpio_free(GPIO_CAM_VT_NSTBY); gpio_free(GPIO_CAM_MEGA_RST); if (exynos4_fimc_setup_gpio(S5P_CAMPORT_A)) { pr_err("%s: Camera port A setup failed\n", __func__); return; } /* Increase drive strength of the sensor clock output */ s5p_gpio_set_drvstr(EXYNOS4_GPJ1(3), S5P_GPIO_DRVSTR_LV4); }