mirror of
https://github.com/Stichting-MINIX-Research-Foundation/u-boot.git
synced 2025-09-10 04:26:19 -04:00
Assigned a static SMI address to all UECs TBIPA address.
It is set to 0x1F by default and can be overwritten on the board header file by defining CONFIG_UTBIPAR_INIT_TBIPA. This allows the CPU to simply "reserve" one SMI address instead of using a different one for each UEC. Signed-off-by: Richard Retanubun <RichardRetanubun@RuggedCom.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
This commit is contained in:
parent
9fd38a01cb
commit
1a9519373b
@ -31,6 +31,11 @@
|
|||||||
#include "uec_phy.h"
|
#include "uec_phy.h"
|
||||||
#include "miiphy.h"
|
#include "miiphy.h"
|
||||||
|
|
||||||
|
/* Default UTBIPAR SMI address */
|
||||||
|
#ifndef CONFIG_UTBIPAR_INIT_TBIPA
|
||||||
|
#define CONFIG_UTBIPAR_INIT_TBIPA 0x1F
|
||||||
|
#endif
|
||||||
|
|
||||||
static uec_info_t uec_info[] = {
|
static uec_info_t uec_info[] = {
|
||||||
#ifdef CONFIG_UEC_ETH1
|
#ifdef CONFIG_UEC_ETH1
|
||||||
STD_UEC_INFO(1), /* UEC1 */
|
STD_UEC_INFO(1), /* UEC1 */
|
||||||
@ -1071,15 +1076,11 @@ static int uec_startup(uec_private_t *uec)
|
|||||||
utbipar = in_be32(&uec_regs->utbipar);
|
utbipar = in_be32(&uec_regs->utbipar);
|
||||||
utbipar &= ~UTBIPAR_PHY_ADDRESS_MASK;
|
utbipar &= ~UTBIPAR_PHY_ADDRESS_MASK;
|
||||||
enet_interface = uec->uec_info->enet_interface;
|
enet_interface = uec->uec_info->enet_interface;
|
||||||
if (enet_interface == ENET_1000_TBI ||
|
|
||||||
enet_interface == ENET_1000_RTBI) {
|
|
||||||
utbipar |= (uec_info->phy_address + uec_info->uf_info.ucc_num)
|
|
||||||
<< UTBIPAR_PHY_ADDRESS_SHIFT;
|
|
||||||
} else {
|
|
||||||
utbipar |= (0x10 + uec_info->uf_info.ucc_num)
|
|
||||||
<< UTBIPAR_PHY_ADDRESS_SHIFT;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
/* Initialize UTBIPAR address to CONFIG_UTBIPAR_INIT_TBIPA for ALL UEC.
|
||||||
|
* This frees up the remaining SMI addresses for use.
|
||||||
|
*/
|
||||||
|
utbipar |= CONFIG_UTBIPAR_INIT_TBIPA << UTBIPAR_PHY_ADDRESS_SHIFT;
|
||||||
out_be32(&uec_regs->utbipar, utbipar);
|
out_be32(&uec_regs->utbipar, utbipar);
|
||||||
|
|
||||||
/* Configure the TBI for SGMII operation */
|
/* Configure the TBI for SGMII operation */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user