Re: [PATCH phy 13/14] dt-bindings: phy: lynx-28g: add compatible strings per SerDes and instantiation
From: Krzysztof Kozlowski <krzk@kernel.org>
Date: 2025-09-05 08:29:36
Also in:
linux-phy, lkml
On Thu, Sep 04, 2025 at 06:44:01PM +0300, Vladimir Oltean wrote:
quoted hunk ↗ jump to hunk
Going by the generic "fsl,lynx-28g" compatible string and expecting all SerDes instantiations on all SoCs to use it was a mistake. They all share the same register map, sure, but the number of protocol converters and lanes which are instantiated differs in a way that isn't detectable by software. So distinguish them by compatible strings. At the same time, keep "fsl,lynx-28g" as backup. Cc: Rob Herring <robh@kernel.org> Cc: Krzysztof Kozlowski <krzk+dt@kernel.org> Cc: Conor Dooley <conor+dt@kernel.org> Cc: devicetree@vger.kernel.org Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> --- .../devicetree/bindings/phy/fsl,lynx-28g.yaml | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-)diff --git a/Documentation/devicetree/bindings/phy/fsl,lynx-28g.yaml b/Documentation/devicetree/bindings/phy/fsl,lynx-28g.yaml index ff9f9ca0f19c..55d773c8d0e4 100644 --- a/Documentation/devicetree/bindings/phy/fsl,lynx-28g.yaml +++ b/Documentation/devicetree/bindings/phy/fsl,lynx-28g.yaml@@ -11,8 +11,17 @@ maintainers: properties: compatible: - enum: - - fsl,lynx-28g + oneOf: + - items: + - const: fsl,lynx-28g
Don't change that part. Previous enum was correct. You want oneOf and enum.
+ - items: + - enum: + - fsl,lx2160a-serdes1 + - fsl,lx2160a-serdes2 + - fsl,lx2160a-serdes3
What are the differences? number of lanes? For this you can take num-lanes property.
+ - fsl,lx2162a-serdes1 + - fsl,lx2162a-serdes2 + - const: fsl,lynx-28g
Best regards, Krzysztof