mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-28 01:28:59 +00:00
eb777539fd
This commit contains patches for PCI aardvark driver and relevant DTS changes for Turris MOX and EspressoBin backported from mainline kernel. It fixes support for old ATF, various wifi cards, mainly Compex WLE900VX. Signed-off-by: Pali Rohár <pali@kernel.org>
45 lines
1.8 KiB
Diff
45 lines
1.8 KiB
Diff
From b0c6ae0f8948a2be6bf4e8b4bbab9ca1343289b6 Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Pali=20Roh=C3=A1r?= <pali@kernel.org>
|
|
Date: Wed, 2 Sep 2020 16:43:44 +0200
|
|
Subject: [PATCH] PCI: aardvark: Fix initialization with old Marvell's Arm
|
|
Trusted Firmware
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
Old ATF automatically power on pcie phy and does not provide SMC call for
|
|
phy power on functionality which leads to aardvark initialization failure:
|
|
|
|
[ 0.330134] mvebu-a3700-comphy d0018300.phy: unsupported SMC call, try updating your firmware
|
|
[ 0.338846] phy phy-d0018300.phy.1: phy poweron failed --> -95
|
|
[ 0.344753] advk-pcie d0070000.pcie: Failed to initialize PHY (-95)
|
|
[ 0.351160] advk-pcie: probe of d0070000.pcie failed with error -95
|
|
|
|
This patch fixes above failure by ignoring 'not supported' error in
|
|
aardvark driver. In this case it is expected that phy is already power on.
|
|
|
|
Tested-by: Tomasz Maciej Nowak <tmn505@gmail.com>
|
|
Link: https://lore.kernel.org/r/20200902144344.16684-3-pali@kernel.org
|
|
Fixes: 366697018c9a ("PCI: aardvark: Add PHY support")
|
|
Signed-off-by: Pali Rohár <pali@kernel.org>
|
|
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
|
|
Reviewed-by: Rob Herring <robh@kernel.org>
|
|
Cc: <stable@vger.kernel.org> # 5.8+: ea17a0f153af: phy: marvell: comphy: Convert internal SMCC firmware return codes to errno
|
|
---
|
|
drivers/pci/controller/pci-aardvark.c | 4 +++-
|
|
1 file changed, 3 insertions(+), 1 deletion(-)
|
|
|
|
--- a/drivers/pci/controller/pci-aardvark.c
|
|
+++ b/drivers/pci/controller/pci-aardvark.c
|
|
@@ -1124,7 +1124,9 @@ static int advk_pcie_enable_phy(struct a
|
|
}
|
|
|
|
ret = phy_power_on(pcie->phy);
|
|
- if (ret) {
|
|
+ if (ret == -EOPNOTSUPP) {
|
|
+ dev_warn(&pcie->pdev->dev, "PHY unsupported by firmware\n");
|
|
+ } else if (ret) {
|
|
phy_exit(pcie->phy);
|
|
return ret;
|
|
}
|