[PATCH net-next v2 0/9] net: mdio: realtek-rtl9300: Groundwork for multi SOC support
From: Markus Stockhausen <hidden>
Date: 2026-05-21 17:59:56
The Realtek Otto switch platform consist of four different series
- RTL838x aka maple : 28 port 1G Switches
- RTL839x aka cypress : 52 port 1G Switches
- RTL930x aka longan : 28 port 1G/2.5G/10G Switches
- RTL931x aka mango : 56 port 1G/2.5G/10G Switches
The existing realtek-rtl9300 MDIO driver was only designed for RTL930x
devices. The three other SOCs are not supported although they basically
incorporate a very similar MDIO controller.
This series is the first step in a multi-stage approach to also support
the missing SOCs. Device specific properties and registers are converted
into designated initializers. Based on this new devices can be added
much easier in future commits.
Signed-off-by: Markus Stockhausen <redacted>
---
v1 -> v2:
- Reword all commit messages so it aligns with the hardware and MDIO
specifications. Describe in more detail what each patch does.
- Enhance in-driver documentation and add an end to end I/O picture
about the port based addressing.
- Change function prefix to otto_emdio_
- Adapt raw page macro to RAW_PAGE(priv)
v1: https://lore.kernel.org/netdev/20260519165747.1288903-1-markus.stockhausen@gmx.de/ (local)
Markus Stockhausen (9):
net: mdio: realtek-rtl9300: enhance documentation & naming
net: mdio: realtek-rtl9300: Add device specific info structure
net: mdio: realtek-rtl9300: Add ports to info structure
net: mdio: realtek-rtl9300: Add pages to info structure
net: mdio: realtek-rtl9300: Add register structure
net: mdio: realtek-rtl9300: Add command/C22 register
net: mdio: realtek-rtl9300: Add I/O register
net: mdio: realtek-rtl9300: Add port mask register
net: mdio: realtek-rtl9300: Link I/O functions in info structure
drivers/net/mdio/mdio-realtek-rtl9300.c | 262 +++++++++++++++---------
1 file changed, 168 insertions(+), 94 deletions(-)
--
2.54.0