
도와주세요!!
글 수 15,339
2009.06.04 06:20:05 (*.235.147.105)
7925
static struct resource sl811_resources[] = {
[0] = {
.start = PXA_CS2_PHYS+0x00,
.end = PXA_CS2_PHYS+0x00,
.flags = IORESOURCE_MEM,
},
[1] = {
.start = PXA_CS2_PHYS+0x04,
.end = PXA_CS2_PHYS+0x04,
.flags = IORESOURCE_MEM,
},
[2] = {
.start = IRQ_GPIO(12),
.end = IRQ_GPIO(12),
.flags = IORESOURCE_IRQ,
}
};
위 코드중에서
.start = PXA_CS2_PHYS+0x00 부분에서 0x00 값이 붙는거는 임의로 준건가요?
start = PXA_CS2_PHYS+0x04 이부분도 0x04값을 주시던데
무슨 의미가 있는건가요?
이게 물리주소와 가상주소를 매핑하는건가요?
설명좀 해주시면 감사하겠어요
2.4코드랑은 너무 달라져서 ;; 자료가 하나도 없네요 ;;
안녕하세요..
sl811에 보시면 칩섹렉터(nCS)는 CS2에 연결되어 있어 PXA_CS2_PHYS+0x00 를 사용한 것입니다.
PXA_CS2_PHYS+0x04는 레지스트 접근을 위하여 주소입니다. sl811의 A0 핀이 EZ-X5의 A2 핀과 연결되어 있기 떄문에
0x04 를 offset으로 더해 준것입니다.
커널 2.4 대에서 보시면
static int base_addr = 0xf2000000;
static int data_reg_addr = 0xf2000004;
static int irq = IRQ_GPIO(12);
이 부분이 2.6대에서 리소스 설정으로 들어 갔다고 보시며 됩니다.
그럼 좋은 하루 되세요..