[PATCH 0/8] rockchip: Fix PCIe and NVMe support on RK3568

Jonas Karlman jonas at kwiboo.se
Sat Apr 22 20:19:45 CEST 2023


This series fixes and enables PCIe and NVMe support on RK3568.
It depends on prior series by Eugen Hristev, [1] and [2] that adds PCIe
support on RK3588 and also [3] that add basic reference counting to gpio
regulators.

Patch 1-2 fixes main issue in the driver to be usable on RK3568.
Patch 3 fixes a long wait time during probe when no device is attached.
Patch 4 hides BARs of the root complex that could claim the entire
memory region during PCI autoconfig.
Patch 5 adds support for the gpios prop to the fixed regulators driver.
Patch 6 adds a missing clock to the clock driver.
Patch 7 enables PCIe and NVMe support on rk3568-rock-3a.
Patch 8 updates the device tree with new reg and ranges values.

For a clean apply of patch 7, the series at [4] may be needed.

I have tested that a Samsung 970 EVO NVMe is detected on a ROCK 3A,

  BusDevFun  VendorId   DeviceId   Device Class       Sub-Class
  01.00.00   0x1d87     0x3566     Bridge device           0x04
  02.00.00   0x144d     0xa808     Mass storage controller 0x08

and I have also verified that the network controller continues to be
detected on a ROCK 5B.

  BusDevFun  VendorId   DeviceId   Device Class       Sub-Class
  00.00.00   0x1d87     0x3588     Bridge device           0x04
  01.00.00   0x10ec     0x8125     Network controller      0x00

This series can also be found at [5].

[1] https://patchwork.ozlabs.org/project/uboot/patch/20230413141103.268571-1-eugen.hristev@collabora.com/
[2] https://patchwork.ozlabs.org/project/uboot/patch/20230417091951.4640-1-eugen.hristev@collabora.com/
[3] https://patchwork.ozlabs.org/project/uboot/patch/20230419134526.128800-1-eugen.hristev@collabora.com/
[4] https://patchwork.ozlabs.org/project/uboot/cover/20230422012309.402799-1-jonas@kwiboo.se/
[5] https://github.com/Kwiboo/u-boot-rockchip/commits/rk3568-pcie-v1

Jonas Karlman (8):
  pci: pcie_dw_rockchip: Get config region from reg prop
  pci: pcie_dw_rockchip: Use regulator_set_enable_if_allowed
  pci: pcie_dw_rockchip: Speed up link probe
  pci: pcie_dw_rockchip: Hide BARs of the root complex
  regulator: fixed: Add support for gpios prop
  rockchip: clk: clk_rk3568: Add CLK_PCIEPHY2_REF support
  rockchip: rk3568-rock-3a: Enable PCIe and NVMe support
  rockchip: rk356x: Update PCIe config, IO and memory regions

 arch/arm/dts/rk3568-rock-3a-u-boot.dtsi |  14 +++
 arch/arm/dts/rk3568.dtsi                |  14 +--
 arch/arm/dts/rk356x.dtsi                |   7 +-
 configs/rock-3a-rk3568_defconfig        |   4 +
 drivers/clk/rockchip/clk_rk3568.c       |   1 +
 drivers/pci/pcie_dw_common.c            |  10 +-
 drivers/pci/pcie_dw_rockchip.c          | 128 +++++++++++++++---------
 drivers/power/regulator/fixed.c         |   5 +-
 8 files changed, 123 insertions(+), 60 deletions(-)

-- 
2.40.0



More information about the U-Boot mailing list