From patchwork Tue Jun 2 12:04:22 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marek Szyprowski X-Patchwork-Id: 1302383 X-Patchwork-Delegate: trini@ti.com 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=bnS+fOUt; 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) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 49brQm3Z8lz9sSW for ; Tue, 2 Jun 2020 22:08:00 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 436EC812EC; Tue, 2 Jun 2020 14:07:21 +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="bnS+fOUt"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id A6EBD813C5; Tue, 2 Jun 2020 14:07:15 +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 mailout1.w1.samsung.com (mailout1.w1.samsung.com [210.118.77.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 4A0C4812EC for ; Tue, 2 Jun 2020 14:07:09 +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=m.szyprowski@samsung.com Received: from eucas1p2.samsung.com (unknown [182.198.249.207]) by mailout1.w1.samsung.com (KnoxPortal) with ESMTP id 20200602120708euoutp0154fa1f3c2c21a9e1e27fbf1924dbcefe~UuK6iMI6w1497614976euoutp01G for ; Tue, 2 Jun 2020 12:07:08 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.w1.samsung.com 20200602120708euoutp0154fa1f3c2c21a9e1e27fbf1924dbcefe~UuK6iMI6w1497614976euoutp01G DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1591099628; bh=xPPCTWUmI1NUBBz48E30lMt8yjyLdCCTCF0UXCAttP8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=bnS+fOUtrVP+CMRAC+FIPOG6kwZZXnKmFqm1NvNXFaHeNe4On9eqmZj4Ddh+mH1LN 1afyrCZDqt8S9i6N3LgnL5E8mNr4xf3TwHbwwdwe80EGQNxqwt59DTXVxcF/DWsed9 gRy7O0rydN90SzAeKot1OAU7DU5llkVU8CrXtYe8= Received: from eusmges1new.samsung.com (unknown [203.254.199.242]) by eucas1p1.samsung.com (KnoxPortal) with ESMTP id 20200602120708eucas1p15a1a56824b6c80af1a578068d053fea6~UuK6EjkB52585125851eucas1p1p; Tue, 2 Jun 2020 12:07:08 +0000 (GMT) Received: from eucas1p2.samsung.com ( [182.198.249.207]) by eusmges1new.samsung.com (EUCPMTA) with SMTP id 3D.BB.61286.BE046DE5; Tue, 2 Jun 2020 13:07:07 +0100 (BST) Received: from eusmtrp2.samsung.com (unknown [182.198.249.139]) by eucas1p1.samsung.com (KnoxPortal) with ESMTPA id 20200602120707eucas1p1a4472732abbbf0ae089daa39ed050c3c~UuK5ru-3X2585225852eucas1p1v; Tue, 2 Jun 2020 12:07:07 +0000 (GMT) Received: from eusmgms1.samsung.com (unknown [182.198.249.179]) by eusmtrp2.samsung.com (KnoxPortal) with ESMTP id 20200602120707eusmtrp29aa4f672a313039198c1fe26d7e63276~UuK5rF6780339203392eusmtrp2E; Tue, 2 Jun 2020 12:07:07 +0000 (GMT) X-AuditID: cbfec7f2-340389c00001ef66-f7-5ed640eb76d0 Received: from eusmtip1.samsung.com ( [203.254.199.221]) by eusmgms1.samsung.com (EUCPMTA) with SMTP id E8.AC.08375.BE046DE5; Tue, 2 Jun 2020 13:07:07 +0100 (BST) Received: from AMDC2765.digital.local (unknown [106.120.51.73]) by eusmtip1.samsung.com (KnoxPortal) with ESMTPA id 20200602120707eusmtip186b75f00985846244d48988a23a8104b~UuK5JKrH11269912699eusmtip1C; Tue, 2 Jun 2020 12:07:07 +0000 (GMT) From: Marek Szyprowski To: u-boot@lists.denx.de Cc: Marek Szyprowski , Matthias Brugger , Tom Rini , Sylwester Nawrocki , Wolfgang Denk , Marek Vasut , Bin Meng , Nicolas Saenz Julienne , Simon Glass , Jaehoon Chung , Bartlomiej Zolnierkiewicz Subject: [PATCH v4 4/5] rpi4: add a mapping for the PCIe XHCI controller MMIO registers (ARM 32bit) Date: Tue, 2 Jun 2020 14:04:22 +0200 Message-Id: <20200602120423.6285-5-m.szyprowski@samsung.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200602120423.6285-1-m.szyprowski@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA0WSe0hTURzHOd57d69zi9MmebBMGyU9fWVwoSk+Iq8EkQj+EaSuvKjkVDa1 zP7YXMxaUj4Qxwq1RSi+5mPMBxXTNDPfmg/KFUIRTe2PnIZLMufV/O/zO+fz/X3hcChM9Izw ptIzc1hFpixDwuPjlrfrY2cWI2YSgzrapXSr3kTQFcVJ9JxTS9BNfTaSXtKqAV1T/pWgLYZa Hv1mqYig18wWQFeUtZP08qsHJF2+YAcRAuaJagJnqgzvcKbLYCMZu7WeZEbmOwHzyFwPGJN5 GmfahwquUFf50hQ2Iz2PVQSGJ/PT9PdKiGy15+35tmlcBZxQB9wpBEPRyw0joQN8SgTrADKX qwE3OABqGK3juSwRXAFo5dul3USjXrMj1QI0OftwL9FicLi5LB4MRrpl3XbaEyLkfDy9LWHQ jCFD1U9MByhKDFnUv+rncnB4DC0aO7azQihFDcMbONfmixparNu6OwxDM8MFrjUINpNo7M9v HudcQK2fF3dYjOwDZpLjQ2izq9qNC2gAWhhtIrmhGKCpQj3grPNoftTJczVg8AQydQe6EMFI pB2P5nAfmlve75KxLSyzVGLcsRDd14q4Hf7IMND8v7VnfBLjmEHvrZ943POUADTYY8NLgK9h r6sGgHrgxeYq5amsMjiTvRWglMmVuZmpATey5G1g6+MM/R341QlWJ6/3AkgBiUAYFDyTKCJk ecp8eS9AFCbxFEaNDCWKhCmy/DusIitJkZvBKnvBQQqXeAnPGn9cE8FUWQ57k2WzWcXurRvl 7q0Cz1Onwl77DXh0LK6H+EQlD5Za+/pt7mLji4sxmtWj0kpRCJUU33BKI/7DP3wktGAYnxXb i87BAuHp2o8jsYM6bePT7gMJCdHRpkYfn7UqR9xg/N2UQsvlOHV354LH1KYj1n9SI189TpTm CQKqez7A/O+OGFV6+JdWgThyop2R4Mo0WfBJTKGU/QO/MSH1NAMAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmphkeLIzCtJLcpLzFFi42I5/e/4Xd3XDtfiDK6sVLXYOGM9q8XUnniL G7/aWC3WHrnLbvGmrZHRYsHkJ6wW22YtZ7M4/Kad1eLblm2MFlMnbWa3eLu3k91i8sNXjA48 HrMbLrJ4zJt1gsVj56y77B6vDqxi9zh7ZwejR9+WVYwe67dcZfHYfLo6gCNKz6Yov7QkVSEj v7jEVina0MJIz9DSQs/IxFLP0Ng81srIVEnfziYlNSezLLVI3y5BL2NGywTWgkaRijubrrI0 MP4S6GLk5JAQMJFYM6OZsYuRi0NIYCmjxPWPv5kgEjISJ6c1sELYwhJ/rnWxQRR9YpTYNO8A M0iCTcBQoustSIKTQ0RAQuJX/1WwScwCe5glnr6+BDZJWCBZ4tb1DYwgNouAqsTrRdvB4rwC NhKrz/xhgdggL7F6A8hQDg5OAVuJa2eqQcJCQCUb7jczT2DkW8DIsIpRJLW0ODc9t9hQrzgx t7g0L10vOT93EyMwBrYd+7l5B+OljcGHGAU4GJV4eA0Mr8UJsSaWFVfmHmKU4GBWEuF1Ons6 Tog3JbGyKrUoP76oNCe1+BCjKdBNE5mlRJPzgfGZVxJvaGpobmFpaG5sbmxmoSTO2yFwMEZI ID2xJDU7NbUgtQimj4mDU6qBUfLernnGefP6D2p5yi7wMV3yOeGu1kp2tvkO88/JHgqeOMc/ 5Xilcc631i0Lpk74tW/jqWWHL7830LXf22p2bsllt9UnuDtzauvCHqvZh6ufa746yX1D5mwm 1oAZP+u0D95Z+2GnpmfS5GtzZ20oqr88RXVhPxvLG0W9dztZJ1vfeaq5MJTpv4oSS3FGoqEW c1FxIgCe5VyylwIAAA== X-CMS-MailID: 20200602120707eucas1p1a4472732abbbf0ae089daa39ed050c3c X-Msg-Generator: CA X-RootMTR: 20200602120707eucas1p1a4472732abbbf0ae089daa39ed050c3c X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20200602120707eucas1p1a4472732abbbf0ae089daa39ed050c3c References: <20200602120423.6285-1-m.szyprowski@samsung.com> 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 Create a non-cacheable mapping for the 0x600000000 physical memory region, where MMIO registers for the PCIe XHCI controller are instantiated by the PCIe bridge. Due to 32bit limit in the CPU virtual address space in ARM 32bit mode, this region is mapped at 0xff800000 CPU virtual address. Signed-off-by: Marek Szyprowski Change-Id: I032641c782e915fa1f999a1e208dd915a22515f7 --- arch/arm/mach-bcm283x/Kconfig | 1 + arch/arm/mach-bcm283x/include/mach/base.h | 8 ++++++++ arch/arm/mach-bcm283x/init.c | 21 +++++++++++++++++++++ 3 files changed, 30 insertions(+) diff --git a/arch/arm/mach-bcm283x/Kconfig b/arch/arm/mach-bcm283x/Kconfig index e6eb904e7f9..b3287ce8bce 100644 --- a/arch/arm/mach-bcm283x/Kconfig +++ b/arch/arm/mach-bcm283x/Kconfig @@ -36,6 +36,7 @@ config BCM2711_32B select BCM2711 select ARMV7_LPAE select CPU_V7A + select PHYS_64BIT config BCM2711_64B bool "Broadcom BCM2711 SoC 64-bit support" diff --git a/arch/arm/mach-bcm283x/include/mach/base.h b/arch/arm/mach-bcm283x/include/mach/base.h index c4ae39852f1..4ccaf69693d 100644 --- a/arch/arm/mach-bcm283x/include/mach/base.h +++ b/arch/arm/mach-bcm283x/include/mach/base.h @@ -8,4 +8,12 @@ extern unsigned long rpi_bcm283x_base; +#ifdef CONFIG_ARMV7_LPAE +#ifdef CONFIG_TARGET_RPI_4_32B +#include +#define phys_to_virt addrmap_phys_to_virt +#define virt_to_phys addrmap_virt_to_phys +#endif +#endif + #endif diff --git a/arch/arm/mach-bcm283x/init.c b/arch/arm/mach-bcm283x/init.c index cf4c5b245d2..f2a54116237 100644 --- a/arch/arm/mach-bcm283x/init.c +++ b/arch/arm/mach-bcm283x/init.c @@ -146,6 +146,27 @@ int mach_cpu_init(void) } #ifdef CONFIG_ARMV7_LPAE +#ifdef CONFIG_TARGET_RPI_4_32B +#define BCM2711_RPI4_PCIE_XHCI_MMIO_VIRT 0xff800000UL +#include +#include + +void init_addr_map(void) +{ + mmu_set_region_dcache_behaviour_phys(BCM2711_RPI4_PCIE_XHCI_MMIO_VIRT, + BCM2711_RPI4_PCIE_XHCI_MMIO_PHYS, + BCM2711_RPI4_PCIE_XHCI_MMIO_SIZE, + DCACHE_OFF); + + /* identity mapping for 0..BCM2711_RPI4_PCIE_XHCI_MMIO_VIRT */ + addrmap_set_entry(0, 0, BCM2711_RPI4_PCIE_XHCI_MMIO_VIRT, 0); + /* XHCI MMIO on PCIe at BCM2711_RPI4_PCIE_XHCI_MMIO_VIRT */ + addrmap_set_entry(BCM2711_RPI4_PCIE_XHCI_MMIO_VIRT, + BCM2711_RPI4_PCIE_XHCI_MMIO_PHYS, + BCM2711_RPI4_PCIE_XHCI_MMIO_SIZE, 1); +} +#endif + void enable_caches(void) { dcache_enable();