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" <krzk+dt@kernel.org>,
"Heiko Stuebner" <heiko@sntech.de>,
"Lorenzo Pieralisi" <lorenzo.pieralisi@arm.com>,
"Krzysztof Wilczyński" <kw@linux.com>,
"Bjorn Helgaas" <bhelgaas@google.com>,
"Philipp Zabel" <p.zabel@pengutronix.de>,
"Johan Jonker" <jbx6244@gmail.com>,
"Peter Geis" <pgwipeout@gmail.com>,
"Michael Riesch" <michael.riesch@wolfvision.net>,
linux-phy@lists.infradead.org, devicetree@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org
Subject: [RFC/RFT 4/6] PCI: rockchip-dwc: add pcie bifurcation
Date: Sat, 16 Apr 2022 15:54:56 +0200 [thread overview]
Message-ID: <20220416135458.104048-5-linux@fw-web.de> (raw)
In-Reply-To: <20220416135458.104048-1-linux@fw-web.de>
From: Frank Wunderlich <frank-w@public-files.de>
PCIe Lanes can be split to 2 slots with bifurcation.
Add support for this in existing pcie driver.
Co-developed-by: Peter Geis <pgwipeout@gmail.com>
Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
---
drivers/pci/controller/dwc/pcie-dw-rockchip.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/drivers/pci/controller/dwc/pcie-dw-rockchip.c b/drivers/pci/controller/dwc/pcie-dw-rockchip.c
index 863374604fb1..1b0c2115b32e 100644
--- a/drivers/pci/controller/dwc/pcie-dw-rockchip.c
+++ b/drivers/pci/controller/dwc/pcie-dw-rockchip.c
@@ -20,6 +20,7 @@
#include <linux/platform_device.h>
#include <linux/regmap.h>
#include <linux/reset.h>
+#include <linux/phy/pcie.h>
#include "pcie-designware.h"
@@ -59,6 +60,7 @@ struct rockchip_pcie {
struct regulator *vpcie3v3;
struct irq_domain *irq_domain;
raw_spinlock_t irq_lock;
+ bool bifurcation;
};
static int rockchip_pcie_readl_apb(struct rockchip_pcie *rockchip,
@@ -273,6 +275,12 @@ static int rockchip_pcie_phy_init(struct rockchip_pcie *rockchip)
return dev_err_probe(dev, PTR_ERR(rockchip->phy),
"missing PHY\n");
+ if (rockchip->bifurcation) {
+ ret = phy_set_mode_ext(rockchip->phy, PHY_MODE_PCIE, PHY_MODE_PCIE_BIFURCATION);
+ if (ret)
+ return ret;
+ }
+
ret = phy_init(rockchip->phy);
if (ret < 0)
return ret;
@@ -345,6 +353,9 @@ static int rockchip_pcie_probe(struct platform_device *pdev)
}
}
+ if (device_property_read_bool(dev, "rockchip,bifurcation"))
+ rockchip->bifurcation = true;
+
ret = rockchip_pcie_phy_init(rockchip);
if (ret)
goto disable_regulator;
--
2.25.1
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
WARNING: multiple messages have this Message-ID (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" <krzk+dt@kernel.org>,
"Heiko Stuebner" <heiko@sntech.de>,
"Lorenzo Pieralisi" <lorenzo.pieralisi@arm.com>,
"Krzysztof Wilczyński" <kw@linux.com>,
"Bjorn Helgaas" <bhelgaas@google.com>,
"Philipp Zabel" <p.zabel@pengutronix.de>,
"Johan Jonker" <jbx6244@gmail.com>,
"Peter Geis" <pgwipeout@gmail.com>,
"Michael Riesch" <michael.riesch@wolfvision.net>,
linux-phy@lists.infradead.org, devicetree@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org
Subject: [RFC/RFT 4/6] PCI: rockchip-dwc: add pcie bifurcation
Date: Sat, 16 Apr 2022 15:54:56 +0200 [thread overview]
Message-ID: <20220416135458.104048-5-linux@fw-web.de> (raw)
In-Reply-To: <20220416135458.104048-1-linux@fw-web.de>
From: Frank Wunderlich <frank-w@public-files.de>
PCIe Lanes can be split to 2 slots with bifurcation.
Add support for this in existing pcie driver.
Co-developed-by: Peter Geis <pgwipeout@gmail.com>
Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
---
drivers/pci/controller/dwc/pcie-dw-rockchip.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/drivers/pci/controller/dwc/pcie-dw-rockchip.c b/drivers/pci/controller/dwc/pcie-dw-rockchip.c
index 863374604fb1..1b0c2115b32e 100644
--- a/drivers/pci/controller/dwc/pcie-dw-rockchip.c
+++ b/drivers/pci/controller/dwc/pcie-dw-rockchip.c
@@ -20,6 +20,7 @@
#include <linux/platform_device.h>
#include <linux/regmap.h>
#include <linux/reset.h>
+#include <linux/phy/pcie.h>
#include "pcie-designware.h"
@@ -59,6 +60,7 @@ struct rockchip_pcie {
struct regulator *vpcie3v3;
struct irq_domain *irq_domain;
raw_spinlock_t irq_lock;
+ bool bifurcation;
};
static int rockchip_pcie_readl_apb(struct rockchip_pcie *rockchip,
@@ -273,6 +275,12 @@ static int rockchip_pcie_phy_init(struct rockchip_pcie *rockchip)
return dev_err_probe(dev, PTR_ERR(rockchip->phy),
"missing PHY\n");
+ if (rockchip->bifurcation) {
+ ret = phy_set_mode_ext(rockchip->phy, PHY_MODE_PCIE, PHY_MODE_PCIE_BIFURCATION);
+ if (ret)
+ return ret;
+ }
+
ret = phy_init(rockchip->phy);
if (ret < 0)
return ret;
@@ -345,6 +353,9 @@ static int rockchip_pcie_probe(struct platform_device *pdev)
}
}
+ if (device_property_read_bool(dev, "rockchip,bifurcation"))
+ rockchip->bifurcation = true;
+
ret = rockchip_pcie_phy_init(rockchip);
if (ret)
goto disable_regulator;
--
2.25.1
WARNING: multiple messages have this Message-ID (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" <krzk+dt@kernel.org>,
"Heiko Stuebner" <heiko@sntech.de>,
"Lorenzo Pieralisi" <lorenzo.pieralisi@arm.com>,
"Krzysztof Wilczyński" <kw@linux.com>,
"Bjorn Helgaas" <bhelgaas@google.com>,
"Philipp Zabel" <p.zabel@pengutronix.de>,
"Johan Jonker" <jbx6244@gmail.com>,
"Peter Geis" <pgwipeout@gmail.com>,
"Michael Riesch" <michael.riesch@wolfvision.net>,
linux-phy@lists.infradead.org, devicetree@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org
Subject: [RFC/RFT 4/6] PCI: rockchip-dwc: add pcie bifurcation
Date: Sat, 16 Apr 2022 15:54:56 +0200 [thread overview]
Message-ID: <20220416135458.104048-5-linux@fw-web.de> (raw)
In-Reply-To: <20220416135458.104048-1-linux@fw-web.de>
From: Frank Wunderlich <frank-w@public-files.de>
PCIe Lanes can be split to 2 slots with bifurcation.
Add support for this in existing pcie driver.
Co-developed-by: Peter Geis <pgwipeout@gmail.com>
Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
---
drivers/pci/controller/dwc/pcie-dw-rockchip.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/drivers/pci/controller/dwc/pcie-dw-rockchip.c b/drivers/pci/controller/dwc/pcie-dw-rockchip.c
index 863374604fb1..1b0c2115b32e 100644
--- a/drivers/pci/controller/dwc/pcie-dw-rockchip.c
+++ b/drivers/pci/controller/dwc/pcie-dw-rockchip.c
@@ -20,6 +20,7 @@
#include <linux/platform_device.h>
#include <linux/regmap.h>
#include <linux/reset.h>
+#include <linux/phy/pcie.h>
#include "pcie-designware.h"
@@ -59,6 +60,7 @@ struct rockchip_pcie {
struct regulator *vpcie3v3;
struct irq_domain *irq_domain;
raw_spinlock_t irq_lock;
+ bool bifurcation;
};
static int rockchip_pcie_readl_apb(struct rockchip_pcie *rockchip,
@@ -273,6 +275,12 @@ static int rockchip_pcie_phy_init(struct rockchip_pcie *rockchip)
return dev_err_probe(dev, PTR_ERR(rockchip->phy),
"missing PHY\n");
+ if (rockchip->bifurcation) {
+ ret = phy_set_mode_ext(rockchip->phy, PHY_MODE_PCIE, PHY_MODE_PCIE_BIFURCATION);
+ if (ret)
+ return ret;
+ }
+
ret = phy_init(rockchip->phy);
if (ret < 0)
return ret;
@@ -345,6 +353,9 @@ static int rockchip_pcie_probe(struct platform_device *pdev)
}
}
+ if (device_property_read_bool(dev, "rockchip,bifurcation"))
+ rockchip->bifurcation = true;
+
ret = rockchip_pcie_phy_init(rockchip);
if (ret)
goto disable_regulator;
--
2.25.1
_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip
WARNING: multiple messages have this Message-ID (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" <krzk+dt@kernel.org>,
"Heiko Stuebner" <heiko@sntech.de>,
"Lorenzo Pieralisi" <lorenzo.pieralisi@arm.com>,
"Krzysztof Wilczyński" <kw@linux.com>,
"Bjorn Helgaas" <bhelgaas@google.com>,
"Philipp Zabel" <p.zabel@pengutronix.de>,
"Johan Jonker" <jbx6244@gmail.com>,
"Peter Geis" <pgwipeout@gmail.com>,
"Michael Riesch" <michael.riesch@wolfvision.net>,
linux-phy@lists.infradead.org, devicetree@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org
Subject: [RFC/RFT 4/6] PCI: rockchip-dwc: add pcie bifurcation
Date: Sat, 16 Apr 2022 15:54:56 +0200 [thread overview]
Message-ID: <20220416135458.104048-5-linux@fw-web.de> (raw)
In-Reply-To: <20220416135458.104048-1-linux@fw-web.de>
From: Frank Wunderlich <frank-w@public-files.de>
PCIe Lanes can be split to 2 slots with bifurcation.
Add support for this in existing pcie driver.
Co-developed-by: Peter Geis <pgwipeout@gmail.com>
Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
---
drivers/pci/controller/dwc/pcie-dw-rockchip.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/drivers/pci/controller/dwc/pcie-dw-rockchip.c b/drivers/pci/controller/dwc/pcie-dw-rockchip.c
index 863374604fb1..1b0c2115b32e 100644
--- a/drivers/pci/controller/dwc/pcie-dw-rockchip.c
+++ b/drivers/pci/controller/dwc/pcie-dw-rockchip.c
@@ -20,6 +20,7 @@
#include <linux/platform_device.h>
#include <linux/regmap.h>
#include <linux/reset.h>
+#include <linux/phy/pcie.h>
#include "pcie-designware.h"
@@ -59,6 +60,7 @@ struct rockchip_pcie {
struct regulator *vpcie3v3;
struct irq_domain *irq_domain;
raw_spinlock_t irq_lock;
+ bool bifurcation;
};
static int rockchip_pcie_readl_apb(struct rockchip_pcie *rockchip,
@@ -273,6 +275,12 @@ static int rockchip_pcie_phy_init(struct rockchip_pcie *rockchip)
return dev_err_probe(dev, PTR_ERR(rockchip->phy),
"missing PHY\n");
+ if (rockchip->bifurcation) {
+ ret = phy_set_mode_ext(rockchip->phy, PHY_MODE_PCIE, PHY_MODE_PCIE_BIFURCATION);
+ if (ret)
+ return ret;
+ }
+
ret = phy_init(rockchip->phy);
if (ret < 0)
return ret;
@@ -345,6 +353,9 @@ static int rockchip_pcie_probe(struct platform_device *pdev)
}
}
+ if (device_property_read_bool(dev, "rockchip,bifurcation"))
+ rockchip->bifurcation = true;
+
ret = rockchip_pcie_phy_init(rockchip);
if (ret)
goto disable_regulator;
--
2.25.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2022-04-16 13:56 UTC|newest]
Thread overview: 108+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-16 13:54 [RFC/RFT 0/6] RK3568 PCIe V3 support Frank Wunderlich
2022-04-16 13:54 ` Frank Wunderlich
2022-04-16 13:54 ` Frank Wunderlich
2022-04-16 13:54 ` Frank Wunderlich
2022-04-16 13:54 ` [RFC/RFT 1/6] dt-bindings: phy: rockchip: add pcie3 phy Frank Wunderlich
2022-04-16 13:54 ` Frank Wunderlich
2022-04-16 13:54 ` Frank Wunderlich
2022-04-16 13:54 ` Frank Wunderlich
2022-04-18 15:52 ` Krzysztof Kozlowski
2022-04-18 15:52 ` Krzysztof Kozlowski
2022-04-18 15:52 ` Krzysztof Kozlowski
2022-04-18 15:52 ` Krzysztof Kozlowski
2022-04-19 17:49 ` Aw: " Frank Wunderlich
2022-04-19 17:49 ` Frank Wunderlich
2022-04-19 17:49 ` Frank Wunderlich
2022-04-19 17:49 ` Frank Wunderlich
2022-04-19 19:43 ` Krzysztof Kozlowski
2022-04-19 19:43 ` Krzysztof Kozlowski
2022-04-19 19:43 ` Krzysztof Kozlowski
2022-04-19 19:43 ` Krzysztof Kozlowski
2022-04-19 20:36 ` Aw: " Frank Wunderlich
2022-04-19 20:36 ` Frank Wunderlich
2022-04-19 20:36 ` Frank Wunderlich
2022-04-19 20:36 ` Frank Wunderlich
2022-04-19 20:48 ` Krzysztof Kozlowski
2022-04-19 20:48 ` Krzysztof Kozlowski
2022-04-19 20:48 ` Krzysztof Kozlowski
2022-04-19 20:48 ` Krzysztof Kozlowski
2022-04-16 13:54 ` [RFC/RFT 2/6] dt-bindings: soc: grf: add pcie30-{phy,pipe}-grf Frank Wunderlich
2022-04-16 13:54 ` Frank Wunderlich
2022-04-16 13:54 ` Frank Wunderlich
2022-04-16 13:54 ` Frank Wunderlich
2022-04-18 15:54 ` Krzysztof Kozlowski
2022-04-18 15:54 ` Krzysztof Kozlowski
2022-04-18 15:54 ` Krzysztof Kozlowski
2022-04-18 15:54 ` Krzysztof Kozlowski
2022-04-19 17:29 ` Aw: " Frank Wunderlich
2022-04-19 17:29 ` Frank Wunderlich
2022-04-19 17:29 ` Frank Wunderlich
2022-04-19 17:29 ` Frank Wunderlich
2022-04-19 19:40 ` Krzysztof Kozlowski
2022-04-19 19:40 ` Krzysztof Kozlowski
2022-04-19 19:40 ` Krzysztof Kozlowski
2022-04-19 19:40 ` Krzysztof Kozlowski
2022-04-20 13:04 ` Aw: " Frank Wunderlich
2022-04-20 13:04 ` Frank Wunderlich
2022-04-20 13:04 ` Frank Wunderlich
2022-04-20 13:04 ` Frank Wunderlich
2022-04-16 13:54 ` [RFC/RFT 3/6] phy: rockchip: Support pcie v3 Frank Wunderlich
2022-04-16 13:54 ` Frank Wunderlich
2022-04-16 13:54 ` Frank Wunderlich
2022-04-16 13:54 ` Frank Wunderlich
2022-04-18 10:38 ` Vinod Koul
2022-04-18 10:38 ` Vinod Koul
2022-04-18 10:38 ` Vinod Koul
2022-04-18 10:38 ` Vinod Koul
2022-04-18 15:57 ` Krzysztof Kozlowski
2022-04-18 15:57 ` Krzysztof Kozlowski
2022-04-18 15:57 ` Krzysztof Kozlowski
2022-04-18 15:57 ` Krzysztof Kozlowski
2022-04-20 7:29 ` Philipp Zabel
2022-04-20 7:29 ` Philipp Zabel
2022-04-20 7:29 ` Philipp Zabel
2022-04-20 7:29 ` Philipp Zabel
2022-04-16 13:54 ` Frank Wunderlich [this message]
2022-04-16 13:54 ` [RFC/RFT 4/6] PCI: rockchip-dwc: add pcie bifurcation Frank Wunderlich
2022-04-16 13:54 ` Frank Wunderlich
2022-04-16 13:54 ` Frank Wunderlich
2022-04-16 23:30 ` Bjorn Helgaas
2022-04-16 23:30 ` Bjorn Helgaas
2022-04-16 23:30 ` Bjorn Helgaas
2022-04-16 23:30 ` Bjorn Helgaas
2022-04-17 9:08 ` Aw: " Frank Wunderlich
2022-04-17 9:08 ` Frank Wunderlich
2022-04-17 9:08 ` Frank Wunderlich
2022-04-17 9:08 ` Frank Wunderlich
2022-04-18 15:53 ` Bjorn Helgaas
2022-04-18 15:53 ` Bjorn Helgaas
2022-04-18 15:53 ` Bjorn Helgaas
2022-04-18 15:53 ` Bjorn Helgaas
2022-04-18 16:17 ` Peter Geis
2022-04-18 16:17 ` Peter Geis
2022-04-18 16:17 ` Peter Geis
2022-04-18 16:17 ` Peter Geis
2022-04-21 15:41 ` Aw: " Frank Wunderlich
2022-04-21 15:41 ` Frank Wunderlich
2022-04-21 15:41 ` Frank Wunderlich
2022-04-21 15:41 ` Frank Wunderlich
2022-04-16 13:54 ` [RFC/RFT 5/6] arm64: dts: rockchip: rk3568: Add PCIe v3 nodes Frank Wunderlich
2022-04-16 13:54 ` Frank Wunderlich
2022-04-16 13:54 ` Frank Wunderlich
2022-04-16 13:54 ` Frank Wunderlich
2022-04-16 13:54 ` [RFC/RFT 6/6] arm64: dts: rockchip: Add PCIe v3 nodes to BPI-R2-Pro Frank Wunderlich
2022-04-16 13:54 ` Frank Wunderlich
2022-04-16 13:54 ` Frank Wunderlich
2022-04-16 13:54 ` Frank Wunderlich
2022-04-18 15:57 ` Krzysztof Kozlowski
2022-04-18 15:57 ` Krzysztof Kozlowski
2022-04-18 15:57 ` Krzysztof Kozlowski
2022-04-18 15:57 ` Krzysztof Kozlowski
2022-05-11 19:26 ` [RFC/RFT 0/6] RK3568 PCIe V3 support Piotr Oniszczuk
2022-05-11 19:26 ` Piotr Oniszczuk
2022-05-11 19:26 ` Piotr Oniszczuk
2022-05-11 19:26 ` Piotr Oniszczuk
2022-05-11 20:10 ` Frank Wunderlich
2022-05-11 20:10 ` Frank Wunderlich
2022-05-11 20:10 ` Frank Wunderlich
2022-05-11 20:10 ` Frank Wunderlich
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220416135458.104048-5-linux@fw-web.de \
--to=linux@fw-web.de \
--cc=bhelgaas@google.com \
--cc=devicetree@vger.kernel.org \
--cc=frank-w@public-files.de \
--cc=heiko@sntech.de \
--cc=jbx6244@gmail.com \
--cc=kishon@ti.com \
--cc=krzk+dt@kernel.org \
--cc=kw@linux.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux-phy@lists.infradead.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=lorenzo.pieralisi@arm.com \
--cc=michael.riesch@wolfvision.net \
--cc=p.zabel@pengutronix.de \
--cc=pgwipeout@gmail.com \
--cc=robh+dt@kernel.org \
--cc=vkoul@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.