1 /* SPDX-License-Identifier: GPL-2.0+ */
3 * atmel_lcd.h - Atmel LCD Controller structures
12 #include <linux/types.h>
15 * struct atmel_lcd_plat - platform data for Atmel LCDs with driver model
17 * @timing_index: Index of LCD timing to use in device tree node
19 struct atmel_lcd_plat {
23 typedef struct vidinfo {
24 ushort vl_col; /* Number of columns (i.e. 640) */
25 ushort vl_row; /* Number of rows (i.e. 480) */
26 ushort vl_rot; /* Rotation of Display (0, 1, 2, 3) */
27 u_long vl_clk; /* pixel clock in ps */
29 /* LCD configuration register */
30 u_long vl_sync; /* Horizontal / vertical sync */
31 u_long vl_bpix; /* Bits per pixel, 0 = 1, 1 = 2, 2 = 4, 3 = 8, 4 = 16 */
32 u_long vl_tft; /* 0 = passive, 1 = TFT */
33 u_long vl_cont_pol_low; /* contrast polarity is low */
34 u_long vl_clk_pol; /* clock polarity */
36 /* Horizontal control register. */
37 u_long vl_hsync_len; /* Length of horizontal sync */
38 u_long vl_left_margin; /* Time from sync to picture */
39 u_long vl_right_margin; /* Time from picture to sync */
41 /* Vertical control register. */
42 u_long vl_vsync_len; /* Length of vertical sync */
43 u_long vl_upper_margin; /* Time from sync to picture */
44 u_long vl_lower_margin; /* Time from picture to sync */
46 u_long mmio; /* Memory mapped registers */
55 void atmel_logo_info(vidinfo_t *info);
56 void microchip_logo_info(vidinfo_t *info);