[U-Boot] [PATCH] drivers: net: keystone_net: add rgmii link type support when parsing dt
Joe Hershberger
joe.hershberger at gmail.com
Tue Nov 15 04:40:54 CET 2016
On Mon, Nov 14, 2016 at 3:12 AM, Mugunthan V N <mugunthanvnm at ti.com> wrote:
> Add support to detect RGMII link interface from link-interface
> device tree entry. Also rename the existing link type enums so
> that it provides meaning full interface like SGMII.
>
> Signed-off-by: Mugunthan V N <mugunthanvnm at ti.com>
> ---
>
> Without this support there is a crash in K2G EVM tftp boot [1].
> Verified this with tftp download on K2G EVM [2]
>
> [1] - http://pastebin.ubuntu.com/23474751/
> [2] - http://pastebin.ubuntu.com/23474748/
>
> ---
> drivers/net/keystone_net.c | 23 +++++++++++++++--------
> 1 file changed, 15 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/net/keystone_net.c b/drivers/net/keystone_net.c
> index f88d83e727..a5120e01ad 100644
> --- a/drivers/net/keystone_net.c
> +++ b/drivers/net/keystone_net.c
> @@ -56,13 +56,16 @@ struct rx_buff_desc net_rx_buffs = {
> #ifdef CONFIG_DM_ETH
>
> enum link_type {
> - LINK_TYPE_MAC_TO_MAC_AUTO = 0,
> - LINK_TYPE_MAC_TO_PHY_MODE = 1,
> - LINK_TYPE_MAC_TO_MAC_FORCED_MODE = 2,
> - LINK_TYPE_MAC_TO_FIBRE_MODE = 3,
> - LINK_TYPE_MAC_TO_PHY_NO_MDIO_MODE = 4,
> - LINK_TYPE_10G_MAC_TO_PHY_MODE = 10,
> - LINK_TYPE_10G_MAC_TO_MAC_FORCED_MODE = 11,
> + LINK_TYPE_SGMII_MAC_TO_MAC_AUTO = 0,
> + LINK_TYPE_SGMII_MAC_TO_PHY_MODE = 1,
> + LINK_TYPE_SGMII_MAC_TO_MAC_FORCED_MODE = 2,
> + LINK_TYPE_SGMII_MAC_TO_FIBRE_MODE = 3,
> + LINK_TYPE_SGMII_MAC_TO_PHY_NO_MDIO_MODE = 4,
> + LINK_TYPE_RGMII_LINK_MAC_PHY = 5,
> + LINK_TYPE_RGMII_LINK_MAC_MAC_FORCED = 6,
> + LINK_TYPE_RGMII_LINK_MAC_PHY_NO_MDIO = 7,
> + LINK_TYPE_10G_MAC_TO_PHY_MODE = 10,
> + LINK_TYPE_10G_MAC_TO_MAC_FORCED_MODE = 11,
> };
>
> #define mac_hi(mac) (((mac)[0] << 0) | ((mac)[1] << 8) | \
> @@ -1077,11 +1080,15 @@ static int ks2_eth_parse_slave_interface(int netcp, int slave,
> priv->mdio_base = (void *)fdtdec_get_addr(fdt, mdio, "reg");
> }
>
> - if (priv->link_type == LINK_TYPE_MAC_TO_PHY_MODE) {
> + if (priv->link_type == LINK_TYPE_SGMII_MAC_TO_PHY_MODE) {
> priv->phy_if = PHY_INTERFACE_MODE_SGMII;
> pdata->phy_interface = priv->phy_if;
> priv->sgmii_link_type = SGMII_LINK_MAC_PHY;
> priv->has_mdio = true;
> + } else if (priv->link_type == LINK_TYPE_RGMII_LINK_MAC_PHY) {
> + priv->phy_if = PHY_INTERFACE_MODE_RGMII;
> + pdata->phy_interface = priv->phy_if;
> + priv->has_mdio = true;
> }
>
> return 0;
This is great, but can you please add this info to a bindings file in
doc/device-tree-bindings/net/keystone-netcp.txt so that it's less
magic?
Thanks,
-Joe
More information about the U-Boot
mailing list