lcd.h

来自「Linux Kernel 2.6.9 for OMAP1710」· C头文件 代码 · 共 185 行

H
185
字号
/* * LED, LCD and Button panel driver for Cobalt * * This file is subject to the terms and conditions of the GNU General Public * License.  See the file "COPYING" in the main directory of this archive * for more details. * * Copyright (C) 1996, 1997 by Andrew Bose * * Linux kernel version history: *       March 2001: Ported from 2.0.34  by Liam Davies * */// function headersstatic int dqpoll(volatile unsigned long, volatile unsigned char );static int timeout(volatile unsigned long);#define LCD_CHARS_PER_LINE 40#define FLASH_SIZE 524288#define MAX_IDLE_TIME 120struct lcd_display {        unsigned long buttons;        int size1;        int size2;        unsigned char line1[LCD_CHARS_PER_LINE];        unsigned char line2[LCD_CHARS_PER_LINE];        unsigned char cursor_address;        unsigned char character;        unsigned char leds;        unsigned char *RomImage;};#define LCD_DRIVER	"Cobalt LCD Driver v2.10"#define kLCD_IR		0x0F000000#define kLCD_DR		0x0F000010#define kGPI		0x0D000000#define kLED		0x0C000000#define kDD_R00         0x00#define kDD_R01         0x27#define kDD_R10         0x40#define kDD_R11         0x67#define kLCD_Addr       0x00000080#define LCDTimeoutValue	0xfff// Flash definitions AMD 29F040#define kFlashBase	0x0FC00000#define kFlash_Addr1    0x5555#define kFlash_Addr2    0x2AAA#define kFlash_Data1    0xAA#define kFlash_Data2    0x55#define kFlash_Prog     0xA0#define kFlash_Erase3   0x80#define kFlash_Erase6   0x10#define kFlash_Read     0xF0#define kFlash_ID       0x90#define kFlash_VenAddr  0x00#define kFlash_DevAddr  0x01#define kFlash_VenID    0x01#define kFlash_DevID    0xA4    // 29F040//#define kFlash_DevID  0xAD    // 29F016// Macros#define LCDWriteData(x)	outl((x << 24), kLCD_DR)#define LCDWriteInst(x)	outl((x << 24), kLCD_IR)#define LCDReadData	(inl(kLCD_DR) >> 24)#define LCDReadInst	(inl(kLCD_IR) >> 24)#define GPIRead		(inl(kGPI) >> 24)#define LEDSet(x)	outb((char)x, kLED)#define WRITE_GAL(x,y)	outl(y, 0x04000000 | (x))#define BusyCheck()	while ((LCDReadInst & 0x80) == 0x80)#define WRITE_FLASH(x,y) outb((char)y, kFlashBase | (x))#define READ_FLASH(x)	(inb(kFlashBase | (x)))/* * Function command codes for io_ctl. */#define LCD_On			1#define LCD_Off			2#define LCD_Clear		3#define LCD_Reset		4#define LCD_Cursor_Left		5#define LCD_Cursor_Right	6#define LCD_Disp_Left		7#define LCD_Disp_Right		8#define LCD_Get_Cursor		9#define LCD_Set_Cursor		10#define LCD_Home		11#define LCD_Read		12#define LCD_Write		13#define LCD_Cursor_Off		14#define LCD_Cursor_On		15#define LCD_Get_Cursor_Pos	16#define LCD_Set_Cursor_Pos	17#define LCD_Blink_Off           18#define LED_Set			40#define LED_Bit_Set		41#define LED_Bit_Clear		42//  Button defs#define BUTTON_Read             50//  Flash command codes#define FLASH_Erase		60#define FLASH_Burn		61#define FLASH_Read		62// Ethernet LINK check hackaroo#define LINK_Check              90#define LINK_Check_2		91//  Button patterns  _B - single layer lcd boards#define BUTTON_NONE               0x3F#define BUTTON_NONE_B             0xFE#define BUTTON_Left               0x3B#define BUTTON_Left_B             0xFA#define BUTTON_Right              0x37#define BUTTON_Right_B            0xDE#define BUTTON_Up                 0x2F#define BUTTON_Up_B               0xF6#define BUTTON_Down               0x1F#define BUTTON_Down_B             0xEE#define BUTTON_Next               0x3D#define BUTTON_Next_B             0x7E#define BUTTON_Enter              0x3E#define BUTTON_Enter_B            0xBE#define BUTTON_Reset_B            0xFC// debounce constants#define BUTTON_SENSE            160000#define BUTTON_DEBOUNCE		5000//  Galileo register stuff#define kGal_DevBank2Cfg        0x1466DB33#define kGal_DevBank2PReg       0x464#define kGal_DevBank3Cfg        0x146FDFFB#define kGal_DevBank3PReg       0x468// Network#define kIPADDR			1#define kNETMASK		2#define kGATEWAY		3#define kDNS			4#define kClassA			5#define kClassB			6#define kClassC			7

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?