void __init exynos5_manta_camera_init(void)
{
	manta_camera_sysmmu_init();
	platform_add_devices(camera_devices, ARRAY_SIZE(camera_devices));

	/* SPI */
	exynos_spi_clock_setup(&s3c64xx_device_spi1.dev, 1);

	if (!exynos_spi_cfg_cs(spi1_csi[0].line, 1)) {
		s3c64xx_spi1_pdata.gpio_pull_up = manta_gpio_pull_up;
		s3c64xx_spi1_set_platdata(&s3c64xx_spi1_pdata,
			EXYNOS_SPI_SRCCLK_SCLK, ARRAY_SIZE(spi1_csi));

		spi_register_board_info(spi1_board_info,
			ARRAY_SIZE(spi1_board_info));
	} else {
		pr_err("%s: Error requesting gpio for SPI-CH1 CS\n", __func__);
	}

	/* FIMC-IS-MC */
	dev_set_name(&exynos5_device_fimc_is.dev, "s5p-mipi-csis.0");
	clk_add_alias("gscl_wrap0", FIMC_IS_MODULE_NAME, "gscl_wrap0",
			&exynos5_device_fimc_is.dev);
	clk_add_alias("sclk_gscl_wrap0", FIMC_IS_MODULE_NAME, "sclk_gscl_wrap0",
			&exynos5_device_fimc_is.dev);

	dev_set_name(&exynos5_device_fimc_is.dev, "s5p-mipi-csis.1");
	clk_add_alias("gscl_wrap1", FIMC_IS_MODULE_NAME, "gscl_wrap1",
			&exynos5_device_fimc_is.dev);
	clk_add_alias("sclk_gscl_wrap1", FIMC_IS_MODULE_NAME, "sclk_gscl_wrap1",
			&exynos5_device_fimc_is.dev);

	dev_set_name(&exynos5_device_fimc_is.dev, "exynos-gsc.0");
	clk_add_alias("gscl", FIMC_IS_MODULE_NAME, "gscl",
			&exynos5_device_fimc_is.dev);
	dev_set_name(&exynos5_device_fimc_is.dev, FIMC_IS_MODULE_NAME);

#if defined CONFIG_VIDEO_S5K6A3
	exynos5_fimc_is_data.sensor_info[s5k6a3.sensor_position] = &s5k6a3;
#endif
#if defined CONFIG_VIDEO_S5K4E5
	exynos5_fimc_is_data.sensor_info[s5k4e5.sensor_position] = &s5k4e5;
#endif

	exynos5_fimc_is_set_platdata(&exynos5_fimc_is_data);
}
Esempio n. 2
0
static int  __init m6x_sc8803g_init(void) {
	int ret = 0;

	if (machine_is_m65())
		return 0;

	if (is_charging_mode())
		return 0;

	sc8803g_rt_init_res();

#ifdef CONFIG_MODEM_SC8803G_CONTROL
	ret = platform_device_register(&m69_mdm_device);
	if (ret) {
		platform_device_unregister(&m69_mdm_device);
		pr_err("%s: Error register sc8803g modem device!\n", __func__);
		return -EINVAL;
	}
#endif

	ret = platform_device_register(&s3c64xx_device_spi2);
	if (ret) {
		platform_device_unregister(&s3c64xx_device_spi2);
		pr_err("%s: Error register spi2!\n", __func__);
		return -EINVAL;
	}

	exynos_spi_clock_setup(&s3c64xx_device_spi2.dev, 2);
	if (!exynos_spi_cfg_cs(spi2_csi[0].line, 2)) {
		s3c64xx_spi2_set_platdata(&s3c64xx_spi2_pdata,
			EXYNOS_SPI_SRCCLK_SCLK, ARRAY_SIZE(spi2_csi));

		spi_register_board_info(spi2_board_info,
			ARRAY_SIZE(spi2_board_info));
	} else {
		pr_err("%s: Error requesting gpio for SPI-CH2 CS\n", __func__);
		return -EINVAL;
	}

	pr_info("[MODEM_IF] init modem device over\n");

	return 0;
}