linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v9 0/5] Enable rk356x PCIe controller
@ 2022-04-29 12:38 Peter Geis
  2022-04-29 12:38 ` [PATCH v9 1/5] dt-bindings: PCI: Remove fallback from Rockchip DesignWare binding Peter Geis
                   ` (7 more replies)
  0 siblings, 8 replies; 16+ messages in thread
From: Peter Geis @ 2022-04-29 12:38 UTC (permalink / raw)
  To: linux-rockchip, Philipp Zabel
  Cc: heiko, Peter Geis, Marc Zyngier, linux-pci, devicetree,
	linux-arm-kernel, linux-kernel

This series enables the DesignWare based PCIe controller on the rk356x
series of chips. We drop the fallback to the core driver due to 
compatibility issues. We reset the PCIe controller at driver probe to
prevent issues in the future when firmware / kexec leaves the controller
in an unknown state. We add support for legacy interrupts for cards that
lack MSI support (which is partially broken currently). We then add the
device tree nodes to enable PCIe on the Quartz64 Model A.

Patch 1 drops the snps,dw,pcie fallback from the dt-binding
Patch 2 resets the PCIe controller to prevent configuration bugs
Patch 3 adds legacy interrupt support to the driver
Patch 4 adds the device tree binding to the rk356x.dtsi
Patch 5 enables the PCIe controller on the Quartz64-A

Changelog:
v9:
- move reset_control_assert out of rockchip_pcie_resource_get
- fix various formatting mistakes
- fix a checkpatch warning

v8:
- add core reset patch
- simplify IRQ enable/disable functions
- drop spinlock
- only enable/disable IRQ requested
- only pass the IRQ register bits used to irq functions

v7:
- drop assigned-clocks

v6:
- fix a ranges issue
- point to GIC instead of ITS

v5:
- fix incorrect series (apologies for the v4 spam)

v4:
- drop the ITS modification, poor compatibility is better than
  completely broken

v3:
- drop select node from dt-binding
- convert to for_each_set_bit
- convert to generic_handle_domain_irq
- drop unncessary dev_err
- reorder irq_chip items
- change to level_irq
- install the handler after initializing the domain

v2:
- Define PCIE_CLIENT_INTR_STATUS_LEGACY
- Fix PCIE_LEGACY_INT_ENABLE to only enable the RC interrupts
- Add legacy interrupt enable/disable support


Peter Geis (5):
  dt-bindings: PCI: Remove fallback from Rockchip DesignWare binding
  PCI: rockchip-dwc: Reset core at driver probe
  PCI: rockchip-dwc: Add legacy interrupt support
  arm64: dts: rockchip: Add rk3568 PCIe2x1 controller
  arm64: dts: rockchip: Enable PCIe controller on quartz64-a

 .../bindings/pci/rockchip-dw-pcie.yaml        |  12 +-
 .../boot/dts/rockchip/rk3566-quartz64-a.dts   |  34 +++++
 arch/arm64/boot/dts/rockchip/rk356x.dtsi      |  52 ++++++++
 drivers/pci/controller/dwc/pcie-dw-rockchip.c | 119 +++++++++++++++---
 4 files changed, 191 insertions(+), 26 deletions(-)

-- 
2.25.1


^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2022-05-15 19:47 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-29 12:38 [PATCH v9 0/5] Enable rk356x PCIe controller Peter Geis
2022-04-29 12:38 ` [PATCH v9 1/5] dt-bindings: PCI: Remove fallback from Rockchip DesignWare binding Peter Geis
2022-04-29 12:38 ` [PATCH v9 2/5] PCI: rockchip-dwc: Reset core at driver probe Peter Geis
2022-05-11 13:50   ` Lorenzo Pieralisi
2022-05-11 14:26     ` Peter Geis
2022-05-11 15:00       ` Lorenzo Pieralisi
2022-05-11 15:23         ` Heiko Stübner
2022-04-29 12:38 ` [PATCH v9 3/5] PCI: rockchip-dwc: Add legacy interrupt support Peter Geis
2022-04-29 18:07   ` Marc Zyngier
2022-04-29 12:38 ` [PATCH v9 4/5] arm64: dts: rockchip: Add rk3568 PCIe2x1 controller Peter Geis
2022-05-15 19:17   ` Heiko Stübner
2022-04-29 12:38 ` [PATCH v9 5/5] arm64: dts: rockchip: Enable PCIe controller on quartz64-a Peter Geis
2022-05-10 21:11 ` [PATCH v9 0/5] Enable rk356x PCIe controller Peter Geis
2022-05-10 21:15   ` Heiko Stübner
2022-05-11 15:15 ` (subset) " Lorenzo Pieralisi
2022-05-15 19:47 ` Heiko Stuebner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).