mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-04-16 04:13:31 +00:00
56 lines
2.1 KiB
Diff
56 lines
2.1 KiB
Diff
From 46207bac2522eab8dd18f4ecd18c2597c841534e Mon Sep 17 00:00:00 2001
|
|
From: Shawn Lin <shawn.lin@rock-chips.com>
|
|
Date: Sun, 19 Jun 2022 10:26:03 +0200
|
|
Subject: [PATCH 46/51] phy: rockchip: Support PCIe v3
|
|
|
|
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>
|
|
---
|
|
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
|