Lines Matching full:phy
4 * PHY management interface implementation
6 * - Marvell Alaska 88E1111 (QEMU simulated PHY)
25 /* Basic MDIO read / write functions for PHY access */
28 * @brief Read PHY data via the MDIO interface
29 * Reads data from a PHY attached to the respective GEM's MDIO interface
32 * @param phy_addr MDIO address of the PHY to be accessed
33 * @param reg_addr Index of the PHY register to be read
34 * @return 16-bit data word received from the PHY
59 LOG_ERR("GEM@0x%08X read from PHY address %hhu, " in phy_xlnx_gem_mdio_read()
71 /* PHY address */ in phy_xlnx_gem_mdio_read()
92 LOG_ERR("GEM@0x%08X read from PHY address %hhu, " in phy_xlnx_gem_mdio_read()
99 * Read the data returned by the PHY -> lower 16 bits of the PHY main- in phy_xlnx_gem_mdio_read()
107 * @brief Writes PHY data via the MDIO interface
108 * Writes data to a PHY attached to the respective GEM's MDIO interface
111 * @param phy_addr MDIO address of the PHY to be accessed
112 * @param reg_addr Index of the PHY register to be written to
138 LOG_ERR("GEM@0x%08X write to PHY address %hhu, " in phy_xlnx_gem_mdio_write()
150 /* PHY address */ in phy_xlnx_gem_mdio_write()
173 LOG_ERR("GEM@0x%08X write to PHY address %hhu, " in phy_xlnx_gem_mdio_write()
180 * Vendor-specific PHY management functions for:
181 * Marvell Alaska 88E1111 (QEMU simulated PHY)
192 * @brief Marvell Alaska PHY reset function
193 * Reset function for the Marvell Alaska PHY series
206 * bit [15] = PHY reset. Register 0/0 access is R/M/W. Comp. in phy_xlnx_gem_marvell_alaska_reset()
221 LOG_ERR("%s reset PHY address %hhu (Marvell Alaska) timed out", in phy_xlnx_gem_marvell_alaska_reset()
227 * @brief Marvell Alaska PHY configuration function
228 * Configuration function for the Marvell Alaska PHY series
243 * for now, afterwards, trigger a PHY reset. in phy_xlnx_gem_marvell_alaska_cfg()
280 * This reset bit is not to be confused with the actual PHY in phy_xlnx_gem_marvell_alaska_cfg()
295 LOG_ERR("%s configure PHY address %hhu (Marvell Alaska) timed out", in phy_xlnx_gem_marvell_alaska_cfg()
310 * 88E1111: Page any, register address 16 = PHY specific control register, in phy_xlnx_gem_marvell_alaska_cfg()
328 * detect relevant state changes, also, PHY management could in phy_xlnx_gem_marvell_alaska_cfg()
331 * PHY interrupt line isn't wired up, therefore, the GEM can in phy_xlnx_gem_marvell_alaska_cfg()
332 * never trigger a PHY interrupt. Still, the PHY interrupts in phy_xlnx_gem_marvell_alaska_cfg()
353 /* Trigger a PHY Reset, affecting pages 0, 2, 3, 5, 7. */ in phy_xlnx_gem_marvell_alaska_cfg()
365 * auto-negotiation, then re-enable auto-negotiation. PHY link speed in phy_xlnx_gem_marvell_alaska_cfg()
460 * Trigger a PHY reset, affecting pages 0, 2, 3, 5, 7. in phy_xlnx_gem_marvell_alaska_cfg()
479 * @brief Marvell Alaska PHY status change polling function
480 * Status change polling function for the Marvell Alaska PHY series
495 * PHY status change detection is implemented by reading the in phy_xlnx_gem_marvell_alaska_poll_sc()
529 * @brief Marvell Alaska PHY link status polling function
530 * Link status polling function for the Marvell Alaska PHY series
533 * @return 1 if the PHY indicates link up, 0 if the link is down
553 * @brief Marvell Alaska PHY link speed polling function
554 * Link speed polling function for the Marvell Alaska PHY series
557 * @return Enum containing the current link speed reported by the PHY
600 * Vendor-specific PHY management functions for:
610 * @brief TI TLK105 & DP83822 PHY reset function
633 LOG_ERR("%s reset PHY address %hhu (TI TLK105/DP83822) timed out", in phy_xlnx_gem_ti_dp83822_reset()
639 * @brief TI TLK105 & DP83822 PHY configuration function
718 * @brief TI TLK105 & DP83822 PHY status change polling function
760 * @brief TI TLK105 & DP83822 PHY link status polling function
764 * @return 1 if the PHY indicates link up, 0 if the link is down
787 * @brief TI TLK105 & DP83822 PHY link speed polling function
791 * @return Enum containing the current link speed reported by the PHY
820 * @brief Marvell Alaska PHY function pointer table
821 * Function pointer table for the Marvell Alaska PHY series
833 * @brief Texas Instruments TLK105 & DP83822 PHY function pointer table
834 * Function pointer table for the Texas Instruments TLK105 / DP83822 PHY
854 * supported PHY specifications, consisting of the PHY ID plus a mask
855 * for masking out variable parts of the PHY ID such as hardware revisions,
856 * as well as a textual description of the PHY model and a pointer to
857 * the corresponding PHY management function pointer table.
887 * @brief Top-level PHY detection function
888 * Top-level PHY detection function called by the GEM driver if PHY management
890 * and does not require any knowledge regarding PHY vendors, models etc.
893 * @retval -ENOTSUP if PHY management is disabled for the current GEM
895 * @retval -EIO if no (supported) PHY was detected
896 * @retval 0 if a supported PHY has been detected
912 * Clear the PHY address & ID in the device data struct -> may be in phy_xlnx_gem_detect()
914 * is disabled. If eventually a supported PHY is found, a non- in phy_xlnx_gem_detect()
926 * PHY detection as described in Zynq-7000 TRM, chapter 16.3.4, in phy_xlnx_gem_detect()
932 /* Read the upper & lower PHY ID 16-bit words */ in phy_xlnx_gem_detect()
943 LOG_DBG("%s detected PHY at address %hhu: " in phy_xlnx_gem_detect()
950 * current PHY is supported, store all related data in phy_xlnx_gem_detect()
958 LOG_DBG("%s identified supported PHY: %s", in phy_xlnx_gem_detect()
963 * Store the numeric values of the PHY ID and address in phy_xlnx_gem_detect()
978 LOG_ERR("%s PHY detection failed", dev->name); in phy_xlnx_gem_detect()