开发板处理器是PXA270的,现在想在板子上装一个CF无线网卡(NETGEAR MA701),因为板子是自己做的,所以需要修改一下pcmcia的接口驱动。
我是在drivers/pcmcia/pxa2xx_mainstone.c基础上修改的。
现在问题:
1.CF卡在开放板启动起来以后,CF卡上的灯是亮的。说明加上电了,但是用cardctl status 查询确是
NO CARD
2.难道是里面的GPIO没有设置对?
3.板子启动起来以后,再插上CF网线网卡,开发板没有任何检测到CF网卡的反应。
4.只有在程序中写上GPDR3 |= (1<<8); // setup GPIO104 as output 对应的是RESET管脚,才能供上电。WHY? 我没有想清楚。
5。关于CF卡的这部分电路 我也放在附件中。
请各位大侠看看。给点建议!
下面修改的程序pxa2xx_panther.c一部分。完整我放在附件中。
static struct pcmcia_irqs irqs[] = {
{ 0, PANTHER_CF_DETECT_IRQ, "PCMCIA0 CD" },
};
static int pather_pcmcia_hw_init(struct soc_pcmcia_socket *skt)
{
/* After clear RDH bit we can reset codec and read out ID now */
PSSR |= PSSR_RDH;
GPDR3 |= (1<<5); // setup GPIO101 as output 对应是我板子原理图上pcmcia电路上的一个锁存器
GPCR3 |= (1<<5); // GPIO101 to output low
GPDR3 |= (1<<8); // setup GPIO104 as output 对应的是RESET管脚
/*
* Setup default state of GPIO level before we enable them as outputs.
*/
GPSR(GPIO48_nPOE) = GPIO_bit(GPIO48_nPOE) | GPIO_bit(GPIO49_nPWE) |
GPIO_bit(GPIO50_nPIOR) | GPIO_bit(GPIO51_nPIOW);
#if 0
GPSR(GPIO79_pSKTSEL_MD) = GPIO_bit(GPIO79_pSKTSEL_MD);
GPCR(GPIO79_pSKTSEL_MD) = GPIO_bit(GPIO79_pSKTSEL_MD);
#endif