/linux/Documentation/devicetree/bindings/net/ |
H A D | fsl,fman-mdio.yaml | 4 $id: http://devicetree.org/schemas/net/fsl,fman-mdio.yaml# 7 title: Freescale Frame Manager MDIO Device 12 description: FMan MDIO Node. 13 The MDIO is a bus to which the PHY devices are connected. 18 - fsl,fman-mdio 20 - fsl,fman-memac-mdio 22 Must include "fsl,fman-mdio" for 1 Gb/s MDIO from FMan v2. 23 Must include "fsl,fman-xmdio" for 10 Gb/s MDIO from FMan v2. 24 Must include "fsl,fman-memac-mdio" for 1/10 Gb/s MDIO from 38 fsl,fman-internal-mdio: [all …]
|
H A 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 - qcom,ipq9574-mdio 24 - const: qcom,ipq4019-mdio 36 the first Address and length of the register set for the MDIO controller. 42 - description: MDIO clock source frequency fixed to 100MHZ [all …]
|
H A D | fsl,cpm-mdio.yaml | 4 $id: http://devicetree.org/schemas/net/fsl,cpm-mdio.yaml# 7 title: Freescale CPM MDIO Device 16 - fsl,pq1-fec-mdio 17 - fsl,cpm2-mdio-bitbang 19 - const: fsl,mpc8272ads-mdio-bitbang 20 - const: fsl,mpc8272-mdio-bitbang 21 - const: fsl,cpm2-mdio-bitbang 26 fsl,mdio-pin: 28 description: pin of port C controlling mdio data 32 description: pin of port C controlling mdio clock [all …]
|
H A 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 …]
|
H A D | fsl,gianfar-mdio.yaml | 4 $id: http://devicetree.org/schemas/net/fsl,gianfar-mdio.yaml# 7 title: Freescale Gianfar (TSEC) MDIO Device 10 This binding describes the MDIO is a bus to which the PHY devices are 15 PHY is accessed through the local MDIO bus. These buses are defined similarly 16 to the mdio buses, except they are compatible with "fsl,gianfar-tbi". The TBI 24 # This is needed to distinguish gianfar.yaml and gianfar-mdio.yaml, because 33 const: mdio 42 - fsl,gianfar-mdio 44 - fsl,etsec2-mdio 45 - fsl,ucc-mdio [all …]
|
H A 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 …]
|
H A D | realtek,rtl9301-mdio.yaml | 4 $id: http://devicetree.org/schemas/net/realtek,rtl9301-mdio.yaml# 7 title: Realtek RTL9300 MDIO Controller 17 - realtek,rtl9302b-mdio 18 - realtek,rtl9302c-mdio 19 - realtek,rtl9303-mdio 20 - const: realtek,rtl9301-mdio 21 - const: realtek,rtl9301-mdio 33 '^mdio-bus@[0-3]$': 34 $ref: mdio.yaml# 59 mdio-controller@ca00 { [all …]
|
H A 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";
|
H A 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 …]
|
H A 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 …]
|
H A 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 …]
|
H A 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(-(bus|external))?(@.+|-([0-9]+))?$' 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 …]
|
H A 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 {
|
H A 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";
|
H A D | brcm,bcm6368-mdio-mux.yaml | 4 $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 {
|
/linux/drivers/net/mdio/ |
H A 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 …]
|
H A D | acpi_mdio.c | 3 * ACPI helpers for the MDIO (Ethernet PHY) API 19 MODULE_DESCRIPTION("ACPI MDIO bus (Ethernet PHY) accessors"); 23 * @mdio: pointer to mii_bus structure 24 * @fwnode: pointer to fwnode of MDIO bus. This fwnode is expected to represent 25 * @owner: module owning this @mdio object. 26 * an ACPI device object corresponding to the MDIO bus and its children are 32 int __acpi_mdiobus_register(struct mii_bus *mdio, struct fwnode_handle *fwnode, in __acpi_mdiobus_register() argument 40 mdio->phy_mask = GENMASK(31, 0); in __acpi_mdiobus_register() 41 ret = __mdiobus_register(mdio, owner); in __acpi_mdiobus_register() 45 ACPI_COMPANION_SET(&mdio->dev, to_acpi_device_node(fwnode)); in __acpi_mdiobus_register() [all …]
|
H A D | fwnode_mdio.c | 3 * fwnode helpers for the MDIO (Ethernet PHY) API 18 MODULE_DESCRIPTION("FWNODE MDIO bus (Ethernet PHY) accessors"); 69 int fwnode_mdiobus_phy_device_register(struct mii_bus *mdio, in fwnode_mdiobus_phy_device_register() argument 80 rc = driver_deferred_probe_check_state(&phy->mdio.dev); in fwnode_mdiobus_phy_device_register() 86 mdio->irq[addr] = rc; in fwnode_mdiobus_phy_device_register() 88 phy->irq = mdio->irq[addr]; in fwnode_mdiobus_phy_device_register() 92 mdio->phy_ignore_ta_mask |= 1 << addr; in fwnode_mdiobus_phy_device_register() 95 &phy->mdio.reset_assert_delay); in fwnode_mdiobus_phy_device_register() 97 &phy->mdio.reset_deassert_delay); in fwnode_mdiobus_phy_device_register() 103 device_set_node(&phy->mdio.dev, child); in fwnode_mdiobus_phy_device_register() [all …]
|
/linux/drivers/net/pcs/ |
H A D | pcs-lynx.c | 3 * Lynx PCS MDIO helpers 6 #include <linux/mdio.h> 25 struct mdio_device *mdio; member 112 phylink_mii_c22_pcs_get_state(lynx->mdio, neg_mode, state); in lynx_pcs_get_state() 115 lynx_pcs_get_state_2500basex(lynx->mdio, state); in lynx_pcs_get_state() 118 lynx_pcs_get_state_usxgmii(lynx->mdio, state); in lynx_pcs_get_state() 121 phylink_mii_c45_pcs_get_state(lynx->mdio, state); in lynx_pcs_get_state() 127 dev_dbg(&lynx->mdio->dev, in lynx_pcs_get_state() 201 return lynx_pcs_config_giga(lynx->mdio, ifmode, advertising, in lynx_pcs_config() 205 dev_err(&lynx->mdio->dev, in lynx_pcs_config() [all …]
|
/linux/arch/arm64/boot/dts/freescale/ |
H A 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 …]
|
H A 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 …]
|
/linux/drivers/net/ethernet/xilinx/ |
H A D | xilinx_axienet_mdio.c | 3 * MDIO bus driver for the Xilinx Axi Ethernet device 24 * axienet_mdio_wait_until_ready - MDIO wait function 29 * Wait till MDIO interface is ready to accept a new transaction. 41 * axienet_mdio_mdc_enable - MDIO MDC enable function 44 * Enable the MDIO MDC. Called prior to a read/write operation 53 * axienet_mdio_mdc_disable - MDIO MDC disable function 56 * Disable the MDIO MDC. Called after a read/write operation 68 * axienet_mdio_read - MDIO interface read function 117 * axienet_mdio_write - MDIO interface write function 165 * axienet_mdio_enable - MDIO hardware setup function [all …]
|
/linux/drivers/net/ethernet/hisilicon/ |
H A D | hns_mdio.c | 38 u8 __iomem *vbase; /* mdio reg base address */ 43 /* mdio reg */ 210 * @bus: mdio bus 226 dev_dbg(&bus->dev, "mdio write %s,base is %p\n", in hns_mdio_write_c22() 234 dev_err(&bus->dev, "MDIO bus is busy\n"); in hns_mdio_write_c22() 251 * @bus: mdio bus 268 dev_dbg(&bus->dev, "mdio write %s,base is %p\n", in hns_mdio_write_c45() 276 dev_err(&bus->dev, "MDIO bus is busy\n"); in hns_mdio_write_c45() 289 dev_err(&bus->dev, "MDIO bus is busy\n"); in hns_mdio_write_c45() 307 * @bus: mdio bus [all …]
|
/linux/include/linux/ |
H A D | of_mdio.h | 3 * OF helpers for the MDIO (Ethernet PHY) API 17 int __of_mdiobus_register(struct mii_bus *mdio, struct device_node *np, 20 static inline int of_mdiobus_register(struct mii_bus *mdio, in of_mdiobus_register() argument 23 return __of_mdiobus_register(mdio, np, THIS_MODULE); in of_mdiobus_register() 26 int __devm_of_mdiobus_register(struct device *dev, struct mii_bus *mdio, 30 struct mii_bus *mdio, in devm_of_mdiobus_register() argument 33 return __devm_of_mdiobus_register(dev, mdio, np, THIS_MODULE); in devm_of_mdiobus_register() 50 int of_mdiobus_phy_device_register(struct mii_bus *mdio, struct phy_device *phy, 81 static inline int of_mdiobus_register(struct mii_bus *mdio, struct device_node *np) in of_mdiobus_register() argument 88 return mdiobus_register(mdio); in of_mdiobus_register() [all …]
|
/linux/drivers/net/dsa/mv88e6xxx/ |
H A D | pcs-6352.c | 25 struct mdio_device mdio; member 43 mutex_lock(&mpcs->mdio.bus->mdio_lock); in marvell_c22_pcs_set_fiber_page() 45 err = __mdiodev_read(&mpcs->mdio, MII_MARVELL_PHY_PAGE); in marvell_c22_pcs_set_fiber_page() 47 dev_err(mpcs->mdio.dev.parent, in marvell_c22_pcs_set_fiber_page() 55 err = __mdiodev_write(&mpcs->mdio, MII_MARVELL_PHY_PAGE, in marvell_c22_pcs_set_fiber_page() 58 dev_err(mpcs->mdio.dev.parent, in marvell_c22_pcs_set_fiber_page() 73 err = __mdiodev_write(&mpcs->mdio, MII_MARVELL_PHY_PAGE, in marvell_c22_pcs_restore_page() 76 dev_err(mpcs->mdio.dev.parent, in marvell_c22_pcs_restore_page() 84 mutex_unlock(&mpcs->mdio.bus->mdio_lock); in marvell_c22_pcs_restore_page() 99 err = __mdiodev_read(&mpcs->mdio, MII_M1011_IEVENT); in marvell_c22_pcs_handle_irq() [all …]
|