OpenCores
URL https://opencores.org/ocsvn/test_project/test_project/trunk

Subversion Repositories test_project

[/] [test_project/] [trunk/] [linux_sd_driver/] [drivers/] [video/] [sa1100fb.h] - Blame information for rev 62

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 62 marcus.erl
/*
2
 * linux/drivers/video/sa1100fb.h
3
 *    -- StrongARM 1100 LCD Controller Frame Buffer Device
4
 *
5
 *  Copyright (C) 1999 Eric A. Thomas
6
 *   Based on acornfb.c Copyright (C) Russell King.
7
 *
8
 * This file is subject to the terms and conditions of the GNU General Public
9
 * License.  See the file COPYING in the main directory of this archive
10
 * for more details.
11
 */
12
 
13
/*
14
 * These are the bitfields for each
15
 * display depth that we support.
16
 */
17
struct sa1100fb_rgb {
18
        struct fb_bitfield      red;
19
        struct fb_bitfield      green;
20
        struct fb_bitfield      blue;
21
        struct fb_bitfield      transp;
22
};
23
 
24
/*
25
 * This structure describes the machine which we are running on.
26
 */
27
struct sa1100fb_mach_info {
28
        u_long          pixclock;
29
 
30
        u_short         xres;
31
        u_short         yres;
32
 
33
        u_char          bpp;
34
        u_char          hsync_len;
35
        u_char          left_margin;
36
        u_char          right_margin;
37
 
38
        u_char          vsync_len;
39
        u_char          upper_margin;
40
        u_char          lower_margin;
41
        u_char          sync;
42
 
43
        u_int           cmap_greyscale:1,
44
                        cmap_inverse:1,
45
                        cmap_static:1,
46
                        unused:29;
47
 
48
        u_int           lccr0;
49
        u_int           lccr3;
50
};
51
 
52
/* Shadows for LCD controller registers */
53
struct sa1100fb_lcd_reg {
54
        unsigned long lccr0;
55
        unsigned long lccr1;
56
        unsigned long lccr2;
57
        unsigned long lccr3;
58
};
59
 
60
#define RGB_8   (0)
61
#define RGB_16  (1)
62
#define NR_RGB  2
63
 
64
struct sa1100fb_info {
65
        struct fb_info          fb;
66
        struct device           *dev;
67
        struct sa1100fb_rgb     *rgb[NR_RGB];
68
 
69
        u_int                   max_bpp;
70
        u_int                   max_xres;
71
        u_int                   max_yres;
72
 
73
        /*
74
         * These are the addresses we mapped
75
         * the framebuffer memory region to.
76
         */
77
        dma_addr_t              map_dma;
78
        u_char *                map_cpu;
79
        u_int                   map_size;
80
 
81
        u_char *                screen_cpu;
82
        dma_addr_t              screen_dma;
83
        u16 *                   palette_cpu;
84
        dma_addr_t              palette_dma;
85
        u_int                   palette_size;
86
 
87
        dma_addr_t              dbar1;
88
        dma_addr_t              dbar2;
89
 
90
        u_int                   lccr0;
91
        u_int                   lccr3;
92
        u_int                   cmap_inverse:1,
93
                                cmap_static:1,
94
                                unused:30;
95
 
96
        u_int                   reg_lccr0;
97
        u_int                   reg_lccr1;
98
        u_int                   reg_lccr2;
99
        u_int                   reg_lccr3;
100
 
101
        volatile u_char         state;
102
        volatile u_char         task_state;
103
        struct semaphore        ctrlr_sem;
104
        wait_queue_head_t       ctrlr_wait;
105
        struct work_struct      task;
106
 
107
#ifdef CONFIG_CPU_FREQ
108
        struct notifier_block   freq_transition;
109
        struct notifier_block   freq_policy;
110
#endif
111
};
112
 
113
#define TO_INF(ptr,member)      container_of(ptr,struct sa1100fb_info,member)
114
 
115
#define SA1100_PALETTE_MODE_VAL(bpp)    (((bpp) & 0x018) << 9)
116
 
117
/*
118
 * These are the actions for set_ctrlr_state
119
 */
120
#define C_DISABLE               (0)
121
#define C_ENABLE                (1)
122
#define C_DISABLE_CLKCHANGE     (2)
123
#define C_ENABLE_CLKCHANGE      (3)
124
#define C_REENABLE              (4)
125
#define C_DISABLE_PM            (5)
126
#define C_ENABLE_PM             (6)
127
#define C_STARTUP               (7)
128
 
129
#define SA1100_NAME     "SA1100"
130
 
131
/*
132
 *  Debug macros
133
 */
134
#if DEBUG
135
#  define DPRINTK(fmt, args...) printk("%s: " fmt, __FUNCTION__ , ## args)
136
#else
137
#  define DPRINTK(fmt, args...)
138
#endif
139
 
140
/*
141
 * Minimum X and Y resolutions
142
 */
143
#define MIN_XRES        64
144
#define MIN_YRES        64
145
 

powered by: WebSVN 2.1.0

© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.