/Linux-v5.15/drivers/net/ethernet/freescale/ |
D | fec_mpc52xx.h | 34 u32 fec_id; /* FEC + 0x000 */ 35 u32 ievent; /* FEC + 0x004 */ 36 u32 imask; /* FEC + 0x008 */ 38 u32 reserved0[1]; /* FEC + 0x00C */ 39 u32 r_des_active; /* FEC + 0x010 */ 40 u32 x_des_active; /* FEC + 0x014 */ 41 u32 r_des_active_cl; /* FEC + 0x018 */ 42 u32 x_des_active_cl; /* FEC + 0x01C */ 43 u32 ivent_set; /* FEC + 0x020 */ 44 u32 ecntrl; /* FEC + 0x024 */ [all …]
|
D | fec_mpc52xx.c | 47 #include <linux/fsl/bestcomm/fec.h> 51 #define DRIVER_NAME "mpc52xx-fec" 60 struct mpc52xx_fec __iomem *fec; member 105 struct mpc52xx_fec __iomem *fec = priv->fec; in mpc52xx_fec_set_paddr() local 107 out_be32(&fec->paddr1, *(u32 *)(&mac[0])); in mpc52xx_fec_set_paddr() 108 out_be32(&fec->paddr2, (*(u16 *)(&mac[4]) << 16) | FEC_PADDR2_TYPE); in mpc52xx_fec_set_paddr() 172 struct mpc52xx_fec __iomem *fec = priv->fec; in mpc52xx_fec_adjust_link() local 179 rcntrl = in_be32(&fec->r_cntrl); in mpc52xx_fec_adjust_link() 180 tcntrl = in_be32(&fec->x_cntrl); in mpc52xx_fec_adjust_link() 189 out_be32(&fec->r_cntrl, rcntrl); in mpc52xx_fec_adjust_link() [all …]
|
D | Kconfig | 23 config FEC config 24 tristate "FEC ethernet controller (of ColdFire and some i.MX CPUs)" 37 tristate "FEC MPC52xx driver" 48 bool "FEC MPC52xx MDIO bus driver" 52 The MPC5200's FEC can connect to the Ethernet either with 55 If your board uses an external PHY connected to FEC, enable this. 100 and MPC86xx family of chips, the eTSEC on LS1021A and the FEC
|
D | fec_mpc52xx_phy.c | 31 struct mpc52xx_fec __iomem *fec = priv->regs; in mpc52xx_fec_mdio_transfer() local 37 out_be32(&fec->ievent, FEC_IEVENT_MII); in mpc52xx_fec_mdio_transfer() 38 out_be32(&fec->mii_data, value); in mpc52xx_fec_mdio_transfer() 41 while (!(in_be32(&fec->ievent) & FEC_IEVENT_MII) && --tries) in mpc52xx_fec_mdio_transfer() 48 in_be32(&fec->mii_data) & FEC_MII_DATA_DATAMSK : 0; in mpc52xx_fec_mdio_transfer() 136 { .compatible = "mpc5200b-fec-phy", }, 143 .name = "mpc5200b-fec-phy", 151 /* let fec driver call it, since this has to be registered before it */
|
/Linux-v5.15/tools/testing/selftests/drivers/net/netdevsim/ |
D | ethtool-fec.sh | 12 s=$($ETHTOOL --show-fec $NSIM_NETDEV | tail -2) 13 check $? "$s" "Configured FEC encodings: None 14 Active FEC encoding: None" 17 $ETHTOOL --set-fec $NSIM_NETDEV encoding auto 19 s=$($ETHTOOL --show-fec $NSIM_NETDEV | tail -2) 20 check $? "$s" "Configured FEC encodings: Auto 21 Active FEC encoding: Off" 25 $ETHTOOL --set-fec $NSIM_NETDEV encoding $o 27 s=$($ETHTOOL --show-fec $NSIM_NETDEV | tail -2) 28 check $? "$s" "Configured FEC encodings: Off [all …]
|
/Linux-v5.15/Documentation/devicetree/bindings/net/ |
D | fsl,fec.yaml | 4 $id: http://devicetree.org/schemas/net/fsl,fec.yaml# 7 title: Freescale Fast Ethernet Controller (FEC) 19 - fsl,imx25-fec 20 - fsl,imx27-fec 21 - fsl,imx28-fec 22 - fsl,imx6q-fec 23 - fsl,mvf600-fec 26 - fsl,imx53-fec 27 - fsl,imx6sl-fec 28 - const: fsl,imx25-fec [all …]
|
/Linux-v5.15/net/ethtool/ |
D | fec.c | 32 ethtool_fec_to_link_modes(u32 fec, unsigned long *link_modes, u8 *fec_auto) in ethtool_fec_to_link_modes() argument 35 *fec_auto = !!(fec & ETHTOOL_FEC_AUTO); in ethtool_fec_to_link_modes() 37 if (fec & ETHTOOL_FEC_OFF) in ethtool_fec_to_link_modes() 39 if (fec & ETHTOOL_FEC_RS) in ethtool_fec_to_link_modes() 41 if (fec & ETHTOOL_FEC_BASER) in ethtool_fec_to_link_modes() 43 if (fec & ETHTOOL_FEC_LLRS) in ethtool_fec_to_link_modes() 48 ethtool_link_modes_to_fecparam(struct ethtool_fecparam *fec, in ethtool_link_modes_to_fecparam() argument 51 memset(fec, 0, sizeof(*fec)); in ethtool_link_modes_to_fecparam() 54 fec->fec |= ETHTOOL_FEC_AUTO; in ethtool_link_modes_to_fecparam() 57 fec->fec |= ETHTOOL_FEC_OFF; in ethtool_link_modes_to_fecparam() [all …]
|
/Linux-v5.15/drivers/net/ethernet/freescale/fs_enet/ |
D | mii-fec.c | 42 #include "fec.h" 44 /* Make MII read/write commands for the FEC. 54 struct fec_info* fec = bus->priv; in fs_enet_fec_mii_read() local 55 struct fec __iomem *fecp = fec->fecp; in fs_enet_fec_mii_read() 77 struct fec_info* fec = bus->priv; in fs_enet_fec_mii_write() local 78 struct fec __iomem *fecp = fec->fecp; in fs_enet_fec_mii_write() 104 struct fec_info *fec; in fs_enet_mdio_probe() local 117 fec = kzalloc(sizeof(struct fec_info), GFP_KERNEL); in fs_enet_mdio_probe() 118 if (!fec) in fs_enet_mdio_probe() 121 new_bus->priv = fec; in fs_enet_mdio_probe() [all …]
|
D | mac-fec.c | 43 #include "fec.h" 74 * Delay to wait for FEC reset command to complete (in us) 78 static int whack_reset(struct fec __iomem *fecp) in whack_reset() 100 fep->fec.fecp = of_iomap(ofdev->dev.of_node, 0); in do_pd_setup() 119 fep->fec.hthi = 0; in setup_data() 120 fep->fec.htlo = 0; in setup_data() 164 struct fec __iomem *fecp = fep->fec.fecp; in set_promiscuous_mode() 173 fep->fec.hthi = 0; in set_multicast_start() 174 fep->fec.htlo = 0; in set_multicast_start() 193 fep->fec.hthi |= csrVal; in set_multicast_one() [all …]
|
/Linux-v5.15/Documentation/misc-devices/ |
D | xilinx_sdfec.rst | 4 Xilinx SD-FEC Driver 10 This driver supports SD-FEC Integrated Block for Zynq |Ultrascale+ (TM)| RFSoCs. 15 For a full description of SD-FEC core features, see the `SD-FEC Product Guide (PG256) <https://www.… 24 Missing features, known issues, and limitations of the SD-FEC driver are as 28 - Reset of the SD-FEC Integrated Block is not controlled by this driver 32 …indings/misc/xlnx,sd-fec.txt <https://github.com/Xilinx/linux-xlnx/blob/master/Documentation/devic… 38 The driver works with the SD-FEC core in two modes of operation: 50 - Activate the SD-FEC core 51 - Monitor the SD-FEC core for errors 52 - Retrieve the status and configuration of the SD-FEC core [all …]
|
/Linux-v5.15/drivers/md/ |
D | dm-verity-fec.c | 8 #include "dm-verity-fec.h" 11 #define DM_MSG_PREFIX "verity-fec" 18 return v->fec && v->fec->dev; in verity_fec_is_enabled() 37 mod = do_div(offset, v->fec->rsn); in fec_interleave() 38 return offset + mod * (v->fec->rounds << v->data_dev_block_bits); in fec_interleave() 45 u8 *data, u8 *fec, int neras) in fec_decode_rs8() argument 50 for (i = 0; i < v->fec->roots; i++) in fec_decode_rs8() 51 par[i] = fec[i]; in fec_decode_rs8() 53 return decode_rs8(fio->rs, data, par, v->fec->rsn, NULL, neras, in fec_decode_rs8() 67 position = (index + rsb) * v->fec->roots; in fec_read_parity() [all …]
|
/Linux-v5.15/include/uapi/misc/ |
D | xilinx_sdfec.h | 3 * Xilinx SD-FEC 193 * struct xsdfec_status - Status of SD-FEC core. 194 * @state: State of the SD-FEC core 195 * @activity: Describes if the SD-FEC instance is Active 213 * struct xsdfec_config - Configuration of SD-FEC core. 214 * @code: The codes being used by the SD-FEC instance 252 * struct xsdfec_ldpc_param_table_sizes - Used to store sizes of SD-FEC table 274 * ioctl to start SD-FEC core 284 * ioctl to stop the SD-FEC core 292 * ioctl that returns status of SD-FEC core [all …]
|
/Linux-v5.15/drivers/net/netdevsim/ |
D | ethtool.c | 91 memcpy(fecparam, &ns->ethtool.fec, sizeof(ns->ethtool.fec)); in nsim_get_fecparam() 99 u32 fec; in nsim_set_fecparam() local 103 memcpy(&ns->ethtool.fec, fecparam, sizeof(ns->ethtool.fec)); in nsim_set_fecparam() 104 fec = fecparam->fec; in nsim_set_fecparam() 105 if (fec == ETHTOOL_FEC_AUTO) in nsim_set_fecparam() 106 fec |= ETHTOOL_FEC_OFF; in nsim_set_fecparam() 107 fec |= ETHTOOL_FEC_NONE; in nsim_set_fecparam() 108 ns->ethtool.fec.active_fec = 1 << (fls(fec) - 1); in nsim_set_fecparam() 141 ns->ethtool.fec.fec = ETHTOOL_FEC_NONE; in nsim_ethtool_init() 142 ns->ethtool.fec.active_fec = ETHTOOL_FEC_NONE; in nsim_ethtool_init()
|
/Linux-v5.15/arch/arm64/boot/dts/freescale/ |
D | imx8qxp-ss-conn.dtsi | 20 compatible = "fsl,imx8qxp-fec", "fsl,imx8qm-fec", "fsl,imx6sx-fec"; 24 compatible = "fsl,imx8qxp-fec", "fsl,imx8qm-fec", "fsl,imx6sx-fec";
|
D | imx8qm-ss-conn.dtsi | 8 compatible = "fsl,imx8qm-fec", "fsl,imx6sx-fec"; 12 compatible = "fsl,imx8qm-fec", "fsl,imx6sx-fec";
|
/Linux-v5.15/Documentation/ABI/testing/ |
D | sysfs-bus-dfl-devices-n3000-nios | 5 Description: Read-only. Returns the FEC mode of the 25G links of the 7 Solomon FEC, "kr" for Fire Code FEC, "no" for NO FEC. 8 "not supported" if the FEC mode setting is not supported, this
|
/Linux-v5.15/drivers/net/ethernet/marvell/octeontx2/nic/ |
D | otx2_ethtool.c | 136 sprintf(data, "Fec Corrected Errors: "); in otx2_get_strings() 138 sprintf(data, "Fec Uncorrected Errors: "); in otx2_get_strings() 222 * latest PHY FEC stats. in otx2_get_ethtool_stats() 228 if (pfvf->linfo.fec == OTX2_FEC_BASER) { in otx2_get_ethtool_stats() 931 const int fec[] = { in otx2_get_fecparam() local 937 if (pfvf->linfo.fec < FEC_MAX_INDEX) in otx2_get_fecparam() 938 fecparam->active_fec = fec[pfvf->linfo.fec]; in otx2_get_fecparam() 946 fecparam->fec = ETHTOOL_FEC_NONE; in otx2_get_fecparam() 948 fecparam->fec = fec[rsp->fwdata.supported_fec]; in otx2_get_fecparam() 959 int err = 0, fec = 0; in otx2_set_fecparam() local [all …]
|
/Linux-v5.15/drivers/media/dvb-frontends/ |
D | cx24123.c | 198 {0x0e, 0x03}, /* Default non-inverted, FEC 3/4 (default) */ 199 {0x0f, 0xfe}, /* FEC search mask (all supported codes) */ 325 static int cx24123_set_fec(struct cx24123_state *state, enum fe_code_rate fec) in cx24123_set_fec() argument 329 if (((int)fec < FEC_NONE) || (fec > FEC_AUTO)) in cx24123_set_fec() 330 fec = FEC_AUTO; in cx24123_set_fec() 333 if (fec == FEC_1_2) in cx24123_set_fec() 340 switch (fec) { in cx24123_set_fec() 342 dprintk("set FEC to 1/2\n"); in cx24123_set_fec() 347 dprintk("set FEC to 2/3\n"); in cx24123_set_fec() 352 dprintk("set FEC to 3/4\n"); in cx24123_set_fec() [all …]
|
D | lgs8gxx_priv.h | 30 #define LGS_FEC_MASK 0x03 /* FEC Rate Mask */ 31 #define LGS_FEC_0_4 0x00 /* FEC Rate 0.4 */ 32 #define LGS_FEC_0_6 0x01 /* FEC Rate 0.6 */ 33 #define LGS_FEC_0_8 0x02 /* FEC Rate 0.8 */
|
/Linux-v5.15/arch/powerpc/boot/dts/ |
D | adder875-uboot.dts | 78 compatible = "fsl,mpc875-fec-mdio", "fsl,pq1-fec-mdio"; 94 compatible = "fsl,mpc875-fec-enet", 95 "fsl,pq1-fec-enet"; 106 compatible = "fsl,mpc875-fec-enet", 107 "fsl,pq1-fec-enet";
|
D | adder875-redboot.dts | 79 compatible = "fsl,mpc875-fec-mdio", "fsl,pq1-fec-mdio"; 95 compatible = "fsl,mpc875-fec-enet", 96 "fsl,pq1-fec-enet"; 107 compatible = "fsl,mpc875-fec-enet", 108 "fsl,pq1-fec-enet";
|
/Linux-v5.15/arch/arm/boot/dts/ |
D | imx25-karo-tx25.dts | 25 regulator-name = "fec-phy"; 51 MX25_PAD_D11__GPIO_4_9 0x80000000 /* FEC PHY power on pin */ 52 MX25_PAD_D13__GPIO_4_7 0x80000000 /* FEC reset */ 92 &fec {
|
/Linux-v5.15/drivers/net/ethernet/marvell/prestera/ |
D | prestera_ethtool.c | 366 u8 fec, u8 type) in prestera_modes_to_eth() argument 382 if ((port_fec_caps[mode].pr_fec & fec) == 0) in prestera_modes_to_eth() 390 u64 *link_modes, u8 *fec, u8 type) in prestera_modes_from_eth() argument 414 *fec = fec_modes; in prestera_modes_from_eth() 675 fecparam->fec = 0; in prestera_ethtool_get_fecparam() 681 fecparam->fec |= port_fec_caps[mode].eth_fec; in prestera_ethtool_get_fecparam() 696 u8 fec, active; in prestera_ethtool_set_fecparam() local 701 netdev_err(dev, "FEC set is not allowed while autoneg is on\n"); in prestera_ethtool_set_fecparam() 709 fec = PRESTERA_PORT_FEC_MAX; in prestera_ethtool_set_fecparam() 711 if ((port_fec_caps[mode].eth_fec & fecparam->fec) && in prestera_ethtool_set_fecparam() [all …]
|
/Linux-v5.15/drivers/dma/bestcomm/ |
D | Makefile | 8 bestcomm-fec-objs := fec.o bcom_fec_rx_task.o bcom_fec_tx_task.o 13 obj-$(CONFIG_PPC_BESTCOMM_FEC) += bestcomm-fec.o
|
/Linux-v5.15/drivers/net/ethernet/sfc/ |
D | mcdi_port_common.c | 311 /* The semantics of the ethtool FEC mode bitmask are not well defined, 314 * OFF overrides any other bits, and means "disable all FEC" (with the 319 * AUTO and either RS or BASER means use the specified FEC type if cable and 321 * RS or BASER alone means use the specified FEC type if cable and link partner 322 * support it and either requests it, otherwise no FEC. 323 * Both RS and BASER (whether AUTO or not) means use FEC if cable and link 512 /* Record the initial FEC configuration (or nearest approximation in efx_mcdi_phy_probe() 616 int efx_mcdi_phy_get_fecparam(struct efx_nic *efx, struct ethtool_fecparam *fec) in efx_mcdi_phy_get_fecparam() argument 637 fec->fec = mcdi_fec_caps_to_ethtool(caps, is_25g); in efx_mcdi_phy_get_fecparam() 640 fec->fec &= ~ETHTOOL_FEC_BASER; in efx_mcdi_phy_get_fecparam() [all …]
|