mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 14:53:58 -04:00
This adds an MDIO driver for PIC64-HPSC/HX. The hardware supports C22 and C45 but only C22 is implemented in this commit. This MDIO hardware is based on a Microsemi design supported in Linux by mdio-mscc-miim.c. However, The register interface is completely different with pic64hpsc, hence the need for a separate driver. The documentation recommends an input clock of 156.25MHz and a prescaler of 39, which yields an MDIO clock of 1.95MHz. The hardware supports an interrupt pin or a "TRIGGER" bit that can be polled to signal transaction completion. This commit uses polling. This was tested on Microchip HB1301 evalkit with a VSC8574 and a VSC8541. Signed-off-by: Charles Perry <charles.perry@microchip.com> Reviewed-by: Maxime Chevallier <maxime.chevallier@bootlin.com> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Link: https://patch.msgid.link/20260408131821.1145334-3-charles.perry@microchip.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
38 lines
1.6 KiB
Makefile
38 lines
1.6 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
# Makefile for Linux MDIO bus drivers
|
|
|
|
obj-$(CONFIG_ACPI_MDIO) += acpi_mdio.o
|
|
obj-$(CONFIG_FWNODE_MDIO) += fwnode_mdio.o
|
|
obj-$(CONFIG_OF_MDIO) += of_mdio.o
|
|
|
|
obj-$(CONFIG_MDIO_AIROHA) += mdio-airoha.o
|
|
obj-$(CONFIG_MDIO_ASPEED) += mdio-aspeed.o
|
|
obj-$(CONFIG_MDIO_BCM_IPROC) += mdio-bcm-iproc.o
|
|
obj-$(CONFIG_MDIO_BCM_UNIMAC) += mdio-bcm-unimac.o
|
|
obj-$(CONFIG_MDIO_BITBANG) += mdio-bitbang.o
|
|
obj-$(CONFIG_MDIO_CAVIUM) += mdio-cavium.o
|
|
obj-$(CONFIG_MDIO_GPIO) += mdio-gpio.o
|
|
obj-$(CONFIG_MDIO_HISI_FEMAC) += mdio-hisi-femac.o
|
|
obj-$(CONFIG_MDIO_I2C) += mdio-i2c.o
|
|
obj-$(CONFIG_MDIO_IPQ4019) += mdio-ipq4019.o
|
|
obj-$(CONFIG_MDIO_IPQ8064) += mdio-ipq8064.o
|
|
obj-$(CONFIG_MDIO_MOXART) += mdio-moxart.o
|
|
obj-$(CONFIG_MDIO_MSCC_MIIM) += mdio-mscc-miim.o
|
|
obj-$(CONFIG_MDIO_MVUSB) += mdio-mvusb.o
|
|
obj-$(CONFIG_MDIO_OCTEON) += mdio-octeon.o
|
|
obj-$(CONFIG_MDIO_PIC64HPSC) += mdio-pic64hpsc.o
|
|
obj-$(CONFIG_MDIO_REALTEK_RTL9300) += mdio-realtek-rtl9300.o
|
|
obj-$(CONFIG_MDIO_REGMAP) += mdio-regmap.o
|
|
obj-$(CONFIG_MDIO_SUN4I) += mdio-sun4i.o
|
|
obj-$(CONFIG_MDIO_THUNDER) += mdio-thunder.o
|
|
obj-$(CONFIG_MDIO_XGENE) += mdio-xgene.o
|
|
|
|
obj-$(CONFIG_MDIO_BUS_MUX) += mdio-mux.o
|
|
obj-$(CONFIG_MDIO_BUS_MUX_BCM6368) += mdio-mux-bcm6368.o
|
|
obj-$(CONFIG_MDIO_BUS_MUX_BCM_IPROC) += mdio-mux-bcm-iproc.o
|
|
obj-$(CONFIG_MDIO_BUS_MUX_GPIO) += mdio-mux-gpio.o
|
|
obj-$(CONFIG_MDIO_BUS_MUX_MESON_G12A) += mdio-mux-meson-g12a.o
|
|
obj-$(CONFIG_MDIO_BUS_MUX_MESON_GXL) += mdio-mux-meson-gxl.o
|
|
obj-$(CONFIG_MDIO_BUS_MUX_MMIOREG) += mdio-mux-mmioreg.o
|
|
obj-$(CONFIG_MDIO_BUS_MUX_MULTIPLEXER) += mdio-mux-multiplexer.o
|