Browse Source
This initializes the EMAC PHY in both Stratix 10 and Agilex, without this, EMAC PHY wouldn't work correctly. Change-Id: I7e6b9e88fd9ef472884fcf648e6001fcb7549ae6 Signed-off-by: Abdul Halim, Muhammad Hadi Asyrafi <muhammad.hadi.asyrafi.abdul.halim@intel.com>pull/1938/head
Tien Hock, Loh
5 years ago
committed by
Abdul Halim, Muhammad Hadi Asyrafi
8 changed files with 91 additions and 10 deletions
@ -0,0 +1,24 @@ |
|||
/*
|
|||
* Copyright (c) 2020, Intel Corporation. All rights reserved. |
|||
* |
|||
* SPDX-License-Identifier: BSD-3-Clause |
|||
*/ |
|||
|
|||
#ifndef SOCFPGA_EMAC_H |
|||
#define SOCFPGA_EMAC_H |
|||
|
|||
/* EMAC PHY Mode */ |
|||
|
|||
#define PHY_INTERFACE_MODE_GMII_MII 0 |
|||
#define PHY_INTERFACE_MODE_RGMII 1 |
|||
#define PHY_INTERFACE_MODE_RMII 2 |
|||
#define PHY_INTERFACE_MODE_RESET 3 |
|||
|
|||
/* Mask Definitions */ |
|||
|
|||
#define PHY_INTF_SEL_MSK 0x3 |
|||
#define FPGAINTF_EN_3_EMAC_MSK(x) (1 << (x * 8)) |
|||
|
|||
void socfpga_emac_init(void); |
|||
|
|||
#endif /* SOCFPGA_EMAC_H */ |
@ -0,0 +1,38 @@ |
|||
/*
|
|||
* Copyright (c) 2020, Intel Corporation. All rights reserved. |
|||
* |
|||
* SPDX-License-Identifier: BSD-3-Clause |
|||
*/ |
|||
|
|||
#include <lib/mmio.h> |
|||
#include <platform_def.h> |
|||
|
|||
#include "socfpga_emac.h" |
|||
#include "socfpga_reset_manager.h" |
|||
#include "socfpga_system_manager.h" |
|||
|
|||
void socfpga_emac_init(void) |
|||
{ |
|||
mmio_setbits_32(SOCFPGA_RSTMGR(PER0MODRST), |
|||
RSTMGR_PER0MODRST_EMAC0 | |
|||
RSTMGR_PER0MODRST_EMAC1 | |
|||
RSTMGR_PER0MODRST_EMAC2); |
|||
|
|||
mmio_clrsetbits_32(SOCFPGA_SYSMGR(EMAC_0), |
|||
PHY_INTF_SEL_MSK, EMAC0_PHY_MODE); |
|||
mmio_clrsetbits_32(SOCFPGA_SYSMGR(EMAC_1), |
|||
PHY_INTF_SEL_MSK, EMAC1_PHY_MODE); |
|||
mmio_clrsetbits_32(SOCFPGA_SYSMGR(EMAC_2), |
|||
PHY_INTF_SEL_MSK, EMAC2_PHY_MODE); |
|||
|
|||
mmio_clrbits_32(SOCFPGA_SYSMGR(FPGAINTF_EN_3), |
|||
FPGAINTF_EN_3_EMAC_MSK(0) | |
|||
FPGAINTF_EN_3_EMAC_MSK(1) | |
|||
FPGAINTF_EN_3_EMAC_MSK(2)); |
|||
|
|||
mmio_clrbits_32(SOCFPGA_RSTMGR(PER0MODRST), |
|||
RSTMGR_PER0MODRST_EMAC0 | |
|||
RSTMGR_PER0MODRST_EMAC1 | |
|||
RSTMGR_PER0MODRST_EMAC2); |
|||
} |
|||
|
Loading…
Reference in new issue