Part Number:AM3358
Tool/software: Linux
LK"I
Hi,
I'm using Beaglebone black as a reference board.
on my custom board it'll be connected to a Gbit Ethernet PHY via RGMII1.
I've removed the 100Mb PHY , and connected it to my Gbit Ethernet PHY to check.
I've changed the device tree:
am335x-bone-common.dtsi
cpsw_default: cpsw_default { | |
pinctrl-single,pins = < | |
/* Slave 1 */ | |
0x114 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txen.rgmii1_tctl */ | |
0x118 (PIN_INPUT_PULLUP | MUX_MODE2) /* mii1_rxdv.rgmii1_rctl */ | |
0x11c (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd3.rgmii1_txd3 */ | |
0x120 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd2.rgmii1_txd2 */ | |
0x124 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd1.rgmii1_txd1 */ | |
0x128 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd0.rgmii1_txd0 */ | |
0x12c (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txclk.rgmii1_txclk */ | |
0x130 (PIN_INPUT_PULLUP | MUX_MODE2) /* mii1_rxclk.rgmii1_rxclk */ | |
0x134 (PIN_INPUT_PULLUP | MUX_MODE2) /* mii1_rxd3.rgmii1_rxd3 */ | |
0x138 (PIN_INPUT_PULLUP | MUX_MODE2) /* mii1_rxd2.rgmii1_rxd2 */ | |
0x13c (PIN_INPUT_PULLUP | MUX_MODE2) /* mii1_rxd1.rgmii1_rxd1 */ | |
0x140 (PIN_INPUT_PULLUP | MUX_MODE2) /* mii1_rxd0.rgmii1_rxd0 */ | |
>; | |
}; | |
cpsw_sleep: cpsw_sleep { | |
pinctrl-single,pins = < | |
/* Slave 1 reset value */ | |
0x114 (PIN_INPUT_PULLDOWN | MUX_MODE7) | |
0x118 (PIN_INPUT_PULLDOWN | MUX_MODE7) | |
0x11c (PIN_INPUT_PULLDOWN | MUX_MODE7) | |
0x120 (PIN_INPUT_PULLDOWN | MUX_MODE7) | |
0x124 (PIN_INPUT_PULLDOWN | MUX_MODE7) | |
0x128 (PIN_INPUT_PULLDOWN | MUX_MODE7) | |
0x12c (PIN_INPUT_PULLDOWN | MUX_MODE7) | |
0x130 (PIN_INPUT_PULLDOWN | MUX_MODE7) | |
0x134 (PIN_INPUT_PULLDOWN | MUX_MODE7) | |
0x138 (PIN_INPUT_PULLDOWN | MUX_MODE7) | |
0x13c (PIN_INPUT_PULLDOWN | MUX_MODE7) | |
0x140 (PIN_INPUT_PULLDOWN | MUX_MODE7) | |
>; | |
}; | |
davinci_mdio_default: davinci_mdio_default { | |
pinctrl-single,pins = < | |
/* MDIO */ | |
AM33XX_IOPAD(0x948, PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* mdio_data.mdio_data */ | |
AM33XX_IOPAD(0x94c, PIN_OUTPUT_PULLUP | MUX_MODE0) /* mdio_clk.mdio_clk */ | |
>; | |
}; | |
davinci_mdio_sleep: davinci_mdio_sleep { | |
pinctrl-single,pins = < | |
/* MDIO reset value */ | |
AM33XX_IOPAD(0x948, PIN_INPUT_PULLDOWN | MUX_MODE7) | |
AM33XX_IOPAD(0x94c, PIN_INPUT_PULLDOWN | MUX_MODE7) | |
>; | |
}; |
&cpsw_emac0 { | |
phy_id = <&davinci_mdio>, <0>; | |
phy-mode = "rgmii"; | |
}; | |
&mac { | |
pinctrl-names = "default", "sleep"; | |
pinctrl-0 = <&cpsw_default>; | |
pinctrl-1 = <&cpsw_sleep>; | |
slaves = <1>; | |
status = "okay"; | |
}; | |
&davinci_mdio { | |
pinctrl-names = "default", "sleep"; | |
pinctrl-0 = <&davinci_mdio_default>; | |
pinctrl-1 = <&davinci_mdio_sleep>; | |
status = "okay"; | |
}; |
But , it doesn't seems to work, i've check the RGMII_TX_CLK coming from the Sitara, it doesn't show any clock at all.
Is there anything else i need to do in order to make the sitara start "talking" with RGMII? should i config anything else with the Kerenl configuration? or it just a matter of device tree configuration?
Harel