mirror of
https://git.rtems.org/rtems-libbsd/
synced 2025-07-24 01:35:05 +08:00
freebsd/cgem: Add SGMII support
This adds support to the CGEM driver for selection of SGMII PHY interfaces specified via device tree parameters.
This commit is contained in:
parent
fef8b8850b
commit
02d383922b
@ -134,6 +134,7 @@ struct cgem_softc {
|
|||||||
#ifdef __rtems__
|
#ifdef __rtems__
|
||||||
uint32_t net_cfg_shadow;
|
uint32_t net_cfg_shadow;
|
||||||
int neednullqs;
|
int neednullqs;
|
||||||
|
int phy_contype;
|
||||||
#endif /* __rtems__ */
|
#endif /* __rtems__ */
|
||||||
int ref_clk_num;
|
int ref_clk_num;
|
||||||
#ifndef __rtems__
|
#ifndef __rtems__
|
||||||
@ -1296,6 +1297,14 @@ cgem_config(struct cgem_softc *sc)
|
|||||||
CGEM_NET_CFG_FULL_DUPLEX |
|
CGEM_NET_CFG_FULL_DUPLEX |
|
||||||
CGEM_NET_CFG_SPEED100;
|
CGEM_NET_CFG_SPEED100;
|
||||||
|
|
||||||
|
#ifdef __rtems__
|
||||||
|
/* Check connection type, enable SGMII bits if necessary. */
|
||||||
|
if ( sc->phy_contype == MII_CONTYPE_SGMII ) {
|
||||||
|
net_cfg |= CGEM_NET_CFG_SGMII_EN;
|
||||||
|
net_cfg |= CGEM_NET_CFG_PCS_SEL;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Enable receive checksum offloading? */
|
/* Enable receive checksum offloading? */
|
||||||
if ((if_getcapenable(ifp) & IFCAP_RXCSUM) != 0)
|
if ((if_getcapenable(ifp) & IFCAP_RXCSUM) != 0)
|
||||||
net_cfg |= CGEM_NET_CFG_RX_CHKSUM_OFFLD_EN;
|
net_cfg |= CGEM_NET_CFG_RX_CHKSUM_OFFLD_EN;
|
||||||
@ -2014,6 +2023,7 @@ cgem_attach(device_t dev)
|
|||||||
/* Else for ref-clock-num OF_getprop */
|
/* Else for ref-clock-num OF_getprop */
|
||||||
else
|
else
|
||||||
sc->ref_clk_num = device_get_unit(dev);
|
sc->ref_clk_num = device_get_unit(dev);
|
||||||
|
sc->phy_contype = mii_fdt_get_contype(node);
|
||||||
} else {
|
} else {
|
||||||
sc->ref_clk_num = device_get_unit(dev);
|
sc->ref_clk_num = device_get_unit(dev);
|
||||||
sc->phy_contype = MII_CONTYPE_RGMII_ID;
|
sc->phy_contype = MII_CONTYPE_RGMII_ID;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user