From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> To: f.fainelli@gmail.com, gregkh@linuxfoundation.org, robh@kernel.org, wahrenst@gmx.net, p.zabel@pengutronix.de, andy.shevchenko@gmail.com Cc: linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, linux-rpi-kernel@lists.infradead.org, linux-arm-kernel@lists.infradead.org, bcm-kernel-feedback-list@broadcom.com, tim.gover@raspberrypi.org, linux-pci@vger.kernel.org, helgaas@kernel.org, mathias.nyman@linux.intel.com, lorenzo.pieralisi@arm.com, Nicolas Saenz Julienne <nsaenzjulienne@suse.de> Subject: [PATCH v5 0/9] Raspberry Pi 4 USB firmware initialization rework Date: Mon, 29 Jun 2020 18:18:36 +0200 [thread overview] Message-ID: <20200629161845.6021-1-nsaenzjulienne@suse.de> (raw) 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@suse.de/T/#t [1] https://lore.kernel.org/linux-clk/159304773261.62212.983376627029743900@swboyd.mtv.corp.google.com/T/#t --- 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 -- 2.27.0
WARNING: multiple messages have this Message-ID (diff)
From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> To: f.fainelli@gmail.com, gregkh@linuxfoundation.org, robh@kernel.org, wahrenst@gmx.net, p.zabel@pengutronix.de, andy.shevchenko@gmail.com Cc: tim.gover@raspberrypi.org, mathias.nyman@linux.intel.com, linux-pci@vger.kernel.org, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, Nicolas Saenz Julienne <nsaenzjulienne@suse.de>, lorenzo.pieralisi@arm.com, bcm-kernel-feedback-list@broadcom.com, linux-rpi-kernel@lists.infradead.org, helgaas@kernel.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH v5 0/9] Raspberry Pi 4 USB firmware initialization rework Date: Mon, 29 Jun 2020 18:18:36 +0200 [thread overview] Message-ID: <20200629161845.6021-1-nsaenzjulienne@suse.de> (raw) 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@suse.de/T/#t [1] https://lore.kernel.org/linux-clk/159304773261.62212.983376627029743900@swboyd.mtv.corp.google.com/T/#t --- 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 -- 2.27.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next reply other threads:[~2020-06-29 19:32 UTC|newest] Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-06-29 16:18 Nicolas Saenz Julienne [this message] 2020-06-29 16:18 ` [PATCH v5 0/9] Raspberry Pi 4 USB firmware initialization rework Nicolas Saenz Julienne 2020-06-29 16:18 ` [PATCH v5 1/9] dt-bindings: reset: Add a binding for the RPi Firmware reset controller Nicolas Saenz Julienne 2020-06-29 16:18 ` Nicolas Saenz Julienne 2020-06-29 16:18 ` [PATCH v5 2/9] reset: Add Raspberry Pi 4 firmware " Nicolas Saenz Julienne 2020-06-29 16:18 ` Nicolas Saenz Julienne 2020-06-29 16:18 ` [PATCH v5 3/9] ARM: dts: bcm2711: Add firmware usb reset node Nicolas Saenz Julienne 2020-06-29 16:18 ` Nicolas Saenz Julienne 2020-06-29 16:18 ` [PATCH v5 4/9] ARM: dts: bcm2711: Add reset controller to xHCI node Nicolas Saenz Julienne 2020-06-29 16:18 ` Nicolas Saenz Julienne 2020-06-29 16:26 ` Florian Fainelli 2020-06-29 16:26 ` Florian Fainelli 2020-06-29 16:18 ` [PATCH v5 5/9] usb: xhci-pci: Add support for reset controllers Nicolas Saenz Julienne 2020-06-29 16:18 ` Nicolas Saenz Julienne 2020-06-29 16:26 ` Florian Fainelli 2020-06-29 16:26 ` Florian Fainelli 2020-06-29 16:18 ` [PATCH v5 6/9] Revert "USB: pci-quirks: Add Raspberry Pi 4 quirk" Nicolas Saenz Julienne 2020-06-29 16:18 ` Nicolas Saenz Julienne 2020-06-29 16:18 ` [PATCH v5 7/9] usb: host: pci-quirks: Bypass xHCI quirks for Raspberry Pi 4 Nicolas Saenz Julienne 2020-06-29 16:18 ` Nicolas Saenz Julienne 2020-06-29 16:18 ` [PATCH v5 8/9] Revert "firmware: raspberrypi: Introduce vl805 init routine" Nicolas Saenz Julienne 2020-06-29 16:18 ` Nicolas Saenz Julienne 2020-06-29 16:18 ` [PATCH v5 9/9] Revert "PCI: brcmstb: Wait for Raspberry Pi's firmware when present" Nicolas Saenz Julienne 2020-06-29 16:18 ` Nicolas Saenz Julienne 2020-08-14 10:15 ` Lorenzo Pieralisi 2020-08-14 10:15 ` Lorenzo Pieralisi 2020-08-13 10:01 ` [PATCH v5 0/9] Raspberry Pi 4 USB firmware initialization rework Nicolas Saenz Julienne 2020-08-13 10:01 ` Nicolas Saenz Julienne 2020-08-13 19:17 ` Florian Fainelli 2020-08-13 19:17 ` Florian Fainelli 2020-08-14 6:11 ` Greg KH 2020-08-14 6:11 ` Greg KH 2020-08-14 10:04 ` Nicolas Saenz Julienne 2020-08-14 10:04 ` Nicolas Saenz Julienne 2020-08-18 11:03 ` Greg KH 2020-08-18 11:03 ` Greg KH
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20200629161845.6021-1-nsaenzjulienne@suse.de \ --to=nsaenzjulienne@suse.de \ --cc=andy.shevchenko@gmail.com \ --cc=bcm-kernel-feedback-list@broadcom.com \ --cc=f.fainelli@gmail.com \ --cc=gregkh@linuxfoundation.org \ --cc=helgaas@kernel.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-pci@vger.kernel.org \ --cc=linux-rpi-kernel@lists.infradead.org \ --cc=linux-usb@vger.kernel.org \ --cc=lorenzo.pieralisi@arm.com \ --cc=mathias.nyman@linux.intel.com \ --cc=p.zabel@pengutronix.de \ --cc=robh@kernel.org \ --cc=tim.gover@raspberrypi.org \ --cc=wahrenst@gmx.net \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.