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

Sean Anderson sean.anderson at seco.com
Sat Jan 28 03:11:05 AEDT 2023


On 1/27/23 02:52, Shawn Guo wrote:
> On Thu, Jan 26, 2023 at 11:48:53AM -0500, Sean Anderson wrote:
>> On 1/25/23 18:43, Shawn Guo wrote:
>> > On Thu, Dec 29, 2022 at 07:01:36PM -0500, Sean Anderson wrote:
>> >> 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 <sean.anderson at seco.com>
>> >> ---
>> >> This depends on [1].
>> >> 
>> >> [1] https://lore.kernel.org/netdev/20220804194705.459670-4-sean.anderson@seco.com/
>> >> 
>> >> 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


More information about the Linuxppc-dev mailing list