Home
last modified time | relevance | path

Searched full:mdio (Results 1 – 25 of 1462) sorted by relevance

12345678910>>...59

/Linux-v6.1/drivers/net/
Dmdio.c3 * 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.1/drivers/net/mdio/
DKconfig3 # 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 …]
DMakefile2 # 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 …]
Dmdio-mvusb.c27 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()
55 static int mvusb_mdio_write(struct mii_bus *mdio, int dev, int reg, u16 val) in mvusb_mdio_write() argument
57 struct mvusb_mdio *mvusb = mdio->priv; in mvusb_mdio_write()
75 struct mii_bus *mdio; in mvusb_mdio_probe() local
77 mdio = devm_mdiobus_alloc_size(dev, sizeof(*mvusb)); in mvusb_mdio_probe()
78 if (!mdio) in mvusb_mdio_probe()
81 mvusb = mdio->priv; in mvusb_mdio_probe()
82 mvusb->mdio = mdio; in mvusb_mdio_probe()
[all …]
Dmdio-gpio.c3 * 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 …]
Dof_mdio.c3 * 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 …]
Dacpi_mdio.c3 * 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 * an ACPI device object corresponding to the MDIO bus and its children are
30 int acpi_mdiobus_register(struct mii_bus *mdio, struct fwnode_handle *fwnode) in acpi_mdiobus_register() argument
37 mdio->phy_mask = GENMASK(31, 0); in acpi_mdiobus_register()
38 ret = mdiobus_register(mdio); in acpi_mdiobus_register()
42 ACPI_COMPANION_SET(&mdio->dev, to_acpi_device_node(fwnode)); in acpi_mdiobus_register()
50 ret = fwnode_mdiobus_register_phy(mdio, child, addr); in acpi_mdiobus_register()
52 dev_err(&mdio->dev, in acpi_mdiobus_register()
[all …]
/Linux-v6.1/Documentation/devicetree/bindings/net/
Dbrcm,unimac-mdio.yaml4 $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,unimac-mdio
31 - description: indirect accesses to larger than 16-bits MDIO transactions
[all …]
Dallwinner,sun8i-a83t-emac.yaml124 mdio-mux:
130 const: allwinner,sun8i-h3-mdio-mux
132 mdio-parent-bus:
135 Phandle to EMAC MDIO.
143 mdio@1:
144 $ref: mdio.yaml#
146 description: Internal MDIO Bus
150 const: allwinner,sun8i-h3-mdio-internal
173 mdio@2:
174 $ref: mdio.yaml#
[all …]
Dcavium-mdio.txt1 * 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 …]
Dmdio-mux-multiplexer.yaml4 $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 …]
Dhisilicon-hns-mdio.txt1 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";
Dmdio-mux-mmioreg.yaml4 $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 …]
Dbrcm,mdio-mux-iproc.yaml4 $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 …]
Dfsl-enetc.txt14 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 …]
Dapm-xgene-mdio.txt1 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 {
Dmdio.yaml4 $id: http://devicetree.org/schemas/net/mdio.yaml#
7 title: MDIO Bus Generic Binding
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 …]
Dmdio-gpio.yaml4 $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";
Dbrcm,bcm6368-mdio-mux.yaml4 $id: http://devicetree.org/schemas/net/brcm,bcm6368-mdio-mux.yaml#
7 title: Broadcom BCM6368 MDIO bus multiplexer
13 This MDIO bus multiplexer defines buses that could be internal as well as
15 properties as well to generate desired MDIO transaction on appropriate bus.
18 - $ref: mdio-mux.yaml#
22 const: brcm,bcm6368-mdio-mux
35 mdio0: mdio@10e000b0 {
38 compatible = "brcm,bcm6368-mdio-mux";
41 mdio_int: mdio@0 {
47 mdio_ext: mdio@1 {
Dfsl-tsec-phy.txt1 * MDIO IO device
3 The MDIO is a bus to which the PHY devices are connected. For each
15 mdio. Currently supported strings/devices are:
17 - "fsl,gianfar-mdio"
19 - "fsl,etsec2-mdio"
20 - "fsl,ucc-mdio"
21 - "fsl,fman-mdio"
22 When device_type is "mdio", the following strings are also considered:
28 mdio@24520 {
30 compatible = "fsl,gianfar-mdio";
[all …]
Dmdio-mux-meson-g12a.txt1 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
18 mdio_mux: mdio-multiplexer@4c000 {
19 compatible = "amlogic,g12a-mdio-mux";
25 mdio-parent-bus = <&mdio0>;
29 ext_mdio: mdio@0 {
35 int_mdio: mdio@1 {
/Linux-v6.1/Documentation/devicetree/bindings/net/dsa/
Drealtek.yaml18 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.1/arch/arm64/boot/dts/freescale/
Dfsl-lx2160a-qds.dts35 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 …]
Dfsl-lx2162a-qds.dts33 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 …]
/Linux-v6.1/drivers/net/ethernet/xilinx/
Dxilinx_axienet_mdio.c3 * MDIO bus driver for the Xilinx Axi Ethernet device
23 /* Wait till MDIO interface is ready to accept a new transaction.*/
33 /* Enable the MDIO MDC. Called prior to a read/write operation */
40 /* Disable the MDIO MDC. Called after a read/write operation*/
51 * axienet_mdio_read - MDIO interface read function
100 * axienet_mdio_write - MDIO interface write function
148 * axienet_mdio_enable - MDIO hardware setup function
153 * Sets up the MDIO interface by initializing the MDIO clock and enabling the
154 * MDIO interface in hardware.
221 "Setting MDIO clock divisor to %u/%u Hz host clock.\n", in axienet_mdio_enable()
[all …]

12345678910>>...59