/Linux-v6.6/drivers/net/ |
D | mdio.c | 3 * mdio.c: Generic support for MDIO-compatible transceivers 11 #include <linux/mdio.h> 14 MODULE_DESCRIPTION("Generic support for MDIO-compatible transceivers"); 19 * mdio45_probe - probe for an MDIO (clause 45) device 20 * @mdio: MDIO interface 23 * This sets @prtad and @mmds in the MDIO interface if successful. 26 int mdio45_probe(struct mdio_if_info *mdio, int prtad) in mdio45_probe() argument 34 stat2 = mdio->mdio_read(mdio->dev, prtad, mmd, MDIO_STAT2); in mdio45_probe() 40 devs1 = mdio->mdio_read(mdio->dev, prtad, mmd, MDIO_DEVS1); in mdio45_probe() 41 devs2 = mdio->mdio_read(mdio->dev, prtad, mmd, MDIO_DEVS2); in mdio45_probe() [all …]
|
/Linux-v6.6/drivers/net/mdio/ |
D | Kconfig | 3 # MDIO Layer Configuration 7 tristate "MDIO bus device drivers" 9 MDIO devices and driver infrastructure code. 27 FWNODE MDIO bus (Ethernet PHY) accessors 35 OpenFirmware MDIO bus (Ethernet PHY) accessors 42 ACPI MDIO bus (Ethernet PHY) accessors 50 tristate "Allwinner sun4i MDIO interface support" 53 This driver supports the MDIO interface found in the network 58 tristate "APM X-Gene SoC MDIO bus controller" 61 This module provides a driver for the MDIO busses found in the [all …]
|
D | Makefile | 2 # Makefile for Linux MDIO bus drivers 8 obj-$(CONFIG_MDIO_ASPEED) += mdio-aspeed.o 9 obj-$(CONFIG_MDIO_BCM_IPROC) += mdio-bcm-iproc.o 10 obj-$(CONFIG_MDIO_BCM_UNIMAC) += mdio-bcm-unimac.o 11 obj-$(CONFIG_MDIO_BITBANG) += mdio-bitbang.o 12 obj-$(CONFIG_MDIO_CAVIUM) += mdio-cavium.o 13 obj-$(CONFIG_MDIO_GPIO) += mdio-gpio.o 14 obj-$(CONFIG_MDIO_HISI_FEMAC) += mdio-hisi-femac.o 15 obj-$(CONFIG_MDIO_I2C) += mdio-i2c.o 16 obj-$(CONFIG_MDIO_IPQ4019) += mdio-ipq4019.o [all …]
|
D | mdio-mvusb.c | 27 struct mii_bus *mdio; member 32 static int mvusb_mdio_read(struct mii_bus *mdio, int dev, int reg) in mvusb_mdio_read() argument 34 struct mvusb_mdio *mvusb = mdio->priv; in mvusb_mdio_read() 52 static int mvusb_mdio_write(struct mii_bus *mdio, int dev, int reg, u16 val) in mvusb_mdio_write() argument 54 struct mvusb_mdio *mvusb = mdio->priv; in mvusb_mdio_write() 69 struct mii_bus *mdio; in mvusb_mdio_probe() local 72 mdio = devm_mdiobus_alloc_size(dev, sizeof(*mvusb)); in mvusb_mdio_probe() 73 if (!mdio) in mvusb_mdio_probe() 76 mvusb = mdio->priv; in mvusb_mdio_probe() 77 mvusb->mdio = mdio; in mvusb_mdio_probe() [all …]
|
D | of_mdio.c | 3 * OF helpers for the MDIO (Ethernet PHY) API 36 int of_mdiobus_phy_device_register(struct mii_bus *mdio, struct phy_device *phy, in of_mdiobus_phy_device_register() argument 39 return fwnode_mdiobus_phy_device_register(mdio, phy, in of_mdiobus_phy_device_register() 45 static int of_mdiobus_register_phy(struct mii_bus *mdio, in of_mdiobus_register_phy() argument 48 return fwnode_mdiobus_register_phy(mdio, of_fwnode_handle(child), addr); in of_mdiobus_register_phy() 51 static int of_mdiobus_register_device(struct mii_bus *mdio, in of_mdiobus_register_device() argument 58 mdiodev = mdio_device_create(mdio, addr); in of_mdiobus_register_device() 77 dev_dbg(&mdio->dev, "registered mdio device %pOFn at address %i\n", in of_mdiobus_register_device() 85 * to have a compatible string, so they can be matched to an MDIO 143 * @mdio: pointer to mii_bus structure [all …]
|
D | mdio-gpio.c | 3 * GPIO based MDIO bitbang driver. 22 #include <linux/mdio-bitbang.h> 23 #include <linux/mdio-gpio.h> 26 #include <linux/platform_data/mdio-gpio.h> 32 struct gpio_desc *mdc, *mdio, *mdo; member 43 bitbang->mdio = devm_gpiod_get_index(dev, NULL, MDIO_GPIO_MDIO, in mdio_gpio_get_data() 45 if (IS_ERR(bitbang->mdio)) in mdio_gpio_get_data() 46 return PTR_ERR(bitbang->mdio); in mdio_gpio_get_data() 69 gpiod_direction_output(bitbang->mdio, 1); in mdio_dir() 71 gpiod_direction_input(bitbang->mdio); in mdio_dir() [all …]
|
D | acpi_mdio.c | 3 * ACPI helpers for the MDIO (Ethernet PHY) API 22 * @mdio: pointer to mii_bus structure 23 * @fwnode: pointer to fwnode of MDIO bus. This fwnode is expected to represent 24 * @owner: module owning this @mdio object. 25 * an ACPI device object corresponding to the MDIO bus and its children are 31 int __acpi_mdiobus_register(struct mii_bus *mdio, struct fwnode_handle *fwnode, in __acpi_mdiobus_register() argument 39 mdio->phy_mask = GENMASK(31, 0); in __acpi_mdiobus_register() 40 ret = __mdiobus_register(mdio, owner); in __acpi_mdiobus_register() 44 ACPI_COMPANION_SET(&mdio->dev, to_acpi_device_node(fwnode)); in __acpi_mdiobus_register() 52 ret = fwnode_mdiobus_register_phy(mdio, child, addr); in __acpi_mdiobus_register() [all …]
|
/Linux-v6.6/Documentation/devicetree/bindings/net/ |
D | brcm,unimac-mdio.yaml | 4 $id: http://devicetree.org/schemas/net/brcm,unimac-mdio.yaml# 7 title: Broadcom UniMAC MDIO bus controller 15 - $ref: mdio.yaml# 20 - brcm,genet-mdio-v1 21 - brcm,genet-mdio-v2 22 - brcm,genet-mdio-v3 23 - brcm,genet-mdio-v4 24 - brcm,genet-mdio-v5 25 - brcm,asp-v2.0-mdio 26 - brcm,asp-v2.1-mdio [all …]
|
D | allwinner,sun8i-a83t-emac.yaml | 127 mdio-mux: 133 const: allwinner,sun8i-h3-mdio-mux 135 mdio-parent-bus: 138 Phandle to EMAC MDIO. 146 mdio@1: 147 $ref: mdio.yaml# 149 description: Internal MDIO Bus 153 const: allwinner,sun8i-h3-mdio-internal 176 mdio@2: 177 $ref: mdio.yaml# [all …]
|
D | cavium-mdio.txt | 1 * System Management Interface (SMI) / MDIO 6 "cavium,octeon-3860-mdio": Compatibility with all cn3XXX, cn5XXX 9 "cavium,thunder-8890-mdio": Compatibility with all cn8XXX SOCs. 11 - reg: The base address of the MDIO bus controller register bank. 15 - #size-cells: Must be <0>. MDIO addresses have no size component. 17 Typically an MDIO bus might have several children. 20 mdio@1180000001800 { 21 compatible = "cavium,octeon-3860-mdio"; 33 * System Management Interface (SMI) / MDIO Nexus 35 Several mdio buses may be gathered as children of a single PCI [all …]
|
D | mdio-mux-multiplexer.yaml | 4 $id: http://devicetree.org/schemas/net/mdio-mux-multiplexer.yaml# 7 title: Properties for an MDIO bus multiplexer consumer device 13 This is a special case of MDIO mux when MDIO mux is defined as a consumer 19 - $ref: /schemas/net/mdio-mux.yaml# 23 const: mdio-mux-multiplexer 43 mdio-mux-1 { // Mux consumer 44 compatible = "mdio-mux-multiplexer"; 46 mdio-parent-bus = <&emdio1>; 50 mdio@0 { 56 mdio@8 { [all …]
|
D | qcom,ipq4019-mdio.yaml | 4 $id: http://devicetree.org/schemas/net/qcom,ipq4019-mdio.yaml# 7 title: Qualcomm IPQ40xx MDIO Controller 16 - qcom,ipq4019-mdio 17 - qcom,ipq5018-mdio 21 - qcom,ipq6018-mdio 22 - qcom,ipq8074-mdio 23 - const: qcom,ipq4019-mdio 35 the first Address and length of the register set for the MDIO controller. 41 - description: MDIO clock source frequency fixed to 100MHZ 54 - $ref: mdio.yaml# [all …]
|
D | hisilicon-hns-mdio.txt | 1 Hisilicon MDIO bus controller 5 "hisilicon,hns-mdio" 6 "hisilicon,mdio" 7 "hisilicon,hns-mdio" is recommended to be used for hip05 and later SOCs, 8 while "hisilicon,mdio" is optional for backwards compatibility only on 10 - reg: The base address of the MDIO bus controller register bank. 12 - #size-cells: Must be <0>. MDIO addresses have no size component. 14 Typically an MDIO bus might have several children. 17 mdio@803c0000 { 20 compatible = "hisilicon,hns-mdio","hisilicon,mdio";
|
D | mdio-mux-mmioreg.yaml | 4 $id: http://devicetree.org/schemas/net/mdio-mux-mmioreg.yaml# 7 title: Properties for an MDIO bus multiplexer controlled by a memory-mapped device 13 This is a special case of a MDIO bus multiplexer. A memory-mapped device, 14 like an FPGA, is used to control which child bus is connected. The mdio-mux 19 - $ref: /schemas/net/mdio-mux.yaml# 24 - const: mdio-mux-mmioreg 25 - const: mdio-mux 37 child mdio-mux node must be constrained by this mask. 48 mdio-mux@9 { 49 compatible = "mdio-mux-mmioreg", "mdio-mux"; [all …]
|
D | amlogic,gxl-mdio-mux.yaml | 4 $id: http://devicetree.org/schemas/net/amlogic,gxl-mdio-mux.yaml# 7 title: Amlogic GXL MDIO bus multiplexer 13 This is a special case of a MDIO bus multiplexer. It allows to choose between 14 the internal mdio bus leading to the embedded 10/100 PHY or the external 15 MDIO bus on the Amlogic GXL SoC family. 18 - $ref: mdio-mux.yaml# 22 const: amlogic,gxl-mdio-mux 44 eth_phy_mux: mdio@558 { 45 compatible = "amlogic,gxl-mdio-mux"; 51 mdio-parent-bus = <&mdio0>; [all …]
|
D | brcm,mdio-mux-iproc.yaml | 4 $id: http://devicetree.org/schemas/net/brcm,mdio-mux-iproc.yaml# 7 title: MDIO bus multiplexer found in Broadcom iProc based SoCs. 13 This MDIO bus multiplexer defines buses that could be internal as well as 14 external to SoCs and could accept MDIO transaction compatible to C-22 or 16 properties as well to generate desired MDIO transaction on appropriate bus. 19 - $ref: /schemas/net/mdio-mux.yaml# 23 const: brcm,mdio-mux-iproc 30 description: core clock driving the MDIO block 41 mdio_mux_iproc: mdio-mux@66020000 { 42 compatible = "brcm,mdio-mux-iproc"; [all …]
|
D | fsl-enetc.txt | 14 1. The ENETC external port is connected to a MDIO configurable phy 16 1.1. Using the local ENETC Port MDIO interface 18 In this case, the ENETC node should include a "mdio" sub-node 26 - phy-handle : Phandle to a PHY on the MDIO bus. 31 - mdio : "mdio" node, defined in mdio.txt. 43 mdio { 52 1.2. Using the central MDIO PCIe endpoint device 54 In this case, the mdio node should be defined as another PCIe 62 - compatible : Should be "fsl,enetc-mdio". 64 The remaining required mdio bus properties are standard, their bindings [all …]
|
D | amlogic,g12a-mdio-mux.yaml | 4 $id: http://devicetree.org/schemas/net/amlogic,g12a-mdio-mux.yaml# 7 title: MDIO bus multiplexer/glue of Amlogic G12a SoC family 10 This is a special case of a MDIO bus multiplexer. It allows to choose between 11 the internal mdio bus leading to the embedded 10/100 PHY or the external 12 MDIO bus. 18 - $ref: mdio-mux.yaml# 22 const: amlogic,g12a-mdio-mux 51 mdio-multiplexer@4c000 { 52 compatible = "amlogic,g12a-mdio-mux"; 56 mdio-parent-bus = <&mdio0>; [all …]
|
D | apm-xgene-mdio.txt | 1 APM X-Gene SoC MDIO node 3 MDIO node is defined to describe on-chip MDIO controller. 6 - compatible: Must be "apm,xgene-mdio-rgmii" or "apm,xgene-mdio-xfi" 12 For the phys on the mdio bus, there must be a node with the following fields: 18 mdio: mdio@17020000 { 19 compatible = "apm,xgene-mdio-rgmii"; 27 &mdio {
|
D | mdio.yaml | 4 $id: http://devicetree.org/schemas/net/mdio.yaml# 7 title: MDIO Bus Common Properties 15 These are generic properties that can apply to any MDIO bus. Any 16 MDIO bus must have a list of child nodes, one per device on the 22 pattern: "^mdio(@.*)?" 34 lines of all devices on that MDIO bus. 38 RESET pulse width in microseconds. It applies to all MDIO devices 44 Delay after reset deassert in microseconds. It applies to all MDIO 51 Desired MDIO bus clock frequency in Hz. Values greater than IEEE 802.3 75 If set, indicates the MDIO device does not correctly release [all …]
|
D | mdio-gpio.yaml | 4 $id: http://devicetree.org/schemas/net/mdio-gpio.yaml# 7 title: MDIO on GPIOs 15 - $ref: mdio.yaml# 20 - virtual,mdio-gpio 21 - microchip,mdio-smi0 33 - description: MDIO 36 # Note: Each gpio-mdio bus should have an alias correctly numbered in "aliases" 44 mdio-gpio0 = &mdio0; 47 mdio0: mdio { 48 compatible = "virtual,mdio-gpio";
|
/Linux-v6.6/drivers/net/pcs/ |
D | pcs-lynx.c | 3 * Lynx PCS MDIO helpers 6 #include <linux/mdio.h> 25 struct mdio_device *mdio; member 92 phylink_mii_c22_pcs_get_state(lynx->mdio, state); in lynx_pcs_get_state() 95 lynx_pcs_get_state_2500basex(lynx->mdio, state); in lynx_pcs_get_state() 98 lynx_pcs_get_state_usxgmii(lynx->mdio, state); in lynx_pcs_get_state() 101 phylink_mii_c45_pcs_get_state(lynx->mdio, state); in lynx_pcs_get_state() 107 dev_dbg(&lynx->mdio->dev, in lynx_pcs_get_state() 181 return lynx_pcs_config_giga(lynx->mdio, ifmode, advertising, in lynx_pcs_config() 185 dev_err(&lynx->mdio->dev, in lynx_pcs_config() [all …]
|
/Linux-v6.6/Documentation/devicetree/bindings/net/dsa/ |
D | realtek.yaml | 18 MDIO or SPI. 21 bit-banged GPIO that while it reuses the MDIO lines MCK and MDIO does 22 not use the MDIO protocol. This binding defines how to specify the 26 The MDIO-connected switches use MDIO protocol to access their registers. 27 The realtek-mdio driver is an MDIO driver and it must be inserted inside 28 an MDIO node. 54 mdio-gpios: 55 description: GPIO line for the MDIO data line. 98 mdio: 99 $ref: /schemas/net/mdio.yaml# [all …]
|
/Linux-v6.6/arch/arm64/boot/dts/freescale/ |
D | fsl-lx2160a-qds.dts | 35 mdio-mux-1 { 36 compatible = "mdio-mux-multiplexer"; 38 mdio-parent-bus = <&emdio1>; 42 mdio@0 { /* On-board PHY #1 RGMI1*/ 48 mdio@8 { /* On-board PHY #2 RGMI2*/ 54 mdio@18 { /* Slot #1 */ 60 mdio@19 { /* Slot #2 */ 66 mdio@1a { /* Slot #3 */ 72 mdio@1b { /* Slot #4 */ 78 mdio@1c { /* Slot #5 */ [all …]
|
D | fsl-lx2162a-qds.dts | 33 mdio-mux-1 { 34 compatible = "mdio-mux-multiplexer"; 36 mdio-parent-bus = <&emdio1>; 40 mdio@0 { /* On-board RTL8211F PHY #1 RGMII1 */ 52 mdio@8 { /* On-board RTL8211F PHY #2 RGMII2 */ 64 mdio@18 { /* Slot #1 */ 70 mdio@19 { /* Slot #2 */ 76 mdio@1a { /* Slot #3 */ 82 mdio@1b { /* Slot #4 */ 88 mdio@1c { /* Slot #5 */ [all …]
|