From patchwork Tue May 12 13:17:46 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marek Szyprowski X-Patchwork-Id: 1288432 X-Patchwork-Delegate: matthias.bgg@gmail.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=hF9lU2CD; 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 49Lyzv3fxWz9sRR for ; Tue, 12 May 2020 23:18:35 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 97D7E81DA1; Tue, 12 May 2020 15:18:30 +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="hF9lU2CD"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 3800E81DA8; Tue, 12 May 2020 15:18:29 +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.2 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 236E881DA1 for ; Tue, 12 May 2020 15:18:22 +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 20200512131808euoutp0185cc412ad9b2825acddaf07464ef9fe2~OSl6ABlXN1466414664euoutp01Y for ; Tue, 12 May 2020 13:18:08 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.w1.samsung.com 20200512131808euoutp0185cc412ad9b2825acddaf07464ef9fe2~OSl6ABlXN1466414664euoutp01Y DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1589289488; bh=daCvR4rQHDa+xspa2ZJYUH1JortBoXrqc8oRYdrjojg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=hF9lU2CD6wUJiMFBv6Jeau01acSv2a1ILIpEIpQR1JkIbFods8vUMcNLK/pus2yo/ g3ogf3CU+/cr0TTkf449++NDGIrgdkmvJRspp7QTvvScrFDH5n9rY9YvD8I0S4zTo4 hSbY97cG8WhOLxVN9x+Mk531hte8hRbKA+qDlz8o= Received: from eusmges1new.samsung.com (unknown [203.254.199.242]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20200512131807eucas1p2bc4bd301fb4b50656499ca3e26a51415~OSl5wjxGt3210632106eucas1p2z; Tue, 12 May 2020 13:18:07 +0000 (GMT) Received: from eucas1p1.samsung.com ( [182.198.249.206]) by eusmges1new.samsung.com (EUCPMTA) with SMTP id 04.E0.61286.F02AABE5; Tue, 12 May 2020 14:18:07 +0100 (BST) Received: from eusmtrp1.samsung.com (unknown [182.198.249.138]) by eucas1p2.samsung.com (KnoxPortal) with ESMTPA id 20200512131807eucas1p23959715b10a4e7ab36b60fd9791dae87~OSl5b417A3210632106eucas1p2y; Tue, 12 May 2020 13:18:07 +0000 (GMT) Received: from eusmgms2.samsung.com (unknown [182.198.249.180]) by eusmtrp1.samsung.com (KnoxPortal) with ESMTP id 20200512131807eusmtrp15050f3c31537f896cd066e638283b021~OSl5bNOGx1114311143eusmtrp1h; Tue, 12 May 2020 13:18:07 +0000 (GMT) X-AuditID: cbfec7f2-f0bff7000001ef66-49-5ebaa20f9c73 Received: from eusmtip2.samsung.com ( [203.254.199.222]) by eusmgms2.samsung.com (EUCPMTA) with SMTP id 36.EA.07950.F02AABE5; Tue, 12 May 2020 14:18:07 +0100 (BST) Received: from AMDC2765.digital.local (unknown [106.120.51.73]) by eusmtip2.samsung.com (KnoxPortal) with ESMTPA id 20200512131806eusmtip27c7d9b3edf5ea47cc058d74b20cf41e5~OSl4yqyTA2848928489eusmtip2F; Tue, 12 May 2020 13:18:06 +0000 (GMT) From: Marek Szyprowski To: u-boot@lists.denx.de Cc: Marek Szyprowski , Matthias Brugger , Tom Rini , Sylwester Nawrocki , marex@denx.de, bmeng.cn@gmail.com, nsaenzjulienne@suse.de, sjg@chromium.org, jh80.chung@samsung.com, b.zolnierkie@samsung.com Subject: [RFC PATCH 2/2] rpi4: add a mapping for the PCIe XHCI controller MMIO registers (ARM 32bit) Date: Tue, 12 May 2020 15:17:46 +0200 Message-Id: <20200512131746.22797-3-m.szyprowski@samsung.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200512131746.22797-1-m.szyprowski@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprHKsWRmVeSWpSXmKPExsWy7djPc7r8i3bFGbRNsbLYOGM9q8XUnniL G7/aWC3WHrnLbvGmrZHRYsHkJ6wW22YtZ7M4/Kad1eLblm2MFlMnbWa3eLu3k92B22N2w0UW j3mzTrB47Jx1l93j1YFV7B5n7+xg9OjbsorRY/2Wqywem09XB3BEcdmkpOZklqUW6dslcGW8 XTaFsWC1SMWWPQ9ZGhi/CXQxcnJICJhInN19kg3EFhJYwSix4iF/FyMXkP2FUeL75/vMEInP jBLLOo1hGlZ23GWCKFrOKHH7xFYWuI6ju/eBjWITMJToetsFZosISEj86r/KCFLELLCCSeJz +2x2kISwQJrEquNvwIpYBFQljt5oZAKxeQVsJf5t/8YKsU5eYvWGA2BncArYSZw+eg1stYTA MnaJ7teboIpcJE7emMoCYQtLvDq+hR3ClpE4PbmHBaKhmVHi4bm17BBOD6PE5aYZjBBV1hJ3 zv0COoMD6D5NifW79CHCjhJTW6axgoQlBPgkbrwVBAkzA5mTtk1nhgjzSnS0CUFUq0nMOr4O bu3BC5eYIWwPifffDzNDQugwMISWTmGdwCg/C2HZAkbGVYziqaXFuempxYZ5qeV6xYm5xaV5 6XrJ+bmbGIGp5vS/4592MH69lHSIUYCDUYmHl6F2V5wQa2JZcWXuIUYJDmYlEd6WzJ1xQrwp iZVVqUX58UWlOanFhxilOViUxHmNF72MFRJITyxJzU5NLUgtgskycXBKNTDG75ebqXD7lqXC bhFN9laXt9yTk0zOOnnKm/rET1X+/mlX7NptCY4GdQebzqSdN1Tv2ra6VfNZpt51haLqmQLG e9fIlbacC1ouW6y6Sm39I97IvtodYbOvs+Zx9GXOCrNYsbKD6W6Qm/mt0LfPqgNVl+SW+Mz8 ZbfIVMFy/WaGnnrFI8/e/FJiKc5INNRiLipOBAC3cAn/MQMAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmpgkeLIzCtJLcpLzFFi42I5/e/4PV3+RbviDC7OVLTYOGM9q8XUnniL G7/aWC3WHrnLbvGmrZHRYsHkJ6wW22YtZ7M4/Kad1eLblm2MFlMnbWa3eLu3k92B22N2w0UW j3mzTrB47Jx1l93j1YFV7B5n7+xg9OjbsorRY/2Wqywem09XB3BE6dkU5ZeWpCpk5BeX2CpF G1oY6RlaWugZmVjqGRqbx1oZmSrp29mkpOZklqUW6dsl6GW8XTaFsWC1SMWWPQ9ZGhi/CXQx cnJICJhIrOy4y9TFyMUhJLCUUWLrvnesEAkZiZPTGqBsYYk/17rYIIo+MUqcXjUXLMEmYCjR 9RYkwckhIiAh8av/KiNIEbPAJiaJS3sXgCWEBVIk+lsnMYLYLAKqEkdvNDKB2LwCthL/tn+D 2iAvsXrDAWYQm1PATuL00WtgNUIC+RIrnl5imsDIt4CRYRWjSGppcW56brGRXnFibnFpXrpe cn7uJkZg6G879nPLDsaud8GHGAU4GJV4eCPqd8UJsSaWFVfmHmKU4GBWEuFtydwZJ8SbklhZ lVqUH19UmpNafIjRFOioicxSosn5wLjMK4k3NDU0t7A0NDc2NzazUBLn7RA4GCMkkJ5Ykpqd mlqQWgTTx8TBKdXAeO78wSP3wkx72tL333zILGZ/R3Hz7RlPv5/6MEPl4/FZ+4q/7Nzltazg xH5H5WW7VubLVJluebsnSercBMMJPavjJDnnn+G5nswzRb184oHdivsElvG7LdzhtfzhhHkq W1udpu82n/NEcFXitna/PUKtKvPOidnZ8VadDclO/dXSe+P1ZLMgcSUlluKMREMt5qLiRACs U4MWkwIAAA== X-CMS-MailID: 20200512131807eucas1p23959715b10a4e7ab36b60fd9791dae87 X-Msg-Generator: CA X-RootMTR: 20200512131807eucas1p23959715b10a4e7ab36b60fd9791dae87 X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20200512131807eucas1p23959715b10a4e7ab36b60fd9791dae87 References: <71b88bb9-7bfd-cb33-59b8-052c08ed33fa@suse.com> <20200512131746.22797-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 --- arch/arm/mach-bcm283x/Kconfig | 1 + arch/arm/mach-bcm283x/include/mach/base.h | 6 ++++++ arch/arm/mach-bcm283x/init.c | 14 ++++++++++++++ include/configs/rpi.h | 5 +++++ 4 files changed, 26 insertions(+) diff --git a/arch/arm/mach-bcm283x/Kconfig b/arch/arm/mach-bcm283x/Kconfig index 00419bf..bcb7f1d 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 c4ae398..1bf89db 100644 --- a/arch/arm/mach-bcm283x/include/mach/base.h +++ b/arch/arm/mach-bcm283x/include/mach/base.h @@ -8,4 +8,10 @@ extern unsigned long rpi_bcm283x_base; +#ifdef CONFIG_ARMV7_LPAE +#include +#define phys_to_virt addrmap_phys_to_virt +#define virt_to_phys addrmap_virt_to_phys +#endif + #endif diff --git a/arch/arm/mach-bcm283x/init.c b/arch/arm/mach-bcm283x/init.c index 6a748da..4b9c831 100644 --- a/arch/arm/mach-bcm283x/init.c +++ b/arch/arm/mach-bcm283x/init.c @@ -145,6 +145,20 @@ int mach_cpu_init(void) } #ifdef CONFIG_ARMV7_LPAE +#define BCM2711_RPI4_PCIE_XHCI_MMIO_VIRT 0xff800000UL +#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); + addrmap_set_entry(BCM2711_RPI4_PCIE_XHCI_MMIO_VIRT, + BCM2711_RPI4_PCIE_XHCI_MMIO_PHYS, + BCM2711_RPI4_PCIE_XHCI_MMIO_SIZE, 0); +} + void enable_caches(void) { dcache_enable(); diff --git a/include/configs/rpi.h b/include/configs/rpi.h index b53a4b6..7da2cff 100644 --- a/include/configs/rpi.h +++ b/include/configs/rpi.h @@ -63,6 +63,11 @@ #define CONFIG_SYS_BOOTM_LEN SZ_64M #endif +#ifdef CONFIG_ARMV7_LPAE +#define CONFIG_ADDR_MAP 1 +#define CONFIG_SYS_NUM_ADDR_MAP 2 +#endif + /* Devices */ /* GPIO */ #define CONFIG_BCM2835_GPIO