Received: by 2002:a25:23cc:0:0:0:0:0 with SMTP id j195csp1502507ybj; Tue, 5 May 2020 23:03:37 -0700 (PDT) X-Google-Smtp-Source: APiQypIU4Z2TgwDoOan6lL07FWzuvcONHacLz/jVlQDF1q2Joz32w9dzC3dnQ/2lIQ0qVG3mrcbn X-Received: by 2002:a05:6402:1618:: with SMTP id f24mr5577328edv.330.1588745017682; Tue, 05 May 2020 23:03:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588745017; cv=none; d=google.com; s=arc-20160816; b=mRcicDR9PG2Z1L8+ZHNNUB+HqqzFDlyEwewpEmijkFWv6P1XECJ/lTmHLM4OSEnjPm 8fqNe0uwpZJIL8Vj8WgtrqdG4v1l40DoEMsxgPCeNzEElwgO6S+x1lsBTFp7v/M4ry+d 9q664rmfTpiroApyXZNbtBDidMdMzt9J70LJHH0BG3C9UITY7o2rm2MpskH03lMznwn8 MudvYTbOUvazhb4UtRCzQJAVAyungIKXVPII/8ug24B254AzEvlVXLp4D1hpuUBfP5A2 9x+zP+MUtnq5/3TquhWshOwPm+6HvIIL2mTGo/UIULX9ltDMWiTMDhzbt9OCHOXDIcIy /Zfw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=FLFqcz+gq144+S7UC2rQM5NEfz88dHxbuSXuS02Y51A=; b=ZyPvg3snp0mhrhIxlS68Uw9detHLGNzw58pS/9RYgnSfnS5pB6uPfcOO/RiGTU/rzp H/7gDhU4jjjpHEpNlz7otVkBoU4je9x9T+X9nXDDzNwqf3a9OHimTLbhx3PPf6J3MdJL W9Ma204mp3Vpp24WVjguIeA5Y4u+cU0XBwSDhLuGSFXv9ROUu3loJdlpCIhU9hfYXOq2 Xig9EDqz8coy6XhCN/+92F7L3gv8g0cJsDkoIhUZhEKET/GFHeaSyvbqXvUXfrbx0k1q xB64Uw9taKNJQ/GS1p+hZc5vBnH/NNVIfKyyLPU0BHgmSeeez02jvdPQsCyffBTLjEle eJAw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=QgaxcexZ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id c9si432152edt.576.2020.05.05.23.03.13; Tue, 05 May 2020 23:03:37 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=QgaxcexZ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727095AbgEFGAu (ORCPT + 99 others); Wed, 6 May 2020 02:00:50 -0400 Received: from mail.kernel.org ([198.145.29.99]:51634 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725771AbgEFGAu (ORCPT ); Wed, 6 May 2020 02:00:50 -0400 Received: from localhost.localdomain (unknown [122.181.213.114]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id C2212206E6; Wed, 6 May 2020 06:00:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1588744849; bh=UW8ZX3nCW0V/vYWcElzTqXesPegk9LEv9xZxzAfWIMs=; h=From:To:Cc:Subject:Date:From; b=QgaxcexZO3bKQibBypoqBW6r4EeJgCwPb7CAP4UFXzg0eRhOqasRrGzjnHnWNpwU6 Za3ueWxG7GFWc41YY/6HQDF91totUrypO7DvGm9UM9gCp1LwHWv6LjeaOixruMTjJl IUTxZ+h3b0THO+kHyVqAauYNyx54TrpaWl/3G/Hw= From: Vinod Koul To: Mathias Nyman , Greg Kroah-Hartman Cc: linux-arm-msm@vger.kernel.org, Bjorn Andersson , Vinod Koul , Yoshihiro Shimoda , Christian Lamparter , John Stultz , Alan Stern , =?UTF-8?q?Andreas=20B=C3=B6hler?= , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v13 0/5] usb: xhci: Add support for Renesas USB controllers Date: Wed, 6 May 2020 11:30:20 +0530 Message-Id: <20200506060025.1535960-1-vkoul@kernel.org> X-Mailer: git-send-email 2.25.4 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This series add support for Renesas USB controllers uPD720201 and uPD720202. These require firmware to be loaded and in case devices have ROM those can also be programmed if empty. If ROM is programmed, it runs from ROM as well. This includes patches from Christian which supported these controllers w/o ROM and later my patches for ROM support and debugfs hook for rom erase and export of xhci-pci functions. Changes in v13: - Make rensesas as independent module invoke by xhci-pci which can be selected by users of such hardware Changes in v12: - Restore back module name for xhci-pci, so now renesas is a separate module, export init/exit routines from renesas modules - Update changelog on patch2 Changes in v11: - update xhci->quirks and use that in remove function - remove error return renesas_verify_fw_version() - remove renesas_download_rom() and modify renesas_fw_download_image() for reuse Changes in v10: remove renesas_xhci_pci_probe and call renesas_xhci_check_request_fw and also cleanup exit code along with it. Changes in v9: Make fw load a sync call and have single instance of probe execute, elimating probe/remove races Add quirk for renesas and use that for loading Changes in v8: Fix compile error reported by Kbuild-bot by making usb_hcd_pci_probe() take const struct hc_driver * as argument Changes in v7: Make a single module which removes issues with module loading Keep the renesas code in renesas file Add hc_driver as argument for usb_hcd_pci_probe and modify hdc drivers to pass this and not use driver_data Use driver data for fw name Remove code to check if we need to load firmware or not remove multiple fw version support, we can do that with symlink in userspace Changes in v6: Move the renesas code into a separate driver which invokes xhci-pci functions. Changes in v5: Added a debugfs rom erase patch, helps in debugging Squashed patch 1 & 2 as requested by Mathias Changes in v4: Rollback the delay values as we got device failures Changes in v3: Dropped patch 2 as discussed with Christian Removed aligned 8 bytes check Change order for firmware search from highest version to lowest Added entry for new firmware for device 0x14 as well Add tested by Christian Changes in v2: used macros for timeout count and delay removed renesas_fw_alive_check cleaned renesas_fw_callback removed recurion for renesas_fw_download added MODULE_FIRMWARE added comment for multip Christian Lamparter (1): usb: renesas-xhci: Add the renesas xhci driver Vinod Koul (4): usb: hci: add hc_driver as argument for usb_hcd_pci_probe usb: xhci: Add support for Renesas controller with memory usb: renesas-xhci: Add ROM loader for uPD720201 usb: xhci: provide a debugfs hook for erasing rom drivers/usb/core/hcd-pci.c | 7 +- drivers/usb/host/Kconfig | 9 + drivers/usb/host/Makefile | 1 + drivers/usb/host/ehci-pci.c | 6 +- drivers/usb/host/ohci-pci.c | 9 +- drivers/usb/host/uhci-pci.c | 8 +- drivers/usb/host/xhci-pci-renesas.c | 678 ++++++++++++++++++++++++++++ drivers/usb/host/xhci-pci.c | 47 +- drivers/usb/host/xhci-pci.h | 28 ++ drivers/usb/host/xhci.h | 1 + include/linux/usb/hcd.h | 3 +- 11 files changed, 775 insertions(+), 22 deletions(-) create mode 100644 drivers/usb/host/xhci-pci-renesas.c create mode 100644 drivers/usb/host/xhci-pci.h -- 2.25.4