From patchwork Mon May 18 13:18:01 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marek Szyprowski X-Patchwork-Id: 1292526 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=2a01:238:438b:c500:173d:9f52:ddab:ee01; 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=omyjq/nd; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (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 49Qfjn5xckz9sTC for ; Mon, 18 May 2020 23:19:09 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id EA88481CC5; Mon, 18 May 2020 15:18:41 +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="omyjq/nd"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id C5A8F81CBD; Mon, 18 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.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 12FDC81CA8 for ; Mon, 18 May 2020 15:18:18 +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 eucas1p1.samsung.com (unknown [182.198.249.206]) by mailout2.w1.samsung.com (KnoxPortal) with ESMTP id 20200518131818euoutp0271efca025aba47bfd050ca65f2832012~QIdwzla_O2838728387euoutp02R for ; Mon, 18 May 2020 13:18:18 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com 20200518131818euoutp0271efca025aba47bfd050ca65f2832012~QIdwzla_O2838728387euoutp02R DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1589807898; bh=Y/boAdQ+dsD1KkSjjRbGfiZmKaJE3KLFybfaF1xj0gI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=omyjq/ndyskQsvOjtokl4xdvkgVzmBzrqFxBOm5gTvbUrD6yKNPe4WLRWgm7Yk2Q6 cyydcmDITqZ3iYdHQeCUJkUyJaZ+dM8681ykmyBcA9/jS79oI530feSeabgoogs9YE 01x1j8B0vJH90JQ9TZtOw9PEuCuvXv5DdEIZ5PlI= Received: from eusmges1new.samsung.com (unknown [203.254.199.242]) by eucas1p1.samsung.com (KnoxPortal) with ESMTP id 20200518131817eucas1p18159e7e408fe16ea4a9429e1a1cebf03~QIdweWMq-1880518805eucas1p1J; Mon, 18 May 2020 13:18:17 +0000 (GMT) Received: from eucas1p1.samsung.com ( [182.198.249.206]) by eusmges1new.samsung.com (EUCPMTA) with SMTP id 8E.89.61286.91B82CE5; Mon, 18 May 2020 14:18:17 +0100 (BST) Received: from eusmtrp1.samsung.com (unknown [182.198.249.138]) by eucas1p1.samsung.com (KnoxPortal) with ESMTPA id 20200518131817eucas1p16d37a356ad7f18a9a0f75ccbe9663905~QIdwNQFpZ1893218932eucas1p1-; Mon, 18 May 2020 13:18:17 +0000 (GMT) Received: from eusmgms2.samsung.com (unknown [182.198.249.180]) by eusmtrp1.samsung.com (KnoxPortal) with ESMTP id 20200518131817eusmtrp10310deb8d03126d8c86c2ea009aa87c6~QIdwMm3mn0118401184eusmtrp1Y; Mon, 18 May 2020 13:18:17 +0000 (GMT) X-AuditID: cbfec7f2-ef1ff7000001ef66-a5-5ec28b1924c8 Received: from eusmtip2.samsung.com ( [203.254.199.222]) by eusmgms2.samsung.com (EUCPMTA) with SMTP id 61.9D.07950.91B82CE5; Mon, 18 May 2020 14:18:17 +0100 (BST) Received: from AMDC2765.digital.local (unknown [106.120.51.73]) by eusmtip2.samsung.com (KnoxPortal) with ESMTPA id 20200518131816eusmtip2c1bf7f3bda177d1efc0d443d317ddc5e~QIdviW_YP0540505405eusmtip2o; Mon, 18 May 2020 13:18:16 +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 v3 3/3] rpi4: add a mapping for the PCIe XHCI controller MMIO registers (ARM 32bit) Date: Mon, 18 May 2020 15:18:01 +0200 Message-Id: <20200518131801.465-4-m.szyprowski@samsung.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200518131801.465-1-m.szyprowski@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprPKsWRmVeSWpSXmKPExsWy7djPc7qS3YfiDGZ36lhsnLGe1WJqT7zF jV9trBZrj9xlt3jT1shosWDyE1aLbbOWs1kcftPOavFtyzZGi6mTNrNbvN3bye7A7TG74SKL x7xZJ1g8ds66y+7x6sAqdo+zd3YwevRtWcXosX7LVRaPzaerAziiuGxSUnMyy1KL9O0SuDLu XJnOVvBDrOLU3u3sDYyzhLsYOTkkBEwkdp48ydLFyMUhJLCCUeL8w+fMEM4XRok1r6ZCOZ8Z JU5u/8cI03L4yGQ2iMRyRomjr9cxgSTAWn6c1wex2QQMJbredrGB2CICEhK/+q8ygjQwC6xg kvjcPpsdJCEskCnx+moXWDOLgKrE51P7WEBsXgFriRU/1rJAbJOXWL3hADOIzSlgI/H54G8m kEESAovYJb4f3gl1kovE2ck72SFsYYlXx7dA2TISpyf3sEA0NDNKPDy3lh3C6WGUuNw0A6rb WuLOuV9At3IA3acpsX6XPkTYUeLF2bfMIGEJAT6JG28FQcLMQOakbdOhwrwSHW1CENVqErOO r4Nbe/DCJWYI20Oibf00aDD2M0ps2LuIaQKj/CyEZQsYGVcxiqeWFuempxYb5qWW6xUn5haX 5qXrJefnbmIEJpvT/45/2sH49VLSIUYBDkYlHt6E/ENxQqyJZcWVuYcYJTiYlUR4Iz/vixPi TUmsrEotyo8vKs1JLT7EKM3BoiTOa7zoZayQQHpiSWp2ampBahFMlomDU6qBsV5SbEuSp8O0 olORHdmz0iae/3jj4ypTlU2syYqMR3/wLORa/KBuaf7p3cH/YjRZVIyZo87usp3Y2ufkx3tO 8t6FNft8/nWYKc65wzDb+IP+Sbf+/sxP83gu1TvNZp78109kl6HhlSm8s3j5T1gmXTgU6z3h /a05N4I0AzrXFzqfbLgvIpz8TomlOCPRUIu5qDgRAKm5TvoyAwAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrPLMWRmVeSWpSXmKPExsVy+t/xe7qS3YfiDCbuELHYOGM9q8XUnniL G7/aWC3WHrnLbvGmrZHRYsHkJ6wW22YtZ7M4/Kad1eLblm2MFlMnbWa3eLu3k92B22N2w0UW j3mzTrB47Jx1l93j1YFV7B5n7+xg9OjbsorRY/2Wqywem09XB3BE6dkU5ZeWpCpk5BeX2CpF G1oY6RlaWugZmVjqGRqbx1oZmSrp29mkpOZklqUW6dsl6GXcuTKdreCHWMWpvdvZGxhnCXcx cnJICJhIHD4ymQ3EFhJYyiixZ40vRFxG4uS0BlYIW1jiz7UuoBouoJpPjBI9Hw+ygCTYBAwl ut52gTWLCEhI/Oq/yghSxCywiUni0t4FYAlhgXSJiZ/WgtksAqoSn0/tA2vmFbCWWPFjLQvE BnmJ1RsOMIPYnAI2Ep8P/maCuMha4tSji+wTGPkWMDKsYhRJLS3OTc8tNtIrTswtLs1L10vO z93ECAz8bcd+btnB2PUu+BCjAAejEg9vQv6hOCHWxLLiytxDjBIczEoivJGf98UJ8aYkVlal FuXHF5XmpBYfYjQFOmois5Rocj4wKvNK4g1NDc0tLA3Njc2NzSyUxHk7BA7GCAmkJ5akZqem FqQWwfQxcXBKNTAq2mRfr4nrWN0bPWPP+tDS/7of3K4KreB+822rlrmamU3QkkomIQ9nlWkN Thlisqee/7k+k13GP3bFlkezF8td3iByqaBG20zsSu08gyei4hYfeeZd/mHZuUlzUXOspoyv D9/zZ7OiaycdO+W6i3m3/ceaXbtYvD/+kbAIdgqc+HZJw27hA85KLMUZiYZazEXFiQAbgtLW kgIAAA== X-CMS-MailID: 20200518131817eucas1p16d37a356ad7f18a9a0f75ccbe9663905 X-Msg-Generator: CA X-RootMTR: 20200518131817eucas1p16d37a356ad7f18a9a0f75ccbe9663905 X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20200518131817eucas1p16d37a356ad7f18a9a0f75ccbe9663905 References: <20200518131801.465-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 | 8 ++++++++ arch/arm/mach-bcm283x/init.c | 20 ++++++++++++++++++++ include/configs/rpi.h | 7 +++++++ 4 files changed, 36 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..4ccaf69 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 9f5bca3..008b312 100644 --- a/arch/arm/mach-bcm283x/init.c +++ b/arch/arm/mach-bcm283x/init.c @@ -145,6 +145,26 @@ int mach_cpu_init(void) } #ifdef CONFIG_ARMV7_LPAE +#ifdef CONFIG_TARGET_RPI_4_32B +#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); + + /* 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(); diff --git a/include/configs/rpi.h b/include/configs/rpi.h index b53a4b6..296e8ee 100644 --- a/include/configs/rpi.h +++ b/include/configs/rpi.h @@ -63,6 +63,13 @@ #define CONFIG_SYS_BOOTM_LEN SZ_64M #endif +#ifdef CONFIG_ARMV7_LPAE +#ifdef CONFIG_TARGET_RPI_4_32B +#define CONFIG_ADDR_MAP 1 +#define CONFIG_SYS_NUM_ADDR_MAP 2 +#endif +#endif + /* Devices */ /* GPIO */ #define CONFIG_BCM2835_GPIO