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

Subversion Repositories test_project

[/] [test_project/] [trunk/] [linux_sd_driver/] [drivers/] [char/] [lcd.h] - Blame information for rev 62

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 62 marcus.erl
/*
2
 * LED, LCD and Button panel driver for Cobalt
3
 *
4
 * This file is subject to the terms and conditions of the GNU General Public
5
 * License.  See the file "COPYING" in the main directory of this archive
6
 * for more details.
7
 *
8
 * Copyright (C) 1996, 1997 by Andrew Bose
9
 *
10
 * Linux kernel version history:
11
 *       March 2001: Ported from 2.0.34  by Liam Davies
12
 *
13
 */
14
 
15
// function headers
16
 
17
#define LCD_CHARS_PER_LINE 40
18
#define MAX_IDLE_TIME 120
19
 
20
struct lcd_display {
21
        unsigned buttons;
22
        int size1;
23
        int size2;
24
        unsigned char line1[LCD_CHARS_PER_LINE];
25
        unsigned char line2[LCD_CHARS_PER_LINE];
26
        unsigned char cursor_address;
27
        unsigned char character;
28
        unsigned char leds;
29
        unsigned char *RomImage;
30
};
31
 
32
 
33
 
34
#define LCD_DRIVER      "Cobalt LCD Driver v2.10"
35
 
36
#define LCD             "lcd: "
37
 
38
#define kLCD_IR         0x0F000000
39
#define kLCD_DR         0x0F000010
40
#define kGPI            0x0D000000
41
#define kLED            0x0C000000
42
 
43
#define kDD_R00         0x00
44
#define kDD_R01         0x27
45
#define kDD_R10         0x40
46
#define kDD_R11         0x67
47
 
48
#define kLCD_Addr       0x00000080
49
 
50
#define LCDTimeoutValue 0xfff
51
 
52
 
53
// Macros
54
 
55
#define LCDWriteData(x) outl((x << 24), kLCD_DR)
56
#define LCDWriteInst(x) outl((x << 24), kLCD_IR)
57
 
58
#define LCDReadData     (inl(kLCD_DR) >> 24)
59
#define LCDReadInst     (inl(kLCD_IR) >> 24)
60
 
61
#define GPIRead         (inl(kGPI) >> 24)
62
 
63
#define LEDSet(x)       outb((char)x, kLED)
64
 
65
#define WRITE_GAL(x,y)  outl(y, 0x04000000 | (x))
66
#define BusyCheck()     while ((LCDReadInst & 0x80) == 0x80)
67
 
68
 
69
 
70
/*
71
 * Function command codes for io_ctl.
72
 */
73
#define LCD_On                  1
74
#define LCD_Off                 2
75
#define LCD_Clear               3
76
#define LCD_Reset               4
77
#define LCD_Cursor_Left         5
78
#define LCD_Cursor_Right        6
79
#define LCD_Disp_Left           7
80
#define LCD_Disp_Right          8
81
#define LCD_Get_Cursor          9
82
#define LCD_Set_Cursor          10
83
#define LCD_Home                11
84
#define LCD_Read                12
85
#define LCD_Write               13
86
#define LCD_Cursor_Off          14
87
#define LCD_Cursor_On           15
88
#define LCD_Get_Cursor_Pos      16
89
#define LCD_Set_Cursor_Pos      17
90
#define LCD_Blink_Off           18
91
 
92
#define LED_Set                 40
93
#define LED_Bit_Set             41
94
#define LED_Bit_Clear           42
95
 
96
 
97
//  Button defs
98
#define BUTTON_Read             50
99
 
100
 
101
// Ethernet LINK check hackaroo
102
#define LINK_Check              90
103
#define LINK_Check_2            91
104
 
105
//  Button patterns  _B - single layer lcd boards
106
 
107
#define BUTTON_NONE               0x3F
108
#define BUTTON_NONE_B             0xFE
109
 
110
#define BUTTON_Left               0x3B
111
#define BUTTON_Left_B             0xFA
112
 
113
#define BUTTON_Right              0x37
114
#define BUTTON_Right_B            0xDE
115
 
116
#define BUTTON_Up                 0x2F
117
#define BUTTON_Up_B               0xF6
118
 
119
#define BUTTON_Down               0x1F
120
#define BUTTON_Down_B             0xEE
121
 
122
#define BUTTON_Next               0x3D
123
#define BUTTON_Next_B             0x7E
124
 
125
#define BUTTON_Enter              0x3E
126
#define BUTTON_Enter_B            0xBE
127
 
128
#define BUTTON_Reset_B            0xFC
129
 
130
 
131
// debounce constants
132
 
133
#define BUTTON_SENSE            160000
134
#define BUTTON_DEBOUNCE         5000
135
 
136
 
137
//  Galileo register stuff
138
 
139
#define kGal_DevBank2Cfg        0x1466DB33
140
#define kGal_DevBank2PReg       0x464
141
#define kGal_DevBank3Cfg        0x146FDFFB
142
#define kGal_DevBank3PReg       0x468
143
 
144
// Network
145
 
146
#define kIPADDR                 1
147
#define kNETMASK                2
148
#define kGATEWAY                3
149
#define kDNS                    4
150
 
151
#define kClassA                 5
152
#define kClassB                 6
153
#define kClassC                 7
154
 

powered by: WebSVN 2.1.0

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