Re: [PATCH v5 0/9] Raspberry Pi 4 USB firmware initialization rework

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi everyone.

On Mon, 2020-06-29 at 18:18 +0200, Nicolas Saenz Julienne wrote:
> 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 depends on another series[1], that was just applied
> into the clk maintainer's tree.
> 
> The series is based on v5.8-rc3
> 
> v3: https://www.spinics.net/lists/arm-kernel/msg813612.html
> v2: https://lkml.org/lkml/2020/6/9/875
> v1: https://lore.kernel.org/linux-usb/20200608192701.18355-1-nsaenzjulienne@xxxxxxx/T/#t
> 
> [1] https://lore.kernel.org/linux-clk/159304773261.62212.983376627029743900@xxxxxxxxxxxxxxxxxxxxxxxxxx/T/#t
> 
> ---

We were waiting on a dependency to be merged upstream to get this. They are now
in, so could we move things forward?

I can take the device tree patches, I guess philipp can take the reset
controller code. But I'm not so sure who should be taking the PCI/USB
counterparts.

Regards,
Nicolas

> 
> Changes since v4:
>  - Adress Andy's comments
> 
> Changes since v3:
>  - Rework dt patch to include root bridge as a separate node
>  - Update xhci-pci patch now that the xhci dev has a dt node (it was
>    getting it in the past from its bus)
> 
> Changes since v2:
>  - Add reset to resume routine in xhci-pci
>  - Correct of refcount in pci-quirks
>  - Correct typos
>  - Use include file to define firmware reset IDs
> 
> 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         |  22 ++++
>  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             | 122 ++++++++++++++++++
>  drivers/usb/host/pci-quirks.c                 |  22 ++--
>  drivers/usb/host/xhci-pci.c                   |  10 ++
>  drivers/usb/host/xhci.h                       |   2 +
>  .../reset/raspberrypi,firmware-reset.h        |  13 ++
>  include/soc/bcm2835/raspberrypi-firmware.h    |   7 -
>  13 files changed, 215 insertions(+), 97 deletions(-)
>  create mode 100644 drivers/reset/reset-raspberrypi.c
>  create mode 100644 include/dt-bindings/reset/raspberrypi,firmware-reset.h
> 




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux