Part Number: AM4376
Tool/software: Linux
Hi,
we have custom board with am4376 cpu and we have micrel phy connected via mdio + rgmii2. We're using mainline 4.12 kernel. Setup in dts is following:
rgmii2_pins_default: rgmii2_pins_default {
pinctrl-single,pins = <
AM4372_IOPAD(0x858, PIN_OUTPUT | MUX_MODE2) /* gpmc_a6.rgmii2_tclk */
AM4372_IOPAD(0x840, PIN_OUTPUT | MUX_MODE2) /* gpmc_a0.rgmii2_tctl */
AM4372_IOPAD(0x854, PIN_OUTPUT | MUX_MODE2) /* gpmc_a5.rgmii2_td0 */
AM4372_IOPAD(0x850, PIN_OUTPUT | MUX_MODE2) /* gpmc_a4.rgmii2_td1 */
AM4372_IOPAD(0x84c, PIN_OUTPUT | MUX_MODE2) /* gpmc_a3.rgmii2_td2 */
AM4372_IOPAD(0x848, PIN_OUTPUT | MUX_MODE2) /* gpmc_a2.rgmii2_td3 */
AM4372_IOPAD(0x85c, PIN_INPUT | MUX_MODE2) /* gpmc_a7.rgmii2_rclk */
AM4372_IOPAD(0x844, PIN_INPUT | MUX_MODE2) /* gpmc_a1.rgmii2_rtcl */
AM4372_IOPAD(0x86c, PIN_INPUT | MUX_MODE2) /* gpmc_a11.rgmii2_rd0 */
AM4372_IOPAD(0x868, PIN_INPUT | MUX_MODE2) /* gpmc_a10.rgmii2_rd1 */
AM4372_IOPAD(0x864, PIN_INPUT | MUX_MODE2) /* gpmc_a9.rgmii2_rd2 */
AM4372_IOPAD(0x860, PIN_INPUT | MUX_MODE2) /* gpmc_a8.rgmii2_rd3 */
>;
};
&mac {
slaves = <1>;
pinctrl-names = "default";
pinctrl-0 = <&rgmii2_pins_default>;
status = "okay";
};
&davinci_mdio {
pinctrl-names = "default";
pinctrl-0 = <&mdio_pins_default>;
status = "okay";
};
&cpsw_emac0 {
phy_id = <&davinci_mdio>, <0>;
phy-mode = "rgmii";
};
We can see that phy is probed :
[ 84.510076] net eth0: initializing cpsw version 1.15 (0) [ 84.516615] cpsw 4a100000.ethernet: initialized cpsw ale version 1.4 [ 84.523560] cpsw 4a100000.ethernet: ALE Table size 1024 [ 84.897922] Micrel KSZ9031 Gigabit PHY 4a101000.mdio:00: attached PHY driver [Micrel KSZ9031 Gigabit PHY] (mii_bus:phy_addr=4a101000.mdio:00, irq=-1) [ 85.176816] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
but when measure clocks on CPU side like RGMII_TCLK we cannot see anything and interface is not working. Any idea what else we can check? Thanks.
marek