File: //usr/src/linux-headers-5.4.0-52/arch/arm/plat-samsung/include/plat/fb-s3c2410.h
/* SPDX-License-Identifier: GPL-2.0 */
/*
 * Copyright (c) 2004 Arnaud Patard <arnaud.patard@rtp-net.org>
 *
 * Inspired by pxafb.h
*/
#ifndef __ASM_PLAT_FB_S3C2410_H
#define __ASM_PLAT_FB_S3C2410_H __FILE__
struct s3c2410fb_hw {
	unsigned long	lcdcon1;
	unsigned long	lcdcon2;
	unsigned long	lcdcon3;
	unsigned long	lcdcon4;
	unsigned long	lcdcon5;
};
/* LCD description */
struct s3c2410fb_display {
	/* LCD type */
	unsigned type;
	/* Screen size */
	unsigned short width;
	unsigned short height;
	/* Screen info */
	unsigned short xres;
	unsigned short yres;
	unsigned short bpp;
	unsigned pixclock;		/* pixclock in picoseconds */
	unsigned short left_margin;  /* value in pixels (TFT) or HCLKs (STN) */
	unsigned short right_margin; /* value in pixels (TFT) or HCLKs (STN) */
	unsigned short hsync_len;    /* value in pixels (TFT) or HCLKs (STN) */
	unsigned short upper_margin;	/* value in lines (TFT) or 0 (STN) */
	unsigned short lower_margin;	/* value in lines (TFT) or 0 (STN) */
	unsigned short vsync_len;	/* value in lines (TFT) or 0 (STN) */
	/* lcd configuration registers */
	unsigned long	lcdcon5;
};
struct s3c2410fb_mach_info {
	struct s3c2410fb_display *displays;	/* attached displays info */
	unsigned num_displays;			/* number of defined displays */
	unsigned default_display;
	/* GPIOs */
	unsigned long	gpcup;
	unsigned long	gpcup_mask;
	unsigned long	gpccon;
	unsigned long	gpccon_mask;
	unsigned long	gpdup;
	unsigned long	gpdup_mask;
	unsigned long	gpdcon;
	unsigned long	gpdcon_mask;
	/* lpc3600 control register */
	unsigned long	lpcsel;
};
extern void __init s3c24xx_fb_set_platdata(struct s3c2410fb_mach_info *);
#endif /* __ASM_PLAT_FB_S3C2410_H */