[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200608192701.18355-1-nsaenzjulienne@suse.de>
Date: Mon, 8 Jun 2020 21:26:52 +0200
From: Nicolas Saenz Julienne <nsaenzjulienne@...e.de>
To: f.fainelli@...il.com, gregkh@...uxfoundation.org, wahrenst@....net,
robh@...nel.org, mathias.nyman@...ux.intel.com,
Eric Anholt <eric@...olt.net>,
bcm-kernel-feedback-list@...adcom.com,
linux-rpi-kernel@...ts.infradead.org,
linux-arm-kernel@...ts.infradead.org, devicetree@...r.kernel.org,
linux-pci@...r.kernel.org, linux-usb@...r.kernel.org
Cc: linux-kernel@...r.kernel.org, tim.gover@...pberrypi.org,
helgaas@...nel.org, lorenzo.pieralisi@....com,
Nicolas Saenz Julienne <nsaenzjulienne@...e.de>
Subject: [PATCH 0/9] Raspberry Pi 4 USB firmware initialization rework
On the Raspberry Pi 4, after a PCI reset, VL805's firmware may either be
loaded directly from an EEPROM or, if not present, by the SoC's
co-processor, VideoCore. This series reworks how we handle this.
The previous solution makes use of PCI quirks and exporting platform
specific functions. Albeit functional it feels pretty shoehorned. This
proposes an alternative way of handling the triggering of the xHCI chip
initialization trough means of a reset controller.
The benefits are pretty evident: less platform churn in core xHCI code,
and no explicit device dependency management in pcie-brcmstb.
Note that patch #1 depend on another series[1].
The series is based on next-20200605.
[1] https://lwn.net/ml/linux-kernel/cover.662a8d401787ef33780d91252a352de91dc4be10.1590594293.git-series.maxime@cerno.tech/
---
Nicolas Saenz Julienne (9):
dt-bindings: reset: Add a binding for the RPi Firmware USB reset
reset: Add Raspberry Pi 4 firmware USB reset controller
ARM: dts: bcm2711: Add firmware usb reset node
ARM: dts: bcm2711: Add reset controller to xHCI node
usb: xhci-pci: Add support for reset controllers
Revert "USB: pci-quirks: Add Raspberry Pi 4 quirk"
usb: host: pci-quirks: Bypass xHCI quirks for Raspberry Pi 4
Revert "firmware: raspberrypi: Introduce vl805 init routine"
Revert "PCI: brcmstb: Wait for Raspberry Pi's firmware when present"
.../arm/bcm/raspberrypi,bcm2835-firmware.yaml | 21 +++
arch/arm/boot/dts/bcm2711-rpi-4-b.dts | 12 ++
drivers/firmware/Kconfig | 3 +-
drivers/firmware/raspberrypi.c | 61 ---------
drivers/pci/controller/pcie-brcmstb.c | 17 ---
drivers/reset/Kconfig | 9 ++
drivers/reset/Makefile | 1 +
drivers/reset/reset-raspberrypi-usb.c | 122 ++++++++++++++++++
drivers/usb/host/pci-quirks.c | 22 ++--
drivers/usb/host/xhci-pci.c | 9 ++
include/soc/bcm2835/raspberrypi-firmware.h | 7 -
11 files changed, 184 insertions(+), 100 deletions(-)
create mode 100644 drivers/reset/reset-raspberrypi-usb.c
--
2.26.2
Powered by blists - more mailing lists