void __init exynos5_manta_display_init(void) { struct resource *res; /* LCD_EN , XMMC2CDN => GPC2_2 */ gpio_request_one(GPIO_LCD_EN, GPIOF_OUT_INIT_LOW, "LCD_EN"); /* LED_BACKLIGHT_RESET: XCI1RGB_5 => GPG0_5 */ gpio_request_one(GPIO_LED_BL_RST, GPIOF_OUT_INIT_LOW, "LED_BL_RST"); s5p_gpio_set_pd_cfg(GPIO_LED_BL_RST, S5P_GPIO_PD_PREV_STATE); s5p_gpio_set_pd_pull(GPIO_LED_BL_RST, S5P_GPIO_PD_UPDOWN_DISABLE); gpio_request_one(GPIO_LCD_PWM_IN_18V, GPIOF_OUT_INIT_LOW, "PWM_IN_18V"); s5p_gpio_set_pd_cfg(GPIO_LCD_PWM_IN_18V, S5P_GPIO_PD_INPUT); s5p_gpio_set_pd_pull(GPIO_LCD_PWM_IN_18V, S5P_GPIO_PD_UP_ENABLE); gpio_free(GPIO_LCD_PWM_IN_18V); gpio_request_one(GPIO_APS_EN_18V, GPIOF_OUT_INIT_LOW, "APS_EN_18V"); s5p_gpio_set_pd_cfg(GPIO_APS_EN_18V, S5P_GPIO_PD_INPUT); s5p_gpio_set_pd_pull(GPIO_APS_EN_18V, S5P_GPIO_PD_UP_ENABLE); gpio_export(GPIO_APS_EN_18V, true); samsung_bl_set(&manta_bl_gpio_info, &manta_bl_data); s5p_fimd1_set_platdata(&manta_lcd1_pdata); dev_set_name(&s5p_device_fimd1.dev, "exynos5-fb.1"); clk_add_alias("lcd", "exynos5-fb.1", "fimd", &s5p_device_fimd1.dev); s5p_dp_set_platdata(&manta_dp_data); gpio_request_one(GPIO_HDMI_HPD, GPIOF_IN, "HDMI_HPD"); /* HDMI Companion DC/DC converter and HPD circuitry */ gpio_request_one(GPIO_HDMI_DCDC_EN, GPIOF_OUT_INIT_HIGH, "HDMI_DCDC_EN"); /* HDMI Companion level shifters and LDO */ gpio_request_one(GPIO_HDMI_LS_EN, GPIOF_OUT_INIT_HIGH, "HDMI_LS_EN"); s5p_hdmi_set_platdata(&hdmi_platdata); dev_set_name(&s5p_device_hdmi.dev, "exynos5-hdmi"); clk_add_alias("hdmi", "s5p-hdmi", "hdmi", &s5p_device_hdmi.dev); platform_set_sysmmu(&SYSMMU_PLATDEV(tv).dev, &s5p_device_mixer.dev); s5p_i2c_hdmiphy_set_platdata(NULL); platform_add_devices(manta_display_devices, ARRAY_SIZE(manta_display_devices)); exynos5_fimd1_setup_clock(&s5p_device_fimd1.dev, "sclk_fimd", "sclk_vpll", 268 * MHZ); res = platform_get_resource(&s5p_device_fimd1, IORESOURCE_MEM, 1); if (res) { res->start = manta_bootloader_fb_start; res->end = res->start + manta_bootloader_fb_size - 1; pr_info("bootloader fb located at %8X-%8X\n", res->start, res->end); } else { pr_err("failed to find bootloader fb resource\n"); } }
static void __init exynos4_sysmmu_init(void) { #ifdef CONFIG_S5P_DEV_FIMG2D platform_set_sysmmu(&SYSMMU_PLATDEV(2d).dev, &s5p_device_fimg2d.dev); #endif #ifdef CONFIG_S5P_DEV_MFC platform_set_sysmmu(&SYSMMU_PLATDEV(mfc_lr).dev, &s5p_device_mfc.dev); #endif #ifdef CONFIG_S5P_DEV_FIMC0 platform_set_sysmmu(&SYSMMU_PLATDEV(fimc0).dev, &s5p_device_fimc0.dev); #endif #ifdef CONFIG_S5P_DEV_FIMC1 platform_set_sysmmu(&SYSMMU_PLATDEV(fimc1).dev, &s5p_device_fimc1.dev); #endif #ifdef CONFIG_S5P_DEV_FIMC2 platform_set_sysmmu(&SYSMMU_PLATDEV(fimc2).dev, &s5p_device_fimc2.dev); #endif #ifdef CONFIG_S5P_DEV_FIMC3 platform_set_sysmmu(&SYSMMU_PLATDEV(fimc3).dev, &s5p_device_fimc3.dev); #endif #ifdef CONFIG_S5P_DEV_TV platform_set_sysmmu(&SYSMMU_PLATDEV(tv).dev, &s5p_device_mixer.dev); #endif #if defined(CONFIG_EXYNOS5_DEV_JPEG) || defined(CONFIG_S5P_DEV_JPEG) platform_set_sysmmu(&SYSMMU_PLATDEV(jpeg).dev, &s5p_device_jpeg.dev); #endif #ifdef CONFIG_S5P_DEV_FIMD0 platform_set_sysmmu(&SYSMMU_PLATDEV(fimd0).dev, &s5p_device_fimd0.dev); #endif #ifdef CONFIG_EXYNOS4_DEV_FIMC_IS platform_set_sysmmu(&SYSMMU_PLATDEV(isp0).dev, &exynos4_device_fimc_is.dev); platform_set_sysmmu(&SYSMMU_PLATDEV(isp1).dev, &exynos4_device_fimc_is.dev); #endif }
static void __init exynos5_sysmmu_init(void) { #ifdef CONFIG_EXYNOS5_DEV_JPEG_HX platform_set_sysmmu(&SYSMMU_PLATDEV(mjpeg).dev, &exynos5_device_jpeg_hx.dev); #endif #if defined(CONFIG_EXYNOS5_DEV_JPEG) || defined(CONFIG_S5P_DEV_JPEG) platform_set_sysmmu(&SYSMMU_PLATDEV(jpeg).dev, &s5p_device_jpeg.dev); #endif #ifdef CONFIG_S5P_DEV_MFC platform_set_sysmmu(&SYSMMU_PLATDEV(mfc_lr).dev, &s5p_device_mfc.dev); #endif #ifdef CONFIG_S5P_DEV_TV platform_set_sysmmu(&SYSMMU_PLATDEV(tv).dev, &s5p_device_mixer.dev); #endif #ifdef CONFIG_EXYNOS5_DEV_GSC platform_set_sysmmu(&SYSMMU_PLATDEV(gsc0).dev, &exynos5_device_gsc0.dev); platform_set_sysmmu(&SYSMMU_PLATDEV(gsc1).dev, &exynos5_device_gsc1.dev); platform_set_sysmmu(&SYSMMU_PLATDEV(gsc2).dev, &exynos5_device_gsc2.dev); platform_set_sysmmu(&SYSMMU_PLATDEV(gsc3).dev, &exynos5_device_gsc3.dev); #endif #ifdef CONFIG_EXYNOS5_DEV_SCALER platform_set_sysmmu(&SYSMMU_PLATDEV(scaler).dev, &exynos5_device_scaler.dev); #endif #ifdef CONFIG_EXYNOS_DEV_ROTATOR platform_set_sysmmu(&SYSMMU_PLATDEV(rot).dev, &exynos5_device_rotator.dev); #endif #if defined(CONFIG_S5P_DEV_FIMG2D) && defined(CONFIG_VIDEO_EXYNOS_FIMG2D) platform_set_sysmmu(&SYSMMU_PLATDEV(2d).dev, &s5p_device_fimg2d.dev); #endif #ifdef CONFIG_EXYNOS5_DEV_FIMC_IS platform_set_sysmmu(&SYSMMU_PLATDEV(isp0).dev, &exynos5_device_fimc_is.dev); platform_set_sysmmu(&SYSMMU_PLATDEV(isp1).dev, &exynos5_device_fimc_is.dev); platform_set_sysmmu(&SYSMMU_PLATDEV(isp2).dev, &exynos5_device_fimc_is.dev); platform_set_sysmmu(&SYSMMU_PLATDEV(isp3).dev, &exynos5_device_fimc_is.dev); #endif #ifdef CONFIG_VIDEO_EXYNOS5_FIMC_IS platform_set_sysmmu(&SYSMMU_PLATDEV(camif0).dev, &exynos5_device_fimc_is.dev); platform_set_sysmmu(&SYSMMU_PLATDEV(camif1).dev, &exynos5_device_fimc_is.dev); platform_set_sysmmu(&SYSMMU_PLATDEV(camif2).dev, &exynos5_device_fimc_is.dev); #endif /* * If FIMC-LITEs are needed to be controlled by exynos5_device_fimc_is * in FIMC-IS driver and by exynos_device_flite0/1/2 in FIMC-LITE * driver, the following restrictions must be kept: * - iommu_attach_device() call against exynos5_device_fimc_is, * exynos_device_flite0, exynos_device_flite1 and exynos_device_flite2 * is mutually exclusive. * - platform_set_sysmmu() call against exynos5_device_fimc_is must be * prior to the call against exynos_device_flite0/1/2. */ #ifdef CONFIG_VIDEO_EXYNOS_FIMC_LITE platform_set_sysmmu(&SYSMMU_PLATDEV(camif0).dev, &exynos_device_flite0.dev); platform_set_sysmmu(&SYSMMU_PLATDEV(camif1).dev, &exynos_device_flite1.dev); platform_set_sysmmu(&SYSMMU_PLATDEV(camif2).dev, &exynos_device_flite2.dev); #endif #ifdef CONFIG_S5P_DEV_FIMD0 platform_set_sysmmu(&SYSMMU_PLATDEV(fimd0).dev, &s5p_device_fimd0.dev); #endif #ifdef CONFIG_S5P_DEV_FIMD1 platform_set_sysmmu(&SYSMMU_PLATDEV(fimd1).dev, &s5p_device_fimd1.dev); #endif }
static void __init manta_camera_sysmmu_init(void) { platform_set_sysmmu(&SYSMMU_PLATDEV(isp).dev, &exynos5_device_fimc_is.dev); }