From patchwork Tue Apr 21 16:50:50 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sylwester Nawrocki X-Patchwork-Id: 1274439 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=samsung.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=samsung.com header.i=@samsung.com header.a=rsa-sha256 header.s=mail20170921 header.b=rh0OXhPM; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4969pF6327z9sSJ for ; Wed, 22 Apr 2020 03:40:53 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 7E37E81BED; Tue, 21 Apr 2020 19:40:31 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=samsung.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=samsung.com header.i=@samsung.com header.b="rh0OXhPM"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 2D676804CD; Tue, 21 Apr 2020 18:51:17 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.2 Received: from mailout2.w1.samsung.com (mailout2.w1.samsung.com [210.118.77.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 208FB804CD for ; Tue, 21 Apr 2020 18:51:11 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=samsung.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=s.nawrocki@samsung.com Received: from eucas1p1.samsung.com (unknown [182.198.249.206]) by mailout2.w1.samsung.com (KnoxPortal) with ESMTP id 20200421165109euoutp0220a4de51712229e4ee716d2423713f72~H486BTEIG2231522315euoutp02R for ; Tue, 21 Apr 2020 16:51:09 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com 20200421165109euoutp0220a4de51712229e4ee716d2423713f72~H486BTEIG2231522315euoutp02R DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1587487869; bh=ncuU92pwqbgXkzuDCRhxd9dDMgXKhTLeFTmbORZrmBA=; h=From:To:Cc:Subject:Date:References:From; b=rh0OXhPMM65hzKugsZ/MptdQ53TOpe3VqXSXSG/b195jKWyWIxp6+EyTPdido9UiI iA234lkXcgmoiv1HYaSV5ELMKvPn/CCV795LImr4OY0MWByQdACe8JOIe3+qlq7qjM NPNu4+RvQ8gGJRzzJo/orxNGvTxeJVSdHfVcjWUQ= Received: from eusmges2new.samsung.com (unknown [203.254.199.244]) by eucas1p1.samsung.com (KnoxPortal) with ESMTP id 20200421165108eucas1p17ea45de3cbf7cbf2b2dce19b32e23641~H485T_GXq1420814208eucas1p1n; Tue, 21 Apr 2020 16:51:08 +0000 (GMT) Received: from eucas1p1.samsung.com ( [182.198.249.206]) by eusmges2new.samsung.com (EUCPMTA) with SMTP id 04.64.60679.C742F9E5; Tue, 21 Apr 2020 17:51:08 +0100 (BST) Received: from eusmtrp2.samsung.com (unknown [182.198.249.139]) by eucas1p1.samsung.com (KnoxPortal) with ESMTPA id 20200421165108eucas1p190b455fc38d44c3f768630c8e194cd9a~H4848lpc_1762717627eucas1p1L; Tue, 21 Apr 2020 16:51:08 +0000 (GMT) Received: from eusmgms1.samsung.com (unknown [182.198.249.179]) by eusmtrp2.samsung.com (KnoxPortal) with ESMTP id 20200421165108eusmtrp2f0ba61901c124a16ba05d89077f3e030~H4847994G3266732667eusmtrp2_; Tue, 21 Apr 2020 16:51:08 +0000 (GMT) X-AuditID: cbfec7f4-0e5ff7000001ed07-f9-5e9f247c8139 Received: from eusmtip1.samsung.com ( [203.254.199.221]) by eusmgms1.samsung.com (EUCPMTA) with SMTP id 76.0E.08375.C742F9E5; Tue, 21 Apr 2020 17:51:08 +0100 (BST) Received: from AMDC3061.digital.local (unknown [106.120.51.75]) by eusmtip1.samsung.com (KnoxPortal) with ESMTPA id 20200421165107eusmtip1d1622d9e90d2eebe0e0a7c5682fac226~H484YbjBu0895408954eusmtip1B; Tue, 21 Apr 2020 16:51:07 +0000 (GMT) From: Sylwester Nawrocki To: u-boot@lists.denx.de, mbrugger@suse.com, marex@denx.de, bmeng.cn@gmail.com Cc: agraf@suse.de, sjg@chrmium.org, jh80.chung@samsung.com, m.szyprowski@samsung.com, b.zolnierkie@samsung.com, Sylwester Nawrocki Subject: [RFC PATCH 0/9] USB host support for Raspberry Pi 4 board Date: Tue, 21 Apr 2020 18:50:50 +0200 Message-Id: <20200421165059.19394-1-s.nawrocki@samsung.com> X-Mailer: git-send-email 2.17.1 X-Brightmail-Tracker: H4sIAAAAAAAAA0WSXUhTYRzGeXfO2TmOJqdN8NWkYthFRpoZdUqJioJdmhcFE2crD1Papu74 tezCMNfyY5iaisJmXmT5wdSpTCtI080mznRqoxT7sA/NQagIuuXadozunv/z/B7+7x9eAhGU YZFEliqPVqtkChGXhw5Ytx3H70YbpSd6xylqfHYXUD2NJox6XJlOuXa0GNU1uohTa9p7gGqp XcaoN2sPMEo35wOU+9VD/AJPvGQvwcSGpnFUPNi0iIsnFyxArO9rB2JT3xwqNk8UJ+MSXlIG rcgqoNVx52/wMl9OL3JzusKKvhmnsRLgDC0HIQQkT8GpJ83ccsAjBOQzAHWeQW4gEJCbAFa0 QlZvADirF5YDIliYdypYvg3Ad5ZJhB38/MruUzRQ4JLxsGpMDwI6jEyG89v1IAAhpBFA73p9 MBCSl+Co7gse0Ch5BK5at5CA5pOJcKGqH2Ofdwh2dL8OboCkhwu9W2M4G1yG3zvf7kFCuGrr 2/OjoG/QyGELpQBWvviIs0M1gEu2FsBS/hWOHW7gIIQ8Ck1Dcax9EX5YN+LsnaHQ5d4fsBG/ rBloQFibD3VaAUtHQ097A4fVkbBi2YeyWgzNzudBXECmQbtbVA0ONv1f1QJAOwin8xmlnGZO qujCWEamZPJV8thb2cpe4P8cE7u2TQsY8t4cASQBRPv4rimDVIDJChiNcgRAAhGF8bs/+y1+ hkxzh1Znp6vzFTQzAg4QqCicn9C6kiYg5bI8+jZN59DqfymHCIksAdLGCc81q/VRh3R/o+ZT f43k6+lVnzkx4XfdTE+Mpbjj15mUq4YrUbnRsWVtRRHD2vvVh4uGU2YkfGGBJ1ljOsYk5drP guuGP3FeRK8gzkmc3XN21Q+FurDWVmNJdTcPW0PqUM7PJWtpRPx7R2qU2ZHR2eXKlVDysgbh +oYIZTJl8TGImpH9BdsSBpsYAwAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrDLMWRmVeSWpSXmKPExsVy+t/xu7o1KvPjDJb9krc4ceUfo8XGGetZ Lab2xFvc+NXGarH2yF12izdtjYwWCyY/YbU4/Kad1aLj6n9Gi7d7O9kduDzun2pg9Zg36wSL x85Zd9k9zt7ZwejRt2UVo8f6LVdZPDafrg5gj9KzKcovLUlVyMgvLrFVija0MNIztLTQMzKx 1DM0No+1MjJV0rezSUnNySxLLdK3S9DL2HPxLlvBWpGKp/MvsjYwXubrYuTgkBAwkbh2OaeL kYtDSGApo8TsJ2+YIeJSEvNblLoYOYFMYYk/17rYIGo+MUosOT6bCSTBJmAo0Xu0jxHEFhEI kXhx9AoTSBEzyKA/DW9YQRLCAk4SRzoesYPYLAKqEq+OfWMGsXkFrCXu9G5lhdggL7F6wwHm CYw8CxgZVjGKpJYW56bnFhvqFSfmFpfmpesl5+duYgSG7LZjPzfvYLy0MfgQowAHoxIP743z 8+KEWBPLiitzDzFKcDArifBueAgU4k1JrKxKLcqPLyrNSS0+xGgKtHwis5Rocj4wnvJK4g1N Dc0tLA3Njc2NzSyUxHk7BA7GCAmkJ5akZqemFqQWwfQxcXBKNTCylhw9N7U8wdlASbvgu28Y j7ndwzxhiSMro7UjbafEqoWVszkufi00d4PHr6fKLiZZ/fwSHno/w3/83rJ+jq5qarFA6+dZ 6dH/Lymxzgz5euZjt5+f0TVehYduLU96ju/TOnX7zTmz93e4pP/3vu85ZX/t40RWk5yjDjFL JwnZMQdpmJwsfarEUpyRaKjFXFScCAAgO/DEbwIAAA== X-CMS-MailID: 20200421165108eucas1p190b455fc38d44c3f768630c8e194cd9a X-Msg-Generator: CA X-RootMTR: 20200421165108eucas1p190b455fc38d44c3f768630c8e194cd9a X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20200421165108eucas1p190b455fc38d44c3f768630c8e194cd9a References: X-Mailman-Approved-At: Tue, 21 Apr 2020 19:40:20 +0200 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.30rc1 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.102.2 at phobos.denx.de X-Virus-Status: Clean Hi all, This patch series adds USB host support for Raspberry Pi 4 board. It includes the Broadcom STB PCIe driver ported from Linux kernel, a memory mapping update for the xHCI controller behind the PCIe bridge for 32-bit and 64-bit system builds and some related fixes and updates in the usb/xhci and the pci driver core code. One of the issues I run into with RPI4 was not working accesses to 64-bit xHCI IO registers with readq/writeq. I am not entirely sure if that limitation comes from the VL805 USB host controller or from the BCM2711 PCI Express Root Complex, or if it's a matter of some missing configuration steps for one of these devices. In Linux kernel quad word accesses for 64-bit xHCI registers are never used, the best I could come up with so far is a Kconfig option which allows to disable readq/writeq for selected target. Any suggestions on how to better solve this are appreciated. This patch series is based on v2020.04 tag. Regards, Sylwester Marek Szyprowski (4): rpi4: shorten a mapping for the DRAM rpi4: add a mapping for the PCIe XHCI controller MMIO registers (ARM 64bit) rpi4: add a mapping for the PCIe XHCI controller MMIO registers (ARM 32bit) config: Enable support for the XHCI controller on RPI4 board Sylwester Nawrocki (5): usb: xhci: Add missing cache flush in the scratchpad array initialization pci: Move some PCIe register offset definitions to a common header usb: xhci: Allow accessing 64-bit registers with DWORD accesses only pci: Add some PCI Express capability register offset definitions pci: Add driver for Broadcom STB PCIe controller arch/arm/mach-bcm283x/Kconfig | 1 + arch/arm/mach-bcm283x/include/mach/base.h | 7 + arch/arm/mach-bcm283x/init.c | 72 ++- configs/rpi_4_32b_defconfig | 9 + configs/rpi_4_defconfig | 10 + configs/rpi_arm64_defconfig | 9 +- drivers/pci/Kconfig | 5 + drivers/pci/Makefile | 1 + drivers/pci/pci-rcar-gen3.c | 8 - drivers/pci/pcie_brcmstb.c | 844 ++++++++++++++++++++++++++++++ drivers/pci/pcie_intel_fpga.c | 3 - drivers/usb/host/Kconfig | 7 + drivers/usb/host/xhci-mem.c | 3 + include/pci.h | 20 + include/usb/xhci.h | 4 +- 15 files changed, 985 insertions(+), 18 deletions(-) create mode 100644 drivers/pci/pcie_brcmstb.c