drivers/video/fbdev/au1200fb.h

Source file repositories/reference/linux-study-clean/drivers/video/fbdev/au1200fb.h

File Facts

System
Linux kernel
Corpus path
drivers/video/fbdev/au1200fb.h
Extension
.h
Size
9352 bytes
Lines
287
Domain
Driver Families
Bucket
drivers/video
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

struct au1200_lcd {
	volatile uint32	reserved0;
	volatile uint32	screen;
	volatile uint32	backcolor;
	volatile uint32	horztiming;
	volatile uint32	verttiming;
	volatile uint32	clkcontrol;
	volatile uint32	pwmdiv;
	volatile uint32	pwmhi;
	volatile uint32	reserved1;
	volatile uint32	winenable;
	volatile uint32	colorkey;
	volatile uint32	colorkeymsk;
	struct
	{
		volatile uint32	cursorctrl;
		volatile uint32	cursorpos;
		volatile uint32	cursorcolor0;
		volatile uint32	cursorcolor1;
		volatile uint32	cursorcolor2;
		uint32	cursorcolor3;
	} hwc;
	volatile uint32	intstatus;
	volatile uint32	intenable;
	volatile uint32	outmask;
	volatile uint32	fifoctrl;
	uint32	reserved2[(0x0100-0x0058)/4];
	struct
	{
		volatile uint32	winctrl0;
		volatile uint32	winctrl1;
		volatile uint32	winctrl2;
		volatile uint32	winbuf0;
		volatile uint32	winbuf1;
		volatile uint32	winbufctrl;
		uint32	winreserved0;
		uint32	winreserved1;
	} window[4];

	uint32	reserved3[(0x0400-0x0180)/4];

	volatile uint32	palette[(0x0800-0x0400)/4];

	volatile uint8	cursorpattern[256];
};

/* lcd_screen */
#define LCD_SCREEN_SEN		(1<<31)
#define LCD_SCREEN_SX		(0x07FF<<19)
#define LCD_SCREEN_SY		(0x07FF<< 8)
#define LCD_SCREEN_SWP		(1<<7)
#define LCD_SCREEN_SWD		(1<<6)
#define LCD_SCREEN_PT		(7<<0)
#define LCD_SCREEN_PT_TFT	(0<<0)
#define LCD_SCREEN_SX_N(WIDTH)	((WIDTH-1)<<19)
#define LCD_SCREEN_SY_N(HEIGHT)	((HEIGHT-1)<<8)
#define LCD_SCREEN_PT_CSTN	(1<<0)
#define LCD_SCREEN_PT_CDSTN	(2<<0)
#define LCD_SCREEN_PT_M8STN	(3<<0)
#define LCD_SCREEN_PT_M4STN	(4<<0)

/* lcd_backcolor */
#define LCD_BACKCOLOR_SBGR		(0xFF<<16)
#define LCD_BACKCOLOR_SBGG		(0xFF<<8)
#define LCD_BACKCOLOR_SBGB		(0xFF<<0)
#define LCD_BACKCOLOR_SBGR_N(N)	((N)<<16)
#define LCD_BACKCOLOR_SBGG_N(N)	((N)<<8)
#define LCD_BACKCOLOR_SBGB_N(N)	((N)<<0)

/* lcd_winenable */
#define LCD_WINENABLE_WEN3		(1<<3)
#define LCD_WINENABLE_WEN2		(1<<2)
#define LCD_WINENABLE_WEN1		(1<<1)
#define LCD_WINENABLE_WEN0		(1<<0)

/* lcd_colorkey */
#define LCD_COLORKEY_CKR		(0xFF<<16)
#define LCD_COLORKEY_CKG		(0xFF<<8)
#define LCD_COLORKEY_CKB		(0xFF<<0)
#define LCD_COLORKEY_CKR_N(N)	((N)<<16)
#define LCD_COLORKEY_CKG_N(N)	((N)<<8)
#define LCD_COLORKEY_CKB_N(N)	((N)<<0)

/* lcd_colorkeymsk */
#define LCD_COLORKEYMSK_CKMR		(0xFF<<16)
#define LCD_COLORKEYMSK_CKMG		(0xFF<<8)
#define LCD_COLORKEYMSK_CKMB		(0xFF<<0)
#define LCD_COLORKEYMSK_CKMR_N(N)	((N)<<16)
#define LCD_COLORKEYMSK_CKMG_N(N)	((N)<<8)
#define LCD_COLORKEYMSK_CKMB_N(N)	((N)<<0)

Annotation

Implementation Notes