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 + -
显示快捷键?