This patchset is trying to reconstruct PCIe and PCIe-PHY driver for rockchip platform in order to support per-lane PHY mode. And we could idle the inactive lane(s) finally. We deprecate the legacy PHY mode but the code could still support it in order not to break backware compatibility of DTB. And I organize the patches carefully so that we don't introduce git-bisect issue. Hi Brian & Jeffy, I tested it by backporting all things into my kernel 4.4 tree, and it works fine for both legacy PHY mode and per-lane PHY model. However I couldn't run 4.12 for my rk3399-evb now, so could you please help test it on your Chromebook devices which can run 4.12? Hi Rob, Does the changes for rockchip-pcie.txt in patch 6 look good to you from the perspective of DT? Shawn Lin (6): PCI: rockchip: split out rockchip_pcie_get_phys PCI: rockchip: introduce per-lanes PHYs support phy: rockcip-pcie: reconstruct driver to support per-lane PHYs PCI: rockchip: idle the inactive PHY(s) arm64: dts: rockchip: convert PCIe to use per-lane PHYs for rk3339-evb dt-bindings: PCI: rockchip: convert to use per-lane PHY model .../devicetree/bindings/pci/rockchip-pcie.txt | 25 +++- arch/arm64/boot/dts/rockchip/rk3399-evb.dts | 2 + drivers/pci/host/pcie-rockchip.c | 162 ++++++++++++++++++--- drivers/phy/rockchip/phy-rockchip-pcie.c | 116 +++++++++++++-- 4 files changed, 269 insertions(+), 36 deletions(-) -- 1.9.1