[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220423152403.1681222-1-pgwipeout@gmail.com>
Date: Sat, 23 Apr 2022 11:23:58 -0400
From: Peter Geis <pgwipeout@...il.com>
To: unlisted-recipients:; (no To-header on input)
Cc: linux-rockchip@...ts.infradead.org, heiko@...ech.de,
Peter Geis <pgwipeout@...il.com>,
Marc Zyngier <maz@...nel.org>, linux-pci@...r.kernel.org,
devicetree@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-kernel@...r.kernel.org
Subject: [PATCH v8 0/5] Enable rk356x PCIe controller
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:
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
Changelog:
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: dwc: rockchip: reset core at driver probe
PCI: dwc: rockchip: 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 | 114 +++++++++++++++---
4 files changed, 185 insertions(+), 27 deletions(-)
--
2.25.1
Powered by blists - more mailing lists