Hi Vladimir,
On Mon, 2026-01-05 at 21:30 +0200, Vladimir Oltean wrote:
quoted
+ return regmap_update_bits(gsw1xx_priv->shell, GSW1XX_SHELL_RGMII_SLEW_CFG,
+ RGMII_SLEW_CFG_DRV_TXD | RGMII_SLEW_CFG_DRV_TXC,
+ (RGMII_SLEW_CFG_DRV_TXD | RGMII_SLEW_CFG_DRV_TXC) * rate);
I don't have a particularly strong EE background, but my understanding
is this:
RGMII MACs provide individual slew rate configuration for TXD[3:0] and
for TX_CLK because normally, you'd want to focus on the TX_CLK slew rate
(in the sense of reducing EMI) more than on the TXD[3:0] slew rate.
This is for 2 reasons:
(1) the EMI noise produced by TX_CLK is in a much narrower spectrum
(runs at fixed 125/25/2.5 MHz) than TXD[3:0] (pseudo-random data).
(2) reducing the slew rate for TXD[3:0] risks introducing inter-symbol
interference, risk which does not exist for TX_CLK
Your dt-binding does not permit configuring the slew rates separately,
even though the hardware permits that. Was it intentional?
thanks for the hint! This is definitely something I need to discuss with HW
colleagues and get back to you!
--
Alexander Sverdlin
Siemens AG
www.siemens.com