static void __init universal_machine_init(void) { universal_sdhci_init(); s5p_tv_setup(); s3c_i2c0_set_platdata(&universal_i2c0_platdata); i2c_register_board_info(1, i2c1_devs, ARRAY_SIZE(i2c1_devs)); universal_tsp_init(); s3c_i2c3_set_platdata(NULL); i2c_register_board_info(3, i2c3_devs, ARRAY_SIZE(i2c3_devs)); s3c_i2c5_set_platdata(NULL); s5p_i2c_hdmiphy_set_platdata(NULL); i2c_register_board_info(5, i2c5_devs, ARRAY_SIZE(i2c5_devs)); s5p_fimd0_set_platdata(&universal_lcd_pdata); universal_touchkey_init(); i2c_register_board_info(I2C_GPIO_BUS_12, i2c_gpio12_devs, ARRAY_SIZE(i2c_gpio12_devs)); universal_camera_init(); /* Last */ platform_add_devices(universal_devices, ARRAY_SIZE(universal_devices)); }
static void __init origen_machine_init(void) { origen_power_init(); s3c_i2c0_set_platdata(NULL); i2c_register_board_info(0, i2c0_devs, ARRAY_SIZE(i2c0_devs)); /* * Since sdhci instance 2 can contain a bootable media, * sdhci instance 0 is registered after instance 2. */ s3c_sdhci2_set_platdata(&origen_hsmmc2_pdata); s3c_sdhci0_set_platdata(&origen_hsmmc0_pdata); origen_ehci_init(); origen_ohci_init(); clk_xusbxti.rate = 24000000; s5p_tv_setup(); s5p_i2c_hdmiphy_set_platdata(NULL); s5p_fimd0_set_platdata(&origen_lcd_pdata); platform_add_devices(origen_devices, ARRAY_SIZE(origen_devices)); samsung_bl_set(&origen_bl_gpio_info, &origen_bl_data); origen_bt_setup(); }
static void __init universal_machine_init(void) { universal_sdhci_init(); s5p_tv_setup(); s3c_i2c0_set_platdata(&universal_i2c0_platdata); i2c_register_board_info(1, i2c1_devs, ARRAY_SIZE(i2c1_devs)); universal_tsp_init(); s3c_i2c3_set_platdata(NULL); i2c_register_board_info(3, i2c3_devs, ARRAY_SIZE(i2c3_devs)); s3c_i2c5_set_platdata(NULL); s5p_i2c_hdmiphy_set_platdata(NULL); i2c_register_board_info(5, i2c5_devs, ARRAY_SIZE(i2c5_devs)); #ifdef CONFIG_DRM_EXYNOS s5p_device_fimd0.dev.platform_data = &drm_fimd_pdata; exynos4_fimd0_gpio_setup_24bpp(); #else s5p_fimd0_set_platdata(&universal_lcd_pdata); #endif universal_touchkey_init(); i2c_register_board_info(I2C_GPIO_BUS_12, i2c_gpio12_devs, ARRAY_SIZE(i2c_gpio12_devs)); s3c_hsotg_set_platdata(&universal_hsotg_pdata); universal_camera_init(); /* Last */ platform_add_devices(universal_devices, ARRAY_SIZE(universal_devices)); }
static void __init smdkv310_machine_init(void) { s3c_i2c1_set_platdata(NULL); i2c_register_board_info(1, i2c_devs1, ARRAY_SIZE(i2c_devs1)); smdkv310_smsc911x_init(); s3c_sdhci0_set_platdata(&smdkv310_hsmmc0_pdata); s3c_sdhci1_set_platdata(&smdkv310_hsmmc1_pdata); s3c_sdhci2_set_platdata(&smdkv310_hsmmc2_pdata); s3c_sdhci3_set_platdata(&smdkv310_hsmmc3_pdata); s5p_tv_setup(); s5p_i2c_hdmiphy_set_platdata(NULL); samsung_keypad_set_platdata(&smdkv310_keypad_data); samsung_bl_set(&smdkv310_bl_gpio_info, &smdkv310_bl_data); #ifdef CONFIG_DRM_EXYNOS s5p_device_fimd0.dev.platform_data = &drm_fimd_pdata; exynos4_fimd0_gpio_setup_24bpp(); #else s5p_fimd0_set_platdata(&smdkv310_lcd0_pdata); #endif smdkv310_ehci_init(); smdkv310_ohci_init(); clk_xusbxti.rate = 24000000; platform_add_devices(smdkv310_devices, ARRAY_SIZE(smdkv310_devices)); }
static void __init smdkv310_machine_init(void) { s3c_i2c1_set_platdata(NULL); i2c_register_board_info(1, i2c_devs1, ARRAY_SIZE(i2c_devs1)); smdkv310_smsc911x_init(); s3c_sdhci0_set_platdata(&smdkv310_hsmmc0_pdata); s3c_sdhci1_set_platdata(&smdkv310_hsmmc1_pdata); s3c_sdhci2_set_platdata(&smdkv310_hsmmc2_pdata); s3c_sdhci3_set_platdata(&smdkv310_hsmmc3_pdata); s5p_tv_setup(); s5p_i2c_hdmiphy_set_platdata(NULL); samsung_keypad_set_platdata(&smdkv310_keypad_data); samsung_bl_set(&smdkv310_bl_gpio_info, &smdkv310_bl_data); s5p_fimd0_set_platdata(&smdkv310_lcd0_pdata); smdkv310_ehci_init(); smdkv310_ohci_init(); clk_xusbxti.rate = 24000000; platform_add_devices(smdkv310_devices, ARRAY_SIZE(smdkv310_devices)); }
static void __init origen_machine_init(void) { origen_power_init(); s3c_i2c0_set_platdata(NULL); i2c_register_board_info(0, i2c0_devs, ARRAY_SIZE(i2c0_devs)); /* * Since sdhci instance 2 can contain a bootable media, * sdhci instance 0 is registered after instance 2. */ s3c_sdhci2_set_platdata(&origen_hsmmc2_pdata); s3c_sdhci0_set_platdata(&origen_hsmmc0_pdata); origen_ehci_init(); origen_ohci_init(); s3c_hsotg_set_platdata(&origen_hsotg_pdata); s5p_tv_setup(); s5p_i2c_hdmiphy_set_platdata(NULL); s5p_hdmi_set_platdata(&hdmiphy_info, NULL, 0); #ifdef CONFIG_DRM_EXYNOS_FIMD s5p_device_fimd0.dev.platform_data = &drm_fimd_pdata; exynos4_fimd0_gpio_setup_24bpp(); #else s5p_fimd0_set_platdata(&origen_lcd_pdata); #endif platform_add_devices(origen_devices, ARRAY_SIZE(origen_devices)); pwm_add_table(origen_pwm_lookup, ARRAY_SIZE(origen_pwm_lookup)); samsung_bl_set(&origen_bl_gpio_info, &origen_bl_data); origen_bt_setup(); }
static void __init universal_machine_init(void) { universal_sdhci_init(); s5p_tv_setup(); s3c_i2c0_set_platdata(&universal_i2c0_platdata); i2c_register_board_info(1, i2c1_devs, ARRAY_SIZE(i2c1_devs)); universal_tsp_init(); s3c_i2c3_set_platdata(NULL); i2c_register_board_info(3, i2c3_devs, ARRAY_SIZE(i2c3_devs)); s3c_i2c5_set_platdata(NULL); s5p_i2c_hdmiphy_set_platdata(NULL); i2c_register_board_info(5, i2c5_devs, ARRAY_SIZE(i2c5_devs)); s5p_fimd0_set_platdata(&universal_lcd_pdata); universal_touchkey_init(); i2c_register_board_info(I2C_GPIO_BUS_12, i2c_gpio12_devs, ARRAY_SIZE(i2c_gpio12_devs)); universal_camera_init(); /* Last */ platform_add_devices(universal_devices, ARRAY_SIZE(universal_devices)); s5p_device_mfc.dev.parent = &exynos4_device_pd[PD_MFC].dev; s5p_device_fimd0.dev.parent = &exynos4_device_pd[PD_LCD0].dev; s5p_device_fimc0.dev.parent = &exynos4_device_pd[PD_CAM].dev; s5p_device_fimc1.dev.parent = &exynos4_device_pd[PD_CAM].dev; s5p_device_fimc2.dev.parent = &exynos4_device_pd[PD_CAM].dev; s5p_device_fimc3.dev.parent = &exynos4_device_pd[PD_CAM].dev; s5p_device_mipi_csis0.dev.parent = &exynos4_device_pd[PD_CAM].dev; }
void __init exynos5_universal5410_media_init(void) { #if defined (CONFIG_CSI_D) || defined (CONFIG_S5K6B2_CSI_D) s3c_i2c1_set_platdata(NULL); #endif #if defined (CONFIG_CSI_E) || defined (CONFIG_S5K6B2_CSI_E) s3c_i2c1_set_platdata(NULL); #endif #ifdef CONFIG_VIDEO_EXYNOS_MFC s5p_mfc_set_platdata(&universal5410_mfc_pd); dev_set_name(&s5p_device_mfc.dev, "s3c-mfc"); clk_add_alias("mfc", "s5p-mfc-v6", "mfc", &s5p_device_mfc.dev); s5p_mfc_setname(&s5p_device_mfc, "s5p-mfc-v6"); #endif platform_add_devices(universal5410_media_devices, ARRAY_SIZE(universal5410_media_devices)); s3c_set_platdata(&exynos5410_scaler_pd, sizeof(exynos5410_scaler_pd), &exynos5_device_scaler0); #ifdef CONFIG_VIDEO_S5K6B2 #if defined(CONFIG_S5K6B2_CSI_C) __set_mipi_csi_config(&s5p_mipi_csis0_default_data, s5k6b2.csi_data_align); #elif defined(CONFIG_S5K6B2_CSI_D) __set_mipi_csi_config(&s5p_mipi_csis1_default_data, s5k6b2.csi_data_align); #elif defined(CONFIG_S5K6B2_CSI_E) __set_mipi_csi_config(&s5p_mipi_csis2_default_data, s5k6b2.csi_data_align); #endif #endif #ifdef CONFIG_VIDEO_EXYNOS_MIPI_CSIS s3c_set_platdata(&s5p_mipi_csis0_default_data, sizeof(s5p_mipi_csis0_default_data), &s5p_device_mipi_csis0); s3c_set_platdata(&s5p_mipi_csis1_default_data, sizeof(s5p_mipi_csis1_default_data), &s5p_device_mipi_csis1); s3c_set_platdata(&s5p_mipi_csis2_default_data, sizeof(s5p_mipi_csis2_default_data), &s5p_device_mipi_csis2); #endif #ifdef CONFIG_VIDEO_EXYNOS_FIMC_LITE universal5410_camera_gpio_cfg(); universal5410_set_camera_platdata(); s3c_set_platdata(&exynos_flite0_default_data, sizeof(exynos_flite0_default_data), &exynos_device_flite0); s3c_set_platdata(&exynos_flite1_default_data, sizeof(exynos_flite1_default_data), &exynos_device_flite1); s3c_set_platdata(&exynos_flite2_default_data, sizeof(exynos_flite2_default_data), &exynos_device_flite2); #endif #if defined(CONFIG_VIDEO_EXYNOS_TV) dev_set_name(&s5p_device_hdmi.dev, "exynos5-hdmi"); mxr_platdata.ip_ver = IP_VER_TV_5A_1; hdmi_platdata.ip_ver = IP_VER_TV_5A_1; s5p_tv_setup(); /* Below should be enabled after power domain is available */ #if 0 s5p_device_hdmi.dev.parent = &exynos5_device_pd[PD_DISP1].dev; s5p_device_mixer.dev.parent = &exynos5_device_pd[PD_DISP1].dev; #endif #ifdef CONFIG_VIDEO_EXYNOS_HDMI_CEC s5p_hdmi_cec_set_platdata(&hdmi_cec_data); #endif s3c_set_platdata(&mxr_platdata, sizeof(mxr_platdata), &s5p_device_mixer); s5p_hdmi_set_platdata(&hdmi_platdata); /* * exynos5_hs_i2c2_set_platdata(NULL); * i2c_register_board_info(6, hs_i2c_devs2, ARRAY_SIZE(hs_i2c_devs2)); */ #endif #ifdef CONFIG_VIDEO_EXYNOS_GSCALER exynos5_gsc_set_ip_ver(IP_VER_GSC_5A); exynos5_gsc_set_pm_qos_val(160000, 160000); s3c_set_platdata(&exynos_gsc0_default_data, sizeof(exynos_gsc0_default_data), &exynos5_device_gsc0); s3c_set_platdata(&exynos_gsc1_default_data, sizeof(exynos_gsc1_default_data), &exynos5_device_gsc1); s3c_set_platdata(&exynos_gsc2_default_data, sizeof(exynos_gsc2_default_data), &exynos5_device_gsc2); s3c_set_platdata(&exynos_gsc3_default_data, sizeof(exynos_gsc3_default_data), &exynos5_device_gsc3); #endif #ifdef CONFIG_VIDEO_EXYNOS5_FIMC_IS 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); 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); dev_set_name(&exynos5_device_fimc_is.dev, "s5p-mipi-csis.2"); clk_add_alias("gscl_wrap2", FIMC_IS_MODULE_NAME, "gscl_wrap2", &exynos5_device_fimc_is.dev); dev_set_name(&exynos5_device_fimc_is.dev, FIMC_IS_MODULE_NAME); exynos5_fimc_is_data.gpio_info = &gpio_universal5410; exynos5_fimc_is_set_platdata(&exynos5_fimc_is_data); if (!exynos_spi_cfg_cs(spi3_csi[0].line, 3)) { s3c64xx_spi3_set_platdata(&s3c64xx_spi3_pdata, EXYNOS_SPI_SRCCLK_SCLK, ARRAY_SIZE(spi3_csi)); spi_register_board_info(spi3_board_info, ARRAY_SIZE(spi3_board_info)); } else { pr_err("%s: Error requesting gpio for SPI-CH1 CS\n", __func__); } #endif #ifdef CONFIG_VIDEO_EXYNOS_FIMG2D s5p_fimg2d_set_platdata(&fimg2d_data); #endif #ifdef CONFIG_VIDEO_EXYNOS_JPEG s3c_set_platdata(&exynos5_jpeg_pd, sizeof(exynos5_jpeg_pd), &s5p_device_jpeg); #endif #ifdef CONFIG_VIDEO_EXYNOS_JPEG_HX s3c_set_platdata(&exynos5_jpeg_hx_pd, sizeof(exynos5_jpeg_hx_pd), &exynos5_device_jpeg_hx); #endif }