Merge tag 'fbdev-updates-for-3.4' of git://github.com/schandinat/linux-2.6
Pull fbdev updates for 3.4 from Florian Tobias Schandinat: - drivers for Samsung Exynos MIPI DSI and display port - i740fb to support those old Intel chips - large updates to OMAP, viafb and sh_mobile_lcdcfb - some updates to s3c-fb and udlfb, few patches to others Fix up conflicts in drivers/video/udlfb.c due to Key Sievers' fix making it in twice. * tag 'fbdev-updates-for-3.4' of git://github.com/schandinat/linux-2.6: (156 commits) Revert "video:uvesafb: Fix oops that uvesafb try to execute NX-protected page" OMAPDSS: register dss drivers in module init video: pxafb: add clk_prepare/clk_unprepare calls fbdev: bfin_adv7393fb: Drop needless include fbdev: sh_mipi_dsi: add extra phyctrl for sh_mipi_dsi_info fbdev: remove dependency of FB_SH_MOBILE_MERAM from FB_SH_MOBILE_LCDC Revert "MAINTAINERS: add entry for exynos mipi display drivers" fbdev: da8xx: add support for SP10Q010 display fbdev: da8xx:: fix reporting of the display timing info drivers/video/pvr2fb.c: ensure arguments to request_irq and free_irq are compatible OMAPDSS: APPLY: fix clearing shadow dirty flag with manual update fbdev: sh_mobile_meram: Implement system suspend/resume fbdev: sh_mobile_meram: Remove unneeded sanity checks fbdev: sh_mobile_meram: Don't perform update in register operation arm: mach-shmobile: Constify sh_mobile_meram_cfg structures fbdev: sh_mobile_lcdc: Don't store copy of platform data fbdev: sh_mobile_meram: Remove unused sh_mobile_meram_icb_cfg fields arm: mach-shmobile: Don't set MERAM ICB numbers in platform data fbdev: sh_mobile_meram: Allocate ICBs automatically fbdev: sh_mobile_meram: Use genalloc to manage MERAM allocation ...
This commit is contained in:
@@ -318,8 +318,14 @@ static struct sh_mobile_meram_info mackerel_meram_info = {
|
||||
|
||||
static struct resource meram_resources[] = {
|
||||
[0] = {
|
||||
.name = "MERAM",
|
||||
.name = "regs",
|
||||
.start = 0xe8000000,
|
||||
.end = 0xe807ffff,
|
||||
.flags = IORESOURCE_MEM,
|
||||
},
|
||||
[1] = {
|
||||
.name = "meram",
|
||||
.start = 0xe8080000,
|
||||
.end = 0xe81fffff,
|
||||
.flags = IORESOURCE_MEM,
|
||||
},
|
||||
@@ -351,29 +357,23 @@ static struct fb_videomode mackerel_lcdc_modes[] = {
|
||||
},
|
||||
};
|
||||
|
||||
static int mackerel_set_brightness(void *board_data, int brightness)
|
||||
static int mackerel_set_brightness(int brightness)
|
||||
{
|
||||
gpio_set_value(GPIO_PORT31, brightness);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int mackerel_get_brightness(void *board_data)
|
||||
static int mackerel_get_brightness(void)
|
||||
{
|
||||
return gpio_get_value(GPIO_PORT31);
|
||||
}
|
||||
|
||||
static struct sh_mobile_meram_cfg lcd_meram_cfg = {
|
||||
static const struct sh_mobile_meram_cfg lcd_meram_cfg = {
|
||||
.icb[0] = {
|
||||
.marker_icb = 28,
|
||||
.cache_icb = 24,
|
||||
.meram_offset = 0x0,
|
||||
.meram_size = 0x40,
|
||||
},
|
||||
.icb[1] = {
|
||||
.marker_icb = 29,
|
||||
.cache_icb = 25,
|
||||
.meram_offset = 0x40,
|
||||
.meram_size = 0x40,
|
||||
},
|
||||
};
|
||||
@@ -384,20 +384,20 @@ static struct sh_mobile_lcdc_info lcdc_info = {
|
||||
.ch[0] = {
|
||||
.chan = LCDC_CHAN_MAINLCD,
|
||||
.fourcc = V4L2_PIX_FMT_RGB565,
|
||||
.lcd_cfg = mackerel_lcdc_modes,
|
||||
.num_cfg = ARRAY_SIZE(mackerel_lcdc_modes),
|
||||
.lcd_modes = mackerel_lcdc_modes,
|
||||
.num_modes = ARRAY_SIZE(mackerel_lcdc_modes),
|
||||
.interface_type = RGB24,
|
||||
.clock_divider = 3,
|
||||
.flags = 0,
|
||||
.lcd_size_cfg.width = 152,
|
||||
.lcd_size_cfg.height = 91,
|
||||
.board_cfg = {
|
||||
.set_brightness = mackerel_set_brightness,
|
||||
.get_brightness = mackerel_get_brightness,
|
||||
.panel_cfg = {
|
||||
.width = 152,
|
||||
.height = 91,
|
||||
},
|
||||
.bl_info = {
|
||||
.name = "sh_mobile_lcdc_bl",
|
||||
.max_brightness = 1,
|
||||
.set_brightness = mackerel_set_brightness,
|
||||
.get_brightness = mackerel_get_brightness,
|
||||
},
|
||||
.meram_cfg = &lcd_meram_cfg,
|
||||
}
|
||||
@@ -426,61 +426,8 @@ static struct platform_device lcdc_device = {
|
||||
},
|
||||
};
|
||||
|
||||
static struct sh_mobile_meram_cfg hdmi_meram_cfg = {
|
||||
.icb[0] = {
|
||||
.marker_icb = 30,
|
||||
.cache_icb = 26,
|
||||
.meram_offset = 0x80,
|
||||
.meram_size = 0x100,
|
||||
},
|
||||
.icb[1] = {
|
||||
.marker_icb = 31,
|
||||
.cache_icb = 27,
|
||||
.meram_offset = 0x180,
|
||||
.meram_size = 0x100,
|
||||
},
|
||||
};
|
||||
/* HDMI */
|
||||
static struct sh_mobile_lcdc_info hdmi_lcdc_info = {
|
||||
.meram_dev = &mackerel_meram_info,
|
||||
.clock_source = LCDC_CLK_EXTERNAL,
|
||||
.ch[0] = {
|
||||
.chan = LCDC_CHAN_MAINLCD,
|
||||
.fourcc = V4L2_PIX_FMT_RGB565,
|
||||
.interface_type = RGB24,
|
||||
.clock_divider = 1,
|
||||
.flags = LCDC_FLAGS_DWPOL,
|
||||
.meram_cfg = &hdmi_meram_cfg,
|
||||
}
|
||||
};
|
||||
|
||||
static struct resource hdmi_lcdc_resources[] = {
|
||||
[0] = {
|
||||
.name = "LCDC1",
|
||||
.start = 0xfe944000,
|
||||
.end = 0xfe947fff,
|
||||
.flags = IORESOURCE_MEM,
|
||||
},
|
||||
[1] = {
|
||||
.start = intcs_evt2irq(0x1780),
|
||||
.flags = IORESOURCE_IRQ,
|
||||
},
|
||||
};
|
||||
|
||||
static struct platform_device hdmi_lcdc_device = {
|
||||
.name = "sh_mobile_lcdc_fb",
|
||||
.num_resources = ARRAY_SIZE(hdmi_lcdc_resources),
|
||||
.resource = hdmi_lcdc_resources,
|
||||
.id = 1,
|
||||
.dev = {
|
||||
.platform_data = &hdmi_lcdc_info,
|
||||
.coherent_dma_mask = ~0,
|
||||
},
|
||||
};
|
||||
|
||||
static struct sh_mobile_hdmi_info hdmi_info = {
|
||||
.lcd_chan = &hdmi_lcdc_info.ch[0],
|
||||
.lcd_dev = &hdmi_lcdc_device.dev,
|
||||
.flags = HDMI_SND_SRC_SPDIF,
|
||||
};
|
||||
|
||||
@@ -508,6 +455,53 @@ static struct platform_device hdmi_device = {
|
||||
},
|
||||
};
|
||||
|
||||
static const struct sh_mobile_meram_cfg hdmi_meram_cfg = {
|
||||
.icb[0] = {
|
||||
.meram_size = 0x100,
|
||||
},
|
||||
.icb[1] = {
|
||||
.meram_size = 0x100,
|
||||
},
|
||||
};
|
||||
|
||||
static struct sh_mobile_lcdc_info hdmi_lcdc_info = {
|
||||
.meram_dev = &mackerel_meram_info,
|
||||
.clock_source = LCDC_CLK_EXTERNAL,
|
||||
.ch[0] = {
|
||||
.chan = LCDC_CHAN_MAINLCD,
|
||||
.fourcc = V4L2_PIX_FMT_RGB565,
|
||||
.interface_type = RGB24,
|
||||
.clock_divider = 1,
|
||||
.flags = LCDC_FLAGS_DWPOL,
|
||||
.meram_cfg = &hdmi_meram_cfg,
|
||||
.tx_dev = &hdmi_device,
|
||||
}
|
||||
};
|
||||
|
||||
static struct resource hdmi_lcdc_resources[] = {
|
||||
[0] = {
|
||||
.name = "LCDC1",
|
||||
.start = 0xfe944000,
|
||||
.end = 0xfe947fff,
|
||||
.flags = IORESOURCE_MEM,
|
||||
},
|
||||
[1] = {
|
||||
.start = intcs_evt2irq(0x1780),
|
||||
.flags = IORESOURCE_IRQ,
|
||||
},
|
||||
};
|
||||
|
||||
static struct platform_device hdmi_lcdc_device = {
|
||||
.name = "sh_mobile_lcdc_fb",
|
||||
.num_resources = ARRAY_SIZE(hdmi_lcdc_resources),
|
||||
.resource = hdmi_lcdc_resources,
|
||||
.id = 1,
|
||||
.dev = {
|
||||
.platform_data = &hdmi_lcdc_info,
|
||||
.coherent_dma_mask = ~0,
|
||||
},
|
||||
};
|
||||
|
||||
static struct platform_device fsi_hdmi_device = {
|
||||
.name = "sh_fsi2_b_hdmi",
|
||||
};
|
||||
@@ -1274,8 +1268,8 @@ static struct platform_device *mackerel_devices[] __initdata = {
|
||||
&sh_mmcif_device,
|
||||
&ceu_device,
|
||||
&mackerel_camera,
|
||||
&hdmi_lcdc_device,
|
||||
&hdmi_device,
|
||||
&hdmi_lcdc_device,
|
||||
&meram_device,
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user