On Tue, 22 Dec 2020 23:26:36 +0100 Robert Marko wrote: > 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@xxxxxxxxxx> > Cc: Luka Perkov <luka.perkov@xxxxxxxxxx> You need to rebase this on a more current tree: ../drivers/net/phy/qca807x.c:770:4: error: ‘struct phy_driver’ has no member named ‘ack_interrupt’; did you mean ‘handle_interrupt’? 770 | .ack_interrupt = qca807x_ack_intr, | ^~~~~~~~~~~~~ | handle_interrupt ../drivers/net/phy/qca807x.c:770:20: error: initialization of ‘irqreturn_t (*)(struct phy_device *)’ {aka ‘enum irqreturn (*)(struct phy_device *)’} from incompatible pointer type ‘int (*)(struct phy_device *)’ [-Werror=incompatible-pointer-types] 770 | .ack_interrupt = qca807x_ack_intr, | ^~~~~~~~~~~~~~~~