Message ID | 20241017162400.3881609-2-markus.stockhausen@gmx.de |
---|---|
State | Changes Requested |
Headers | show |
Series | phy: Realtek Otto SerDes: add new driver | expand |
On Thu, Oct 17, 2024 at 12:23:59PM -0400, Markus Stockhausen wrote: > Add bindings for the SerDes of the Realtek Otto platform. These are > MIPS based network Switch SoCs with up to 52 ports divided into four > different model lines. > > Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de> > --- Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> --- <form letter> This is an automated instruction, just in case, because many review tags are being ignored. If you know the process, you can skip it (please do not feel offended by me posting it here - no bad intentions intended). If you do not know the process, here is a short explanation: Please add Acked-by/Reviewed-by/Tested-by tags when posting new versions, under or above your Signed-off-by tag. Tag is "received", when provided in a message replied to you on the mailing list. Tools like b4 can help here. However, there's no need to repost patches *only* to add the tags. The upstream maintainer will do that for tags received on the version they apply. https://elixir.bootlin.com/linux/v6.5-rc3/source/Documentation/process/submitting-patches.rst#L577 </form letter> Best regards, Krzysztof
Hi Markus, On 18/10/24 05:23, Markus Stockhausen wrote: > Add bindings for the SerDes of the Realtek Otto platform. These are > MIPS based network Switch SoCs with up to 52 ports divided into four > different model lines. > > Signed-off-by: Markus Stockhausen<markus.stockhausen@gmx.de> > --- > > Changes in v5 > > - drop nodename > - drop items from compatible > > Changes in v4 > > - fixed addresses in example > - missing firmware-name denotes "skip firmware" instead empty string > - fixed reg porperty > > Changes in v3 > > - renamed to realtek,rtl8380m-serdes.yaml > - removed parameter controlled-ports > - verified with make dt_binding_check > - recipient list according to get_maintainers > > Changes in v2: > > - new subject > - removed patch command sequences > - renamed parameter controlled-ports to realtek,controlled-ports > --- > .../bindings/phy/realtek,rtl8380m-serdes.yaml | 59 +++++++++++++++++++ > 1 file changed, 59 insertions(+) > create mode 100644 Documentation/devicetree/bindings/phy/realtek,rtl8380m-serdes.yaml > > diff --git a/Documentation/devicetree/bindings/phy/realtek,rtl8380m-serdes.yaml b/Documentation/devicetree/bindings/phy/realtek,rtl8380m-serdes.yaml > new file mode 100644 > index 000000000000..13b11c011153 > --- /dev/null > +++ b/Documentation/devicetree/bindings/phy/realtek,rtl8380m-serdes.yaml > @@ -0,0 +1,59 @@ > +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause > +%YAML 1.2 > +--- > +$id:http://scanmail.trustwave.com/?c=20988&d=s7qR5_yfAKsmGFhxaX2pyywaUF-Iy48veN3B0KHSTQ&u=http%3a%2f%2fdevicetree%2eorg%2fschemas%2fphy%2frealtek%2crtl8380m-serdes%2eyaml%23 > +$schema:http://scanmail.trustwave.com/?c=20988&d=s7qR5_yfAKsmGFhxaX2pyywaUF-Iy48veNvAgPvQQg&u=http%3a%2f%2fdevicetree%2eorg%2fmeta-schemas%2fcore%2eyaml%23 > + > +title: Realtek Otto SerDes controller > + > +maintainers: > + - Markus Stockhausen<markus.stockhausen@gmx.de> > + > +description: > + The MIPS based Realtek Switch SoCs of the Realtek RTL838x, RTL839x, RTL930x > + and RTL931x series have multiple SerDes built in. They are linked to single, > + quad or octa PHYs like the RTL8218B, RTL8218D or RTL8214FC and are one of > + the integral part of the up-to-52-port switch architecture. Although these > + SerDes controllers have common basics they are designed differently in the > + SoC families. > + > +properties: > + compatible: > + enum: > + - realtek,rtl8380m-serdes > + - realtek,rtl8392m-serdes > + - realtek,rtl9302b-serdes Could you add the following RTL9300 variants - realtek,rtl9301-serdes - realtek,rtl9302c-serdes - realtek,rtl9303-serdes They all have subtly different serdes capabilities do it wouldn't be right to try and use one of the other compatibles. > + - realtek,rtl9311-serdes > + > + reg: > + maxItems: 1 > + > + "#phy-cells": > + const: 4 > + description: > + The first number defines the SerDes to use. The second number a linked > + SerDes. E.g. if a octa 1G PHY is attached to two QSGMII SerDes. The third > + number is the first switch port this SerDes is working for, the fourth > + number is the last switch port the SerDes is working for. > + > + firmware-name: > + maxItems: 1 > + description: > + If present, name (or relative path) of the file within the firmware > + search path containing the firmware image to patch the SerDes. > + > +required: > + - compatible > + - reg > + - "#phy-cells" > + > +additionalProperties: false > + > +examples: > + - | > + serdes: phy@1b0003b0 { > + compatible = "realtek,rtl9302b-serdes"; > + reg = <0x1b0003b0 0x8>; > + firmware-name = "zyxel-xgs1210-12-serdes.fw"; > + #phy-cells = <4>; > + }; FYI some of my RTL9300 changes are now in linux-next. In particular 5ec37be43fe7 ("mips: dts: realtek: Add syscon-reboot node") and c25e73d45d53 ("dt-bindings: mfd: Add Realtek RTL9300 switch peripherals"). I don't think it'd change this binding but eventually I'd like to add these serdes as children of the realtek,rtl9302c-switch.
diff --git a/Documentation/devicetree/bindings/phy/realtek,rtl8380m-serdes.yaml b/Documentation/devicetree/bindings/phy/realtek,rtl8380m-serdes.yaml new file mode 100644 index 000000000000..13b11c011153 --- /dev/null +++ b/Documentation/devicetree/bindings/phy/realtek,rtl8380m-serdes.yaml @@ -0,0 +1,59 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/phy/realtek,rtl8380m-serdes.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Realtek Otto SerDes controller + +maintainers: + - Markus Stockhausen <markus.stockhausen@gmx.de> + +description: + The MIPS based Realtek Switch SoCs of the Realtek RTL838x, RTL839x, RTL930x + and RTL931x series have multiple SerDes built in. They are linked to single, + quad or octa PHYs like the RTL8218B, RTL8218D or RTL8214FC and are one of + the integral part of the up-to-52-port switch architecture. Although these + SerDes controllers have common basics they are designed differently in the + SoC families. + +properties: + compatible: + enum: + - realtek,rtl8380m-serdes + - realtek,rtl8392m-serdes + - realtek,rtl9302b-serdes + - realtek,rtl9311-serdes + + reg: + maxItems: 1 + + "#phy-cells": + const: 4 + description: + The first number defines the SerDes to use. The second number a linked + SerDes. E.g. if a octa 1G PHY is attached to two QSGMII SerDes. The third + number is the first switch port this SerDes is working for, the fourth + number is the last switch port the SerDes is working for. + + firmware-name: + maxItems: 1 + description: + If present, name (or relative path) of the file within the firmware + search path containing the firmware image to patch the SerDes. + +required: + - compatible + - reg + - "#phy-cells" + +additionalProperties: false + +examples: + - | + serdes: phy@1b0003b0 { + compatible = "realtek,rtl9302b-serdes"; + reg = <0x1b0003b0 0x8>; + firmware-name = "zyxel-xgs1210-12-serdes.fw"; + #phy-cells = <4>; + };
Add bindings for the SerDes of the Realtek Otto platform. These are MIPS based network Switch SoCs with up to 52 ports divided into four different model lines. Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de> --- Changes in v5 - drop nodename - drop items from compatible Changes in v4 - fixed addresses in example - missing firmware-name denotes "skip firmware" instead empty string - fixed reg porperty Changes in v3 - renamed to realtek,rtl8380m-serdes.yaml - removed parameter controlled-ports - verified with make dt_binding_check - recipient list according to get_maintainers Changes in v2: - new subject - removed patch command sequences - renamed parameter controlled-ports to realtek,controlled-ports --- .../bindings/phy/realtek,rtl8380m-serdes.yaml | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 Documentation/devicetree/bindings/phy/realtek,rtl8380m-serdes.yaml -- 2.46.2