aboutsummaryrefslogtreecommitdiff
path: root/target/linux/ipq40xx/files/drivers/net/phy
Commit message (Collapse)AuthorAge
* ipq40xx: adapt to new Upstream QCA807x PHY driverChristian Marangi2024-02-11
| | | | | | | | Adapt patches to new Upstream QCA807x PHY driver. Rework the PHY patch to new PHY Package nodes. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* generic: 6.1: backport at803x split patchesChristian Marangi2024-02-01
| | | | | | | | | | | | | | Backport at803x split patches merged upstream to tidy things up for the at803x PHY driver. New Kernel config are introduced hence any user needs to be updated. Downstream ipq40xx patch require rework to correctly move them to the qcom specific PHY directory. All affected patch automatically refreshed. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* ipq40xx: qca807x: adapt for 6.1Robert Marko2023-09-17
| | | | | | | Kernel 6.1 has changed format of sfp_parse_support(), so lets adapt to those changes so it works on newer kernels as well. Signed-off-by: Robert Marko <robimarko@gmail.com>
* kernel: remove obsolete kernel version switchesAleksander Jan Bajkowski2023-05-20
| | | | | | | This removes unneeded kernel version switches from the targets after kernel 5.10 has been dropped. Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl>
* ipq40xx: qca807x: drop kernel version checksRobert Marko2022-10-02
| | | | | | | Since kernel 5.4 has been droppped from IPQ40xx, there is no need to keep the version checks for kernels older than 5.10. Signed-off-by: Robert Marko <robert.marko@sartura.hr>
* ipq40xx: qca807x: add suspend and resume opsSerhii Serhieiev2022-10-02
| | | | | | | | | | Currently, suspend and resume ops are not present, this means that if user disables a DSA interface that the PHY-s remain alive and the link is up. Fix it by using generic PHY suspend and resume ops. Signed-off-by: Serhii Serhieiev <adron@mstnt.com> Signed-off-by: Robert Marko <robert.marko@sartura.hr>
* ipq40xx: qca807x: always set PSGMII AZ WARRobert Marko2022-10-02
| | | | | | | | | | | | There is no point in using a DT property to trigger setting the PSGMII PHY AZ transmitting ability. Especially since EEE can be disabled using ethtool anyway. Fixup the mask for setting the workaround as only BIT(0) is actually being changed and use the phy_clear_bits_mmd helper instead of reading, then clearing the bit and writing back as it does everything for us. Signed-off-by: Robert Marko <robert.marko@sartura.hr>
* ipq40xx: qca807x: add SFP improvementsRobert Marko2022-10-02
| | | | | | | | | | | | | | | | | | | Currently, QCA807x doesnt do any kind of validation to see whether it actually supports the inserted module. So lets add checks to allow only 1000BaseX and 100BaseFX based modules. While adding validation, move fiber configuration to insert/remove events instead of always doing it at config time. This allows getting rid of the DT property for fiber enable and now only the upstream sfp phandle is required. Since we are refactoring fiber related code, lets heavily simplify the status polling as the current logic is overcomplicated due to previous wish to support non standard SFP cages that dont have pins properly connected, that is removed now and only proper SFP cages will work. Signed-off-by: Robert Marko <robert.marko@sartura.hr>
* ipq40xx: refresh ess driver and phy with new apiAnsuel Smith2022-05-01
| | | | | | | | Kernel 5.15 have some new api for ethtool and phy. Add ifdef to fix compilation error. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com> Reviewed-by: Robert Marko <robert.marko@sartura.hr>
* ipq40xx: 5.10: move AR40xx to MDIO driversRobert Marko2021-09-25
| | | | | | | | | | | MDIO drivers were moved into their own sub directory of networking drivers. This has caused the AR40xx driver to probe before MDIO drivers and that wont work as it depends on the MDIO bus to be up so it can be fetched. Lets solve it by moving the AR40xx into MDIO folder so they get probed like before. Signed-off-by: Robert Marko <robert.marko@sartura.hr>
* ipq40xx: ar40xx: reset port status registerDavid Bauer2021-08-14
| | | | | | | This resolves incosnsitencies of the configured RX / TX flow control modes between different boards or bootloaders. Signed-off-by: David Bauer <mail@david-bauer.net>
* ipq40xx: ar40xx: use FIELD_GET macroDavid Bauer2021-08-14
| | | | | | This improves code readability. Signed-off-by: David Bauer <mail@david-bauer.net>
* ipq40xx: net: phy: qca807x: fix GPIO driverRobert Marko2021-03-05
| | | | | | | | | | | While rebasing into setting bits instead of magic values, I accidentally forgot to actually set the force bit. Without it using the pins as GPIO-s did not actually work. Fixes: b5c93ed ("ipq40xx: add Qualcomm QCA807x driver") Signed-off-by: Robert Marko <robert.marko@sartura.hr>
* ipq40xx: net: phy: ar40xx: remove PHY handlingRobert Marko2020-12-23
| | | | | | | | | | | | | | | Since we now have proper PHY driver for the QCA807x PHY-s, lets remove PHY handling from AR40xx. This removes PHY driver, PHY GPIO driver and PHY init code. AR40xx still needs to handle PSGMII calibration as that requires R/W from the switch, so I am unable to move it into PHY driver. This also converted the AR40xx driver to use OF_MDIO to find the MDIO bus as it now cant be set through the PHY driver. So lets depend on OF_MDIO in KConfig. Signed-off-by: Robert Marko <robert.marko@sartura.hr>
* ipq40xx: add Qualcomm QCA807x driverRobert Marko2020-12-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds driver for the Qualcomm QCA8072 and QCA8075 PHY-s. They are 2 or 5 port IEEE 802.3 clause 22 compliant 10BASE-Te, 100BASE-TX and 1000BASE-T PHY-s. They feature 2 SerDes, one for PSGMII or QSGMII connection with MAC, while second one is SGMII for connection to MAC or fiber. Both models have a combo port that supports 1000BASE-X and 100BASE-FX fiber. Each PHY inside of QCA807x series has 2 digitally controlled output only pins that natively drive LED-s. But some vendors used these to driver generic LED-s controlled by user space, so lets enable registering each PHY as GPIO controller and add driver for it. This also adds the ability to specify DT properties so that 1000 Base-T LED will also be lit up for 100 and 10 Base connections. This is usually done by U-boot, but boards running mainline U-boot are not configuring this yet. These PHY-s are commonly used in Qualcomm IPQ40xx, IPQ60xx and IPQ807x boards. Signed-off-by: Robert Marko <robert.marko@sartura.hr>
* ipq40xx: revert usage of VLAN S-TAGDavid Bauer2020-12-14
| | | | | | | | | | | This reverts the usage of the S-Tag for separating LAN and WAN port on the embedded switch. Many users complained about not being able to manage C-Tag addition / removal on the switch as well as degraded performance. Fixes: commit 9da2b567605b ("ipq40xx: fix ethernet vlan double tagging") Signed-off-by: David Bauer <mail@david-bauer.net>
* ipq40xx: remove support for kernel 4.19Adrian Schmutzler2020-10-19
The target uses 5.4 as default kernel since 03/2020. Kernel 4.19 support is not really maintained anymore, it does not seem to be needed, and removing it will make upcoming driver updates easier. Thus, remove it. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>