[PATCH 1/2] Add support for Samsung S3C24x0 framebuffer.
Sascha Hauer
s.hauer at pengutronix.de
Tue May 17 14:03:16 EDT 2011
Hi Alex,
On Tue, May 17, 2011 at 10:44:00PM +0600, Alex Galakhov wrote:
> Heavily based on original Juergen Beisert's code.
>
> Signed-off-by: Alex Galakhov <agalakhov at gmail.com>
> ---
> arch/arm/mach-s3c24xx/include/mach/fb.h | 59 ++++
> drivers/video/Kconfig | 13 +
> drivers/video/Makefile | 1 +
> drivers/video/s3c.c | 451 +++++++++++++++++++++++++++++++
> 4 files changed, 524 insertions(+), 0 deletions(-)
> create mode 100644 arch/arm/mach-s3c24xx/include/mach/fb.h
> create mode 100644 drivers/video/s3c.c
The patch looks mostly fine, only small nitpicks follow.
>
> diff --git a/arch/arm/mach-s3c24xx/include/mach/fb.h b/arch/arm/mach-s3c24xx/include/mach/fb.h
> new file mode 100644
> index 0000000..05e013a
> --- /dev/null
> +++ b/arch/arm/mach-s3c24xx/include/mach/fb.h
> +
> +/**
> + * @param fb_info Framebuffer information
> + */
> +static void s3cfb_enable_controller(struct fb_info *fb_info)
> +{
> + struct s3cfb_info *fbi = fb_info->priv;
> + uint32_t con1;
> +
> + con1 = readl(fbi->base + LCDCON1);
> +
> + con1 |= ENVID;
> +
> + writel(con1, fbi->base + LCDCON1);
> +
> + if (fbi->enable)
> + (fbi->enable)(1);
unneeded brackets.
> +}
> +
> +/**
> + * @param fb_info Framebuffer information
> + */
> +static void s3cfb_disable_controller(struct fb_info *fb_info)
> +{
> + struct s3cfb_info *fbi = fb_info->priv;
> + uint32_t con1;
> +
> + if (fbi->enable)
> + (fbi->enable)(0);
ditto
> +
> + con1 = readl(fbi->base + LCDCON1);
> +
> + con1 &= ~ENVID;
> +
> + writel(con1, fbi->base + LCDCON1);
> +}
> +
> +/**
> + * Prepare the video hardware for a specified video mode
> + * @param fb_info Framebuffer information
> + * @param mode The video mode description to initialize
> + * @return 0 on success
> + */
> +static int s3cfb_activate_var(struct fb_info *fb_info)
> +{
> + struct s3cfb_info *fbi = fb_info->priv;
> + struct fb_videomode *mode = fb_info->mode;
> + unsigned size, hclk, div;
> + uint32_t con1, con2, con3, con4, con5 = 0;
> +
> + if (fbi->passive_display != 0) {
> + pr_err("Passive displays are currently not supported\n");
dev_err please (some more follow).
> +
> + switch (fb_info->bits_per_pixel) {
> +#if 0
> + /* TODO add CLUT based modes */
> + case 1:
> + con1 |= BPPMODE(8);
> + break;
> + case 2:
> + con1 |= BPPMODE(9);
> + break;
> + case 4:
> + con1 |= BPPMODE(10);
> + break;
> + case 8:
> + con1 |= BPPMODE(11);
> + break;
> +#endif
I think we can remove this dead code. I see no reason to add clut
support. If someone needs it, I think this missing snippet is the least
of his problems.
> +
> +/**
> + * The S3C244x LCD controller supports passive (CSTN/STN) and active (TFT) LC displays
> + *
> + * The driver itself currently supports only active TFT LC displays in the follwing manner:
> + *
> + * * Palletized colours
> + * - 1 bpp
> + * - 2 bpp
> + * - 4 bpp
> + * - 8 bpp
This doesn't seem to be true, right?
> + * * True colours
> + * - 16 bpp
> + * - 24 bpp
> + */
> --
> 1.7.4.1
>
>
> _______________________________________________
> barebox mailing list
> barebox at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox
>
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the barebox
mailing list