I'm working on a custom board based on the BBB except that I have to PHYs and I'm running them in dual EMAC mode. My primary connection, eth0 is working well. My secondary connection is not. I can bring up the eth1 in linux using ifconfig and setting a static IP address, the link comes up and auto-negotiates but I can't ping the device it's connected to. To complicate things this a transformerless connection to another board with a TLK106RHBR PHY. I have used .1uf caps to isolate the lines in place of the transformer as seen in http://www.ti.com/lit/an/slla327/slla327.pdf .
This is all new to me and I'm not sure how to tell if I have something wrong in my device tree, if there something wrong between the Sitara and the PHY or between the two PHYs. I'm running in MII mode, it's mostly a copy of the PHY from the BBB except magless and set to PHY address 1. I've checked the RX and TX clocks and they are both set at 25MHz but I don't see much/any activity on the RX/TX busses. I do see a lot of activity on the RX+/- and TX+/-.
My pinmux settings in the device tree for the second PHY are:
/* Slave 2 */
0x78 (PIN_INPUT_PULLUP | MUX_MODE1) /* (U18) gpmc_be1n.gmii2_col */
0x70 (PIN_INPUT_PULLUP | MUX_MODE1) /* (T17) gpmc_wait0.gmii2_crs */
0x74 (PIN_INPUT_PULLUP | MUX_MODE1) /* (U17) gpmc_wpn.gmii2_rxer */
0x40 (PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* (R13) gpmc_a0.gmii2_txen */
0x44 (PIN_INPUT_PULLUP | MUX_MODE1) /* (V14) gpmc_a1.gmii2_rxdv */
0x54 (PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* (V15) gpmc_a5.gmii2_txd0 */
0x50 (PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* (R14) gpmc_a4.gmii2_txd1 */
0x4c (PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* (T14) gpmc_a3.gmii2_txd2 */
0x48 (PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* (U14) gpmc_a2.gmii2_txd3 */
0x58 (PIN_INPUT_PULLUP | MUX_MODE1) /* (U15) gpmc_a6.gmii2_txclk */
0x5c (PIN_INPUT_PULLUP | MUX_MODE1) /* (T15) gpmc_a7.gmii2_rxclk */
0x6c (PIN_INPUT_PULLUP | MUX_MODE1) /* (V17) gpmc_a11.gmii2_rxd0 */
0x68 (PIN_INPUT_PULLUP | MUX_MODE1) /* (T16) gpmc_a10.gmii2_rxd1 */
0x64 (PIN_INPUT_PULLUP | MUX_MODE1) /* (U16) gpmc_a9.gmii2_rxd2 */
0x60 (PIN_INPUT_PULLUP | MUX_MODE1) /* (V16) gpmc_a8.gmii2_rxd3 */
ocp settings:
&cpsw_emac0 {
phy_id = <&davinci_mdio>, <0>;
phy-mode = "mii";
dual_emac_res_vlan = <1>;
};
&cpsw_emac1 {
phy_id = <&davinci_mdio>, <1>;
phy-mode = "mii";
dual_emac_res_vlan = <2>;
};
&mac {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&cpsw_default>;
pinctrl-1 = <&cpsw_sleep>;
dual_emac;
status = "okay";
};
Any help would be much appreciated