Message ID | 924c2c6316e6d51a17423eded3a2c5c5bbf349d2.1699565880.git.daniel@makrotopia.org |
---|---|
State | New |
Headers | show |
Series | Add support for 10G Ethernet SerDes on MT7988 | expand |
On Thu, Nov 09, 2023 at 09:50:55PM +0000, Daniel Golle wrote: > Add bindings for the MediaTek PEXTP Ethernet SerDes PHY found in the > MediaTek MT7988 SoC which can operate at various interfaces modes: > > * USXGMII > * 10GBase-R > * 5GBase-R > * 2500Base-X > * 1000Base-X > * Cisco SGMII (MAC side) > > Signed-off-by: Daniel Golle <daniel@makrotopia.org> > --- > .../bindings/phy/mediatek,xfi-pextp.yaml | 71 +++++++++++++++++++ > 1 file changed, 71 insertions(+) > create mode 100644 Documentation/devicetree/bindings/phy/mediatek,xfi-pextp.yaml > > diff --git a/Documentation/devicetree/bindings/phy/mediatek,xfi-pextp.yaml b/Documentation/devicetree/bindings/phy/mediatek,xfi-pextp.yaml > new file mode 100644 > index 0000000000000..948d5031af1e3 > --- /dev/null > +++ b/Documentation/devicetree/bindings/phy/mediatek,xfi-pextp.yaml > @@ -0,0 +1,71 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/phy/mediatek,xfi-pextp.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: MediaTek XFI PEXTP SerDes PHY > + > +maintainers: > + - Daniel Golle <daniel@makrotopia.org> > + > +description: | Don't need '|' here. > + The MediaTek XFI PEXTP SerDes PHY provides the physical SerDes lanes > + used by the MediaTek USXGMII PCS. > + > +properties: > + $nodename: > + pattern: "^phy@[0-9a-f]+$" > + > + compatible: > + const: mediatek,mt7988-xfi-pextp > + > + reg: > + maxItems: 1 > + > + clocks: > + items: > + - description: XFI PHY clock > + > + resets: > + items: > + - description: PEXTP reset > + > + mediatek,usxgmii-performance-errata: > + $ref: /schemas/types.yaml#/definitions/flag > + description: > + USXGMII0 on MT7988 suffers from a performance problem in 10GBase-R > + mode which needs a work-around in the driver. The work-around is > + enabled using this flag. > + > + "#phy-cells": > + const: 0 > + > +required: > + - compatible > + - reg > + - clocks > + - resets > + - "#phy-cells" > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/clock/mediatek,mt7988-clk.h> > + #include <dt-bindings/reset/mediatek,mt7988-resets.h> > + soc { > + #address-cells = <2>; > + #size-cells = <2>; > + > + xfi_pextp0: phy@11f20000 { Drop unused labels. > + compatible = "mediatek,mt7988-xfi-pextp"; > + reg = <0 0x11f20000 0 0x10000>; > + clocks = <&topckgen CLK_TOP_XFI_PHY_0_XTAL_SEL>; > + resets = <&watchdog MT7988_TOPRGU_XFI_PEXTP0_GRST>; > + mediatek,usxgmii-performance-errata; > + #phy-cells = <0>; > + }; > + }; > + > +... > -- > 2.42.1
diff --git a/Documentation/devicetree/bindings/phy/mediatek,xfi-pextp.yaml b/Documentation/devicetree/bindings/phy/mediatek,xfi-pextp.yaml new file mode 100644 index 0000000000000..948d5031af1e3 --- /dev/null +++ b/Documentation/devicetree/bindings/phy/mediatek,xfi-pextp.yaml @@ -0,0 +1,71 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/phy/mediatek,xfi-pextp.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: MediaTek XFI PEXTP SerDes PHY + +maintainers: + - Daniel Golle <daniel@makrotopia.org> + +description: | + The MediaTek XFI PEXTP SerDes PHY provides the physical SerDes lanes + used by the MediaTek USXGMII PCS. + +properties: + $nodename: + pattern: "^phy@[0-9a-f]+$" + + compatible: + const: mediatek,mt7988-xfi-pextp + + reg: + maxItems: 1 + + clocks: + items: + - description: XFI PHY clock + + resets: + items: + - description: PEXTP reset + + mediatek,usxgmii-performance-errata: + $ref: /schemas/types.yaml#/definitions/flag + description: + USXGMII0 on MT7988 suffers from a performance problem in 10GBase-R + mode which needs a work-around in the driver. The work-around is + enabled using this flag. + + "#phy-cells": + const: 0 + +required: + - compatible + - reg + - clocks + - resets + - "#phy-cells" + +additionalProperties: false + +examples: + - | + #include <dt-bindings/clock/mediatek,mt7988-clk.h> + #include <dt-bindings/reset/mediatek,mt7988-resets.h> + soc { + #address-cells = <2>; + #size-cells = <2>; + + xfi_pextp0: phy@11f20000 { + compatible = "mediatek,mt7988-xfi-pextp"; + reg = <0 0x11f20000 0 0x10000>; + clocks = <&topckgen CLK_TOP_XFI_PHY_0_XTAL_SEL>; + resets = <&watchdog MT7988_TOPRGU_XFI_PEXTP0_GRST>; + mediatek,usxgmii-performance-errata; + #phy-cells = <0>; + }; + }; + +...
Add bindings for the MediaTek PEXTP Ethernet SerDes PHY found in the MediaTek MT7988 SoC which can operate at various interfaces modes: * USXGMII * 10GBase-R * 5GBase-R * 2500Base-X * 1000Base-X * Cisco SGMII (MAC side) Signed-off-by: Daniel Golle <daniel@makrotopia.org> --- .../bindings/phy/mediatek,xfi-pextp.yaml | 71 +++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 Documentation/devicetree/bindings/phy/mediatek,xfi-pextp.yaml