lcd.c 소스 내용중 일부분 내용을 잘모르겠습니다.
커널 소스 중에 drivers/char/lcd.c 파일 내용중에 lcd 드라이버 초기화 하는 부분입니다.
이중 이해 되지 아는 부분이 있어서요..
static int lcd_init(void)
{
unsigned long data;
misc_register(&lcd_dev);
udelay(150);
data = LCDReadData;
if ((data & 0x000000FF) == (0x00)) {
lcd_present = 0;
printk("LCD Not Present\n");
} else {
lcd_present = 1;
WRITE_GAL(kGal_DevBank2PReg, kGal_DevBank2Cfg);
WRITE_GAL(kGal_DevBank3PReg, kGal_DevBank3Cfg);
}
return 0;
}
이 소스중에
data = LCDReadData;
부분과
WRITE_GAL(kGal_DevBank2PReg, kGal_DevBank2Cfg);
WRITE_GAL(kGal_DevBank3PReg, kGal_DevBank3Cfg);
부분이 이해가 가지 않습니다.
LCDReadData 는
#define kLCD_DR 0x0F000010
#define LCDReadData (inl(kLCD_DR) >> 24)
이렇게 define 되어 있구요..
WRITE_GAL(kGal_DevBank2PReg, kGal_DevBank2Cfg);는
#define kGal_DevBank2PReg 0x464
#define kGal_DevBank2Cfg 0x1466DB33
#define WRITE_GAL(x,y) outl(y, 0x04000000 | (x))
이렇게 define 이 되어있는 각 메모리 번지가 의미하는 것과 무엇을 초기화 해주는지 .. 아시는분 답변좀 부탁드립니다.
너무나 궁금해서 .... ㅡㅡ; 그럼 부탁드립니다. 고수님들..
댓글 달기