linux/drivers/net/mdio
Markus Stockhausen 5ebdcac59a net: mdio: realtek-rtl9300: Add support for RTL931x
The MDIO driver has been prepared for multiple device support. Add all
required bits for the RTL931x (aka mango) series. This is straightforward
but some things are worth to be mentioned.

- In contrast to RTL930x the I/O register has the input/output fields
  swapped. Upper 16 bits are for read/outputs, and the lower 16 bits
  are for write/inputs.
- The supported "pages" are 8192 and thus the raw page is 8191
- The devices support up to 56 ports. Thus the MAX_PORTS definition
  is increased by this commit.
- There are multiple global SMI controller registers with a different
  layout from RTL930x devices. Therefore a separate setup_controller()
  callback is added.

Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://patch.msgid.link/20260610194145.4153668-6-markus.stockhausen@gmx.de
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2026-06-12 17:24:11 -07:00
..
acpi_mdio.c net: mdio: fill in missing MODULE_DESCRIPTION()s 2023-11-01 21:50:57 -07:00
fwnode_mdio.c net: mdio: common handling of phy device reset properties 2025-11-20 17:41:39 -08:00
Kconfig net: mdio: drop unneeded dependency on OF_GPIO 2026-04-29 18:01:48 -07:00
Makefile net: mdio: add a driver for PIC64-HPSC/HX MDIO controller 2026-04-12 14:19:19 -07:00
mdio-airoha.c net: mdio: Check regmap pointer returned by device_node_to_regmap() 2025-11-03 16:20:03 -08:00
mdio-aspeed.c net: mdio: aspeed: add dummy read to avoid read-after-write issue 2025-12-22 12:06:18 +01:00
mdio-bcm-iproc.c net: mdio: Switch back to struct platform_driver::remove() 2024-10-04 16:39:57 -07:00
mdio-bcm-unimac.c net: mdio: mdio-bcm-unimac: Refine incorrect clock message 2025-08-12 17:16:20 -07:00
mdio-bitbang.c net: mdio: fill in missing MODULE_DESCRIPTION()s 2023-11-01 21:50:57 -07:00
mdio-cavium.c net: mdio: cavium: Remove unneeded simicolons 2023-01-17 13:19:05 +01:00
mdio-cavium.h net: mdio: cavium: Separate C22 and C45 transactions 2023-01-13 21:40:53 -08:00
mdio-gpio.c net: mdio-gpio: remove linux/platform_data/mdio-gpio.h 2026-03-18 18:29:57 -07:00
mdio-hisi-femac.c net: mdio: Switch back to struct platform_driver::remove() 2024-10-04 16:39:57 -07:00
mdio-i2c.c net: phy: sfp: probe for RollBall I2C-to-MDIO bridge in mdio-i2c 2026-06-01 19:19:27 -07:00
mdio-ipq4019.c net: mdio-ipq4019: add missing error check 2024-11-26 11:01:39 +01:00
mdio-ipq8064.c net: mdio: Switch back to struct platform_driver::remove() 2024-10-04 16:39:57 -07:00
mdio-moxart.c net: mdio: Switch back to struct platform_driver::remove() 2024-10-04 16:39:57 -07:00
mdio-mscc-miim.c net: phy: micrel: use dev_err_probe() 2026-05-19 17:43:39 -07:00
mdio-mux-bcm-iproc.c net: mdio: Switch back to struct platform_driver::remove() 2024-10-04 16:39:57 -07:00
mdio-mux-bcm6368.c net: mdio: Switch back to struct platform_driver::remove() 2024-10-04 16:39:57 -07:00
mdio-mux-gpio.c net: mdio: mux-gpio: use gpiod_multi_set_value_cansleep 2025-06-12 18:37:51 -07:00
mdio-mux-meson-g12a.c net: mdio: Switch back to struct platform_driver::remove() 2024-10-04 16:39:57 -07:00
mdio-mux-meson-gxl.c net: mdio: mux-meson-gxl: set reversed bit when using internal phy 2025-04-29 12:01:53 -07:00
mdio-mux-mmioreg.c net: mdio: Switch back to struct platform_driver::remove() 2024-10-04 16:39:57 -07:00
mdio-mux-multiplexer.c net: mdio: Switch back to struct platform_driver::remove() 2024-10-04 16:39:57 -07:00
mdio-mux.c net: mdio-mux: be compatible with parent buses which only support C45 2023-12-14 18:55:38 -08:00
mdio-mvusb.c net: mdio: mvusb: drop redundant device reference 2026-03-10 19:53:19 -07:00
mdio-octeon.c net: simplify resource acquisition + ioremap 2024-12-06 17:28:34 -08:00
mdio-pic64hpsc.c net: mdio: add a driver for PIC64-HPSC/HX MDIO controller 2026-04-12 14:19:19 -07:00
mdio-realtek-rtl9300.c net: mdio: realtek-rtl9300: Add support for RTL931x 2026-06-12 17:24:11 -07:00
mdio-regmap.c net: mdio: Introduce a regmap-based mdio driver 2023-06-05 09:56:36 +01:00
mdio-sun4i.c net: mdio: Switch back to struct platform_driver::remove() 2024-10-04 16:39:57 -07:00
mdio-thunder.c net: mdio: thunder: Use pure PCI devres API 2025-04-28 16:19:16 -07:00
mdio-xgene.c net: mdio: xgene: Fix misleading err message in xgene mdio read 2026-03-05 18:32:01 -08:00
of_mdio.c net: mdio: remove redundant fwnode cleanup 2025-11-25 18:45:37 -08:00