On Tue, Feb 28, 2023 at 08:53:50AM +0000, bugzilla-daemon@xxxxxxxxxx wrote: > https://bugzilla.kernel.org/show_bug.cgi?id=217100 > > Summary: Bifurcation between pcie3x1 & pcie3x2 doesn't work in > RK3568J. > ... > Hello. > > First, I want to say that pcie3x1 crashes if started before pcie3x2 . Driver > > pcie-designware.c > > in function > > > void dw_pcie_version_detect(struct dw_pcie *pci) > > tries to read parameter from dbi register (PCIE_VERSION_NUMBER) and fails on > it. > So I changed sequence of declaration PCIE in rk3568.dtsi: first - pcie3x2 next > pcie3x1. Now Linux first starts pcie3x2, then successfully starts pcie3x1. > > But main problem is that bifurcation in phy driver > > phy-rockchip-snps-pcie3.c > > doesn't work. I tried add next lines in function > > > static int rockchip_p3phy_probe(struct platform_device *pdev) > > right after block check > > > if (priv->num_lanes == -EINVAL) { > > } > > > priv->num_lanes = 2; > > priv->lanes[0] = 1; > > priv->lanes[1] = 2 > > And driver writes during Linux boot process that bifurcation is enabled, but > > lspci > > does't show second device. > > Best regards, > Anton. Thanks much for your report, Anton. People don't really pay attention to the bugzilla, so I'm forwarding this to the mailing list and to some folks who've worked on that driver in the past. MAINTAINERS doesn't list an entry for pcie-dw-rockchip.c; I'm not sure if that's an oversight or if nobody cares enough to actually maintain it. Bjorn