cb28f702 | 28-Feb-2024 |
Robert Marko <robimarko@gmail.com> |
net: phy: qcom: qca808x: fill in possible_interfaces
Currently QCA808x driver does not fill the possible_interfaces. 2.5G QCA808x support SGMII and 2500Base-X while 1G model only supports SGMII, so
net: phy: qcom: qca808x: fill in possible_interfaces
Currently QCA808x driver does not fill the possible_interfaces. 2.5G QCA808x support SGMII and 2500Base-X while 1G model only supports SGMII, so fill the possible_interfaces accordingly.
Signed-off-by: Robert Marko <robimarko@gmail.com> Reviewed-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
f508a226 | 06-Feb-2024 |
Christian Marangi <ansuelsmth@gmail.com> |
net: phy: qca807x: add support for configurable LED
QCA8072/5 have up to 2 LEDs attached for PHY.
LEDs can be configured to be ON/hw blink or be set to HW control.
Hw blink mode is set to blink at
net: phy: qca807x: add support for configurable LED
QCA8072/5 have up to 2 LEDs attached for PHY.
LEDs can be configured to be ON/hw blink or be set to HW control.
Hw blink mode is set to blink at 4Hz or 250ms.
PHY can support both copper (TP) or fiber (FIBRE) kind and supports different HW control modes based on the port type.
HW control modes supported for netdev trigger for copper ports are: - LINK_10 - LINK_100 - LINK_1000 - TX - RX - FULL_DUPLEX - HALF_DUPLEX
HW control modes supported for netdev trigger for fiber ports are: - LINK_100 - LINK_1000 - TX - RX - FULL_DUPLEX - HALF_DUPLEX
LED support conflicts with GPIO controller feature and must be disabled if gpio-controller is used for the PHY.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
47b930d0 | 06-Feb-2024 |
Christian Marangi <ansuelsmth@gmail.com> |
net: phy: qcom: generalize some qca808x LED functions
Generalize some qca808x LED functions in preparation for qca807x LED support.
The LED implementation of qca808x and qca807x is the same but qca
net: phy: qcom: generalize some qca808x LED functions
Generalize some qca808x LED functions in preparation for qca807x LED support.
The LED implementation of qca808x and qca807x is the same but qca807x supports also Fiber port and have different hw control bits for Fiber port. To limit code duplication introduce micro functions that takes reg instead of LED index to tweak all the supported LED modes.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
ee9d9807 | 06-Feb-2024 |
Christian Marangi <ansuelsmth@gmail.com> |
net: phy: qcom: move common qca808x LED define to shared header
The LED implementation of qca808x and qca807x is the same but qca807x supports also Fiber port and have different hw control bits for
net: phy: qcom: move common qca808x LED define to shared header
The LED implementation of qca808x and qca807x is the same but qca807x supports also Fiber port and have different hw control bits for Fiber port.
In preparation for qca807x introduction, move all the common define to shared header.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
d1cb613e | 06-Feb-2024 |
Robert Marko <robert.marko@sartura.hr> |
net: phy: qcom: add support for QCA807x PHY Family
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 1000BAS
net: phy: qcom: add support for QCA807x PHY Family
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.
PHY package can be configured in 3 mode following this table:
First Serdes mode Second Serdes mode Option 1 PSGMII for copper Disabled ports 0-4 Option 2 PSGMII for copper 1000BASE-X / 100BASE-FX ports 0-4 Option 3 QSGMII for copper SGMII for ports 0-3 copper port 4
Each PHY inside of QCA807x series has 4 digitally controlled output only pins that natively drive LED-s. But some vendors used these to driver generic LED-s controlled by userspace, so lets enable registering each PHY as GPIO controller and add driver for it.
These are commonly used in Qualcomm IPQ40xx, IPQ60xx and IPQ807x boards.
Co-developed-by: Christian Marangi <ansuelsmth@gmail.com> Signed-off-by: Robert Marko <robert.marko@sartura.hr> Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
9b1d5e05 | 06-Feb-2024 |
Christian Marangi <ansuelsmth@gmail.com> |
net: phy: provide whether link has changed in c37_read_status
Some PHY driver might require additional regs call after genphy_c37_read_status() is called.
Expand genphy_c37_read_status to provide a
net: phy: provide whether link has changed in c37_read_status
Some PHY driver might require additional regs call after genphy_c37_read_status() is called.
Expand genphy_c37_read_status to provide a bool wheather the link has changed or not to permit PHY driver to skip additional regs call if nothing has changed.
Every user of genphy_c37_read_status() is updated with the new additional bool.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
f203c8c7 | 01-Feb-2024 |
Christian Marangi <ansuelsmth@gmail.com> |
net: phy: qcom: qca808x: default to LED active High if not set
qca808x PHY provide support for the led_polarity_set OP to configure and apply the active-low property but on PHY reset, the Active Hig
net: phy: qcom: qca808x: default to LED active High if not set
qca808x PHY provide support for the led_polarity_set OP to configure and apply the active-low property but on PHY reset, the Active High bit is not set resulting in the LED driven as active-low.
To fix this, check if active-low is not set in DT and enable Active High polarity by default to restore correct funcionality of the LED.
Fixes: 7196062b64ee ("net: phy: at803x: add LED support for qca808x") Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
show more ...
|
c89414ad | 29-Jan-2024 |
Christian Marangi <ansuelsmth@gmail.com> |
net: phy: qcom: detach qca808x PHY driver from at803x
Almost all the QCA8081 PHY driver OPs are specific and only some of them use the generic at803x.
To make the at803x code slimmer, move all the
net: phy: qcom: detach qca808x PHY driver from at803x
Almost all the QCA8081 PHY driver OPs are specific and only some of them use the generic at803x.
To make the at803x code slimmer, move all the specific qca808x regs and functions to a dedicated PHY driver.
Probe function and priv struct is reworked to allocate and use only the qca808x specific data. Unused data from at803x PHY driver are dropped from at803x priv struct.
Also a new Kconfig is introduced QCA808X_PHY, to compile the newly introduced PHY driver for QCA8081 PHY.
As the Kconfig name starts with Qualcomm the same order is kept.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Link: https://lore.kernel.org/r/20240129141600.2592-6-ansuelsmth@gmail.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|
249d2b80 | 29-Jan-2024 |
Christian Marangi <ansuelsmth@gmail.com> |
net: phy: qcom: move additional functions to shared library
Move additional functions to shared library in preparation for qca808x PHY Family to be detached from at803x driver.
Only the shared defi
net: phy: qcom: move additional functions to shared library
Move additional functions to shared library in preparation for qca808x PHY Family to be detached from at803x driver.
Only the shared defines are moved to the shared qcom.h header.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Link: https://lore.kernel.org/r/20240129141600.2592-5-ansuelsmth@gmail.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|
2e45d404 | 29-Jan-2024 |
Christian Marangi <ansuelsmth@gmail.com> |
net: phy: qcom: deatch qca83xx PHY driver from at803x
Deatch qca83xx PHY driver from at803x.
The QCA83xx PHYs implement specific function and doesn't use generic at803x so it can be detached from t
net: phy: qcom: deatch qca83xx PHY driver from at803x
Deatch qca83xx PHY driver from at803x.
The QCA83xx PHYs implement specific function and doesn't use generic at803x so it can be detached from the driver and moved to a dedicated one.
Probe function and priv struct is reimplemented to allocate and use only the qca83xx specific data. Unused data from at803x PHY driver are dropped from at803x priv struct.
This is to make slimmer PHY drivers instead of including lots of bloat that would never be used in specific SoC.
A new Kconfig flag QCA83XX_PHY is introduced to compile the new introduced PHY driver.
As the Kconfig name starts with Qualcomm the same order is kept.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Link: https://lore.kernel.org/r/20240129141600.2592-4-ansuelsmth@gmail.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|
6fb76097 | 29-Jan-2024 |
Christian Marangi <ansuelsmth@gmail.com> |
net: phy: qcom: create and move functions to shared library
Create and move functions to shared library in preparation for qca83xx PHY Family to be detached from at803x driver.
Only the shared defi
net: phy: qcom: create and move functions to shared library
Create and move functions to shared library in preparation for qca83xx PHY Family to be detached from at803x driver.
Only the shared defines are moved to the shared qcom.h header.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Link: https://lore.kernel.org/r/20240129141600.2592-3-ansuelsmth@gmail.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|