mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-04-16 04:13:31 +00:00
107 lines
3.8 KiB
Diff
107 lines
3.8 KiB
Diff
From: Frank Wunderlich <linux@fw-web.de>
|
|
To: linux-rockchip@lists.infradead.org
|
|
Cc: Frank Wunderlich <frank-w@public-files.de>,
|
|
Kishon Vijay Abraham I <kishon@ti.com>,
|
|
Vinod Koul <vkoul@kernel.org>, Rob Herring <robh+dt@kernel.org>,
|
|
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
|
|
Heiko Stuebner <heiko@sntech.de>,
|
|
Philipp Zabel <p.zabel@pengutronix.de>,
|
|
Johan Jonker <jbx6244@gmail.com>,
|
|
Yifeng Zhao <yifeng.zhao@rock-chips.com>,
|
|
Peter Geis <pgwipeout@gmail.com>,
|
|
Michael Riesch <michael.riesch@wolfvision.net>,
|
|
Liang Chen <cl@rock-chips.com>, Simon Xue <xxm@rock-chips.com>,
|
|
Shawn Lin <shawn.lin@rock-chips.com>,
|
|
linux-phy@lists.infradead.org, devicetree@vger.kernel.org,
|
|
linux-arm-kernel@lists.infradead.org,
|
|
linux-kernel@vger.kernel.org
|
|
Subject: [PATCH v4 3/5] phy: rockchip: Support PCIe v3
|
|
Date: Sun, 19 Jun 2022 10:26:03 +0200 [thread overview]
|
|
Message-ID: <20220619082605.7935-4-linux@fw-web.de> (raw)
|
|
In-Reply-To: <20220619082605.7935-1-linux@fw-web.de>
|
|
|
|
From: Shawn Lin <shawn.lin@rock-chips.com>
|
|
|
|
RK3568 supports PCIe v3 using not Combphy like PCIe v2 on rk3566.
|
|
It use a dedicated PCIe-phy. Add support for this.
|
|
|
|
Initial support by Shawn Lin, modifications by Peter Geis and Frank
|
|
Wunderlich.
|
|
|
|
Add data-lanes property for splitting pcie-lanes across controllers.
|
|
|
|
The data-lanes is an array where x=0 means lane is disabled and x > 0
|
|
means controller x is assigned to phy lane.
|
|
|
|
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
|
|
Suggested-by: Peter Geis <pgwipeout@gmail.com>
|
|
Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
|
|
---
|
|
v4:
|
|
- change u8 lane-map to u32 data-lanes
|
|
|
|
v3:
|
|
- change dt-binding include
|
|
- change reset to devm_reset_control_get_optional_exclusive
|
|
exit on error and lower severity of message if unset
|
|
- fix from peter: disable reg-write for phy-mode in rockchip_p3phy_probe
|
|
- move bifurcation/lane-map support from PCIe to phy driver
|
|
|
|
v2:
|
|
- move dt-bindings header into separate patch
|
|
- use BIT-macro
|
|
- make constants better readable
|
|
- use dev_err instead of pr_*
|
|
- change dt-binding include due to renaming (phy-snps-pcie3.h => phy-rockchip-pcie3.h)
|
|
- use exclusive variant of devm_reset_control_get{,_exclusive}
|
|
- fix semicolon.cocci warnings reported by kernel test robot <lkp@intel.com>
|
|
|
|
---
|
|
driver was taken from linux 5.10 based on in
|
|
https://github.com/JeffyCN/mirrors
|
|
which now has disappeared
|
|
|
|
Update phy-rockchip-snps-pcie3.c
|
|
|
|
Fix messages for data-lanes
|
|
|
|
Update phy-rockchip-snps-pcie3.c
|
|
|
|
Fix comment for data-lanes
|
|
---
|
|
drivers/phy/rockchip/Kconfig | 9 +
|
|
drivers/phy/rockchip/Makefile | 1 +
|
|
.../phy/rockchip/phy-rockchip-snps-pcie3.c | 317 ++++++++++++++++++
|
|
include/linux/phy/pcie.h | 12 +
|
|
4 files changed, 339 insertions(+)
|
|
create mode 100644 drivers/phy/rockchip/phy-rockchip-snps-pcie3.c
|
|
create mode 100644 include/linux/phy/pcie.h
|
|
|
|
--- a/drivers/phy/rockchip/Kconfig
|
|
+++ b/drivers/phy/rockchip/Kconfig
|
|
@@ -83,6 +83,15 @@ config PHY_ROCKCHIP_PCIE
|
|
help
|
|
Enable this to support the Rockchip PCIe PHY.
|
|
|
|
+config PHY_ROCKCHIP_SNPS_PCIE3
|
|
+ tristate "Rockchip Snps PCIe3 PHY Driver"
|
|
+ depends on (ARCH_ROCKCHIP && OF) || COMPILE_TEST
|
|
+ depends on HAS_IOMEM
|
|
+ select GENERIC_PHY
|
|
+ select MFD_SYSCON
|
|
+ help
|
|
+ Enable this to support the Rockchip snps PCIe3 PHY.
|
|
+
|
|
config PHY_ROCKCHIP_TYPEC
|
|
tristate "Rockchip TYPEC PHY Driver"
|
|
depends on OF && (ARCH_ROCKCHIP || COMPILE_TEST)
|
|
--- a/drivers/phy/rockchip/Makefile
|
|
+++ b/drivers/phy/rockchip/Makefile
|
|
@@ -8,5 +8,6 @@ obj-$(CONFIG_PHY_ROCKCHIP_INNO_HDMI) +=
|
|
obj-$(CONFIG_PHY_ROCKCHIP_INNO_USB2) += phy-rockchip-inno-usb2.o
|
|
obj-$(CONFIG_PHY_ROCKCHIP_NANENG_COMBO_PHY) += phy-rockchip-naneng-combphy.o
|
|
obj-$(CONFIG_PHY_ROCKCHIP_PCIE) += phy-rockchip-pcie.o
|
|
+obj-$(CONFIG_PHY_ROCKCHIP_SNPS_PCIE3) += phy-rockchip-snps-pcie3.o
|
|
obj-$(CONFIG_PHY_ROCKCHIP_TYPEC) += phy-rockchip-typec.o
|
|
obj-$(CONFIG_PHY_ROCKCHIP_USB) += phy-rockchip-usb.o
|