|
你好 亚瑟王,我也有类似的疑问,用的是贵公司tq2416开发板,公司的项目中是扩展了一个dm9000,接线与天前提供的原理图相同,另外不同是中断接的EINT13,片选接的是CSn1,CMD都是接的LADDR2,。驱动程序中增加了第二片dm9000的资源
#define MACH_TQ2416_DM9K_BASE1 (S3C2410_CS1+ 0x300)
static struct resource tq2416_dm9k_resource1[] = {
[0] = {
.start = MACH_TQ2416_DM9K_BASE1,
.end = MACH_TQ2416_DM9K_BASE1 + 3,
.flags = IORESOURCE_MEM
},
[1] = {
.start = MACH_TQ2416_DM9K_BASE1 + 4,
.end = MACH_TQ2416_DM9K_BASE1 + 4 + 3,
.flags = IORESOURCE_MEM
},
[2] = {
.start = IRQ_EINT13,
.end = IRQ_EINT13,
.flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE,
}
};
在tq2416_machine_init函数中增加了
s3c_gpio_cfgpin(S3C2410_GPA(12), (1<<12));// GPA12 to nRCS1
这样增加的资源可以读取到dm9000的ID,
如果按照天谴提供的驱动程序基地址加8,却读不到芯片ID,读到的是0x2b2a2928,
这把握搞糊涂了,到底是加4还是加8, 改作何解释呢?、期待您的解答。 |
|