/Linux-v5.10/drivers/net/mdio/ |
D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 3 # MDIO Layer Configuration 7 tristate "MDIO bus device drivers" 9 MDIO devices and driver infrastructure code. 20 loadable module or built-in. 28 OpenFirmware MDIO bus (Ethernet PHY) accessors 36 tristate "Allwinner sun4i MDIO interface support" 39 This driver supports the MDIO interface found in the network 44 tristate "APM X-Gene SoC MDIO bus controller" 47 This module provides a driver for the MDIO busses found in the [all …]
|
D | mdio-mux.c | 1 // SPDX-License-Identifier: GPL-2.0 7 #include <linux/mdio-mux.h> 13 #define DRV_DESCRIPTION "MDIO bus multiplexer driver" 30 struct mdio_mux_parent_bus *parent; member 36 * The parent bus' lock is used to order access to the switch_fn. 38 static int mdio_mux_read(struct mii_bus *bus, int phy_id, int regnum) in mdio_mux_read() argument 40 struct mdio_mux_child_bus *cb = bus->priv; in mdio_mux_read() 41 struct mdio_mux_parent_bus *pb = cb->parent; in mdio_mux_read() 44 mutex_lock_nested(&pb->mii_bus->mdio_lock, MDIO_MUTEX_MUX); in mdio_mux_read() 45 r = pb->switch_fn(pb->current_child, cb->bus_number, pb->switch_data); in mdio_mux_read() [all …]
|
D | mdio-i2c.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * MDIO I2C bridge 5 * Copyright (C) 2015-2016 Russell King 13 #include <linux/mdio/mdio-i2c.h> 17 * I2C bus addresses 0x50 and 0x51 are normally an EEPROM, which is 31 static int i2c_mii_read(struct mii_bus *bus, int phy_id, int reg) in i2c_mii_read() argument 33 struct i2c_adapter *i2c = bus->priv; in i2c_mii_read() 51 msgs[0].len = p - addr; in i2c_mii_read() 65 static int i2c_mii_write(struct mii_bus *bus, int phy_id, int reg, u16 val) in i2c_mii_write() argument 67 struct i2c_adapter *i2c = bus->priv; in i2c_mii_write() [all …]
|
/Linux-v5.10/Documentation/devicetree/bindings/net/ |
D | mdio-mux.txt | 1 Common MDIO bus multiplexer/switch properties. 3 An MDIO bus multiplexer/switch will have several child busses that are 4 numbered uniquely in a device dependent manner. The nodes for an MDIO 5 bus multiplexer/switch will have one child node for each child bus. 8 - #address-cells = <1>; 9 - #size-cells = <0>; 12 - mdio-parent-bus : phandle to the parent MDIO bus. 14 - Other properties specific to the multiplexer/switch hardware. 17 - #address-cells = <1>; 18 - #size-cells = <0>; [all …]
|
D | mdio-mux-multiplexer.txt | 1 Properties for an MDIO bus multiplexer consumer device 3 This is a special case of MDIO mux when MDIO mux is defined as a consumer 7 Required properties in addition to the MDIO Bus multiplexer properties: 9 - compatible : should be "mmio-mux-multiplexer" 10 - mux-controls : mux controller node to use for operating the mux 11 - mdio-parent-bus : phandle to the parent MDIO bus. 13 each child node of mdio bus multiplexer consumer device represent a mdio 14 bus. 17 Documentation/devicetree/bindings/mux/mux-controller.txt 18 and Documentation/devicetree/bindings/net/mdio-mux.txt [all …]
|
D | mdio-mux-gpio.txt | 1 Properties for an MDIO bus multiplexer/switch controlled by GPIO pins. 3 This is a special case of a MDIO bus multiplexer. One or more GPIO 4 lines are used to control which child bus is connected. 8 - compatible : mdio-mux-gpio. 9 - gpios : GPIO specifiers for each GPIO line. One or more must be specified. 14 /* The parent MDIO bus. */ 15 smi1: mdio@1180000001900 { 16 compatible = "cavium,octeon-3860-mdio"; 17 #address-cells = <1>; 18 #size-cells = <0>; [all …]
|
D | mdio-mux-mmioreg.txt | 1 Properties for an MDIO bus multiplexer controlled by a memory-mapped device 3 This is a special case of a MDIO bus multiplexer. A memory-mapped device, 4 like an FPGA, is used to control which child bus is connected. The mdio-mux 5 node must be a child of the memory-mapped device. The driver currently only 6 supports devices with 8, 16 or 32-bit registers. 10 - compatible : string, must contain "mdio-mux-mmioreg" 12 - reg : integer, contains the offset of the register that controls the bus 16 - mux-mask : integer, contains an eight-bit mask that specifies which 17 bits in the register control the actual bus multiplexer. The 18 'reg' property of each child mdio-mux node must be constrained by [all …]
|
D | allwinner,sun8i-a83t-emac.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/net/allwinner,sun8i-a83t-emac.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Chen-Yu Tsai <wens@csie.org> 11 - Maxime Ripard <mripard@kernel.org> 16 - const: allwinner,sun8i-a83t-emac 17 - const: allwinner,sun8i-h3-emac 18 - const: allwinner,sun8i-r40-emac 19 - const: allwinner,sun8i-v3s-emac [all …]
|
D | brcm,bcmgenet.txt | 4 - compatible: should contain one of "brcm,genet-v1", "brcm,genet-v2", 5 "brcm,genet-v3", "brcm,genet-v4", "brcm,genet-v5", "brcm,bcm2711-genet-v5". 6 - reg: address and length of the register set for the device 7 - interrupts and/or interrupts-extended: must be two cells, the first cell 10 optional third interrupt cell for Wake-on-LAN can be specified. 11 See Documentation/devicetree/bindings/interrupt-controller/interrupts.txt 13 - phy-mode: see ethernet.txt file in the same directory 14 - #address-cells: should be 1 15 - #size-cells: should be 1 18 - clocks: When provided, must be two phandles to the functional clocks nodes [all …]
|
D | mdio-mux-meson-g12a.txt | 1 Properties for the MDIO bus multiplexer/glue of Amlogic G12a SoC family. 3 This is a special case of a MDIO bus multiplexer. It allows to choose between 4 the internal mdio bus leading to the embedded 10/100 PHY or the external 5 MDIO bus. 8 - compatible : amlogic,g12a-mdio-mux 9 - reg: physical address and length of the multiplexer/glue registers 10 - clocks: list of clock phandle, one for each entry clock-names. 11 - clock-names: should contain the following: 18 mdio_mux: mdio-multiplexer@4c000 { 19 compatible = "amlogic,g12a-mdio-mux"; [all …]
|
D | fsl-enetc.txt | 9 - reg : Specifies PCIe Device Number and Function 11 to parent node bindings. 12 - compatible : Should be "fsl,enetc". 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 19 that in turn should contain the "ethernet-phy" node describing the 26 - phy-handle : Phandle to a PHY on the MDIO bus. 29 - phy-connection-type : Defined in ethernet.txt. 31 - mdio : "mdio" node, defined in mdio.txt. [all …]
|
D | fsl-tsec-phy.txt | 1 * MDIO IO device 3 The MDIO is a bus to which the PHY devices are connected. For each 4 device that exists on this bus, a child node should be created. See 5 the definition of the PHY node in booting-without-of.txt for an example 9 - reg : Offset and length of the register set for the device, and optionally 14 - compatible : Should define the compatible device type for the 15 mdio. Currently supported strings/devices are: 16 - "fsl,gianfar-tbi" 17 - "fsl,gianfar-mdio" 18 - "fsl,etsec2-tbi" [all …]
|
/Linux-v5.10/Documentation/devicetree/bindings/net/dsa/ |
D | marvell.txt | 2 --------------------------------------- 10 Marvell Switches are MDIO devices. The following properties should be 11 placed as a child node of an mdio device. 17 which is at a different MDIO base address in different switch families. 18 - "marvell,mv88e6085" : Switch has base address 0x10. Use with models: 22 - "marvell,mv88e6190" : Switch has base address 0x00. Use with models: 24 - "marvell,mv88e6250" : Switch has base address 0x08 or 0x18. Use with model: 28 - compatible : Should be one of "marvell,mv88e6085", 31 - reg : Address on the MII bus for the switch. 35 - reset-gpios : Should be a gpio specifier for a reset line [all …]
|
D | realtek-smi.txt | 1 Realtek SMI-based Switches 4 The SMI "Simple Management Interface" is a two-wire protocol using 5 bit-banged GPIO that while it reuses the MDIO lines MCK and MDIO does 6 not use the MDIO protocol. This binding defines how to specify the 7 SMI-based Realtek devices. 11 - compatible: must be exactly one of: 22 - mdc-gpios: GPIO line for the MDC clock line. 23 - mdio-gpios: GPIO line for the MDIO data line. 24 - reset-gpios: GPIO line for the reset signal. 27 - realtek,disable-leds: if the LED drivers are not used in the [all …]
|
D | ar9331.txt | 1 Atheros AR9331 built-in switch 4 It is a switch built-in to Atheros AR9331 WiSoC and addressable over internal 5 MDIO bus. All PHYs are built-in as well. 9 - compatible: should be: "qca,ar9331-switch" 10 - reg: Address on the MII bus for the switch. 11 - resets : Must contain an entry for each entry in reset-names. 12 - reset-names : Must include the following entries: "switch" 13 - interrupt-parent: Phandle to the parent interrupt controller 14 - interrupts: IRQ line for the switch 15 - interrupt-controller: Indicates the switch is itself an interrupt [all …]
|
/Linux-v5.10/Documentation/devicetree/bindings/mux/ |
D | reg-mux.txt | 1 Generic register bitfield-based multiplexer controller bindings 3 Define register bitfields to be used to control multiplexers. The parent 7 - compatible : should be one of 8 "reg-mux" : if parent device of mux controller is not syscon device 9 "mmio-mux" : if parent device of mux controller is syscon device 10 - #mux-control-cells : <1> 11 - mux-reg-masks : an array of register offset and pre-shifted bitfield mask 13 * Standard mux-controller bindings as decribed in mux-controller.txt 16 - idle-states : if present, the state the muxes will have when idle. The 21 pair in the mux-reg-masks array. [all …]
|
/Linux-v5.10/drivers/net/ethernet/hisilicon/ |
D | hns_mdio.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Copyright (c) 2014-2015 Hisilicon Limited. 23 #define MDIO_DRV_NAME "Hi-HNS_MDIO" 24 #define MDIO_BUS_NAME "Hisilicon MII Bus" 38 u8 __iomem *vbase; /* mdio reg base address */ 43 /* mdio reg */ 101 mdio_write_reg((a)->vbase, (reg), (value)) 126 mdio_set_reg_field((dev)->vbase, (reg), (mask), (shift), (val)) 137 mdio_get_reg_field((dev)->vbase, (reg), (mask), (shift)) 140 mdio_get_reg_field((dev)->vbase, (reg), 0x1ull, (bit)) [all …]
|
/Linux-v5.10/arch/powerpc/boot/dts/ |
D | mpc7448hpc2.dts | 1 // SPDX-License-Identifier: GPL-2.0-or-later 9 /dts-v1/; 14 #address-cells = <1>; 15 #size-cells = <1>; 28 #address-cells = <1>; 29 #size-cells =<0>; 34 d-cache-line-size = <32>; // 32 bytes 35 i-cache-line-size = <32>; // 32 bytes 36 d-cache-size = <0x8000>; // L1, 32K bytes 37 i-cache-size = <0x8000>; // L1, 32K bytes [all …]
|
D | kmeter1.dts | 1 // SPDX-License-Identifier: GPL-2.0-or-later 5 * 2008-2011 DENX Software Engineering GmbH 8 /dts-v1/; 13 #address-cells = <1>; 14 #size-cells = <1>; 28 #address-cells = <1>; 29 #size-cells = <0>; 34 d-cache-line-size = <32>; // 32 bytes 35 i-cache-line-size = <32>; // 32 bytes 36 d-cache-size = <32768>; // L1, 32K [all …]
|
D | mpc8308rdb.dts | 1 // SPDX-License-Identifier: GPL-2.0-or-later 9 /dts-v1/; 13 #address-cells = <1>; 14 #size-cells = <1>; 25 #address-cells = <1>; 26 #size-cells = <0>; 31 d-cache-line-size = <32>; 32 i-cache-line-size = <32>; 33 d-cache-size = <16384>; 34 i-cache-size = <16384>; [all …]
|
/Linux-v5.10/arch/arm/boot/dts/ |
D | vf610-zii-dev-rev-c.dts | 1 // SPDX-License-Identifier: (GPL-2.0 OR MIT) 6 /dts-v1/; 7 #include "vf610-zii-dev.dtsi" 11 compatible = "zii,vf610dev-c", "zii,vf610dev", "fsl,vf610"; 13 mdio-mux { 14 compatible = "mdio-mux-gpio"; 15 pinctrl-0 = <&pinctrl_mdio_mux>; 16 pinctrl-names = "default"; 20 mdio-parent-bus = <&mdio1>; 21 #address-cells = <1>; [all …]
|
/Linux-v5.10/drivers/net/ethernet/marvell/ |
D | mvmdio.c | 2 * Driver for the MDIO interface of Marvell network interfaces. 4 * Since the MDIO interface of Marvell network interfaces is shared 8 * the MDIO bus). This driver is currently used by the mvneta and 13 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com> 55 * - Kirkwood 88F6281 (Globalscale Dreamplug): 45us to 95us (Interrupt) 56 * - Armada 370 (Globalscale Mirabox): 41us to 43us (Polled) 92 struct mii_bus *bus) in orion_mdio_wait_ready() argument 94 struct orion_mdio_dev *dev = bus->priv; in orion_mdio_wait_ready() 100 if (ops->is_done(dev)) in orion_mdio_wait_ready() 105 if (dev->err_interrupt <= 0) { in orion_mdio_wait_ready() [all …]
|
/Linux-v5.10/drivers/net/ethernet/arc/ |
D | emac_mdio.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (C) 2004-2013 Synopsys, Inc. (www.synopsys.com) 5 * MDIO implementation for ARC EMAC 15 /* Number of seconds we wait for "MDIO complete" flag to appear */ 19 * arc_mdio_complete_wait - Waits until MDIO transaction is completed. 22 * returns: 0 on success, -ETIMEDOUT on a timeout. 34 /* Reset "MDIO complete" flag */ in arc_mdio_complete_wait() 42 return -ETIMEDOUT; in arc_mdio_complete_wait() 46 * arc_mdio_read - MDIO interface read function. 47 * @bus: Pointer to MII bus structure. [all …]
|
/Linux-v5.10/include/linux/ |
D | mdio-mux.h | 2 * MDIO bus multiplexer framwork. 15 /* mdio_mux_init() - Initialize a MDIO mux 16 * @dev The device owning the MDIO mux 17 * @mux_node The device node of the MDIO mux 18 * @switch_fn The function called for switching target MDIO child 19 * mux_handle A pointer to a (void *) used internaly by mdio-mux 21 * @mux_bus An optional parent bus (Other case are to use parent_bus property)
|
/Linux-v5.10/drivers/net/ethernet/hisilicon/hns3/hns3pf/ |
D | hclge_mdio.c | 1 // SPDX-License-Identifier: GPL-2.0+ 2 // Copyright (c) 2016-2017 Hisilicon Limited. 42 static int hclge_mdio_write(struct mii_bus *bus, int phyid, int regnum, in hclge_mdio_write() argument 46 struct hclge_dev *hdev = bus->priv; in hclge_mdio_write() 50 if (test_bit(HCLGE_STATE_CMD_DISABLE, &hdev->state)) in hclge_mdio_write() 57 hnae3_set_field(mdio_cmd->phyid, HCLGE_MDIO_PHYID_M, in hclge_mdio_write() 59 hnae3_set_field(mdio_cmd->phyad, HCLGE_MDIO_PHYREG_M, in hclge_mdio_write() 62 hnae3_set_bit(mdio_cmd->ctrl_bit, HCLGE_MDIO_CTRL_START_B, 1); in hclge_mdio_write() 63 hnae3_set_field(mdio_cmd->ctrl_bit, HCLGE_MDIO_CTRL_ST_M, in hclge_mdio_write() 65 hnae3_set_field(mdio_cmd->ctrl_bit, HCLGE_MDIO_CTRL_OP_M, in hclge_mdio_write() [all …]
|