linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/9] Raspberry Pi 4 USB firmware initialization rework
@ 2020-06-09 17:49 Nicolas Saenz Julienne
  2020-06-09 17:49 ` [PATCH v2 1/9] dt-bindings: reset: Add a binding for the RPi Firmware reset controller Nicolas Saenz Julienne
                   ` (8 more replies)
  0 siblings, 9 replies; 23+ messages in thread
From: Nicolas Saenz Julienne @ 2020-06-09 17:49 UTC (permalink / raw)
  To: f.fainelli, gregkh, wahrenst, p.zabel, linux-kernel
  Cc: linux-usb, linux-rpi-kernel, linux-arm-kernel,
	bcm-kernel-feedback-list, tim.gover, linux-pci, helgaas,
	andy.shevchenko, mathias.nyman, lorenzo.pieralisi,
	Nicolas Saenz Julienne, Rob Herring, Eric Anholt, devicetree

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.

v1: https://lore.kernel.org/linux-usb/20200608192701.18355-1-nsaenzjulienne@suse.de/T/#t

[1] https://lwn.net/ml/linux-kernel/cover.662a8d401787ef33780d91252a352de91dc4be10.1590594293.git-series.maxime@cerno.tech/

---

Changes since v1:
 - Rework reset controller so it's less USB centric.
 - Use correct reset controller API in xhci-pci
 - Correct typos

Nicolas Saenz Julienne (9):
  dt-bindings: reset: Add a binding for the RPi Firmware reset
    controller
  reset: Add Raspberry Pi 4 firmware 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                         |  11 ++
 drivers/reset/Makefile                        |   1 +
 drivers/reset/reset-raspberrypi.c             | 126 ++++++++++++++++++
 drivers/usb/host/pci-quirks.c                 |  22 ++-
 drivers/usb/host/xhci-pci.c                   |   7 +
 include/soc/bcm2835/raspberrypi-firmware.h    |   7 -
 11 files changed, 188 insertions(+), 100 deletions(-)
 create mode 100644 drivers/reset/reset-raspberrypi.c

-- 
2.26.2


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

end of thread, other threads:[~2020-06-10 15:57 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-09 17:49 [PATCH v2 0/9] Raspberry Pi 4 USB firmware initialization rework Nicolas Saenz Julienne
2020-06-09 17:49 ` [PATCH v2 1/9] dt-bindings: reset: Add a binding for the RPi Firmware reset controller Nicolas Saenz Julienne
2020-06-09 18:07   ` Florian Fainelli
2020-06-10 15:37     ` Nicolas Saenz Julienne
2020-06-09 17:49 ` [PATCH v2 2/9] reset: Add Raspberry Pi 4 firmware " Nicolas Saenz Julienne
2020-06-09 18:14   ` Florian Fainelli
2020-06-10 15:37     ` Nicolas Saenz Julienne
2020-06-09 17:49 ` [PATCH v2 3/9] ARM: dts: bcm2711: Add firmware usb reset node Nicolas Saenz Julienne
2020-06-09 18:16   ` Florian Fainelli
2020-06-09 17:49 ` [PATCH v2 4/9] ARM: dts: bcm2711: Add reset controller to xHCI node Nicolas Saenz Julienne
2020-06-09 18:16   ` Florian Fainelli
2020-06-09 17:49 ` [PATCH v2 5/9] usb: xhci-pci: Add support for reset controllers Nicolas Saenz Julienne
2020-06-09 18:13   ` Florian Fainelli
2020-06-10 15:49     ` Nicolas Saenz Julienne
2020-06-09 17:49 ` [PATCH v2 6/9] Revert "USB: pci-quirks: Add Raspberry Pi 4 quirk" Nicolas Saenz Julienne
2020-06-09 18:14   ` Florian Fainelli
2020-06-09 17:50 ` [PATCH v2 7/9] usb: host: pci-quirks: Bypass xHCI quirks for Raspberry Pi 4 Nicolas Saenz Julienne
2020-06-09 18:43   ` Andy Shevchenko
2020-06-10 15:57     ` Nicolas Saenz Julienne
2020-06-09 17:50 ` [PATCH v2 8/9] Revert "firmware: raspberrypi: Introduce vl805 init routine" Nicolas Saenz Julienne
2020-06-09 18:15   ` Florian Fainelli
2020-06-09 17:50 ` [PATCH v2 9/9] Revert "PCI: brcmstb: Wait for Raspberry Pi's firmware when present" Nicolas Saenz Julienne
2020-06-09 18:15   ` Florian Fainelli

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).