Merge tag 'reset-for-v5.3' of git://git.pengutronix.de/git/pza/linux into arm/drivers
[sfrench/cifs-2.6.git] / include / linux / platform_data / video-nuc900fb.h
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /* linux/include/asm/arch-nuc900/fb.h
3  *
4  * Copyright (c) 2008 Nuvoton technology corporation
5  * All rights reserved.
6  *
7  * Changelog:
8  *
9  *   2008/08/26     vincen.zswan modify this file for LCD.
10  */
11
12 #ifndef __ASM_ARM_FB_H
13 #define __ASM_ARM_FB_H
14
15
16
17 /* LCD Controller Hardware Desc */
18 struct nuc900fb_hw {
19         unsigned int lcd_dccs;
20         unsigned int lcd_device_ctrl;
21         unsigned int lcd_mpulcd_cmd;
22         unsigned int lcd_int_cs;
23         unsigned int lcd_crtc_size;
24         unsigned int lcd_crtc_dend;
25         unsigned int lcd_crtc_hr;
26         unsigned int lcd_crtc_hsync;
27         unsigned int lcd_crtc_vr;
28         unsigned int lcd_va_baddr0;
29         unsigned int lcd_va_baddr1;
30         unsigned int lcd_va_fbctrl;
31         unsigned int lcd_va_scale;
32         unsigned int lcd_va_test;
33         unsigned int lcd_va_win;
34         unsigned int lcd_va_stuff;
35 };
36
37 /* LCD Display Description */
38 struct nuc900fb_display {
39         /* LCD Image type */
40         unsigned type;
41
42         /* LCD Screen Size */
43         unsigned short width;
44         unsigned short height;
45
46         /* LCD Screen Info */
47         unsigned short xres;
48         unsigned short yres;
49         unsigned short bpp;
50
51         unsigned long pixclock;
52         unsigned short left_margin;
53         unsigned short right_margin;
54         unsigned short hsync_len;
55         unsigned short upper_margin;
56         unsigned short lower_margin;
57         unsigned short vsync_len;
58
59         /* hardware special register value */
60         unsigned int dccs;
61         unsigned int devctl;
62         unsigned int fbctrl;
63         unsigned int scale;
64 };
65
66 struct nuc900fb_mach_info {
67         struct nuc900fb_display *displays;
68         unsigned num_displays;
69         unsigned default_display;
70         /* GPIO Setting  Info */
71         unsigned gpio_dir;
72         unsigned gpio_dir_mask;
73         unsigned gpio_data;
74         unsigned gpio_data_mask;
75 };
76
77 extern void __init nuc900_fb_set_platdata(struct nuc900fb_mach_info *);
78
79 #endif /* __ASM_ARM_FB_H */