|
|
@@ -1,7 +1,7 @@
|
|
|
-From cdcafa28c857e4d04c9210feb54dc84e427061fe Mon Sep 17 00:00:00 2001
|
|
|
+From 1d37f4ee9b9588a62bfc87419c8a6d9ef989aa9c Mon Sep 17 00:00:00 2001
|
|
|
From: Robert Marko <[email protected]>
|
|
|
-Date: Tue, 11 Jan 2022 00:28:42 +0100
|
|
|
-Subject: [PATCH 1/2] qca807x: add a LED quirk for Xiaomi AX9000
|
|
|
+Date: Tue, 7 Nov 2023 12:23:09 +0100
|
|
|
+Subject: [PATCH 1/3] qca807x: add a LED quirk for Xiaomi AX9000
|
|
|
|
|
|
Xiaomi AX9000 has a single LED for each of 4 gigabit ethernet ports that
|
|
|
are connected to QCA8075, and that LED is connected to the 100M LED pin.
|
|
|
@@ -16,9 +16,9 @@ as well.
|
|
|
|
|
|
Signed-off-by: Robert Marko <[email protected]>
|
|
|
---
|
|
|
- include/hsl/phy/malibu_phy.h | 2 ++
|
|
|
- src/hsl/phy/malibu_phy.c | 11 +++++++++++
|
|
|
- 2 files changed, 13 insertions(+)
|
|
|
+ include/hsl/phy/malibu_phy.h | 2 ++
|
|
|
+ src/hsl/phy/malibu_phy.c | 9 +++++++++
|
|
|
+ 2 files changed, 11 insertions(+)
|
|
|
|
|
|
--- a/include/hsl/phy/malibu_phy.h
|
|
|
+++ b/include/hsl/phy/malibu_phy.h
|
|
|
@@ -49,19 +49,17 @@ Signed-off-by: Robert Marko <[email protected]>
|
|
|
#include "sw.h"
|
|
|
#include "fal_port_ctrl.h"
|
|
|
#include "hsl_api.h"
|
|
|
-@@ -2716,6 +2718,15 @@ malibu_phy_hw_init(a_uint32_t dev_id, a_
|
|
|
- led_status |= MALIBU_LED_1000_CTRL1_100_10_MASK;
|
|
|
- malibu_phy_mmd_write(dev_id, phy_addr, MALIBU_PHY_MMD7_NUM,
|
|
|
- MALIBU_PHY_MMD7_LED_1000_CTRL1, led_status);
|
|
|
+@@ -1809,6 +1811,13 @@ malibu_phy_hw_init(a_uint32_t dev_id, a_
|
|
|
+ hsl_phy_modify_mmd(dev_id, phy_addr, A_FALSE, MALIBU_PHY_MMD7_NUM,
|
|
|
+ MALIBU_PHY_MMD7_LED_1000_CTRL1, MALIBU_LED_1000_CTRL1_100_10_MASK,
|
|
|
+ MALIBU_LED_1000_CTRL1_100_10_MASK);
|
|
|
+ if (of_machine_is_compatible("xiaomi,ax9000")) {
|
|
|
+ /* add 1000M link LED behavior for Xiaomi AX9000 */
|
|
|
-+ led_status = malibu_phy_mmd_read(dev_id, phy_addr, MALIBU_PHY_MMD7_NUM,
|
|
|
-+ MALIBU_PHY_MMD7_LED_100_CTRL1);
|
|
|
-+ led_status &= ~MALIBU_LED_100_CTRL1_1000_MASK;
|
|
|
-+ led_status |= MALIBU_LED_100_CTRL1_1000_MASK;
|
|
|
-+ malibu_phy_mmd_write(dev_id, phy_addr, MALIBU_PHY_MMD7_NUM,
|
|
|
-+ MALIBU_PHY_MMD7_LED_100_CTRL1, led_status);
|
|
|
++ hsl_phy_modify_mmd(dev_id, phy_addr, A_FALSE, MALIBU_PHY_MMD7_NUM,
|
|
|
++ MALIBU_PHY_MMD7_LED_100_CTRL1,
|
|
|
++ MALIBU_LED_100_CTRL1_1000_MASK,
|
|
|
++ MALIBU_LED_100_CTRL1_1000_MASK);
|
|
|
+ }
|
|
|
/*disable Extended next page*/
|
|
|
- phy_data = malibu_phy_reg_read(dev_id, phy_addr, MALIBU_AUTONEG_ADVERT);
|
|
|
- phy_data &= ~MALIBU_EXTENDED_NEXT_PAGE_EN;
|
|
|
+ hsl_phy_modify_mii(dev_id, phy_addr, MALIBU_AUTONEG_ADVERT,
|
|
|
+ MALIBU_EXTENDED_NEXT_PAGE_EN, 0);
|