From patchwork Wed Jun 3 12:43:44 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marek Szyprowski X-Patchwork-Id: 1302977 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=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=ZbUBSWu2; 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)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 49cTBx6Zv8z9sSF for ; Wed, 3 Jun 2020 22:44:57 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 7396681D7B; Wed, 3 Jun 2020 14:44:23 +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="ZbUBSWu2"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id E448281D69; Wed, 3 Jun 2020 14:44:16 +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 17784810DB for ; Wed, 3 Jun 2020 14:44: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 eucas1p1.samsung.com (unknown [182.198.249.206]) by mailout2.w1.samsung.com (KnoxPortal) with ESMTP id 20200603124407euoutp02063f1ccf20873c459d0ccce77aaa1ee3~VCUftJJqu2811828118euoutp02x for ; Wed, 3 Jun 2020 12:44:07 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com 20200603124407euoutp02063f1ccf20873c459d0ccce77aaa1ee3~VCUftJJqu2811828118euoutp02x DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1591188247; bh=BgWhuqCmvAkC4dgmvOkM+aPvaHULkWrEIp9pzZtKJ3M=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ZbUBSWu2us3Q+FReoSqAYJZbVe5cMZ8m2org7uafyBr/9jiCcFpLqf2o2w71pEous 4q0bdgzNsCbSQOvlQrd4WAv+KPdGACS3wBzjkE14uVOQaFmZwfDDEEGgHAVcvTk7sV V6a4SRL+iPIHuEmseCApNBJmwglyINBbG4DDFZng= Received: from eusmges3new.samsung.com (unknown [203.254.199.245]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20200603124407eucas1p2dc8d5fceeb66cd017b833ece502226fd~VCUfbIxB00119901199eucas1p26; Wed, 3 Jun 2020 12:44:07 +0000 (GMT) Received: from eucas1p2.samsung.com ( [182.198.249.207]) by eusmges3new.samsung.com (EUCPMTA) with SMTP id 76.38.60698.71B97DE5; Wed, 3 Jun 2020 13:44:07 +0100 (BST) Received: from eusmtrp2.samsung.com (unknown [182.198.249.139]) by eucas1p1.samsung.com (KnoxPortal) with ESMTPA id 20200603124407eucas1p1a343fda06c124089af99d1bfdbfcf657~VCUfHTHyo2046420464eucas1p1e; Wed, 3 Jun 2020 12:44:07 +0000 (GMT) Received: from eusmgms2.samsung.com (unknown [182.198.249.180]) by eusmtrp2.samsung.com (KnoxPortal) with ESMTP id 20200603124407eusmtrp2332dd435f282af4b30a0456f9e4dfde0~VCUfGrqnz0795607956eusmtrp2b; Wed, 3 Jun 2020 12:44:07 +0000 (GMT) X-AuditID: cbfec7f5-a29ff7000001ed1a-ea-5ed79b17eb30 Received: from eusmtip1.samsung.com ( [203.254.199.221]) by eusmgms2.samsung.com (EUCPMTA) with SMTP id E9.E6.07950.71B97DE5; Wed, 3 Jun 2020 13:44:07 +0100 (BST) Received: from AMDC2765.digital.local (unknown [106.120.51.73]) by eusmtip1.samsung.com (KnoxPortal) with ESMTPA id 20200603124406eusmtip1a6c49cfd2a524f601f760c0a87739e96~VCUecgM-R2524325243eusmtip1u; Wed, 3 Jun 2020 12:44:06 +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 v5 5/6] rpi4: add a mapping for the PCIe XHCI controller MMIO registers (ARM 32bit) Date: Wed, 3 Jun 2020 14:43:44 +0200 Message-Id: <20200603124345.18595-6-m.szyprowski@samsung.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200603124345.18595-1-m.szyprowski@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA0WSbUhTURjHO957vXfDxXUKHiwQRgYGamrEhUx6WXTxi0IEEaTOvMyXbY5d Z6lly2LpEF8xdeZrirGY0zmGMwpnmtJ0pSJabUVkHzQtITMycW27at9+z3n+//N/nsMhEGE3 Fk7kKAoYlUIiEwXyUeurP2+iw1oW0o6PuyKogSYTRjVUplOLW1qMMo65cWpVexdQHfVLGGXV 9wZSL1cfYNSmxQqohrpBnFp7XoFT9Z9XwJkgukUzg9Jt+kmUtundOL0yYsDpadcQoKssBkCb LPMoPegoSSWu8hOzGFlOIaOKTcrgZ7+3v8aV5pCb7tYvqAb0kTrAIyB5Au4Ym3Ad4BNC8gmA c/YKwBUbAHrMzRhX/ASw21mG7llczxy7ql4AN+3D6L6lca4T+FSBZBzUrekCfRxKQrhVPe93 IKQFgfq274ivEUIyULdk9zNKRsL+hW2/QUCehvOTtgAuLgI+7R/xa3hkEvRYzf6ZIGnAoW19 BuFEYjjodmAch8CVCQvO8WHosbUHcIZ7AH52GnGuqPTuWtYEONUp6HJueaMJ73xR0DQc60NI noU1rWIOD8LFtWCfGPFinbUR4Y4FsFwr5O44CvUTffup9rezu5PRcN1t3X3gWgBbp7VoDYjQ /8/qAMAAwhg1K5cybIKCuRHDSuSsWiGNuZ4vNwPv33HsTPwaAi+2M0cBSQBRkOBA6UKaEJMU skXyUQAJRBQqODftSBMKsiRFxYwqP12lljHsKDhEoKIwQULX8jUhKZUUMHkMo2RUe90Agheu AZEtcz3NvzvPy7+eLFP8CMrNBB+kH63W9r+WS7nNn0x5U7XynkTngKWtpbRwvU4WXvVNnexS xpvZx9vlARpewaOGlMtYlseYsRGVgpumGuJvXxC+M6x2Bc1Gd12pPrIsKEnNUYoXR4wP73SP K3nlY8V90cL7t/iNSLJeHKy9KELZbEncMUTFSv4BrAuzFTcDAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmphkeLIzCtJLcpLzFFi42I5/e/4XV3x2dfjDDYd4rDYOGM9q8XUnniL G7/aWC3WHrnLbvGmrZHRYsHkJ6wW22YtZ7M4/Kad1eLblm2MFlMnbWa3eLu3k91i8sNXjA48 HrMbLrJ4zJt1gsVj56y77B6vDqxi9zh7ZwejR9+WVYwe67dcZfHYfLo6gCNKz6Yov7QkVSEj v7jEVina0MJIz9DSQs/IxFLP0Ng81srIVEnfziYlNSezLLVI3y5BL+PWwVPsBZuEK+7OfczS wLhOoIuRk0NCwETizu7TjF2MXBxCAksZJXa9nc4OkZCRODmtgRXCFpb4c62LDaLoE6NE/8V2 NpAEm4ChRNfbLjBbREBC4lf/VbBJzAJ7mCWevr7EBJIQFkiW6Hm7CMxmEVCV2HD9D1gDr4Ct xNUTO5kgNshLrN5wgBnE5hSwk/i/bRPQZg6gbbYS5+86TWDkW8DIsIpRJLW0ODc9t9hIrzgx t7g0L10vOT93EyMwBrYd+7llB2PXu+BDjAIcjEo8vBEN1+OEWBPLiitzDzFKcDArifA6nT0d J8SbklhZlVqUH19UmpNafIjRFOimicxSosn5wPjMK4k3NDU0t7A0NDc2NzazUBLn7RA4GCMk kJ5YkpqdmlqQWgTTx8TBKdXA6GMhuOmRmZrp27kad89/2pPAETKx+9ermQdLjotFfxNhm755 sShP2zLPaztSD5hGJwUpvl24c/Plyr7Hc3y7qm7ckjnVOT/wRXiRoaCSQfGnkvZI+Yt/8usf i0kpcdb4n/zMG33xgMw6Wzenqo5aPp0VS+Z+yCip6DbR4Fj7M+237b5n9YlRSizFGYmGWsxF xYkARuQFF5cCAAA= X-CMS-MailID: 20200603124407eucas1p1a343fda06c124089af99d1bfdbfcf657 X-Msg-Generator: CA X-RootMTR: 20200603124407eucas1p1a343fda06c124089af99d1bfdbfcf657 X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20200603124407eucas1p1a343fda06c124089af99d1bfdbfcf657 References: <20200603124345.18595-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 | 21 +++++++++++++++++++++ 3 files changed, 30 insertions(+) diff --git a/arch/arm/mach-bcm283x/Kconfig b/arch/arm/mach-bcm283x/Kconfig index e6eb904..b3287ce 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 cf4c5b2..f2a5411 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();