From mboxrd@z Thu Jan 1 00:00:00 1970 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 69033C6FA83 for ; Mon, 5 Sep 2022 19:25:41 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232006AbiIETZi (ORCPT ); Mon, 5 Sep 2022 15:25:38 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43684 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231929AbiIETZe (ORCPT ); Mon, 5 Sep 2022 15:25:34 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id F184E23BF3; Mon, 5 Sep 2022 12:25:21 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id E8AEAB815D7; Mon, 5 Sep 2022 19:25:19 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3A08CC433C1; Mon, 5 Sep 2022 19:25:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1662405918; bh=ZacdliM5CoZmtUxRzDil8M4sBbkaHBWCQ94hEdIcfxU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=aIb6ot0n5NwflvIzaQmsNChFTos6Al5fqOAMg9r9liJ1gMwWfKRNivD0UW4I8lA00 kKDhSSZimKk/okc5M1M1W2uvckXDxf2pWoN+OJSf3AAH5YOHqpNbMHxJOiWH1E4ltJ QQ3W9mLrwy+wjgFU+qQItZwZd+Tu2aOX4KPNlw1iimCNPC1oLBd33kOwLdTrkujN57 6sWAaOymlQBhU7XnyWXtEZYVgOANJRUm9gOj9+1O/+Jyu9j2WetT+evY7mjgyhdiuj Ub7AHLholO7oaZ4cDVLL2TClDIwl0/g5s9AzXGfdBdsbuRbmD/QD1aoG3xIq1yDoAk 7Gzeh6pAkzQKQ== Received: by pali.im (Postfix) id E5CFD7D7; Mon, 5 Sep 2022 21:25:17 +0200 (CEST) From: =?UTF-8?q?Pali=20Roh=C3=A1r?= To: Bjorn Helgaas , Lorenzo Pieralisi , Rob Herring , Krzysztof Kozlowski , Andrew Lunn , Sebastian Hesselbarth , Gregory Clement , Russell King , =?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= , Thomas Petazzoni , Mauri Sandberg Cc: linux-pci@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH v3 7/7] ARM: dts: orion5x: Add PCIe node Date: Mon, 5 Sep 2022 21:23:10 +0200 Message-Id: <20220905192310.22786-8-pali@kernel.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20220905192310.22786-1-pali@kernel.org> References: <20220718202843.6766-1-maukka@ext.kapsi.fi> <20220905192310.22786-1-pali@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-pci@vger.kernel.org Define PCIe aperture for top level soc node handled by mbus driver and define PCIe controller node with one PCIe Root Port. Old Orion arch code maps first 16 MB of PCIe config space to physical address 0xf0000000. But for full PCIe support it is needed to map whole 256 MB long PCIe config space. There are probably no Orion boards with more than 2 GB of RAM, so 256 MB of free physical address space must exist. Tests on Orion board proved that there is free space in physical address range 0xd0000000-0xdfffffff. So use this physical space for mapping whole 256 MB long PCIe config space. In case there would be some issue with this range, particular Orion device tree board file can change it to 16 MB size or move it to old location. By default orion5x.dtsi include file would contains whole PCIe config space for full PCIe support. By default is PCIe node disabled, so this change in orion5x.dtsi has no effect for any board until board dts file explicitly enable it. Each board has to migrate its PCIe code from old arch specific to device tree based. Signed-off-by: Pali Rohár --- Changes in v3: * New patch --- arch/arm/boot/dts/orion5x.dtsi | 51 ++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/arch/arm/boot/dts/orion5x.dtsi b/arch/arm/boot/dts/orion5x.dtsi index 2d41f5c166ee..41954d96ebbf 100644 --- a/arch/arm/boot/dts/orion5x.dtsi +++ b/arch/arm/boot/dts/orion5x.dtsi @@ -18,6 +18,9 @@ #address-cells = <2>; #size-cells = <1>; controller = <&mbusc>; + pcie-cfg-aperture = <0xd0000000 0x10000000>; /* 256 MiB config space */ + pcie-mem-aperture = <0xe0000000 0x08000000>; /* 128 MiB memory space */ + pcie-io-aperture = <0xf2000000 0x00100000>; /* 1 MiB I/O space */ devbus_bootcs: devbus-bootcs { compatible = "marvell,orion-devbus"; @@ -226,6 +229,54 @@ }; }; + pciec: pcie { + compatible = "marvell,orion5x-pcie"; + status = "disabled"; + device_type = "pci"; + #address-cells = <3>; + #size-cells = <2>; + + msi-parent = <&intc>; + bus-range = <0x00 0xff>; + + ranges = <0x82000000 0x0 0x40000 MBUS_ID(0xf0, 0x01) 0x40000 0x0 0x2000>, /* Port 0.0 Internal registers */ + <0x82000000 0x0 0xf0000000 MBUS_ID(0x04, 0x79) 0x0 0x0 0x10000000>, /* Port 0.0 Config space registers */ + <0x82000000 0x1 0x00000000 MBUS_ID(0x04, 0x59) 0x0 0x1 0x00000000>, /* Port 0.0 Mem */ + <0x81000000 0x1 0x00000000 MBUS_ID(0x04, 0x51) 0x0 0x1 0x00000000>; /* Port 0.0 I/O */ + + pcie0: pcie@1,0 { + status = "disabled"; + reg = <0x0800 0 0 0 0>; + device_type = "pci"; + #address-cells = <3>; + #size-cells = <2>; + + assigned-addresses = <0x82000800 0x0 0x40000 0x0 0x2000>, /* Port 0.0 Internal registers */ + <0x82000800 0x0 0xf0000000 0x0 0x10000000>; /* Port 0.0 Config space registers */ + ranges = <0x82000000 0x0 0x0 0x82000000 0x1 0x00000000 0x1 0x00000000>, /* Port 0.0 Mem */ + <0x81000000 0x0 0x0 0x81000000 0x1 0x00000000 0x1 0x00000000>; /* Port 0.0 I/O */ + bus-range = <0x00 0xff>; + + clocks = <&core_clk 0>; + marvell,pcie-port = <0>; + marvell,pcie-lane = <0>; + + #interrupt-cells = <1>; + interrupt-names = "intx", "error"; + interrupts = <11>, <10>; + interrupt-map-mask = <0 0 0 7>; + interrupt-map = <0 0 0 1 &pcie_intc 0>, + <0 0 0 2 &pcie_intc 1>, + <0 0 0 3 &pcie_intc 2>, + <0 0 0 4 &pcie_intc 3>; + + pcie_intc: interrupt-controller { + interrupt-controller; + #interrupt-cells = <1>; + }; + }; + }; + crypto_sram: sa-sram { compatible = "mmio-sram"; reg = ; -- 2.20.1 From mboxrd@z Thu Jan 1 00:00:00 1970 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 9A350ECAAD5 for ; Mon, 5 Sep 2022 19:48:30 +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:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=1jz3EKJHJnMPmjiFAGs0Qt6ZByxfdZReq767OubRoGs=; b=prXc/Kgk92DL1U d2y7bKlRQLOlkIo3aZ07XyZTfWVU22/E3yD5gRFG9Y3K3l3sW8vmqrNNHH6ad8n1159E+nhGxyGBf Rmis0ajtNZXy9vvlK85dd1F6mC1oFfUPXi1ed2rqXCQjvNBtW7f6mq/YJJsQy312G+yW9vPIsmfsG 92NExV50mvVkISqVtHakLgmw1Xbzf1ciQt8j7m/pSGc7FGpgSkPQ+G7L3HSaDAECg8ENI58KlshGh w4LKeyDJN3JNPBzV5WIP9JArIVrxX7DxSepBA+iQrPwfFfHHKTmIWe7Fjz5iGvehMLquD11G8H40y 00MuPFfcIzDteUYtobIQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oVI3s-009cSN-4b; Mon, 05 Sep 2022 19:47:12 +0000 Received: from dfw.source.kernel.org ([2604:1380:4641:c500::1]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oVHih-009FfN-VF for linux-arm-kernel@lists.infradead.org; Mon, 05 Sep 2022 19:25:21 +0000 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 8676E6106D; Mon, 5 Sep 2022 19:25:19 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3A08CC433C1; Mon, 5 Sep 2022 19:25:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1662405918; bh=ZacdliM5CoZmtUxRzDil8M4sBbkaHBWCQ94hEdIcfxU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=aIb6ot0n5NwflvIzaQmsNChFTos6Al5fqOAMg9r9liJ1gMwWfKRNivD0UW4I8lA00 kKDhSSZimKk/okc5M1M1W2uvckXDxf2pWoN+OJSf3AAH5YOHqpNbMHxJOiWH1E4ltJ QQ3W9mLrwy+wjgFU+qQItZwZd+Tu2aOX4KPNlw1iimCNPC1oLBd33kOwLdTrkujN57 6sWAaOymlQBhU7XnyWXtEZYVgOANJRUm9gOj9+1O/+Jyu9j2WetT+evY7mjgyhdiuj Ub7AHLholO7oaZ4cDVLL2TClDIwl0/g5s9AzXGfdBdsbuRbmD/QD1aoG3xIq1yDoAk 7Gzeh6pAkzQKQ== Received: by pali.im (Postfix) id E5CFD7D7; Mon, 5 Sep 2022 21:25:17 +0200 (CEST) From: =?UTF-8?q?Pali=20Roh=C3=A1r?= To: Bjorn Helgaas , Lorenzo Pieralisi , Rob Herring , Krzysztof Kozlowski , Andrew Lunn , Sebastian Hesselbarth , Gregory Clement , Russell King , =?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= , Thomas Petazzoni , Mauri Sandberg Cc: linux-pci@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH v3 7/7] ARM: dts: orion5x: Add PCIe node Date: Mon, 5 Sep 2022 21:23:10 +0200 Message-Id: <20220905192310.22786-8-pali@kernel.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20220905192310.22786-1-pali@kernel.org> References: <20220718202843.6766-1-maukka@ext.kapsi.fi> <20220905192310.22786-1-pali@kernel.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220905_122520_121135_81E7C8AF X-CRM114-Status: GOOD ( 17.53 ) 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: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org RGVmaW5lIFBDSWUgYXBlcnR1cmUgZm9yIHRvcCBsZXZlbCBzb2Mgbm9kZSBoYW5kbGVkIGJ5IG1i dXMgZHJpdmVyIGFuZApkZWZpbmUgUENJZSBjb250cm9sbGVyIG5vZGUgd2l0aCBvbmUgUENJZSBS b290IFBvcnQuCgpPbGQgT3Jpb24gYXJjaCBjb2RlIG1hcHMgZmlyc3QgMTYgTUIgb2YgUENJZSBj b25maWcgc3BhY2UgdG8gcGh5c2ljYWwKYWRkcmVzcyAweGYwMDAwMDAwLiBCdXQgZm9yIGZ1bGwg UENJZSBzdXBwb3J0IGl0IGlzIG5lZWRlZCB0byBtYXAgd2hvbGUKMjU2IE1CIGxvbmcgUENJZSBj b25maWcgc3BhY2UuCgpUaGVyZSBhcmUgcHJvYmFibHkgbm8gT3Jpb24gYm9hcmRzIHdpdGggbW9y ZSB0aGFuIDIgR0Igb2YgUkFNLCBzbyAyNTYgTUIgb2YKZnJlZSBwaHlzaWNhbCBhZGRyZXNzIHNw YWNlIG11c3QgZXhpc3QuIFRlc3RzIG9uIE9yaW9uIGJvYXJkIHByb3ZlZCB0aGF0CnRoZXJlIGlz IGZyZWUgc3BhY2UgaW4gcGh5c2ljYWwgYWRkcmVzcyByYW5nZSAweGQwMDAwMDAwLTB4ZGZmZmZm ZmYuCgpTbyB1c2UgdGhpcyBwaHlzaWNhbCBzcGFjZSBmb3IgbWFwcGluZyB3aG9sZSAyNTYgTUIg bG9uZyBQQ0llIGNvbmZpZyBzcGFjZS4KSW4gY2FzZSB0aGVyZSB3b3VsZCBiZSBzb21lIGlzc3Vl IHdpdGggdGhpcyByYW5nZSwgcGFydGljdWxhciBPcmlvbiBkZXZpY2UKdHJlZSBib2FyZCBmaWxl IGNhbiBjaGFuZ2UgaXQgdG8gMTYgTUIgc2l6ZSBvciBtb3ZlIGl0IHRvIG9sZCBsb2NhdGlvbi4K CkJ5IGRlZmF1bHQgb3Jpb241eC5kdHNpIGluY2x1ZGUgZmlsZSB3b3VsZCBjb250YWlucyB3aG9s ZSBQQ0llIGNvbmZpZyBzcGFjZQpmb3IgZnVsbCBQQ0llIHN1cHBvcnQuCgpCeSBkZWZhdWx0IGlz IFBDSWUgbm9kZSBkaXNhYmxlZCwgc28gdGhpcyBjaGFuZ2UgaW4gb3Jpb241eC5kdHNpIGhhcyBu bwplZmZlY3QgZm9yIGFueSBib2FyZCB1bnRpbCBib2FyZCBkdHMgZmlsZSBleHBsaWNpdGx5IGVu YWJsZSBpdC4gRWFjaCBib2FyZApoYXMgdG8gbWlncmF0ZSBpdHMgUENJZSBjb2RlIGZyb20gb2xk IGFyY2ggc3BlY2lmaWMgdG8gZGV2aWNlIHRyZWUgYmFzZWQuCgpTaWduZWQtb2ZmLWJ5OiBQYWxp IFJvaMOhciA8cGFsaUBrZXJuZWwub3JnPgotLS0KQ2hhbmdlcyBpbiB2MzoKKiBOZXcgcGF0Y2gK LS0tCiBhcmNoL2FybS9ib290L2R0cy9vcmlvbjV4LmR0c2kgfCA1MSArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgNTEgaW5zZXJ0aW9ucygrKQoKZGlm ZiAtLWdpdCBhL2FyY2gvYXJtL2Jvb3QvZHRzL29yaW9uNXguZHRzaSBiL2FyY2gvYXJtL2Jvb3Qv ZHRzL29yaW9uNXguZHRzaQppbmRleCAyZDQxZjVjMTY2ZWUuLjQxOTU0ZDk2ZWJiZiAxMDA2NDQK LS0tIGEvYXJjaC9hcm0vYm9vdC9kdHMvb3Jpb241eC5kdHNpCisrKyBiL2FyY2gvYXJtL2Jvb3Qv ZHRzL29yaW9uNXguZHRzaQpAQCAtMTgsNiArMTgsOSBAQAogCQkjYWRkcmVzcy1jZWxscyA9IDwy PjsKIAkJI3NpemUtY2VsbHMgPSA8MT47CiAJCWNvbnRyb2xsZXIgPSA8Jm1idXNjPjsKKwkJcGNp ZS1jZmctYXBlcnR1cmUgPSA8MHhkMDAwMDAwMCAweDEwMDAwMDAwPjsgLyogMjU2IE1pQiBjb25m aWcgc3BhY2UgKi8KKwkJcGNpZS1tZW0tYXBlcnR1cmUgPSA8MHhlMDAwMDAwMCAweDA4MDAwMDAw PjsgLyogMTI4IE1pQiBtZW1vcnkgc3BhY2UgKi8KKwkJcGNpZS1pby1hcGVydHVyZSAgPSA8MHhm MjAwMDAwMCAweDAwMTAwMDAwPjsgLyogICAxIE1pQiBJL08gc3BhY2UgKi8KIAogCQlkZXZidXNf Ym9vdGNzOiBkZXZidXMtYm9vdGNzIHsKIAkJCWNvbXBhdGlibGUgPSAibWFydmVsbCxvcmlvbi1k ZXZidXMiOwpAQCAtMjI2LDYgKzIyOSw1NCBAQAogCQkJfTsKIAkJfTsKIAorCQlwY2llYzogcGNp ZSB7CisJCQljb21wYXRpYmxlID0gIm1hcnZlbGwsb3Jpb241eC1wY2llIjsKKwkJCXN0YXR1cyA9 ICJkaXNhYmxlZCI7CisJCQlkZXZpY2VfdHlwZSA9ICJwY2kiOworCQkJI2FkZHJlc3MtY2VsbHMg PSA8Mz47CisJCQkjc2l6ZS1jZWxscyA9IDwyPjsKKworCQkJbXNpLXBhcmVudCA9IDwmaW50Yz47 CisJCQlidXMtcmFuZ2UgPSA8MHgwMCAweGZmPjsKKworCQkJcmFuZ2VzID0gPDB4ODIwMDAwMDAg MHgwICAgIDB4NDAwMDAgIE1CVVNfSUQoMHhmMCwgMHgwMSkgMHg0MDAwMCAgMHgwICAgICAweDIw MDA+LCAvKiBQb3J0IDAuMCBJbnRlcm5hbCByZWdpc3RlcnMgKi8KKwkJCQkgPDB4ODIwMDAwMDAg MHgwIDB4ZjAwMDAwMDAgIE1CVVNfSUQoMHgwNCwgMHg3OSkgICAgIDB4MCAgMHgwIDB4MTAwMDAw MDA+LCAvKiBQb3J0IDAuMCBDb25maWcgc3BhY2UgcmVnaXN0ZXJzICovCisJCQkJIDwweDgyMDAw MDAwIDB4MSAweDAwMDAwMDAwICBNQlVTX0lEKDB4MDQsIDB4NTkpICAgICAweDAgIDB4MSAweDAw MDAwMDAwPiwgLyogUG9ydCAwLjAgTWVtICovCisJCQkJIDwweDgxMDAwMDAwIDB4MSAweDAwMDAw MDAwICBNQlVTX0lEKDB4MDQsIDB4NTEpICAgICAweDAgIDB4MSAweDAwMDAwMDAwPjsgLyogUG9y dCAwLjAgSS9PICovCisKKwkJCXBjaWUwOiBwY2llQDEsMCB7CisJCQkJc3RhdHVzID0gImRpc2Fi bGVkIjsKKwkJCQlyZWcgPSA8MHgwODAwIDAgMCAwIDA+OworCQkJCWRldmljZV90eXBlID0gInBj aSI7CisJCQkJI2FkZHJlc3MtY2VsbHMgPSA8Mz47CisJCQkJI3NpemUtY2VsbHMgPSA8Mj47CisK KwkJCQlhc3NpZ25lZC1hZGRyZXNzZXMgPSAgICAgICAgIDwweDgyMDAwODAwIDB4MCAgICAweDQw MDAwICAweDAgICAgIDB4MjAwMD4sIC8qIFBvcnQgMC4wIEludGVybmFsIHJlZ2lzdGVycyAqLwor CQkJCQkJICAgICAgICAgICAgIDwweDgyMDAwODAwIDB4MCAweGYwMDAwMDAwICAweDAgMHgxMDAw MDAwMD47IC8qIFBvcnQgMC4wIENvbmZpZyBzcGFjZSByZWdpc3RlcnMgKi8KKwkJCQlyYW5nZXMg PSA8MHg4MjAwMDAwMCAweDAgMHgwICAweDgyMDAwMDAwIDB4MSAweDAwMDAwMDAwICAweDEgMHgw MDAwMDAwMD4sIC8qIFBvcnQgMC4wIE1lbSAqLworCQkJCSAgICAgICAgIDwweDgxMDAwMDAwIDB4 MCAweDAgIDB4ODEwMDAwMDAgMHgxIDB4MDAwMDAwMDAgIDB4MSAweDAwMDAwMDAwPjsgLyogUG9y dCAwLjAgSS9PICovCisJCQkJYnVzLXJhbmdlID0gPDB4MDAgMHhmZj47CisKKwkJCQljbG9ja3Mg PSA8JmNvcmVfY2xrIDA+OworCQkJCW1hcnZlbGwscGNpZS1wb3J0ID0gPDA+OworCQkJCW1hcnZl bGwscGNpZS1sYW5lID0gPDA+OworCisJCQkJI2ludGVycnVwdC1jZWxscyA9IDwxPjsKKwkJCQlp bnRlcnJ1cHQtbmFtZXMgPSAiaW50eCIsICJlcnJvciI7CisJCQkJaW50ZXJydXB0cyA9IDwxMT4s IDwxMD47CisJCQkJaW50ZXJydXB0LW1hcC1tYXNrID0gPDAgMCAwIDc+OworCQkJCWludGVycnVw dC1tYXAgPSA8MCAwIDAgMSAmcGNpZV9pbnRjIDA+LAorCQkJCQkJPDAgMCAwIDIgJnBjaWVfaW50 YyAxPiwKKwkJCQkJCTwwIDAgMCAzICZwY2llX2ludGMgMj4sCisJCQkJCQk8MCAwIDAgNCAmcGNp ZV9pbnRjIDM+OworCisJCQkJcGNpZV9pbnRjOiBpbnRlcnJ1cHQtY29udHJvbGxlciB7CisJCQkJ CWludGVycnVwdC1jb250cm9sbGVyOworCQkJCQkjaW50ZXJydXB0LWNlbGxzID0gPDE+OworCQkJ CX07CisJCQl9OworCQl9OworCiAJCWNyeXB0b19zcmFtOiBzYS1zcmFtIHsKIAkJCWNvbXBhdGli bGUgPSAibW1pby1zcmFtIjsKIAkJCXJlZyA9IDxNQlVTX0lEKDB4MDksIDB4MDApIDB4MCAweDgw MD47Ci0tIAoyLjIwLjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxp c3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0 aW5mby9saW51eC1hcm0ta2VybmVsCg==