Thread (26 messages) flat view 26 messages, 4 authors, 2022-01-20

RE: [v3 2/2] dsa: mv88e6xxx: make serdes SGMII/Fiber output amplitude configurable

From: Holger Brunck <hidden>
Date: 2021-12-08 15:49:23

quoted
quoted
quoted
The mv88e6352, mv88e6240 and mv88e6176  have a serdes interface.
This patch allows to configure the output swing to a desired value
in the devicetree node of the port. As the chips only supports
eight dedicated values we return EINVAL if the value in the DTS does not
match.
quoted
quoted
quoted
CC: Andrew Lunn <andrew@lunn.ch>
CC: Jakub Kicinski <kuba@kernel.org>
CC: Marek Behún <kabel@kernel.org>
Signed-off-by: Holger Brunck <redacted>
Holger, Andrew,

there is another issue with this, which I only realized yesterday.
What if the different amplitude needs to be set only for certain SerDes
modes?
quoted
quoted
I am bringing this up because I discovered that on Turris Mox we
need to increase SerDes output amplitude when A3720 SOC is connected
directly to
88E6141 switch, but only for 2500base-x mode. For 1000base-x, the
default amplitude is okay. (Also when the SOC is connected to
88E6190, the amplitude does not need to be changed at all.)
on my board I have a fixed link connected with SGMII and there is no
dedicated value given in the manual.
quoted
I plan to solve this in the comphy driver, not in device-tree.

But if the solution is to be done in DTS, shouldn't there be a
possibility to define the amplitude for a specific serdes mode only?

For example
  serdes-2500base-x-tx-amplitude-millivolt
or
  serdes-tx-amplitude-millivolt-2500base-x
or
  serdes-tx-amplitude-millivolt,2500base-x
?

What do you think?
in the data sheet for the MV6352 I am using there are no dedicated
values stated for different modes at all, they can be chosen
arbitrary. So in my case I think it makes sense to keep it as it is
for now. Other driver may have other needs and may enhance this later on.
Hi Holger,

but the mv88e6xxx driver also drives switches that allow changing serdes
modes. There does not need be dedicated TX amplitude register for each serdes
mode, the point is that we may want to declare different amplitudes for
different modes.

So the question is: if we go with your binding proposal for the whole mv88e6xxx
driver, and in the future someone will want to declare different amplitudes for
different modes on another model, would he need to deprecate your binding or
would it be easy to extend?
ok I see. So if I follow your proposal in my case it would be something like:
serdes-sgmii-tx-amplitude-millivolt to start with ? 

I can do that. Andrew what do you think?

Best regards
Holger
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help