From patchwork Mon Apr 29 18:24:36 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Josua Mayer X-Patchwork-Id: 13647500 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 5B3A3C4345F for ; Mon, 29 Apr 2024 18:25:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Cc:To:Message-Id:Subject: Date:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=t7VYx0rLnPtuGGWH9UC/VsTBiYFHQSkcOAICvaKWmuA=; b=Q1IRR/gfmQ7hvy OUK93ZrEQpMGOy74zJDXgF04kkBrNy+hXq3uu45dGxaNj6VI8wOnZMDNPVQd3aJEL30u+B/rry4jl EghHNCIxALTm17/PUdrFxsm+swM7U5K8JjXpDs641doPtDe994FilMJkmljlOLOEquMCscAinSppO aN29We2Z3GZNVXfWz+0WWN/sMoRvE5VVi9vFWgRB9513DzoQkqCpsiJee7KVVqUvMKY+e+8h0pMKO XBEDc+R1EcvQ0kcSCGflLvr3FzKO+zgieCNDCvWEME+M+63JcZN/4Y28OJteoZobMehGdt7B96onM PBTfEGax84GyDc5l4qgQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1s1VgO-00000003rht-0VUU; Mon, 29 Apr 2024 18:24:56 +0000 Received: from mail-am6eur05on2120.outbound.protection.outlook.com ([40.107.22.120] helo=EUR05-AM6-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1s1VgJ-00000003rgX-1KrX for linux-arm-kernel@lists.infradead.org; Mon, 29 Apr 2024 18:24:54 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Es5g+vIlD42prc/6xOL8spRz9gGYCzhFJwrdwAJ3IlM1yFc1tniqhRbW+y1jUnuayCEZpYt0lLBBuYmF6TlKearFWRVP8ZteuIw0sFPE/J+Od3QYQAM2jxMcr4qoHpRBbVLnUE6payl3TITY52hE78yDg4RlkHbZAXKfCkbtu8NhfdBOXymgigYIL4TdFJAxQBH3GZJm8gMhy5CiARH+thOp5YZK61DaujdjcC8aGA7wybpbz/pcgv1YnfY2CgBuOKeaFbIGTU7TaVZGHO9aJf6UjDvPhV5sOBSLXBfp74dm/Po6dyQ9vqrKVThR1vZm37A1GiPQKRlVm6/ei3UBzg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=xJgcFlSGyUWFWrvSeQtNhinMsApd7OgFapRDA0uR0sE=; b=Zz7RZl5dd8lrnGV1iHBgCrdHF8WwGeDTVAiK+k4unaC/ezINH/nc+roig8/xcyU07OtOM+s9gQmk+w83sYyT6AjHTMxKNU5RWDP+7ZoYkJR3pFyWUMT6ZGhtBU02CliRC8sQ/1Z20DagVw1+swqGgqX9G8ZsEgMIxv3nVs4IxYPYgwF5d+ErTxEF+WFQ9r1NcVf2CxK+FCgeG7tyyXr1Inl4GSz/5oFhPlFmIq7uKnkxEBfYAr6H7Kli+Iip8f9DAKtSetpf5hxI9NMdM7T30wTLiRG5YaaXqqmmyUBS5fzZrQYShqQaQPG2tF1IjpG9fpX151t0lNj/bT9sy1zGAw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=solid-run.com; dmarc=pass action=none header.from=solid-run.com; dkim=pass header.d=solid-run.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=solidrn.onmicrosoft.com; s=selector1-solidrn-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xJgcFlSGyUWFWrvSeQtNhinMsApd7OgFapRDA0uR0sE=; b=BIbhJJWvHMm4fjmNi0WsaSKSfMf3U/HpM878AMgHRbH1pF4X3rpdWrcDmAKi9Nf0Fo8IZ2TsXBQGyXY3gPqGyy3xl6/456koasp1lrTHxjbjB//eVqkVs0Gk79jZl1oWQPTEM4IX83DDY0fJotFmASFaCkqT3uuEpYBY3CbDqYE= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=solid-run.com; Received: from AM9PR04MB7586.eurprd04.prod.outlook.com (2603:10a6:20b:2d5::17) by AS8PR04MB7782.eurprd04.prod.outlook.com (2603:10a6:20b:28a::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.34; Mon, 29 Apr 2024 18:24:43 +0000 Received: from AM9PR04MB7586.eurprd04.prod.outlook.com ([fe80::c04e:8a97:516c:5529]) by AM9PR04MB7586.eurprd04.prod.outlook.com ([fe80::c04e:8a97:516c:5529%7]) with mapi id 15.20.7519.031; Mon, 29 Apr 2024 18:24:43 +0000 From: Josua Mayer Date: Mon, 29 Apr 2024 20:24:36 +0200 Subject: [PATCH RFC v2] arm64: dts: lx2160a: extend 32-bit, and add 64-bit pci regions Message-Id: <20240429-lx2160-pci-v2-1-1b94576d6263@solid-run.com> X-B4-Tracking: v=1; b=H4sIAOPlL2YC/02NwQ6CMBBEf4Xs2TXdFgt6MjHxA7waDgKLbIKUt EowhH+36cnjm8m8WSGwFw5wylbwPEsQN0bQuwya/jE+GaWNDFrpXBGVOCyarMKpEczrtqaj5UP ZGYiDyXMnS5Ld4Xa9QBXDXsLb+W86mClVyWU0/btmQkJjC1Oosiu4tufgBmnRf8Z9415Qbdv2A xTzIsqtAAAA To: Shawn Guo , Li Yang , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: Yazan Shhady , Jon Nettleton , linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Josua Mayer X-Mailer: b4 0.12.4 X-ClientProxiedBy: FR3P281CA0165.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a2::10) To AM9PR04MB7586.eurprd04.prod.outlook.com (2603:10a6:20b:2d5::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM9PR04MB7586:EE_|AS8PR04MB7782:EE_ X-MS-Office365-Filtering-Correlation-Id: 975be4b2-135e-4d88-06d1-08dc6879a424 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230031|376005|1800799015|52116005|366007|38350700005; X-Microsoft-Antispam-Message-Info: =?utf-8?q?Xcxt8Xa3k2mNK1C/GuFHCx5KIUsxw7q?= =?utf-8?q?BSXJSpN70kApKBOwL1xDOd6lUR+UJ+hHRTgaHjiJY0dVwBr3IECPmwYFgweuxKkup?= =?utf-8?q?5LxXwVGbDYt/pwF+I+LVXYNk8ODsl9W8w+LK9HRTO/spnAHnt5AQINBbvg7rJqddT?= =?utf-8?q?jpECMtLaEaltplpKxYGphoStZ13KISltEjqRt1CrWgtsO3m//4THamXL+z4ZtVJmA?= =?utf-8?q?zIAsg4nCJSZPpK2DJ+yLHTGnV56QWWc6/QWp43UF7txQlDVqYFCox9g3GvIGOlW9J?= =?utf-8?q?efUkCj4n2QEq52aha1l3BM1U/pc46nmDwhCmOvyKMPJs/EfuAhzo+MiEfQPzzDNzc?= =?utf-8?q?3hNm/2sUKQbAOIqSuewmMtrOFHQhIlRGmGpcDxCGdUh51OrhtKjALtrlSdvt1Wamk?= =?utf-8?q?bMCa818CixaRCjyFuKg9bRQjXc/7LQ2Tsso+alOmslqM2w66+qjy9Pw+pvs4vCJB/?= =?utf-8?q?1MDESBjlGIlWep8GeEBFIz9Jt0OAli5CTfU4bZAq/dNGh6wdnr4MfJ8N72xlP0hDt?= =?utf-8?q?O3K//SJx6Vb3NrnTiPrcfl6JjbESohKFtXFRDqX/KbhF3UnIlqYXodABxKN3IvUhH?= =?utf-8?q?fKtZS3j5jji+c+vPeKqh9x+OcwOAST6pMEJ14K1hH47Fetmqj9YONOdEl91RdPW7y?= =?utf-8?q?6mFFgrTfQBlHwW2qoWcz/iwN3vtBmyVk97v4n3FeD4m9NcxRDW2NJA4b/I8CrURYz?= =?utf-8?q?L/caP7Za1klIXLU7SUdsCHWCwTOk6LsNUWu1hnYqg7peR8ZjWpFYyMJ7MyS8kBPQx?= =?utf-8?q?KpFM4OIxIos+B8P0PXdnVAsLAQsjhcov+T1QiRDKcxfv7FN41AUs8s6nGqDgWzuVO?= =?utf-8?q?aitobxNFMJgkChCRLY/RNlx7NwemQmQdZY8OXYlPyIt+/nLDPalED6AbTUSCJQiXO?= =?utf-8?q?tpHLd3B4+H7H1+elWZ5jkOeLbwddm3D1CIPr/kRiZHzpjPMPlSBfu31Tod06JJAAq?= =?utf-8?q?T/bEIzNCSf/JwEF/0+PHayBMyCU5GY+2PIbCPJcZptSvQH32bggk1/G5rppqYyI4l?= =?utf-8?q?LNYBOTze0mdRMXtqLP1jb+pO4NTz/SrG885o8WaNa+5L5yjwXU3ETO3bBGymr4Xh5?= =?utf-8?q?vq3cf8PxlHHSK24spqsu1duIFQS/+3+qKAuydDXPci0c04Fv5TJDI+gzoj8M2uU+z?= =?utf-8?q?/VmnauTP4TZYwrdNeFMs7eENFIWqWlwcUmiQWgML01m8TElPa6Gme6z0mOHZ/ykPL?= =?utf-8?q?BM1mHcuVTBZXALIEkHB7pkrQb77S8IKpF9aQ=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM9PR04MB7586.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376005)(1800799015)(52116005)(366007)(38350700005);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?Bfs9xOtfY3YMZDN1dbInyCWxv+35?= =?utf-8?q?qaN5XcqccGMfIX4YCg6f3ZDJvAEMccaVETeVCqbeK3dGod734mI97ayucneYCx/+y?= =?utf-8?q?TeFf+UUB7upUqbEAV/yZrht0m/cCsFSQwfX+OfRDzG7BCUgXYqIusCrAx9dZx3cbz?= =?utf-8?q?Mit6JsvgNmUj8QBII1lZCdhH85rj0sRs8YfwtioZTWG4vPWXJlg1yKbVtw6i9FrNj?= =?utf-8?q?vUTQGOwLN1DdAyWTTR9Uj/rXslNEWz1jdf/EYjZIUkRUUWu2LEOfYkin+LjAvoDWK?= =?utf-8?q?fl6o+RJis102hvx7VO4caIyXh8Ni7MNk29WiO2fUOIFM6aJMiPYuUW9aQlCbmJdmZ?= =?utf-8?q?LIy+MrbQGHv9u83dD0kGsIHjsF+ZIbRgmkXGf9QuW21psYf9jWyifPa1Sr8/Y/8nh?= =?utf-8?q?Bvs/lSC8V5FbgDlM9eFcJvqd7fEE5bVNXa5jjZma7+DpSjpIfcnKwj79Ct4vUEjW1?= =?utf-8?q?PkxCI8J2mO8hYIEXHhZ8/xi9WhzSnWEWvUQnvEFzTo+4e1v4DzEoqJw1nebxk7IVl?= =?utf-8?q?FL1Pbcls5FJ9ijiJfxQeJ59vlLne58vzQm5OSZJytSKw8OeJDCeh/z+zwQEfPNLwg?= =?utf-8?q?auwKdDp04HEGjWlnX+APhVo/Op3TZaMLV4TUFdBAk2BeN/lhnkRkZOog0TpE4fCH+?= =?utf-8?q?35sSeOU2jcu2ofBzzQLe9QxHZfpOHe8pSOJfeKdIs8D3+SDVRSxtNGyyHqOXW2pS6?= =?utf-8?q?qrVZjC6oya+sNTPz93WakGDfDOiLmdeoi5/nh0Is8qoukxloZOXRspF4EgVKvdSD5?= =?utf-8?q?1dEr+zJKv/WyT7FsgEyVAnZ5NOuVrGjKCNJHTliRDIys5xbdynSjYCX2oOKA2X8LX?= =?utf-8?q?2jGWWwGj4bBEUBNLQ3UmqRJgMKpcnA9sd6gamjm4hsgmv3H9xtJZtZ7VVKOihultS?= =?utf-8?q?vtSHC2B3sLaqafbgOUtlMOfqMk09hhIXy0iyscgXBCSm8Xwc67EIMNZMSYzbflcXr?= =?utf-8?q?LGztjVh1u96rpy7GJK6ZUmUGwaSv1dKmjseg+nedvQXKyHEIFCUOTrfZctyUnf1kF?= =?utf-8?q?/wSruUfxTFNiCPC/pJ2+vHO9AgbZjS3u9qXmwCfHVPvo7JnY14XHt6LpXit8cHI/I?= =?utf-8?q?ja46eTElf3STGi3qyk4UI19vXgqfjFczR544uN0O9XB0PnuhmMNEE5OFcUmARkhJE?= =?utf-8?q?wolXeszZPb1FVs65QPrhSUgEY5w/Hf/vYsFFVeWvR2Mnf+FA6Shtb6V1Fpjq/AXC4?= =?utf-8?q?HYVHgNaNoQ76hCOth/lpwau8n0vR6p1qectCPyuNc0743hygg0y8jhOPrOc/4r7EB?= =?utf-8?q?M+hi6YW8xjhrvvLoXr85hX9F38iPm04dltLtlvuGFIzLFyITsXFxgODjeem2qvi3q?= =?utf-8?q?RtZf1bboP5xpIKX2nrA7OSpWAAnbTnnmyhJGvUDxsK6/CWpQw5Uk4/A5oqwX00I9a?= =?utf-8?q?kGapPoYLBUSXvQI4MlGsez6Wxh6A2MEIhv11nxCGaICdzAT2pT38yhBC9cjyNyIGE?= =?utf-8?q?Mt4XgT87feyej834mFRCjHqpvaUmXTR04DL0PHTTDTaOcdSmO6x79zjgIg1ECBLlf?= =?utf-8?q?YwEDFcHh3adw?= X-OriginatorOrg: solid-run.com X-MS-Exchange-CrossTenant-Network-Message-Id: 975be4b2-135e-4d88-06d1-08dc6879a424 X-MS-Exchange-CrossTenant-AuthSource: AM9PR04MB7586.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Apr 2024 18:24:43.4782 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a4a8aaf3-fd27-4e27-add2-604707ce5b82 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: nZjEmky46SOgGFSqUMVLApkm4wsKB3Wf9U2LPelc+LJBL8Li75vdqN8n+i3WG+Uf1mJ6UBVQ5e3ekL6rGe+fPg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7782 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240429_112451_571034_2974E59B X-CRM114-Status: GOOD ( 13.99 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org LX2160 SoC pci-e controller supports 64-bit memory regions up to 16GB, 32-bit regions up to 3GB and 16-bit regions up to 64k. For each pci-e controller: - extend the existing 32-bit regions to 3GB size - add 16-bit region - add 64-bit region Same memory allocation with similar flags were been tested with UEFI and ACPI on pcie3 and pcie5. This specific device-tree configuration was tested with nxp lsdk-21.08 based u-boot: - pcie5 with a Radeon Pro WX2100 with Gnome Desktop - pcie3 with an ADATA NVME Fixes allocation of large, and 64-bit BARs as requested by many pci cards, especially graphics processors or AI accelerators, e.g.: [ 2.941187] pci 0000:01:00.0: BAR 0: no space for [mem size 0x200000000 64bit pref] [ 2.948834] pci 0000:01:00.0: BAR 0: failed to assign [mem size 0x200000000 64bit pref] This version is still marked RFC because as it carries a workaround for a limitation of the designware pcie controller driver. The ATU has a maximum allocation size of 4GB. Larger allocations should be implemented as multiple allocations of 4GB in the driver, similar to how UEFI implemented it for ACPI. Signed-off-by: Josua Mayer --- Changes in v2: - adjusted flags to fix several errors during probe and bar allocation - explicitly tested with 2 pci cards on Debian (Linux 6.1) - still rfc because a limitation in designware pci driver - Link to v1: https://lore.kernel.org/r/20240321-lx2160-pci-v1-1-3673708f7eb6@solid-run.com --- arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi | 55 +++++++++++++++++++++++--- 1 file changed, 49 insertions(+), 6 deletions(-) --- base-commit: e8f897f4afef0031fe618a8e94127a0934896aba change-id: 20240118-lx2160-pci-4bdb196e58f3 Sincerely, diff --git a/arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi b/arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi index 6640b49670ae..ec4e6252f83b 100644 --- a/arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi +++ b/arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi @@ -1,3 +1,4 @@ + // SPDX-License-Identifier: (GPL-2.0 OR MIT) // // Device Tree Include file for Layerscape-LX2160A family SoC. @@ -1134,7 +1135,14 @@ pcie1: pcie@3400000 { apio-wins = <8>; ppio-wins = <8>; bus-range = <0x0 0xff>; - ranges = <0x82000000 0x0 0x40000000 0x80 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */ + // ranges = <0x02102000 0x84 0x00000000 0x84 0x00000000 0x04 0x00000000>, /* 64-Bit - prefetchable */ + /* split 64-bit area into 4GB chunks as workaround for ATU max allocation size */ + ranges = <0x02102000 0x87 0x00000000 0x87 0x00000000 0x01 0x00000000>, /* 64-Bit - prefetchable - 4GB chunk */ + <0x02102000 0x86 0x00000000 0x86 0x00000000 0x01 0x00000000>, /* 64-Bit - prefetchable - 4GB chunk */ + <0x02102000 0x85 0x00000000 0x85 0x00000000 0x01 0x00000000>, /* 64-Bit - prefetchable - 4GB chunk */ + <0x02102000 0x84 0x00000000 0x84 0x00000000 0x01 0x00000000>, /* 64-Bit - prefetchable - 4GB chunk */ + <0x02000200 0x00 0x40000000 0x80 0x40000000 0x00 0xc0000000>, /* 32-Bit - non-prefetchable */ + <0x01200100 0x00 0x00000000 0x80 0x10000000 0x00 0x00010000>; /* 16-Bit IO Window */ msi-parent = <&its>; #interrupt-cells = <1>; interrupt-map-mask = <0 0 0 7>; @@ -1162,7 +1170,14 @@ pcie2: pcie@3500000 { apio-wins = <8>; ppio-wins = <8>; bus-range = <0x0 0xff>; - ranges = <0x82000000 0x0 0x40000000 0x88 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */ + // ranges = <0x02102000 0x8c 0x00000000 0x8c 0x00000000 0x04 0x00000000>, /* 64-Bit - prefetchable */ + /* split 64-bit area into 4GB chunks as workaround for ATU max allocation size */ + ranges = <0x02102000 0x8f 0x00000000 0x8f 0x00000000 0x01 0x00000000>, /* 64-Bit - prefetchable - 4GB chunk */ + <0x02102000 0x8e 0x00000000 0x8e 0x00000000 0x01 0x00000000>, /* 64-Bit - prefetchable - 4GB chunk */ + <0x02102000 0x8d 0x00000000 0x8d 0x00000000 0x01 0x00000000>, /* 64-Bit - prefetchable - 4GB chunk */ + <0x02102000 0x8c 0x00000000 0x8c 0x00000000 0x01 0x00000000>, /* 64-Bit - prefetchable - 4GB chunk */ + <0x02000200 0x00 0x40000000 0x88 0x40000000 0x00 0xc0000000>, /* 32-Bit - non-prefetchable */ + <0x01200100 0x00 0x00000000 0x88 0x10000000 0x00 0x00010000>; /* 16-Bit IO Window */ msi-parent = <&its>; #interrupt-cells = <1>; interrupt-map-mask = <0 0 0 7>; @@ -1190,7 +1205,14 @@ pcie3: pcie@3600000 { apio-wins = <256>; ppio-wins = <24>; bus-range = <0x0 0xff>; - ranges = <0x82000000 0x0 0x40000000 0x90 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */ + // ranges = <0x02102000 0x94 0x00000000 0x94 0x00000000 0x04 0x00000000>, /* 64-Bit - prefetchable */ + /* split 64-bit area into 4GB chunks as workaround for ATU max allocation size */ + ranges = <0x02102000 0x97 0x00000000 0x97 0x00000000 0x01 0x00000000>, /* 64-Bit - prefetchable - 4GB chunk */ + <0x02102000 0x96 0x00000000 0x96 0x00000000 0x01 0x00000000>, /* 64-Bit - prefetchable - 4GB chunk */ + <0x02102000 0x95 0x00000000 0x95 0x00000000 0x01 0x00000000>, /* 64-Bit - prefetchable - 4GB chunk */ + <0x02102000 0x94 0x00000000 0x94 0x00000000 0x01 0x00000000>, /* 64-Bit - prefetchable - 4GB chunk */ + <0x02000200 0x00 0x40000000 0x90 0x40000000 0x00 0xc0000000>, /* 32-Bit - non-prefetchable */ + <0x01200100 0x00 0x00000000 0x90 0x10000000 0x00 0x00010000>; /* 16-Bit IO Window */ msi-parent = <&its>; #interrupt-cells = <1>; interrupt-map-mask = <0 0 0 7>; @@ -1218,7 +1240,14 @@ pcie4: pcie@3700000 { apio-wins = <8>; ppio-wins = <8>; bus-range = <0x0 0xff>; - ranges = <0x82000000 0x0 0x40000000 0x98 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */ + // ranges = <0x02102000 0x9c 0x00000000 0x9c 0x00000000 0x04 0x00000000>, /* 64-Bit - prefetchable */ + /* split 64-bit area into 4GB chunks as workaround for ATU max allocation size */ + ranges = <0x02102000 0x9f 0x00000000 0x9f 0x00000000 0x01 0x00000000>, /* 64-Bit - prefetchable - 4GB chunk */ + <0x02102000 0x9e 0x00000000 0x9e 0x00000000 0x01 0x00000000>, /* 64-Bit - prefetchable - 4GB chunk */ + <0x02102000 0x9d 0x00000000 0x9d 0x00000000 0x01 0x00000000>, /* 64-Bit - prefetchable - 4GB chunk */ + <0x02102000 0x9c 0x00000000 0x9c 0x00000000 0x01 0x00000000>, /* 64-Bit - prefetchable - 4GB chunk */ + <0x02000200 0x00 0x40000000 0x98 0x40000000 0x00 0xc0000000>, /* 32-Bit - non-prefetchable */ + <0x01200100 0x00 0x00000000 0x98 0x10000000 0x00 0x00010000>; /* 16-Bit IO Window */ msi-parent = <&its>; #interrupt-cells = <1>; interrupt-map-mask = <0 0 0 7>; @@ -1246,7 +1275,14 @@ pcie5: pcie@3800000 { apio-wins = <256>; ppio-wins = <24>; bus-range = <0x0 0xff>; - ranges = <0x82000000 0x0 0x40000000 0xa0 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */ + // ranges = <0x02102000 0xa4 0x00000000 0xa4 0x00000000 0x04 0x00000000>, /* 64-Bit - prefetchable */ + /* split 64-bit area into 4GB chunks as workaround for ATU max allocation size */ + ranges = <0x02102000 0xa7 0x00000000 0xa7 0x00000000 0x01 0x00000000>, /* 64-Bit - prefetchable - 4GB chunk */ + <0x02102000 0xa6 0x00000000 0xa6 0x00000000 0x01 0x00000000>, /* 64-Bit - prefetchable - 4GB chunk */ + <0x02102000 0xa5 0x00000000 0xa5 0x00000000 0x01 0x00000000>, /* 64-Bit - prefetchable - 4GB chunk */ + <0x02102000 0xa4 0x00000000 0xa4 0x00000000 0x01 0x00000000>, /* 64-Bit - prefetchable - 4GB chunk */ + <0x02000200 0x00 0x40000000 0xa0 0x40000000 0x00 0xc0000000>, /* 32-Bit - non-prefetchable */ + <0x01200100 0x00 0x00000000 0xa0 0x10000000 0x00 0x00010000>; /* 16-Bit IO Window */ msi-parent = <&its>; #interrupt-cells = <1>; interrupt-map-mask = <0 0 0 7>; @@ -1274,7 +1310,14 @@ pcie6: pcie@3900000 { apio-wins = <8>; ppio-wins = <8>; bus-range = <0x0 0xff>; - ranges = <0x82000000 0x0 0x40000000 0xa8 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */ + // ranges = <0x02102000 0xac 0x00000000 0xac 0x00000000 0x04 0x00000000>, /* 64-Bit - prefetchable */ + /* split 64-bit area into 4GB chunks as workaround for ATU max allocation size */ + ranges = <0x02102000 0xaf 0x00000000 0xaf 0x00000000 0x01 0x00000000>, /* 64-Bit - prefetchable - 4GB chunk */ + <0x02102000 0xae 0x00000000 0xae 0x00000000 0x01 0x00000000>, /* 64-Bit - prefetchable - 4GB chunk */ + <0x02102000 0xad 0x00000000 0xad 0x00000000 0x01 0x00000000>, /* 64-Bit - prefetchable - 4GB chunk */ + <0x02102000 0xac 0x00000000 0xac 0x00000000 0x01 0x00000000>, /* 64-Bit - prefetchable - 4GB chunk */ + <0x02000200 0x00 0x40000000 0xa8 0x40000000 0x00 0xc0000000>, /* 32-Bit - non-prefetchable */ + <0x01200100 0x00 0x00000000 0xa8 0x10000000 0x00 0x00010000>; /* 16-Bit IO Window */ msi-parent = <&its>; #interrupt-cells = <1>; interrupt-map-mask = <0 0 0 7>;