mirror of
https://github.com/armbian/build
synced 2025-09-24 19:47:06 +07:00
rockchip64: bump edge to 6.16-rc3 (#8328)
* Fix wifi drivers on kernel v6.16 These patches can get deleted after merged upstream. * initial commit * fix header * remove ssv6051 driver --------- Co-authored-by: amazingfate <liujianfeng1994@gmail.com>
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Andrey Safonov <andrey.safonov@gmail.com>
|
||||
Date: Sat, 16 Dec 2023 22:46:35 +0300
|
||||
Subject: rk3399 PCIE PHY reset on probe
|
||||
|
||||
Signed-off-by: Andrey Safonov <andrey.safonov@gmail.com>
|
||||
---
|
||||
drivers/phy/rockchip/phy-rockchip-pcie.c | 16 ++++++++++
|
||||
1 file changed, 16 insertions(+)
|
||||
|
||||
diff --git a/drivers/phy/rockchip/phy-rockchip-pcie.c b/drivers/phy/rockchip/phy-rockchip-pcie.c
|
||||
index 111111111111..222222222222 100644
|
||||
--- a/drivers/phy/rockchip/phy-rockchip-pcie.c
|
||||
+++ b/drivers/phy/rockchip/phy-rockchip-pcie.c
|
||||
@@ -293,6 +293,20 @@ static const struct of_device_id rockchip_pcie_phy_dt_ids[] = {
|
||||
|
||||
MODULE_DEVICE_TABLE(of, rockchip_pcie_phy_dt_ids);
|
||||
|
||||
+static void rockchip_pcie_phy_reset(struct rockchip_pcie_phy *rk_phy)
|
||||
+{
|
||||
+ int i;
|
||||
+
|
||||
+ for (i = 0; i < PHY_MAX_LANE_NUM; i++)
|
||||
+ regmap_write(rk_phy->reg_base,
|
||||
+ rk_phy->phy_data->pcie_laneoff,
|
||||
+ HIWORD_UPDATE(PHY_LANE_IDLE_OFF,
|
||||
+ PHY_LANE_IDLE_MASK,
|
||||
+ PHY_LANE_IDLE_A_SHIFT + i));
|
||||
+
|
||||
+ reset_control_assert(rk_phy->phy_rst);
|
||||
+}
|
||||
+
|
||||
static int rockchip_pcie_phy_probe(struct platform_device *pdev)
|
||||
{
|
||||
struct device *dev = &pdev->dev;
|
||||
@@ -337,6 +351,8 @@ static int rockchip_pcie_phy_probe(struct platform_device *pdev)
|
||||
phy_num = (phy_num == 0) ? 1 : PHY_MAX_LANE_NUM;
|
||||
dev_dbg(dev, "phy number is %d\n", phy_num);
|
||||
|
||||
+ rockchip_pcie_phy_reset(rk_phy);
|
||||
+
|
||||
for (i = 0; i < phy_num; i++) {
|
||||
rk_phy->phys[i].phy = devm_phy_create(dev, dev->of_node, &ops);
|
||||
if (IS_ERR(rk_phy->phys[i].phy)) {
|
||||
--
|
||||
Armbian
|
||||
|
||||
Reference in New Issue
Block a user