linux/drivers/net/dsa/sja1105
Vladimir Oltean 135e30180f net: dsa: sja1105: enable internal pull-down for RX_DV/CRS_DV/RX_CTL and RX_ER
Some boards do not have the RX_ER MII signal connected. Normally in such
situation, those pins would be grounded, but then again, some boards
left it electrically floating.

When sending traffic to those switch ports, one can see that the
N_SOFERR statistics counter is incrementing once per each packet. The
user manual states for this counter that it may count the number of
frames "that have the MII error input being asserted prior to or
up to the SOF delimiter byte". So the switch MAC is sampling an
electrically floating signal, and preventing proper traffic reception
because of that.

As a workaround, enable the internal weak pull-downs on the input pads
for the MII control signals. This way, a floating signal would be
internally tied to ground.

The logic levels of signals which _are_ externally driven should not be
bothered by this 40-50 KOhm internal resistor. So it is not an issue to
enable the internal pull-down unconditionally, irrespective of PHY
interface type (MII, RMII, RGMII, SGMII) and of board layout.

Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2020-04-20 11:00:27 -07:00
..
Kconfig net: dsa: sja1105: Implement state machine for TAS with PTP clock source 2019-11-14 14:50:35 -08:00
Makefile net: dsa: sja1105: add broadcast and per-traffic class policers 2020-03-30 11:44:01 -07:00
sja1105.h net: dsa: sja1105: enable internal pull-down for RX_DV/CRS_DV/RX_CTL and RX_ER 2020-04-20 11:00:27 -07:00
sja1105_clocking.c net: dsa: sja1105: enable internal pull-down for RX_DV/CRS_DV/RX_CTL and RX_ER 2020-04-20 11:00:27 -07:00
sja1105_dynamic_config.c net: dsa: sja1105: make the AVB table dynamically reconfigurable 2020-03-23 22:15:07 -07:00
sja1105_dynamic_config.h net: dsa: sja1105: Use the correct style for SPDX License Identifier 2019-10-15 20:16:26 -07:00
sja1105_ethtool.c net: dsa: sja1105: show more ethtool statistics counters for P/Q/R/S 2020-03-29 22:04:20 -07:00
sja1105_flower.c net: dsa: sja1105: add broadcast and per-traffic class policers 2020-03-30 11:44:01 -07:00
sja1105_main.c net: dsa: sja1105: add broadcast and per-traffic class policers 2020-03-30 11:44:01 -07:00
sja1105_ptp.c net: dsa: sja1105: configure the PTP_CLK pin as EXT_TS or PER_OUT 2020-03-23 22:15:07 -07:00
sja1105_ptp.h net: dsa: sja1105: configure the PTP_CLK pin as EXT_TS or PER_OUT 2020-03-23 22:15:07 -07:00
sja1105_sgmii.h net: dsa: sja1105: Add support for the SGMII port 2020-03-20 08:55:21 -07:00
sja1105_spi.c net: dsa: sja1105: enable internal pull-down for RX_DV/CRS_DV/RX_CTL and RX_ER 2020-04-20 11:00:27 -07:00
sja1105_static_config.c net: dsa: sja1105: configure the PTP_CLK pin as EXT_TS or PER_OUT 2020-03-23 22:15:07 -07:00
sja1105_static_config.h net: dsa: sja1105: configure the PTP_CLK pin as EXT_TS or PER_OUT 2020-03-23 22:15:07 -07:00
sja1105_tas.c net: dsa: sja1105: make future_base_time a common helper 2020-03-23 22:15:07 -07:00
sja1105_tas.h net: dsa: sja1105: Implement state machine for TAS with PTP clock source 2019-11-14 14:50:35 -08:00