From patchwork Tue Mar 10 12:52:38 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nicolas Saenz Julienne X-Patchwork-Id: 11429245 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 2F738138D for ; Tue, 10 Mar 2020 12:53:16 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 0C35F20674 for ; Tue, 10 Mar 2020 12:53:16 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="Vn50T2+Z" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0C35F20674 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=suse.de Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:To :From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=No9jhAGVfvo153gCXiPyWaV5YMEGTS65ZcQseISdNuo=; b=Vn50T2+ZYQqYao l0BXXLk9IdN3bLQ94sXApPXwkMonStq3M5/jHEHmeyclLLbjntgZhg/z/P1TlN2FiL9gn75HmpuOs jOpyqCuUhj5B0MnjRvGLAZqGbHRT4xLLgF6gxHWu6PtHQQHwjedMsqZHOoIZ86Mo0eh1pzxWh6sBH VbHq1OjvCfPKyAwmk6CyHjq3VnWjUogYzpga2mgjN/ORFpLEGQC1RnSatOSyYuKYxrnpOIguCsicD yMdNDVGLYahgmockSuV+z3EellxyU1P0k0rxkWKLrj1iuos4glT3jdq0fa2MWAO5+HuZ2TBIb4/Ct KA3ROp9C1W+UK/eSXIrQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jBeNm-00049a-D2; Tue, 10 Mar 2020 12:53:14 +0000 Received: from mx2.suse.de ([195.135.220.15]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jBeNj-00048D-Gw; Tue, 10 Mar 2020 12:53:12 +0000 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 21C95AC67; Tue, 10 Mar 2020 12:53:10 +0000 (UTC) From: Nicolas Saenz Julienne To: linux-kernel@vger.kernel.org Subject: [PATCH v5 0/4] USB: pci-quirks: Add Raspberry Pi 4 quirk Date: Tue, 10 Mar 2020 13:52:38 +0100 Message-Id: <20200310125243.25805-1-nsaenzjulienne@suse.de> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200310_055311_706051_49FF4288 X-CRM114-Status: GOOD ( 11.42 ) X-Spam-Score: -2.3 (--) X-Spam-Report: SpamAssassin version 3.4.3 on bombadil.infradead.org summary: Content analysis details: (-2.3 points) pts rule name description ---- ---------------------- -------------------------------------------------- -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/, medium trust [195.135.220.15 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 SPF_PASS SPF: sender matches SPF record 0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3) [195.135.220.15 listed in wl.mailspike.net] 0.0 RCVD_IN_MSPIKE_WL Mailspike good senders X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: f.fainelli@gmail.com, sergei.shtylyov@cogentembedded.com, gregkh@linuxfoundation.org, linux-usb@vger.kernel.org, Nicolas Saenz Julienne , tim.gover@raspberrypi.org, bcm-kernel-feedback-list@broadcom.com, linux-rpi-kernel@lists.infradead.org, linux-pci@vger.kernel.org, Andrew Murray , linux-arm-kernel@lists.infradead.org, wahrenst@gmx.net Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org 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 VideCore. This series adds support for the later. Note that there are a set of constraints we have to consider (some of them I missed on v1): - We need to make sure the VideoCore firmware interface is up and running before running the VL805 firmware load call. - There is no way to discern RPi4's VL805 chip from other platforms', so we need the firmware load to happen *before* running quirk_usb_handoff_xhci(). Failure to do so results in an unwarranted 5 second wait while the fixup code polls xHC's unexisting state. --- Changes since v4: - Addressed Sergei's comments - Fix potential warning in patch #2 Changes since v3: - Addressed Greg's comments There was no v2, my bad. Changes since v1: - Addressed Floarians comments Nicolas Saenz Julienne (4): soc: bcm2835: Sync xHCI reset firmware property with downstream firmware: raspberrypi: Introduce vl805 init routine PCI: brcmstb: Wait for Raspberry Pi's firmware when present USB: pci-quirks: Add Raspberry Pi 4 quirk drivers/firmware/Kconfig | 1 + drivers/firmware/raspberrypi.c | 38 ++++++++++++++++++++++ drivers/pci/controller/pcie-brcmstb.c | 15 +++++++++ drivers/usb/host/pci-quirks.c | 16 +++++++++ include/soc/bcm2835/raspberrypi-firmware.h | 9 ++++- 5 files changed, 78 insertions(+), 1 deletion(-)