도와주세요!!
글 수 15,339
2004.03.14 19:17:40 (*.110.180.54)
6714
linux/arch/arm/mach-pxa/ez_x5.c 파일의 구조체에서 몇 가지 질문할 사항이
있습니다.
1. Boot Flash 512KByte 이면서 4MByte로 할당한 이유는?
2. CS8900, PS2, NAND-Flash, MK712.... 등을 1MByte로 할당한 이유? (특히
Flash는 32MByte 아닌가요?)
3. REV의 설정 목적과 1MByte 공간을 할당한 이유는?
4. nCS2, nCS3, nCS4, nCS5 은 어떤 영역이며 각 16MByte로 할당한 이유는?
여기에 대한 자료가 많이 없어 이해 하기 힘들더군요.......
바쁘시더라도 답변 부탁드립니다.
/*
* IO map for the devices.
*/
static struct map_desc ez_x5_io_desc[] __initdata = {
/* virtual physical length domain r
w c b */
{ 0xf0000000, 0x00000000 +0x000000, 0x00400000, DOMAIN_IO, 0,
1, 0, 0 }, // nCS0 Boot Flash -- slow RD/WR
{ 0xf1000000, 0x00000000 +0x400000, 0x00100000, DOMAIN_IO, 0,
1, 0, 0 }, // nCS0 CS8900 영역 -- slow RD/WR
{ 0xf1100000, 0x00000000 +0x800000, 0x00100000, DOMAIN_IO, 0,
1, 0, 0 }, // nCS0 PS2 -- slow RD/WR CPLD.REV0
{ 0xf1200000, PXA_CS1_PHYS+0x000000, 0x00100000, DOMAIN_IO, 0,
1, 0, 0 }, // nCS1 NAND-Flash -- fast RD/WR
{ 0xf1300000, PXA_CS1_PHYS+0x400000, 0x00100000, DOMAIN_IO, 0,
1, 0, 0 }, // nCS1 MK712 -- fast RD/WR
// PCB Ver1.1 이상
{ 0xf1400000, 0x00000000 +0xC00000, 0x00100000, DOMAIN_IO, 0,
1, 0, 0 }, // nCS0 PCMCIA Ctrl -- slow RD/WR CPLD.REV1
{ 0xf1500000, PXA_CS1_PHYS+0x800000, 0x00100000, DOMAIN_IO, 0,
1, 0, 0 }, // nCS1 REV -- fast RD/WR CPLD.REV2
{ 0xf1600000, PXA_CS1_PHYS+0xC00000, 0x00100000, DOMAIN_IO, 0,
1, 0, 0 }, // nCS1 REV -- fast RD/WR CPLD.REV2
{ 0xf2000000, PXA_CS2_PHYS , 0x01000000, DOMAIN_IO, 0,
1, 0, 0 }, // nCS2 영역 16MByte Area
{ 0xf3000000, PXA_CS3_PHYS , 0x01000000, DOMAIN_IO, 0,
1, 0, 0 }, // nCS3 영역 16MByte
{ 0xf4000000, PXA_CS4_PHYS , 0x01000000, DOMAIN_IO, 0,
1, 0, 0 }, // nCS4 영역 16Mbyte
{ 0xf5000000, PXA_CS5_PHYS , 0x01000000, DOMAIN_IO, 0,
1, 0, 0 }, // nCS5 영역 16Mbyte
LAST_DESC
};
있습니다.
1. Boot Flash 512KByte 이면서 4MByte로 할당한 이유는?
2. CS8900, PS2, NAND-Flash, MK712.... 등을 1MByte로 할당한 이유? (특히
Flash는 32MByte 아닌가요?)
3. REV의 설정 목적과 1MByte 공간을 할당한 이유는?
4. nCS2, nCS3, nCS4, nCS5 은 어떤 영역이며 각 16MByte로 할당한 이유는?
여기에 대한 자료가 많이 없어 이해 하기 힘들더군요.......
바쁘시더라도 답변 부탁드립니다.
/*
* IO map for the devices.
*/
static struct map_desc ez_x5_io_desc[] __initdata = {
/* virtual physical length domain r
w c b */
{ 0xf0000000, 0x00000000 +0x000000, 0x00400000, DOMAIN_IO, 0,
1, 0, 0 }, // nCS0 Boot Flash -- slow RD/WR
{ 0xf1000000, 0x00000000 +0x400000, 0x00100000, DOMAIN_IO, 0,
1, 0, 0 }, // nCS0 CS8900 영역 -- slow RD/WR
{ 0xf1100000, 0x00000000 +0x800000, 0x00100000, DOMAIN_IO, 0,
1, 0, 0 }, // nCS0 PS2 -- slow RD/WR CPLD.REV0
{ 0xf1200000, PXA_CS1_PHYS+0x000000, 0x00100000, DOMAIN_IO, 0,
1, 0, 0 }, // nCS1 NAND-Flash -- fast RD/WR
{ 0xf1300000, PXA_CS1_PHYS+0x400000, 0x00100000, DOMAIN_IO, 0,
1, 0, 0 }, // nCS1 MK712 -- fast RD/WR
// PCB Ver1.1 이상
{ 0xf1400000, 0x00000000 +0xC00000, 0x00100000, DOMAIN_IO, 0,
1, 0, 0 }, // nCS0 PCMCIA Ctrl -- slow RD/WR CPLD.REV1
{ 0xf1500000, PXA_CS1_PHYS+0x800000, 0x00100000, DOMAIN_IO, 0,
1, 0, 0 }, // nCS1 REV -- fast RD/WR CPLD.REV2
{ 0xf1600000, PXA_CS1_PHYS+0xC00000, 0x00100000, DOMAIN_IO, 0,
1, 0, 0 }, // nCS1 REV -- fast RD/WR CPLD.REV2
{ 0xf2000000, PXA_CS2_PHYS , 0x01000000, DOMAIN_IO, 0,
1, 0, 0 }, // nCS2 영역 16MByte Area
{ 0xf3000000, PXA_CS3_PHYS , 0x01000000, DOMAIN_IO, 0,
1, 0, 0 }, // nCS3 영역 16MByte
{ 0xf4000000, PXA_CS4_PHYS , 0x01000000, DOMAIN_IO, 0,
1, 0, 0 }, // nCS4 영역 16Mbyte
{ 0xf5000000, PXA_CS5_PHYS , 0x01000000, DOMAIN_IO, 0,
1, 0, 0 }, // nCS5 영역 16Mbyte
LAST_DESC
};