---===== 작업 환경 =====---
작업 OS : Fedora 8
EZ-X5 : Kernel 2.6
C/C : arm-linux-3.3.4
Source : kernel 2.6 MK712 source(platform device 기반)
Applications : QT 4.5.2, Tslib 1.0
① linux-2.6.21\arch\arm\mach-pxa\falinux_ez-x5.c에 아래와 같이 mk712 리소스 부분을 등록.
// mk712 touch [AlProgS] -----------------------------------------------
static struct resource mk712_resources[] = {
[0] = {
.name = "mk712_int",
.start = IRQ_GPIO(22),
.end = IRQ_GPIO(22),
.flags = IORESOURCE_IRQ,
},
};
static struct platform_device mk712_device = {
.name = "mk712_touchscreen",
.id = -1,
.num_resources = ARRAY_SIZE(mk712_resources),
.resource = mk712_resources,
};
//-----------------------------------------------------------------------
② platform_device 구조체 안에 &mk712_device; 추가.
③ map_desc 구조체 안에 아래와 같이 추가.
{ // nCS1 MK712 -- fast RD/WR
.virtual = 0xf1300000,
.pfn = __phys_to_pfn(PXA_CS1_PHYS+0x400000),
.length = 0x00100000,
.type = MT_DEVICE
},
④ 커널 2.4의 mk712.c를 커널 2.6의 커널에 올리기 위해 모듈 컴파일 도중, 컴파일 에러 잡기위해 아래와 같이 수정.
#include <asm/irq.h> -> #include <linux/irq.h>
#include <asm/io.h> -> #include <linux/io.h>
⑤ io = 0xf1300000, irq = IRQ_GPIO(22), gpio_irp = 22 로 수정.
⑥ mk712_init 펑션에 다음과 같이 수정.
-> set_irq_type (MK712_DEFAULT_IRQ, IRQT_RISING);
댓글 없음:
댓글 쓰기