Thread (35 messages) 35 messages, 7 authors, 2023-03-03

Re: [PATCH v9 07/10] arm64: dts: ls1046ardb: Add serdes bindings

From: Sean Anderson <hidden>
Date: 2023-01-27 16:11:19
Also in: linux-arm-kernel, linux-devicetree, linux-phy

On 1/27/23 02:52, Shawn Guo wrote:
On Thu, Jan 26, 2023 at 11:48:53AM -0500, Sean Anderson wrote:
quoted
On 1/25/23 18:43, Shawn Guo wrote:
quoted
On Thu, Dec 29, 2022 at 07:01:36PM -0500, Sean Anderson wrote:
quoted
This adds appropriate bindings for the macs which use the SerDes. The
156.25MHz fixed clock is a crystal. The 100MHz clocks (there are
actually 3) come from a Renesas 6V49205B at address 69 on i2c0. There is
no driver for this device (and as far as I know all you can do with the
100MHz clocks is gate them), so I have chosen to model it as a single
fixed clock.

Note: the SerDes1 lane numbering for the LS1046A is *reversed*.
This means that Lane A (what the driver thinks is lane 0) uses pins
SD1_TX3_P/N.

Because this will break ethernet if the serdes is not enabled, enable
the serdes driver by default on Layerscape.

Signed-off-by: Sean Anderson <redacted>
---
This depends on [1].

[1] https://lore.kernel.org/netdev/20220804194705.459670-4-sean.anderson@seco.com/ (local)

Changes in v9:
- Fix name of phy mode node
- phy-type -> fsl,phy

Changes in v8:
- Rename serdes phy handles to use _A, _B, etc. instead of _0, _1, etc.
  This should help remind readers that the numbering corresponds to the
  physical layout of the registers, and not the lane (pin) number.

Changes in v6:
- XGI.9 -> XFI.9

Changes in v4:
- Convert to new bindings

 .../boot/dts/freescale/fsl-ls1046a-rdb.dts    | 112 ++++++++++++++++++
 drivers/phy/freescale/Kconfig                 |   1 +
The phy driver Kconfig change shouldn't be part of this patch.
I put it here for bisectability, since this is the point where we need
to enable it. But I can do this in a separate patch if you want.
From DT ABI perspective, it's already broken anyway if you need to change
kernel and DT atomically.
AIUI new kernels must work with old device trees, but new device trees need not
work with old kernels. So a change like this is fine, since the kernel won't
touch the serdes if it isn't supplied.

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