183d290c5STom Rini // SPDX-License-Identifier: GPL-2.0+ 2601fbec7SMasahiro Yamada /* 3601fbec7SMasahiro Yamada * LSI ET1011C PHY Driver for TI DaVinci(TMS320DM6467) board. 4601fbec7SMasahiro Yamada * 5601fbec7SMasahiro Yamada * Copyright (C) 2010 Texas Instruments Incorporated - http://www.ti.com/ 6601fbec7SMasahiro Yamada */ 7601fbec7SMasahiro Yamada 8601fbec7SMasahiro Yamada #include <common.h> 9601fbec7SMasahiro Yamada #include <net.h> 10601fbec7SMasahiro Yamada #include <miiphy.h> 11601fbec7SMasahiro Yamada #include <asm/arch/emac_defs.h> 12*ffad5fa0SGrygorii Strashko #include "../../../drivers/net/ti/davinci_emac.h" 13601fbec7SMasahiro Yamada 14601fbec7SMasahiro Yamada #ifdef CONFIG_DRIVER_TI_EMAC 15601fbec7SMasahiro Yamada 16601fbec7SMasahiro Yamada #ifdef CONFIG_CMD_NET 17601fbec7SMasahiro Yamada 18601fbec7SMasahiro Yamada /* LSI PHYSICAL LAYER TRANSCEIVER ET1011C */ 19601fbec7SMasahiro Yamada 20601fbec7SMasahiro Yamada #define MII_PHY_CONFIG_REG 22 21601fbec7SMasahiro Yamada 22601fbec7SMasahiro Yamada /* PHY Config bits */ 23601fbec7SMasahiro Yamada #define PHY_SYS_CLK_EN (1 << 4) 24601fbec7SMasahiro Yamada et1011c_get_link_speed(int phy_addr)25601fbec7SMasahiro Yamadaint et1011c_get_link_speed(int phy_addr) 26601fbec7SMasahiro Yamada { 27601fbec7SMasahiro Yamada u_int16_t data; 28601fbec7SMasahiro Yamada 29601fbec7SMasahiro Yamada if (davinci_eth_phy_read(phy_addr, MII_STATUS_REG, &data) && (data & 0x04)) { 30601fbec7SMasahiro Yamada davinci_eth_phy_read(phy_addr, MII_PHY_CONFIG_REG, &data); 31601fbec7SMasahiro Yamada /* Enable 125MHz clock sourced from PHY */ 32601fbec7SMasahiro Yamada davinci_eth_phy_write(phy_addr, MII_PHY_CONFIG_REG, 33601fbec7SMasahiro Yamada data | PHY_SYS_CLK_EN); 34601fbec7SMasahiro Yamada return (1); 35601fbec7SMasahiro Yamada } 36601fbec7SMasahiro Yamada return (0); 37601fbec7SMasahiro Yamada } 38601fbec7SMasahiro Yamada 39601fbec7SMasahiro Yamada #endif /* CONFIG_CMD_NET */ 40601fbec7SMasahiro Yamada 41601fbec7SMasahiro Yamada #endif /* CONFIG_DRIVER_ETHER */ 42