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@xxxxxx>
---
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@xxxxxx>
+
+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.