summaryrefslogtreecommitdiff
path: root/include/phy.h
AgeCommit message (Collapse)Author
2017-04-04Merge git://www.denx.de/git/u-boot-marvellTom Rini
This includes Marvell mvpp2 patches with the ethernet support for the ARMv8 Armada 7k/8k platforms. The ethernet patches are all acked by Joe and he is okay with me pushing them via the Marvell tree.
2017-03-29net: include/phy.h: Add new PHY interface modesStefan Roese
This patch adds the new PHY interface modes XAUI, RXAUI and SFI that will be used by the PPv2.2 support in the Marvell mvpp2 ethernet driver. Signed-off-by: Stefan Roese <[email protected]> Cc: Stefan Chulski <[email protected]> Cc: Kostya Porotchkin <[email protected]> Cc: Nadav Haklai <[email protected]> Acked-by: Joe Hershberger <[email protected]>
2017-03-26drivers/net/phy: add fixed-phy / fixed-link supportHannes Schmelzer
This patch adds support for having a "fixed-link" to some other MAC (like some embedded switch-device). For this purpose we introduce a new phy-driver, called "Fixed PHY". Fixed PHY works only with CONFIG_DM_ETH enabled, since the fixed-link is described with a subnode below ethernet interface. Most ethernet drivers (unfortunately not all are following same scheme for searching/attaching phys) are calling "phy_connect(...)" for getting a phy-device. At this point we link in, we search here for a subnode called "fixed- link", once found we start phy_device_create(...) with the special phy- id PHY_FIXED_ID (0xa5a55a5a). During init the "Fixed PHY" driver has registered with this id and now gets probed, during probe we get all the details about fixed-link out of dts, later on the phy reports this values. Signed-off-by: Hannes Schmelzer <[email protected]> Signed-off-by: Hannes Schmelzer <[email protected]> Acked-by: Joe Hershberger <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]>
2017-02-08net: phy: MSCC Add Support for VSC8530-VSC8531-VSC8540-VSC8541John Haechten
Signed-off-by: John Haechten <[email protected]> Acked-by: Joe Hershberger <[email protected]>
2016-05-24net: phy: Add phy_interface_is_sgmii to phy.hDan Murphy
Add a helper to phy.h to identify whether the phy is configured for SGMII all variables. Signed-off-by: Dan Murphy <[email protected]> Reviewed-by: Mugunthan V N <[email protected]> Reviewed-by: Michal Simek <[email protected]> Tested-by: Mugunthan V N <[email protected]> Acked-by: Joe Hershberger <[email protected]>
2016-05-24net: phy: Move is_rgmii helper to phy.hDan Murphy
Move the phy_interface_is_rgmii to the phy.h file for all phy's to be able to use the API. This now aligns with the Linux kernel based on commit e463d88c36d42211aa72ed76d32fb8bf37820ef1 Signed-off-by: Dan Murphy <[email protected]> Reviewed-by: Mugunthan V N <[email protected]> Reviewed-by: Michal Simek <[email protected]> Tested-by: Mugunthan V N <[email protected]> Acked-by: Joe Hershberger <[email protected]>
2016-05-24net: phy: Add PHY driver for mv88e61xx switchesKevin Smith
The previous mv88e61xx driver was a driver for configuring the switch, but did not integrate with the PHY/networking system, so it could not be used as a PHY by U-boot. This is a complete rework to support this device as a PHY. Signed-off-by: Kevin Smith <[email protected]> Acked-by: Prafulla Wadaskar <[email protected]> Cc: Albert ARIBAUD <[email protected]> Cc: Joe Hershberger <[email protected]> Cc: Stefan Roese <[email protected]> Cc: Marek Vasut <[email protected]> Acked-by: Joe Hershberger <[email protected]>
2016-04-04phy: Add phy driver support for xilinx PCS/PMA coreSiva Durga Prasad Paladugu
Add phy driver support for xilinx PCS/PMA core Signed-off-by: Siva Durga Prasad Paladugu <[email protected]> Signed-off-by: Kedareswara rao Appana <[email protected]> Signed-off-by: Michal Simek <[email protected]>
2016-01-28net: phy: introduce a quirk PHY_FLAG_BROKEN_RESETShaohui Xie
Current driver always performs a phy soft reset when connecting the phy device, but soft reset is not always supported by a phy device, so introduce a quirk PHY_FLAG_BROKEN_RESET to let such a phy device to skip soft reset. This commit uses 'flags' of phy device structure to store the quirk. Signed-off-by: Shaohui Xie <[email protected]> Acked-by: Joe Hershberger <[email protected]>
2016-01-28drivers/net/phy: introduce phy_set_supported()Alexey Brodkin
This new function will allow MAC drivers to override supported capabilities of the phy. It is required when MAC cannot handle all speeds supported by phy. For example phy supports up-to 1Gb connections while MAC may only work in modes up to 100 or even 10 Mbit/sec. Signed-off-by: Alexey Brodkin <[email protected]> Cc: Joe Hershberger <[email protected]> Acked-by: Joe Hershberger <[email protected]>
2016-01-28net: phy: breakdown PHY_*_FEATURES definesFlorian Fainelli
Breakdown the PHY_*_FEATURES into per speed defines such that we can easily re-use them individually. Signed-off-by: Florian Fainelli <[email protected]> Signed-off-by: Alexey Brodkin <[email protected]> Cc: Joe Hershberger <[email protected]> Acked-by: Joe Hershberger <[email protected]>
2015-11-19net: phy: Add support for Texas Instruments DP83867Edgar E. Iglesias
Code is taken from Linux kernel driver (v4.2). Signed-off-by: Edgar E. Iglesias <[email protected]> Signed-off-by: Michal Simek <[email protected]> Reviewed-by: Tom Rini <[email protected]> Acked-by: Joe Hershberger <[email protected]>
2015-04-20net/phy: fixup for get_phy_idShengzhou Liu
commit 3c6928fd7b0f84 "net: phy: fix warnings with W=1" caused some PHYs(e.g. CS4315/CS4340) not working. This patch fixes the warning and make those special PHYs working as well. Signed-off-by: Shengzhou Liu <[email protected]>
2015-04-18dm: net: Adjust PHY interface to work with CONFIG_DM_ETHSimon Glass
When driver model is used for Ethernet a few functions are passed a udevice instead of an eth_device. Also add a function to find a PHY type given its name. This will be used to decode the device tree node. Finally, put a phy_interface field in struct eth_pdata since this is an important part of the platform data for Ethernet. Signed-off-by: Simon Glass <[email protected]> Acked-by: Joe Hershberger <[email protected]>
2015-01-16phylib: add support for aquantia PHYsShaohui Xie
This patch supports AQ1202, AQ2104, AQR105 PHY. Signed-off-by: Shaohui Xie <[email protected]> Acked-by: Joe Hershberger <[email protected]> Reviewed-by: York Sun <[email protected]>
2014-12-05net/phy: Add support for CS4315/CS4340 PHYShengzhou Liu
Add support for Cortina CS4315/CS4340 10G PHY. - This driver loads CS43xx firmware from NOR/NAND/SPI/SD device to initialize Cortina PHY. - Cortina PHY has non-standard offset of PHY ID registers, thus we define own get_phy_id() to override default get_phy_id(). - To define macro CONFIG_PHY_CORTINA will enable this driver. Signed-off-by: Shengzhou Liu <[email protected]> Reviewed-by: York Sun <[email protected]>
2014-11-19net/fm: add 2.5G SGMII supportShengzhou Liu
As auto-negotiation is not supported for 2.5G SGMII, we need to add a new type PHY_INTERFACE_MODE_SGMII_2500 to differentiate SGMII-1G and SGMII-2.5G with different setting for auto-negotiation. Signed-off-by: Shaohui Xie <[email protected]> Signed-off-by: Shengzhou Liu <[email protected]> Reviewed-by: York Sun <[email protected]>
2014-10-23net: phy.h: Make PHY autonegotiation timeout configurableStefan Roese
The Marvell MV78460 eval board DB-78460-BP seems to need a longer PHY autonegotiation timeout than the "standard" 4 seconds. So lets make this timeout configurable. If not defined in the board config header the original 4000ms is used. Signed-off-by: Stefan Roese <[email protected]> Cc: Joe Hershberger <[email protected]>
2014-08-06Change Andy Fleming's email addressAndy Fleming
Messages to [email protected] now bounce, and should be directed to my personal address at [email protected] Signed-off-by: Andy Fleming <[email protected]>
2014-03-05wandboard: Fix sparse warningFabio Estevam
Add a prototype for board_phy_config() to fix the following sparse warning: wandboard.c:200:5: warning: symbol 'board_phy_config' was not declared. Should it be static? Cc: Joe Hershberger <[email protected]> Signed-off-by: Fabio Estevam <[email protected]>
2013-12-02Merge branch 'master' of git://git.denx.de/u-boot-mpc85xxTom Rini
2013-11-22net: add extended function to phy APIStefano Babic
Some phys (Micrel) has extended registers that must be accessed in a special way. Add pointers to the phy driver structure to allow to use these functions with mdio command. Signed-off-by: Stefano Babic <[email protected]>
2013-11-22phy: introduce structure fixed-linkShaohui Xie
fixed-link is used in kernel for PHY-less MAC, so introduce this structure that U-boot can use it to fixup dtb dynamically. Signed-off-by: Shaohui Xie <[email protected]>
2013-07-24Add GPL-2.0+ SPDX-License-Identifier to source filesWolfgang Denk
Signed-off-by: Wolfgang Denk <[email protected]> [trini: Fixup common/cmd_io.c] Signed-off-by: Tom Rini <[email protected]>
2013-06-24phy: export genphy_parse_link()Yegor Yefremov
Signed-off-by: Yegor Yefremov <[email protected]>
2013-05-30Merge branch 'u-boot/master' into 'u-boot-arm/master'Albert ARIBAUD
Conflicts: common/cmd_fpga.c drivers/usb/host/ohci-at91.c
2013-05-14net/phy: add VSC8574 supportShaohui Xie
The VSC8574 is a quad-port Gigabit Ethernet transceiver with four SerDes interfaces for quad-port dual media capability. This driver supports SGMII and QSGMII MAC mode. For now SGMII mode is tested. Signed-off-by: Roy Zang <[email protected]> Signed-off-by: Shaohui Xie <[email protected]> Signed-off-by: Andy Fleming <[email protected]>
2013-05-10phy: add support for ET1011C physMatt Porter
Adds an ET1011C PHY driver which is derived from the Linux kernel PHY driver (drivers/net/phy/et1011c.c) from the v3.9-rc2 tag. Note that an errata workaround config option is implemented to allow for TX_CLK to be enabled even when gigabit mode is negotiated. This workaround is used on the PG1.0 TI814X EVM. Signed-off-by: Matt Porter <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2013-01-28phy: add phy_find_by_mask/phy_connect_devTroy Kisky
It is useful to be able to try a range of possible phy addresses to connect. Also, an ethernet device is not required to use phy_find_by_mask leading to better separation of mii vs ethernet, as suggested by Andy Fleming. Signed-off-by: Troy Kisky <[email protected]>
2012-02-27net: phy: add support for Micrel's KSZ9021Troy Kisky
Add the gigabit phy KSZ9021. Also, add function ksz9021_phy_extended_write /_read for access to the phys extended registers. The environment variable "disable_giga" can be used to disable 1000baseTx. Signed-off-by: Troy Kisky <[email protected]> Acked-by: Dirk Behme <[email protected]>
2012-01-05phy: add phy_smsc_init() declarationVladimir Zapolskiy
This trivial change removes a compilation warning: ----8<---- phy.c: In function 'phy_init': phy.c:448:2: warning: implicit declaration of function 'phy_smsc_init' ----8<---- Signed-off-by: Vladimir Zapolskiy <[email protected]> Cc: Nobuhiro Iwamatsu <[email protected]> Acked-by: Marek Vasut <[email protected]>
2011-10-20powerpc/85xx: wait for alignment before resetting SERDES RX lanes (SERDES9)Timur Tabi
The work-around for P4080 erratum SERDES9 says that the SERDES receiver lanes should be reset after the XAUI starts tranmitting alignment signals. Signed-off-by: Timur Tabi <[email protected]> Signed-off-by: Kumar Gala <[email protected]>
2011-04-20phylib: Add a bunch of PHY drivers from tsecAndy Fleming
The tsec driver had a bunch of PHY drivers already written. This converts them all into PHY Lib drivers, and serves as the first set of PHY drivers for PHY Lib. While doing that, cleaned up a number of magic numbers (though not all of them, as PHY vendors like to keep their numbers as magical as possible). Also, noticed that almost all of the vitesse/cicada PHYs had the same config/parse/startup functions, so those have been collapsed into one. Signed-off-by: Andy Fleming <[email protected]> Signed-off-by: Kumar Gala <[email protected]> Acked-by: Detlev Zundel <[email protected]>
2011-04-20Create PHY Lib for U-BootAndy Fleming
Extends the mii_dev structure to participate in a full-blown MDIO and PHY driver scheme. The mii_dev structure and miiphy calls are modified in such a way to allow the original mii command and miiphy infrastructure to work as before, but also to support a new set of APIs which allow (among other things) sharing of PHY driver code and 10G support The mii command will continue to support normal PHY management functions (Clause 22 of 802.3), but will not be changed to support 10G (Clause 45). The basic design is similar to PHY Lib from Linux, but simplified for U-Boot's network and driver infrastructure. We now have MDIO drivers and PHY drivers An MDIO driver provides: read write reset A PHY driver provides: (optionally): probe config - initial setup, starting of auto-negotiation startup - waiting for AN, and reading link state shutdown - any cleanup needed The ethernet drivers interact with the PHY Lib using these functions: phy_connect() phy_config() phy_startup() phy_shutdown() Each PHY driver can be configured separately, or all at once using config_phylib_all_drivers.h (added in the patch which adds the drivers) We also provide generic drivers for Clause 22 (10/100/1000), and Clause 45 (10G) PHYs. We also implement phy_reset(), and call it in phy_connect(). Because phy_reset() is essentially the same as miiphy_reset, but: a) must support 10G PHYs, and b) should use the phylib primitives, we implement miiphy_reset, using phy_reset(), but only when CONFIG_PHYLIB is set. Otherwise, we just use the old version. In this way, we save on compile size, even if we don't manage to save code size. Pulled ethtool.h and mdio.h from: git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 782d640afd15af7a1faf01cfe566ca4ac511319d With many, many deletions so as to enable compilation under u-boot Signed-off-by: Andy Fleming <[email protected]> Signed-off-by: Kumar Gala <[email protected]> Acked-by: Detlev Zundel <[email protected]>