在移植dm9000的时候,由于gpmc_a0到gpmc_a11都已经用到了第二个网口上,所以是不是我只能选择gpmc_a12之后的了,
板级文件里面地址线配置
{"lcd_data8.gpmc_a12",OMAP_MUX_MODE1 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA},//// yesq
下面是第二个网口的配置
/* Module pin mux for rgmii2 */
static struct pinmux_config rgmii2_pin_mux[] = {
{"gpmc_a0.rgmii2_tctl", OMAP_MUX_MODE2 | AM33XX_PIN_OUTPUT},
{"gpmc_a1.rgmii2_rctl", OMAP_MUX_MODE2 | AM33XX_PIN_INPUT_PULLDOWN},
{"gpmc_a2.rgmii2_td3", OMAP_MUX_MODE2 | AM33XX_PIN_OUTPUT},
{"gpmc_a3.rgmii2_td2", OMAP_MUX_MODE2 | AM33XX_PIN_OUTPUT},
{"gpmc_a4.rgmii2_td1", OMAP_MUX_MODE2 | AM33XX_PIN_OUTPUT},
{"gpmc_a5.rgmii2_td0", OMAP_MUX_MODE2 | AM33XX_PIN_OUTPUT},
{"gpmc_a6.rgmii2_tclk", OMAP_MUX_MODE2 | AM33XX_PIN_OUTPUT},
{"gpmc_a7.rgmii2_rclk", OMAP_MUX_MODE2 | AM33XX_PIN_INPUT_PULLDOWN},
{"gpmc_a8.rgmii2_rd3", OMAP_MUX_MODE2 | AM33XX_PIN_INPUT_PULLDOWN},
{"gpmc_a9.rgmii2_rd2", OMAP_MUX_MODE2 | AM33XX_PIN_INPUT_PULLDOWN},
{"gpmc_a10.rgmii2_rd1", OMAP_MUX_MODE2 | AM33XX_PIN_INPUT_PULLDOWN},
{"gpmc_a11.rgmii2_rd0", OMAP_MUX_MODE2 | AM33XX_PIN_INPUT_PULLDOWN},
{"mdio_data.mdio_data", OMAP_MUX_MODE0 | AM33XX_PIN_INPUT_PULLUP},
{"mdio_clk.mdio_clk", OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT_PULLUP},
{NULL, 0},
};
我选择了gpmc_a12作为地址线
下面是dm9000的资源配置
#if 1//a12
gpmc_dm9000_resources[0].start = cs_mem_base + 0x0;
gpmc_dm9000_resources[0].end = cs_mem_base +0xFFF;
gpmc_dm9000_resources[1].start = cs_mem_base +0x1000;
gpmc_dm9000_resources[1].end = cs_mem_base +0x1FFF;
#endif
但是在读写上的片选信号有,,读写波形也有,但是就是这个地址信号没有。之前我把网口二注释掉,用的是gpmc_a2作为地址线,
gpmc_dm9000_resources[0].start = cs_mem_base + 0x0;
gpmc_dm9000_resources[0].end = cs_mem_base +0x03;
gpmc_dm9000_resources[1].start = cs_mem_base +0x4;
gpmc_dm9000_resources[1].end = cs_mem_base +0x7;
片选信号有,读写信号也有,地址信号也有,能正常识别到网卡ID号。是不是哪里需要配置下才能够使用lcd_data8.gpmc_a12。