Blame view

include/pxa_lcd.h 2.21 KB
baaa7dd70   Nikita Kiryanov   lcd: move platfor...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
  /*
   * pxa_lcd.h - PXA LCD Controller structures
   *
   * (C) Copyright 2001
   * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
   *
   * SPDX-License-Identifier:	GPL-2.0+
   */
  
  #ifndef _PXA_LCD_H_
  #define _PXA_LCD_H_
  
  /*
   * PXA LCD DMA descriptor
   */
  struct pxafb_dma_descriptor {
  	u_long	fdadr;		/* Frame descriptor address register */
  	u_long	fsadr;		/* Frame source address register */
  	u_long	fidr;		/* Frame ID register */
  	u_long	ldcmd;		/* Command register */
  };
  
  /*
   * PXA LCD info
   */
  struct pxafb_info {
  	/* Misc registers */
  	u_long	reg_lccr3;
  	u_long	reg_lccr2;
  	u_long	reg_lccr1;
  	u_long	reg_lccr0;
  	u_long	fdadr0;
  	u_long	fdadr1;
  
  	/* DMA descriptors */
  	struct	pxafb_dma_descriptor *dmadesc_fblow;
  	struct	pxafb_dma_descriptor *dmadesc_fbhigh;
  	struct	pxafb_dma_descriptor *dmadesc_palette;
  
  	u_long	screen;		/* physical address of frame buffer */
  	u_long	palette;	/* physical address of palette memory */
  	u_int	palette_size;
  };
  
  /*
   * LCD controller stucture for PXA CPU
   */
  typedef struct vidinfo {
  	ushort	vl_col;		/* Number of columns (i.e. 640) */
  	ushort	vl_row;		/* Number of rows (i.e. 480) */
604c7d4a5   Hannes Petermaier   common/lcd_consol...
51
  	ushort  vl_rot;		/* Rotation of Display (0, 1, 2, 3) */
baaa7dd70   Nikita Kiryanov   lcd: move platfor...
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
  	ushort	vl_width;	/* Width of display area in millimeters */
  	ushort	vl_height;	/* Height of display area in millimeters */
  
  	/* LCD configuration register */
  	u_char	vl_clkp;	/* Clock polarity */
  	u_char	vl_oep;		/* Output Enable polarity */
  	u_char	vl_hsp;		/* Horizontal Sync polarity */
  	u_char	vl_vsp;		/* Vertical Sync polarity */
  	u_char	vl_dp;		/* Data polarity */
  	u_char	vl_bpix;/* Bits per pixel, 0 = 1, 1 = 2, 2 = 4, 3 = 8, 4 = 16 */
  	u_char	vl_lbw;		/* LCD Bus width, 0 = 4, 1 = 8 */
  	u_char	vl_splt;/* Split display, 0 = single-scan, 1 = dual-scan */
  	u_char	vl_clor;	/* Color, 0 = mono, 1 = color */
  	u_char	vl_tft;		/* 0 = passive, 1 = TFT */
  
  	/* Horizontal control register. Timing from data sheet */
  	ushort	vl_hpw;		/* Horz sync pulse width */
  	u_char	vl_blw;		/* Wait before of line */
  	u_char	vl_elw;		/* Wait end of line */
  
  	/* Vertical control register. */
  	u_char	vl_vpw;		/* Vertical sync pulse width */
  	u_char	vl_bfw;		/* Wait before of frame */
  	u_char	vl_efw;		/* Wait end of frame */
  
  	/* PXA LCD controller params */
  	struct	pxafb_info pxa;
  } vidinfo_t;
  
  #endif