采用QNX7.0,采用的BSP为sabreARD.
1.配置mux引脚
由于sabreARD BSP使用的网卡芯片与天嵌的不同,使用的时AR8035,因此需要对引脚进行配置。
在BSP startup 中找到了
mx6q_init_enet();
函数,即为网卡引脚配置函数,根据TQIMX的原理图,将配置函数修改如下:
void mx6q_init_enet(void)
{
uint32_t reg;
//modified to TQIMX.6q by zoutianming 2018.8.30
// RGMII MDIO - transfers control info between MAC and PHY
pinmux_set_swmux(SWMUX_ENET_MDIO, MUX_CTL_MUX_MODE_ALT1);
pinmux_set_input(SWINPUT_ENET_IPP_IND_MAC0_MDIO,0);
// RGMII MDC - output from MAC to PHY, provides clock reference for MDIO
pinmux_set_swmux(SWMUX_ENET_MDC, MUX_CTL_MUX_MODE_ALT1);
// RGMII TXC - output from MAC, provides clock used by RGMII_TXD[3:0], RGMII_TX_CTL
pinmux_set_swmux(SWMUX_RGMII_TXC, MUX_CTL_MUX_MODE_ALT1);
pinmux_set_padcfg(SWPAD_RGMII_TXC, MX6X_PAD_SETTINGS_ENET);
// RGMII TXD[3:0] - Transmit Data Output
pinmux_set_swmux(SWMUX_RGMII_TD0, MUX_CTL_MUX_MODE_ALT1);
pinmux_set_padcfg(SWPAD_RGMII_TD0, MX6X_PAD_SETTINGS_ENET);
pinmux_set_swmux(SWMUX_RGMII_TD1, MUX_CTL_MUX_MODE_ALT1);
pinmux_set_padcfg(SWPAD_RGMII_TD1, MX6X_PAD_SETTINGS_ENET);
pinmux_set_swmux(SWMUX_RGMII_TD2, MUX_CTL_MUX_MODE_ALT1);
pinmux_set_padcfg(SWPAD_RGMII_TD2, MX6X_PAD_SETTINGS_ENET);
pinmux_set_swmux(SWMUX_RGMII_TD3, MUX_CTL_MUX_MODE_ALT1);