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 A3086C433F5 for ; Mon, 6 Dec 2021 15:36:50 +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=kRsJlGQmZqxg9pHe0uHlstWSieKoJLRundRaby9nUvE=; b=V7hF7JF4mSU4B2 HUamoHi1+T6mDx29KbIc55bOpYxekHyWnDzdUJ27j2LIwkY/E9IOXcygc280c1MpdGUVp0ue6ZVBl AUyCR1b8e7Hl2Vtfg3ODeB5esxKwieGNVndEw01T9hTt8g8YrJrx+vPoi1I6ZlpT3g3sCPPFicWog 8AAnVL9wbSDd51h3MNCRGJ/BJc2upGsPgP7kdE+sXGSsZoQfl2bh5g8HdS//+gjxl/lr0CFV2Xqbm E/mRKn5YfZm5GGbwRthYCkjcnVIooLlS3JYwhp3TkNsjOQ5MsQuCzw4TN9ToAPdnXwzxUMa90+6Wu hbcPFt7N0GZT/yFId5Mw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1muG0t-004YSf-9Y; Mon, 06 Dec 2021 15:34:49 +0000 Received: from mail-ed1-x52b.google.com ([2a00:1450:4864:20::52b]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1muFz0-004XVz-FM for linux-arm-kernel@lists.infradead.org; Mon, 06 Dec 2021 15:32:54 +0000 Received: by mail-ed1-x52b.google.com with SMTP id l25so44393723eda.11 for ; Mon, 06 Dec 2021 07:32:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=F7yrcDnAroKP8zDbWuGR9DUPMalTcpxWl3hkwaON1SE=; b=kZfPpdDyBdNHmFrI4Va3PwOJQkaBKZbAHS5fUGYBDbvjiIx/dk8keSnkBW3bRgDObA VEdUir4Cfk11CF/fnUUxtVd1ot7XHONurcwbSWJ6yTb8VUvF6ppe9mn5DIb7nK0PPMia JXZ1VkJ+IJYHKPcDAp82Nw4twBUqBXNQlmlc0UBs3obycJ0uliUWVlBoSLWYXY49cQwH hr78v9iGvtwK5NyqdlvP2LdzDIated+8gkCq3RJ41KXHEhmLBgT4m5PoSdUjWEXcG49L 9VLRQixGQK49kC0C8y0NddX88xJiDyF2uSpFi2IHsJrCShKdSh5Tfow1J8SegAj41Otb w4Jg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=F7yrcDnAroKP8zDbWuGR9DUPMalTcpxWl3hkwaON1SE=; b=Ez0Td5c+CMZnu70UQ/oa+FsF6eBzVTVgg8EQj6vaxSYkNid1I5C2osqQn4aSAKqT+C tiosztoMNYY/ulqeMxJkOzCNfb2X/rjDoAg8TvVbwowP+RDwhcF33nAEsIAQy15Snia8 PFr4cfTm+Co3zOvH3Z3BgIu8OxnBYzcVBvGB1bobaJinE9t3L3AWr+uNUYOccKoTlRKP XPqaniaUYUwriW2Xz0QJ3TeWSF+/CwkYHNjhV+iHRvFPaqFaTquM5G0az7oCXInxr3DH 7SxFnJGx9NajhBAYdE66laEJq28JqeevWk99qN7W54llYUW5xz8cSHtLvyz/+C+EAsD3 k1pA== X-Gm-Message-State: AOAM532OTiSEFzU6qinuG9D+WBYMDFqSxvkyMQv/IR71Ws0AWD/RTHCx oKSY5IBj6TZglWZZ0hdZTLI= X-Google-Smtp-Source: ABdhPJz6d7CNP8S2O5nRLnAFdT7oAXwG0fq5gp5nj8Cj2VasapH9S5Feyv710cHJ8fhQ3VJ5qpPJ1w== X-Received: by 2002:a17:906:24ca:: with SMTP id f10mr45907794ejb.144.1638804768971; Mon, 06 Dec 2021 07:32:48 -0800 (PST) Received: from localhost.localdomain ([2a02:ab88:368f:2080:eab:126a:947d:3008]) by smtp.googlemail.com with ESMTPSA id d19sm7364688edt.34.2021.12.06.07.32.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Dec 2021 07:32:48 -0800 (PST) From: David Virag To: Cc: Sam Protsenko , David Virag , Krzysztof Kozlowski , Rob Herring , Sylwester Nawrocki , Tomasz Figa , Chanwoo Choi , Michael Turquette , Stephen Boyd , linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org Subject: [PATCH v4 7/7] arm64: dts: exynos: Add initial device tree support for Exynos7885 SoC Date: Mon, 6 Dec 2021 16:31:21 +0100 Message-Id: <20211206153124.427102-8-virag.david003@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20211206153124.427102-1-virag.david003@gmail.com> References: <20211206153124.427102-1-virag.david003@gmail.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211206_073250_804453_4992753E X-CRM114-Status: GOOD ( 21.44 ) 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 QWRkIGluaXRpYWwgRXh5bm9zNzg4NSBkZXZpY2UgdHJlZSBub2RlcyB3aXRoIGR0cyBmb3IgdGhl IFNhbXN1bmcgR2FsYXh5CkE4ICgyMDE4KSwgYS5rLmEuICJqYWNrcG90bHRlIiwgd2l0aCBtb2Rl bCBudW1iZXIgIlNNLUE1MzBGIi4KQ3VycmVudGx5IHRoaXMgaW5jbHVkZXMgc29tZSBjbG9jayBz dXBwb3J0LCBVQVJUIHN1cHBvcnQsIGFuZCBJMkMgbm9kZXMuCgpTaWduZWQtb2ZmLWJ5OiBEYXZp ZCBWaXJhZyA8dmlyYWcuZGF2aWQwMDNAZ21haWwuY29tPgotLS0KQ2hhbmdlcyBpbiB2MjoKICAt IFJlbW92ZSBhZGRyZXNzLWNlbGxzLCBhbmQgc2l6ZS1jZWxscyBmcm9tIGR0cywgc2luY2UgdGhl eSBhcmUKICAgIGFscmVhZHkgaW4gdGhlIGR0c2kuCiAgLSBMb3dlciBjYXNlIGhleCBpbiBtZW1v cnkgbm9kZQogIC0gRml4IG5vZGUgbmFtZXMgd2l0aCB1bmRlcnNjb3JlIGluc3RlYWQgb2YgaHlw aGVuCiAgLSBGaXggbGluZSBicmVha3MKICAtIEZpeCAiLWtleSIgbWlzc2luZyBmcm9tIGdwaW8g a2V5cyBub2RlIG5hbWVzCiAgLSBVc2UgdGhlIGZvcm0gd2l0aG91dCAia2V5IiBpbiBncGlvIGtl eSBsYWJlbHMgb24gYWxsIGtleXMKICAtIFN1ZmZpeCBwaW4gY29uZmlndXJhdGlvbiBub2RlIG5h bWVzIHdpdGggIi1waW5zIgogIC0gUmVtb3ZlICJmaW1jX2lzX21jbGsiIG5vZGVzIGZyb20gcGlu Y3RybCBkdHNpIGZvciBub3cKICAtIFVzZSBtYWNyb3MgZm9yICJzYW1zdW5nLHBpbi1jb24tcGRu IiwgYW5kICJzYW1zdW5nLHBpbi1jb24tcGRuIgogIC0gQWRkIGNvbW1lbnQgYWJvdXQgQXJtIFBN VQogIC0gUmVuYW1lICJjbG9jay1vc2NjbGsiIHRvICJvc2MtY2xvY2siCiAgLSBJbmNsdWRlIGV4 eW5vcy1zeXNjb24tcmVzdGFydC5kdHNpIGluc3RlYWQgb2YgcmV3cml0aW5nIGl0cyBjb250ZW50 cwoKQ2hhbmdlcyBpbiB2MzoKICAtIEZpeCB0eXBvIChzZXBlcmF0ZSAtPiBzZXBhcmF0ZSkKCkNo YW5nZXMgaW4gdjQ6CiAgLSBGaXhlZCBsZWFkaW5nIDB4IGluIGNsb2NrLWNvbnRyb2xsZXIgbm9k ZXMKICAtIEFjdHVhbGx5IHN1ZmZpeGVkIHBpbiBjb25maWd1cmF0aW9uIG5vZGUgbmFtZXMgd2l0 aCAiLXBpbnMiCiAgLSBTZXBlcmF0ZWQgQ29ydGV4LUE1MyBhbmQgQ29ydGV4LUE3MyBQTVUKCiBh cmNoL2FybTY0L2Jvb3QvZHRzL2V4eW5vcy9NYWtlZmlsZSAgICAgICAgICAgfCAgIDcgKy0KIC4u Li9ib290L2R0cy9leHlub3MvZXh5bm9zNzg4NS1qYWNrcG90bHRlLmR0cyB8ICA5NSArKwogLi4u L2Jvb3QvZHRzL2V4eW5vcy9leHlub3M3ODg1LXBpbmN0cmwuZHRzaSAgIHwgODY1ICsrKysrKysr KysrKysrKysrKwogYXJjaC9hcm02NC9ib290L2R0cy9leHlub3MvZXh5bm9zNzg4NS5kdHNpICAg IHwgNDM4ICsrKysrKysrKwogNCBmaWxlcyBjaGFuZ2VkLCAxNDAyIGluc2VydGlvbnMoKyksIDMg ZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgYXJjaC9hcm02NC9ib290L2R0cy9leHlu b3MvZXh5bm9zNzg4NS1qYWNrcG90bHRlLmR0cwogY3JlYXRlIG1vZGUgMTAwNjQ0IGFyY2gvYXJt NjQvYm9vdC9kdHMvZXh5bm9zL2V4eW5vczc4ODUtcGluY3RybC5kdHNpCiBjcmVhdGUgbW9kZSAx MDA2NDQgYXJjaC9hcm02NC9ib290L2R0cy9leHlub3MvZXh5bm9zNzg4NS5kdHNpCgpkaWZmIC0t Z2l0IGEvYXJjaC9hcm02NC9ib290L2R0cy9leHlub3MvTWFrZWZpbGUgYi9hcmNoL2FybTY0L2Jv b3QvZHRzL2V4eW5vcy9NYWtlZmlsZQppbmRleCBiNDFlODZkZjBhODQuLmM2OGM0YWQ1NzdhYyAx MDA2NDQKLS0tIGEvYXJjaC9hcm02NC9ib290L2R0cy9leHlub3MvTWFrZWZpbGUKKysrIGIvYXJj aC9hcm02NC9ib290L2R0cy9leHlub3MvTWFrZWZpbGUKQEAgLTEsNiArMSw3IEBACiAjIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wCiBkdGItJChDT05GSUdfQVJDSF9FWFlOT1MpICs9 IFwKLQlleHlub3M1NDMzLXRtMi5kdGIJXAotCWV4eW5vczU0MzMtdG0yZS5kdGIJXAotCWV4eW5v czctZXNwcmVzc28uZHRiCVwKKwlleHlub3M1NDMzLXRtMi5kdGIJCVwKKwlleHlub3M1NDMzLXRt MmUuZHRiCQlcCisJZXh5bm9zNy1lc3ByZXNzby5kdGIJCVwKKwlleHlub3M3ODg1LWphY2twb3Rs dGUuZHRiCVwKIAlleHlub3NhdXRvdjktc2Fkay5kdGIKZGlmZiAtLWdpdCBhL2FyY2gvYXJtNjQv Ym9vdC9kdHMvZXh5bm9zL2V4eW5vczc4ODUtamFja3BvdGx0ZS5kdHMgYi9hcmNoL2FybTY0L2Jv b3QvZHRzL2V4eW5vcy9leHlub3M3ODg1LWphY2twb3RsdGUuZHRzCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZjU5NDFkYzRjMzc0Ci0tLSAvZGV2L251bGwKKysrIGIv YXJjaC9hcm02NC9ib290L2R0cy9leHlub3MvZXh5bm9zNzg4NS1qYWNrcG90bHRlLmR0cwpAQCAt MCwwICsxLDk1IEBACisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAorLyoKKyAq IFNhbXN1bmcgR2FsYXh5IEE4IDIwMTggKGphY2twb3RsdGUvU00tQTUzMEYpIGRldmljZSB0cmVl IHNvdXJjZQorICoKKyAqIENvcHlyaWdodCAoYykgMjAyMSBTYW1zdW5nIEVsZWN0cm9uaWNzIENv LiwgTHRkLgorICogQ29weXJpZ2h0IChjKSAyMDIxIETDoXZpZCBWaXLDoWcKKyAqCisgKi8KKwor L2R0cy12MS87CisjaW5jbHVkZSAiZXh5bm9zNzg4NS5kdHNpIgorI2luY2x1ZGUgPGR0LWJpbmRp bmdzL2dwaW8vZ3Bpby5oPgorI2luY2x1ZGUgPGR0LWJpbmRpbmdzL2lucHV0L2lucHV0Lmg+Cisj aW5jbHVkZSA8ZHQtYmluZGluZ3MvaW50ZXJydXB0LWNvbnRyb2xsZXIvaXJxLmg+CisKKy8gewor CW1vZGVsID0gIlNhbXN1bmcgR2FsYXh5IEE4ICgyMDE4KSI7CisJY29tcGF0aWJsZSA9ICJzYW1z dW5nLGphY2twb3RsdGUiLCAic2Ftc3VuZyxleHlub3M3ODg1IjsKKwljaGFzc2lzLXR5cGUgPSAi aGFuZHNldCI7CisKKwlhbGlhc2VzIHsKKwkJc2VyaWFsMCA9ICZzZXJpYWxfMDsKKwkJc2VyaWFs MSA9ICZzZXJpYWxfMTsKKwkJc2VyaWFsMiA9ICZzZXJpYWxfMjsKKwl9OworCisJY2hvc2VuIHsK KwkJc3Rkb3V0LXBhdGggPSAmc2VyaWFsXzI7CisJfTsKKworCW1lbW9yeUA4MDAwMDAwMCB7CisJ CWRldmljZV90eXBlID0gIm1lbW9yeSI7CisJCXJlZyA9IDwweDAgMHg4MDAwMDAwMCAweDNkYTAw MDAwPiwKKwkJICAgICAgPDB4MCAweGMwMDAwMDAwIDB4NDAwMDAwMDA+LAorCQkgICAgICA8MHg4 IDB4ODAwMDAwMDAgMHg0MDAwMDAwMD47CisJfTsKKworCWdwaW8ta2V5cyB7CisJCWNvbXBhdGli bGUgPSAiZ3Bpby1rZXlzIjsKKwkJcGluY3RybC1uYW1lcyA9ICJkZWZhdWx0IjsKKwkJcGluY3Ry bC0wID0gPCZrZXlfdm9sdXAgJmtleV92b2xkb3duICZrZXlfcG93ZXI+OworCisJCXZvbHVwLWtl eSB7CisJCQlsYWJlbCA9ICJWb2x1bWUgVXAiOworCQkJaW50ZXJydXB0cyA9IDw1IElSUV9UWVBF X0xFVkVMX0hJR0ggMD47CisJCQlpbnRlcnJ1cHQtcGFyZW50ID0gPCZncGExPjsKKwkJCWxpbnV4 LGNvZGUgPSA8S0VZX1ZPTFVNRVVQPjsKKwkJCWdwaW9zID0gPCZncGExIDUgR1BJT19BQ1RJVkVf TE9XPjsKKwkJfTsKKworCQl2b2xkb3duLWtleSB7CisJCQlsYWJlbCA9ICJWb2x1bWUgRG93biI7 CisJCQlpbnRlcnJ1cHRzID0gPDYgSVJRX1RZUEVfTEVWRUxfSElHSCAwPjsKKwkJCWludGVycnVw dC1wYXJlbnQgPSA8JmdwYTE+OworCQkJbGludXgsY29kZSA9IDxLRVlfVk9MVU1FRE9XTj47CisJ CQlncGlvcyA9IDwmZ3BhMSA2IEdQSU9fQUNUSVZFX0xPVz47CisJCX07CisKKwkJcG93ZXIta2V5 IHsKKwkJCWxhYmVsID0gIlBvd2VyIjsKKwkJCWludGVycnVwdHMgPSA8NyBJUlFfVFlQRV9MRVZF TF9ISUdIIDA+OworCQkJaW50ZXJydXB0LXBhcmVudCA9IDwmZ3BhMT47CisJCQlsaW51eCxjb2Rl ID0gPEtFWV9QT1dFUj47CisJCQlncGlvcyA9IDwmZ3BhMSA3IEdQSU9fQUNUSVZFX0xPVz47CisJ CQl3YWtldXAtc291cmNlOworCQl9OworCX07Cit9OworCismc2VyaWFsXzIgeworCXN0YXR1cyA9 ICJva2F5IjsKK307CisKKyZwaW5jdHJsX2FsaXZlIHsKKwlrZXlfdm9sdXA6IGtleS12b2x1cC1w aW5zIHsKKwkJc2Ftc3VuZyxwaW5zID0gImdwYTEtNSI7CisJCXNhbXN1bmcscGluLWZ1bmN0aW9u ID0gPEVYWU5PU19QSU5fRlVOQ19GPjsKKwkJc2Ftc3VuZyxwaW4tcHVkID0gPEVYWU5PU19QSU5f UFVMTF9OT05FPjsKKwkJc2Ftc3VuZyxwaW4tZHJ2ID0gPDA+OworCX07CisKKwlrZXlfdm9sZG93 bjoga2V5LXZvbGRvd24tcGlucyB7CisJCXNhbXN1bmcscGlucyA9ICJncGExLTYiOworCQlzYW1z dW5nLHBpbi1mdW5jdGlvbiA9IDxFWFlOT1NfUElOX0ZVTkNfRj47CisJCXNhbXN1bmcscGluLXB1 ZCA9IDxFWFlOT1NfUElOX1BVTExfTk9ORT47CisJCXNhbXN1bmcscGluLWRydiA9IDwwPjsKKwl9 OworCisJa2V5X3Bvd2VyOiBrZXktcG93ZXItcGlucyB7CisJCXNhbXN1bmcscGlucyA9ICJncGEx LTciOworCQlzYW1zdW5nLHBpbi1mdW5jdGlvbiA9IDxFWFlOT1NfUElOX0ZVTkNfRj47CisJCXNh bXN1bmcscGluLXB1ZCA9IDxFWFlOT1NfUElOX1BVTExfTk9ORT47CisJCXNhbXN1bmcscGluLWRy diA9IDwwPjsKKwl9OworfTsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtNjQvYm9vdC9kdHMvZXh5bm9z L2V4eW5vczc4ODUtcGluY3RybC5kdHNpIGIvYXJjaC9hcm02NC9ib290L2R0cy9leHlub3MvZXh5 bm9zNzg4NS1waW5jdHJsLmR0c2kKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw MDAwLi44MzM2YjJlNDg4NTgKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybTY0L2Jvb3QvZHRz L2V4eW5vcy9leHlub3M3ODg1LXBpbmN0cmwuZHRzaQpAQCAtMCwwICsxLDg2NSBAQAorLy8gU1BE WC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAKKy8qCisgKiBTYW1zdW5nIEV4eW5vczc4ODUg U29DIHBpbi1tdXggYW5kIHBpbi1jb25maWcgZGV2aWNlIHRyZWUgc291cmNlCisgKgorICogQ29w eXJpZ2h0IChjKSAyMDE3IFNhbXN1bmcgRWxlY3Ryb25pY3MgQ28uLCBMdGQuCisgKiBDb3B5cmln aHQgKGMpIDIwMjEgRMOhdmlkIFZpcsOhZworICoKKyAqIFNhbXN1bmcncyBFeHlub3M3ODg1IFNv QyBwaW4tbXV4IGFuZCBwaW4tY29uZmlnIG9wdGlvbnMgYXJlIGxpc3RlZCBhcworICogZGV2aWNl IHRyZWUgbm9kZXMgaW4gdGhpcyBmaWxlLgorICovCisKKyNpbmNsdWRlIDxkdC1iaW5kaW5ncy9w aW5jdHJsL3NhbXN1bmcuaD4KKworJnBpbmN0cmxfYWxpdmUgeworCWV0YzA6IGV0YzAgeworCQln cGlvLWNvbnRyb2xsZXI7CisJCSNncGlvLWNlbGxzID0gPDI+OworCisJCWludGVycnVwdC1jb250 cm9sbGVyOworCQkjaW50ZXJydXB0LWNlbGxzID0gPDI+OworCX07CisKKwlldGMxOiBldGMxIHsK KwkJZ3Bpby1jb250cm9sbGVyOworCQkjZ3Bpby1jZWxscyA9IDwyPjsKKworCQlpbnRlcnJ1cHQt Y29udHJvbGxlcjsKKwkJI2ludGVycnVwdC1jZWxscyA9IDwyPjsKKwl9OworCisJZ3BhMDogZ3Bh MCB7CisJCWdwaW8tY29udHJvbGxlcjsKKwkJI2dwaW8tY2VsbHMgPSA8Mj47CisKKwkJaW50ZXJy dXB0LWNvbnRyb2xsZXI7CisJCSNpbnRlcnJ1cHQtY2VsbHMgPSA8Mj47CisJCWludGVycnVwdC1w YXJlbnQgPSA8JmdpYz47CisJCWludGVycnVwdHMgPSA8R0lDX1NQSSAwIElSUV9UWVBFX0xFVkVM X0hJR0g+LAorCQkJICAgICA8R0lDX1NQSSAxIElSUV9UWVBFX0xFVkVMX0hJR0g+LAorCQkJICAg ICA8R0lDX1NQSSAyIElSUV9UWVBFX0xFVkVMX0hJR0g+LAorCQkJICAgICA8R0lDX1NQSSAzIElS UV9UWVBFX0xFVkVMX0hJR0g+LAorCQkJICAgICA8R0lDX1NQSSA0IElSUV9UWVBFX0xFVkVMX0hJ R0g+LAorCQkJICAgICA8R0lDX1NQSSA1IElSUV9UWVBFX0xFVkVMX0hJR0g+LAorCQkJICAgICA8 R0lDX1NQSSA2IElSUV9UWVBFX0xFVkVMX0hJR0g+LAorCQkJICAgICA8R0lDX1NQSSA3IElSUV9U WVBFX0xFVkVMX0hJR0g+OworCX07CisKKwlncGExOiBncGExIHsKKwkJZ3Bpby1jb250cm9sbGVy OworCQkjZ3Bpby1jZWxscyA9IDwyPjsKKworCQlpbnRlcnJ1cHQtY29udHJvbGxlcjsKKwkJI2lu dGVycnVwdC1jZWxscyA9IDwzPjsKKwkJaW50ZXJydXB0LXBhcmVudCA9IDwmZ2ljPjsKKwkJaW50 ZXJydXB0cyA9IDxHSUNfU1BJIDggSVJRX1RZUEVfTEVWRUxfSElHSD4sCisJCQkgICAgIDxHSUNf U1BJIDkgSVJRX1RZUEVfTEVWRUxfSElHSD4sCisJCQkgICAgIDxHSUNfU1BJIDEwIElSUV9UWVBF X0xFVkVMX0hJR0g+LAorCQkJICAgICA8R0lDX1NQSSAxMSBJUlFfVFlQRV9MRVZFTF9ISUdIPiwK KwkJCSAgICAgPEdJQ19TUEkgMTIgSVJRX1RZUEVfTEVWRUxfSElHSD4sCisJCQkgICAgIDxHSUNf U1BJIDEzIElSUV9UWVBFX0xFVkVMX0hJR0g+LAorCQkJICAgICA8R0lDX1NQSSAxNCBJUlFfVFlQ RV9MRVZFTF9ISUdIPiwKKwkJCSAgICAgPEdJQ19TUEkgMTUgSVJRX1RZUEVfTEVWRUxfSElHSD47 CisJfTsKKworCWdwYTI6IGdwYTIgeworCQlncGlvLWNvbnRyb2xsZXI7CisJCSNncGlvLWNlbGxz ID0gPDI+OworCisJCWludGVycnVwdC1jb250cm9sbGVyOworCQkjaW50ZXJydXB0LWNlbGxzID0g PDI+OworCX07CisKKwlncHEwOiBncHEwIHsKKwkJZ3Bpby1jb250cm9sbGVyOworCQkjZ3Bpby1j ZWxscyA9IDwyPjsKKworCQlpbnRlcnJ1cHQtY29udHJvbGxlcjsKKwkJI2ludGVycnVwdC1jZWxs cyA9IDwyPjsKKwl9OworCisJc2ltMV9kZXRfZ3Bpbzogc2ltMS1kZXQtZ3Bpby1waW5zIHsKKwkJ c2Ftc3VuZyxwaW5zID0gImdwYTItNSI7CisJCXNhbXN1bmcscGluLWZ1bmN0aW9uID0gPEVYWU5P U19QSU5fRlVOQ19GPjsKKwkJc2Ftc3VuZyxwaW4tcHVkID0gPEVYWU5PU19QSU5fUFVMTF9OT05F PjsKKwl9OworCisJc2ltMF9kZXRfZ3Bpbzogc2ltMC1kZXQtZ3Bpby1waW5zIHsKKwkJc2Ftc3Vu ZyxwaW5zID0gImdwYTItNiI7CisJCXNhbXN1bmcscGluLWZ1bmN0aW9uID0gPEVYWU5PU19QSU5f RlVOQ19GPjsKKwkJc2Ftc3VuZyxwaW4tcHVkID0gPEVYWU5PU19QSU5fUFVMTF9OT05FPjsKKwl9 OworCisJc3BlZWR5X2J1czogc3BlZWR5LWJ1cy1waW5zIHsKKwkJc2Ftc3VuZyxwaW5zID0gImdw cTAtMiI7CisJCXNhbXN1bmcscGluLWZ1bmN0aW9uID0gPEVYWU5PU19QSU5fRlVOQ18yPjsKKwkJ c2Ftc3VuZyxwaW4tY29uLXBkbiA9IDxFWFlOT1NfUElOX1BETl9QUkVWPjsKKwkJc2Ftc3VuZyxw aW4tcHVkID0gPEVYWU5PU19QSU5fUFVMTF9VUD47CisJCXNhbXN1bmcscGluLWRydiA9IDwwPjsK Kwl9OworCisJLyogVUFSVF9ERUJVRyAqLworCXVhcnQyX2J1czogdWFydDItYnVzLXBpbnMgewor CQlzYW1zdW5nLHBpbnMgPSAiZ3BxMC00IiwgImdwcTAtMyI7CisJCXNhbXN1bmcscGluLWZ1bmN0 aW9uID0gPEVYWU5PU19QSU5fRlVOQ18yPjsKKwkJc2Ftc3VuZyxwaW4tcHVkID0gPEVYWU5PU19Q SU5fUFVMTF9OT05FPjsKKwl9OworfTsKKworJnBpbmN0cmxfZGlzcGF1ZCB7CisJZ3BiMDogZ3Bi MCB7CisJCWdwaW8tY29udHJvbGxlcjsKKwkJI2dwaW8tY2VsbHMgPSA8Mj47CisKKwkJaW50ZXJy dXB0LWNvbnRyb2xsZXI7CisJCSNpbnRlcnJ1cHQtY2VsbHMgPSA8Mj47CisJfTsKKworCWdwYjE6 IGdwYjEgeworCQlncGlvLWNvbnRyb2xsZXI7CisJCSNncGlvLWNlbGxzID0gPDI+OworCisJCWlu dGVycnVwdC1jb250cm9sbGVyOworCQkjaW50ZXJydXB0LWNlbGxzID0gPDI+OworCX07CisKKwln cGIyOiBncGIyIHsKKwkJZ3Bpby1jb250cm9sbGVyOworCQkjZ3Bpby1jZWxscyA9IDwyPjsKKwor CQlpbnRlcnJ1cHQtY29udHJvbGxlcjsKKwkJI2ludGVycnVwdC1jZWxscyA9IDwyPjsKKwl9Owor CisJYXVkX2NvZGVjX21jbGs6IGF1ZC1jb2RlYy1tY2xrLXBpbnMgeworCQlzYW1zdW5nLHBpbnMg PSAiZ3BiMC0wIjsKKwkJc2Ftc3VuZyxwaW4tZnVuY3Rpb24gPSA8RVhZTk9TX1BJTl9GVU5DXzI+ OworCQlzYW1zdW5nLHBpbi1wdWQgPSA8RVhZTk9TX1BJTl9QVUxMX0RPV04+OworCX07CisKKwlh dWRfY29kZWNfbWNsa19pZGxlOiBhdWQtY29kZWMtbWNsay1pZGxlLXBpbnMgeworCQlzYW1zdW5n LHBpbnMgPSAiZ3BiMC0wIjsKKwkJc2Ftc3VuZyxwaW4tZnVuY3Rpb24gPSA8RVhZTk9TX1BJTl9G VU5DX0lOUFVUPjsKKwkJc2Ftc3VuZyxwaW4tcHVkID0gPEVYWU5PU19QSU5fUFVMTF9ET1dOPjsK Kwl9OworCisJYXVkX2NvZGVjX2J1czogYXVkLWNvZGVjLWJ1cy1waW5zIHsKKwkJc2Ftc3VuZyxw aW5zID0gImdwYjAtMSIsICJncGIwLTIiLCAiZ3BiMC0zIiwgImdwYjAtNCI7CisJCXNhbXN1bmcs cGluLWZ1bmN0aW9uID0gPEVYWU5PU19QSU5fRlVOQ18yPjsKKwkJc2Ftc3VuZyxwaW4tcHVkID0g PEVYWU5PU19QSU5fUFVMTF9ET1dOPjsKKwl9OworCisJYXVkX2NvZGVjX2J1c19pZGxlOiBhdWQt Y29kZWMtYnVzLWlkbGUtcGlucyB7CisJCXNhbXN1bmcscGlucyA9ICJncGIwLTEiLCAiZ3BiMC0y IiwgImdwYjAtMyIsICJncGIwLTQiOworCQlzYW1zdW5nLHBpbi1mdW5jdGlvbiA9IDxFWFlOT1Nf UElOX0ZVTkNfSU5QVVQ+OworCQlzYW1zdW5nLHBpbi1wdWQgPSA8RVhZTk9TX1BJTl9QVUxMX0RP V04+OworCX07CisKKwlhdWRfbG9vcGJhY2tfYnVzOiBhdWQtbG9vcGJhY2stYnVzLXBpbnMgewor CQlzYW1zdW5nLHBpbnMgPSAiZ3BiMS0wIjsKKwkJc2Ftc3VuZyxwaW4tZnVuY3Rpb24gPSA8RVhZ Tk9TX1BJTl9GVU5DXzI+OworCQlzYW1zdW5nLHBpbi1wdWQgPSA8RVhZTk9TX1BJTl9QVUxMX0RP V04+OworCX07CisKKwlhdWRfbG9vcGJhY2tfYnVzX2lkbGU6IGF1ZC1sb29wYmFjay1idXMtaWRs ZS1waW5zIHsKKwkJc2Ftc3VuZyxwaW5zID0gImdwYjEtMCI7CisJCXNhbXN1bmcscGluLWZ1bmN0 aW9uID0gPEVYWU5PU19QSU5fRlVOQ19JTlBVVD47CisJCXNhbXN1bmcscGluLXB1ZCA9IDxFWFlO T1NfUElOX1BVTExfRE9XTj47CisJfTsKKworCWF1ZF9mbV9idXM6IGF1ZC1mbS1idXMtcGlucyB7 CisJCXNhbXN1bmcscGlucyA9ICJncGIxLTEiLCAiZ3BiMS0yIiwgImdwYjEtMyI7CisJCXNhbXN1 bmcscGluLWZ1bmN0aW9uID0gPEVYWU5PU19QSU5fRlVOQ18yPjsKKwkJc2Ftc3VuZyxwaW4tcHVk ID0gPEVYWU5PU19QSU5fUFVMTF9ET1dOPjsKKwl9OworCisJYXVkX2ZtX2J1c19pZGxlOiBhdWQt Zm0tYnVzLWlkbGUtcGlucyB7CisJCXNhbXN1bmcscGlucyA9ICJncGIxLTEiLCAiZ3BiMS0yIiwg ImdwYjEtMyI7CisJCXNhbXN1bmcscGluLWZ1bmN0aW9uID0gPEVYWU5PU19QSU5fRlVOQ19JTlBV VD47CisJCXNhbXN1bmcscGluLXB1ZCA9IDxFWFlOT1NfUElOX1BVTExfRE9XTj47CisJfTsKKwor CWF1ZF9zcGtfYnVzOiBhdWQtc3BrLWJ1cy1waW5zIHsKKwkJc2Ftc3VuZyxwaW5zID0gImdwYjIt MCIsICJncGIyLTEiLCAiZ3BiMi0yIiwgImdwYjItMyI7CisJCXNhbXN1bmcscGluLWZ1bmN0aW9u ID0gPEVYWU5PU19QSU5fRlVOQ18yPjsKKwkJc2Ftc3VuZyxwaW4tcHVkID0gPEVYWU5PU19QSU5f UFVMTF9ET1dOPjsKKwl9OworCisJYXVkX3Nwa19idXNfaWRsZTogYXVkLXNway1idXMtaWRsZS1w aW5zIHsKKwkJc2Ftc3VuZyxwaW5zID0gImdwYjItMCIsICJncGIyLTEiLCAiZ3BiMi0yIiwgImdw YjItMyI7CisJCXNhbXN1bmcscGluLWZ1bmN0aW9uID0gPEVYWU5PU19QSU5fRlVOQ19JTlBVVD47 CisJCXNhbXN1bmcscGluLXB1ZCA9IDxFWFlOT1NfUElOX1BVTExfRE9XTj47CisJfTsKK307CisK KyZwaW5jdHJsX2ZzeXMgeworCWdwZjA6IGdwZjAgeworCQlncGlvLWNvbnRyb2xsZXI7CisJCSNn cGlvLWNlbGxzID0gPDI+OworCisJCWludGVycnVwdC1jb250cm9sbGVyOworCQkjaW50ZXJydXB0 LWNlbGxzID0gPDI+OworCX07CisKKwlncGYyOiBncGYyIHsKKwkJZ3Bpby1jb250cm9sbGVyOwor CQkjZ3Bpby1jZWxscyA9IDwyPjsKKworCQlpbnRlcnJ1cHQtY29udHJvbGxlcjsKKwkJI2ludGVy cnVwdC1jZWxscyA9IDwyPjsKKwl9OworCisJZ3BmMzogZ3BmMyB7CisJCWdwaW8tY29udHJvbGxl cjsKKwkJI2dwaW8tY2VsbHMgPSA8Mj47CisKKwkJaW50ZXJydXB0LWNvbnRyb2xsZXI7CisJCSNp bnRlcnJ1cHQtY2VsbHMgPSA8Mj47CisJfTsKKworCWdwZjQ6IGdwZjQgeworCQlncGlvLWNvbnRy b2xsZXI7CisJCSNncGlvLWNlbGxzID0gPDI+OworCisJCWludGVycnVwdC1jb250cm9sbGVyOwor CQkjaW50ZXJydXB0LWNlbGxzID0gPDI+OworCX07CisKKwlzZDBfY2xrOiBzZDAtY2xrLXBpbnMg eworCQlzYW1zdW5nLHBpbnMgPSAiZ3BmMC0wIjsKKwkJc2Ftc3VuZyxwaW4tZnVuY3Rpb24gPSA8 RVhZTk9TX1BJTl9GVU5DXzI+OworCQlzYW1zdW5nLHBpbi1wdWQgPSA8RVhZTk9TX1BJTl9QVUxM X05PTkU+OworCQlzYW1zdW5nLHBpbi1kcnYgPSA8Mz47CisJfTsKKworCXNkMF9jbGtfZmFzdF9z bGV3X3JhdGVfMXg6IHNkMC1jbGstZmFzdC1zbGV3LXJhdGUtMXgtcGlucyB7CisJCXNhbXN1bmcs cGlucyA9ICJncGYwLTAiOworCQlzYW1zdW5nLHBpbi1mdW5jdGlvbiA9IDxFWFlOT1NfUElOX0ZV TkNfMj47CisJCXNhbXN1bmcscGluLXB1ZCA9IDxFWFlOT1NfUElOX1BVTExfTk9ORT47CisJCXNh bXN1bmcscGluLWRydiA9IDwwPjsKKwl9OworCisJc2QwX2Nsa19mYXN0X3NsZXdfcmF0ZV8yeDog c2QwLWNsay1mYXN0LXNsZXctcmF0ZS0yeC1waW5zIHsKKwkJc2Ftc3VuZyxwaW5zID0gImdwZjAt MCI7CisJCXNhbXN1bmcscGluLWZ1bmN0aW9uID0gPEVYWU5PU19QSU5fRlVOQ18yPjsKKwkJc2Ft c3VuZyxwaW4tcHVkID0gPEVYWU5PU19QSU5fUFVMTF9OT05FPjsKKwkJc2Ftc3VuZyxwaW4tZHJ2 ID0gPDE+OworCX07CisKKwlzZDBfY2xrX2Zhc3Rfc2xld19yYXRlXzN4OiBzZDAtY2xrLWZhc3Qt c2xldy1yYXRlLTN4LXBpbnMgeworCQlzYW1zdW5nLHBpbnMgPSAiZ3BmMC0wIjsKKwkJc2Ftc3Vu ZyxwaW4tZnVuY3Rpb24gPSA8RVhZTk9TX1BJTl9GVU5DXzI+OworCQlzYW1zdW5nLHBpbi1wdWQg PSA8RVhZTk9TX1BJTl9QVUxMX05PTkU+OworCQlzYW1zdW5nLHBpbi1kcnYgPSA8Mj47CisJfTsK KworCXNkMF9jbGtfZmFzdF9zbGV3X3JhdGVfNHg6IHNkMC1jbGstZmFzdC1zbGV3LXJhdGUtNHgt cGlucyB7CisJCXNhbXN1bmcscGlucyA9ICJncGYwLTAiOworCQlzYW1zdW5nLHBpbi1mdW5jdGlv biA9IDxFWFlOT1NfUElOX0ZVTkNfMj47CisJCXNhbXN1bmcscGluLXB1ZCA9IDxFWFlOT1NfUElO X1BVTExfTk9ORT47CisJCXNhbXN1bmcscGluLWRydiA9IDwzPjsKKwl9OworCisJc2QwX2NtZDog c2QwLWNtZC1waW5zIHsKKwkJc2Ftc3VuZyxwaW5zID0gImdwZjAtMSI7CisJCXNhbXN1bmcscGlu LWZ1bmN0aW9uID0gPEVYWU5PU19QSU5fRlVOQ18yPjsKKwkJc2Ftc3VuZyxwaW4tcHVkID0gPEVY WU5PU19QSU5fUFVMTF9VUD47CisJCXNhbXN1bmcscGluLWRydiA9IDwzPjsKKwl9OworCisJc2Qw X3JkcXM6IHNkMC1yZHFzLXBpbnMgeworCQlzYW1zdW5nLHBpbnMgPSAiZ3BmMC0yIjsKKwkJc2Ft c3VuZyxwaW4tZnVuY3Rpb24gPSA8RVhZTk9TX1BJTl9GVU5DXzI+OworCQlzYW1zdW5nLHBpbi1w dWQgPSA8RVhZTk9TX1BJTl9QVUxMX0RPV04+OworCQlzYW1zdW5nLHBpbi1kcnYgPSA8Mz47CisJ fTsKKworCXNkMF9idXMxOiBzZDAtYnVzLXdpZHRoMS1waW5zIHsKKwkJc2Ftc3VuZyxwaW5zID0g ImdwZjItMCI7CisJCXNhbXN1bmcscGluLWZ1bmN0aW9uID0gPEVYWU5PU19QSU5fRlVOQ18yPjsK KwkJc2Ftc3VuZyxwaW4tcHVkID0gPEVYWU5PU19QSU5fUFVMTF9VUD47CisJCXNhbXN1bmcscGlu LWRydiA9IDwzPjsKKwl9OworCisJc2QwX2J1czQ6IHNkMC1idXMtd2lkdGg0LXBpbnMgeworCQlz YW1zdW5nLHBpbnMgPSAiZ3BmMi0xIiwgImdwZjItMiIsICJncGYyLTMiOworCQlzYW1zdW5nLHBp bi1mdW5jdGlvbiA9IDxFWFlOT1NfUElOX0ZVTkNfMj47CisJCXNhbXN1bmcscGluLXB1ZCA9IDxF WFlOT1NfUElOX1BVTExfVVA+OworCQlzYW1zdW5nLHBpbi1kcnYgPSA8Mz47CisJfTsKKworCXNk MF9idXM4OiBzZDAtYnVzLXdpZHRoOC1waW5zIHsKKwkJc2Ftc3VuZyxwaW5zID0gImdwZjItNCIs ICJncGYyLTUiLCAiZ3BmMi02IiwgImdwZjItNyI7CisJCXNhbXN1bmcscGluLWZ1bmN0aW9uID0g PEVYWU5PU19QSU5fRlVOQ18yPjsKKwkJc2Ftc3VuZyxwaW4tcHVkID0gPEVYWU5PU19QSU5fUFVM TF9VUD47CisJCXNhbXN1bmcscGluLWRydiA9IDwzPjsKKwl9OworCisJc2QxX2Nsazogc2QxLWNs ay1waW5zIHsKKwkJc2Ftc3VuZyxwaW5zID0gImdwZjMtMCI7CisJCXNhbXN1bmcscGluLWZ1bmN0 aW9uID0gPEVYWU5PU19QSU5fRlVOQ18yPjsKKwkJc2Ftc3VuZyxwaW4tcHVkID0gPEVYWU5PU19Q SU5fUFVMTF9OT05FPjsKKwkJc2Ftc3VuZyxwaW4tZHJ2ID0gPDI+OworCX07CisKKwlzZDFfY2xr X2Zhc3Rfc2xld19yYXRlXzF4OiBzZDEtY2xrLWZhc3Qtc2xldy1yYXRlLTF4LXBpbnMgeworCQlz YW1zdW5nLHBpbnMgPSAiZ3BmMy0wIjsKKwkJc2Ftc3VuZyxwaW4tZnVuY3Rpb24gPSA8RVhZTk9T X1BJTl9GVU5DXzI+OworCQlzYW1zdW5nLHBpbi1wdWQgPSA8RVhZTk9TX1BJTl9QVUxMX05PTkU+ OworCQlzYW1zdW5nLHBpbi1kcnYgPSA8MD47CisJfTsKKworCXNkMV9jbGtfZmFzdF9zbGV3X3Jh dGVfMng6IHNkMS1jbGstZmFzdC1zbGV3LXJhdGUtMngtcGlucyB7CisJCXNhbXN1bmcscGlucyA9 ICJncGYzLTAiOworCQlzYW1zdW5nLHBpbi1mdW5jdGlvbiA9IDxFWFlOT1NfUElOX0ZVTkNfMj47 CisJCXNhbXN1bmcscGluLXB1ZCA9IDxFWFlOT1NfUElOX1BVTExfTk9ORT47CisJCXNhbXN1bmcs cGluLWRydiA9IDwxPjsKKwl9OworCisJc2QxX2Nsa19mYXN0X3NsZXdfcmF0ZV8zeDogc2QxLWNs ay1mYXN0LXNsZXctcmF0ZS0zeC1waW5zIHsKKwkJc2Ftc3VuZyxwaW5zID0gImdwZjMtMCI7CisJ CXNhbXN1bmcscGluLWZ1bmN0aW9uID0gPEVYWU5PU19QSU5fRlVOQ18yPjsKKwkJc2Ftc3VuZyxw aW4tcHVkID0gPEVYWU5PU19QSU5fUFVMTF9OT05FPjsKKwkJc2Ftc3VuZyxwaW4tZHJ2ID0gPDI+ OworCX07CisKKwlzZDFfY2xrX2Zhc3Rfc2xld19yYXRlXzR4OiBzZDEtY2xrLWZhc3Qtc2xldy1y YXRlLTR4LXBpbnMgeworCQlzYW1zdW5nLHBpbnMgPSAiZ3BmMy0wIjsKKwkJc2Ftc3VuZyxwaW4t ZnVuY3Rpb24gPSA8RVhZTk9TX1BJTl9GVU5DXzI+OworCQlzYW1zdW5nLHBpbi1wdWQgPSA8RVhZ Tk9TX1BJTl9QVUxMX05PTkU+OworCQlzYW1zdW5nLHBpbi1kcnYgPSA8Mz47CisJfTsKKworCXNk MV9jbWQ6IHNkMS1jbWQtcGlucyB7CisJCXNhbXN1bmcscGlucyA9ICJncGYzLTEiOworCQlzYW1z dW5nLHBpbi1mdW5jdGlvbiA9IDxFWFlOT1NfUElOX0ZVTkNfMj47CisJCXNhbXN1bmcscGluLXB1 ZCA9IDxFWFlOT1NfUElOX1BVTExfVVA+OworCQlzYW1zdW5nLHBpbi1kcnYgPSA8Mj47CisJfTsK KworCXNkMV9idXMxOiBzZDEtYnVzLXdpZHRoMS1waW5zIHsKKwkJc2Ftc3VuZyxwaW5zID0gImdw ZjMtMiI7CisJCXNhbXN1bmcscGluLWZ1bmN0aW9uID0gPEVYWU5PU19QSU5fRlVOQ18yPjsKKwkJ c2Ftc3VuZyxwaW4tcHVkID0gPEVYWU5PU19QSU5fUFVMTF9VUD47CisJCXNhbXN1bmcscGluLWRy diA9IDwyPjsKKwl9OworCisJc2QxX2J1czQ6IHNkMS1idXMtd2lkdGg0LXBpbnMgeworCQlzYW1z dW5nLHBpbnMgPSAiZ3BmMy0zIiwgImdwZjMtNSI7CisJCXNhbXN1bmcscGluLWZ1bmN0aW9uID0g PEVYWU5PU19QSU5fRlVOQ18yPjsKKwkJc2Ftc3VuZyxwaW4tcHVkID0gPEVYWU5PU19QSU5fUFVM TF9VUD47CisJCXNhbXN1bmcscGluLWRydiA9IDwyPjsKKwl9OworCisJc2QyX2Nsazogc2QyLWNs ay1waW5zIHsKKwkJc2Ftc3VuZyxwaW5zID0gImdwZjQtMCI7CisJCXNhbXN1bmcscGluLWZ1bmN0 aW9uID0gPEVYWU5PU19QSU5fRlVOQ18yPjsKKwkJc2Ftc3VuZyxwaW4tcHVkID0gPEVYWU5PU19Q SU5fUFVMTF9OT05FPjsKKwkJc2Ftc3VuZyxwaW4tZHJ2ID0gPDI+OworCX07CisKKwlzZDJfY2xr X2Zhc3Rfc2xld19yYXRlXzF4OiBzZDItY2xrLWZhc3Qtc2xldy1yYXRlLTF4LXBpbnMgeworCQlz YW1zdW5nLHBpbnMgPSAiZ3BmNC0wIjsKKwkJc2Ftc3VuZyxwaW4tZnVuY3Rpb24gPSA8RVhZTk9T X1BJTl9GVU5DXzI+OworCQlzYW1zdW5nLHBpbi1wdWQgPSA8RVhZTk9TX1BJTl9QVUxMX05PTkU+ OworCQlzYW1zdW5nLHBpbi1kcnYgPSA8MD47CisJfTsKKworCXNkMl9jbGtfZmFzdF9zbGV3X3Jh dGVfMng6IHNkMi1jbGstZmFzdC1zbGV3LXJhdGUtMngtcGlucyB7CisJCXNhbXN1bmcscGlucyA9 ICJncGY0LTAiOworCQlzYW1zdW5nLHBpbi1mdW5jdGlvbiA9IDxFWFlOT1NfUElOX0ZVTkNfMj47 CisJCXNhbXN1bmcscGluLXB1ZCA9IDxFWFlOT1NfUElOX1BVTExfTk9ORT47CisJCXNhbXN1bmcs cGluLWRydiA9IDwxPjsKKwl9OworCisJc2QyX2Nsa19mYXN0X3NsZXdfcmF0ZV8zeDogc2QyLWNs ay1mYXN0LXNsZXctcmF0ZS0zeC1waW5zIHsKKwkJc2Ftc3VuZyxwaW5zID0gImdwZjQtMCI7CisJ CXNhbXN1bmcscGluLWZ1bmN0aW9uID0gPEVYWU5PU19QSU5fRlVOQ18yPjsKKwkJc2Ftc3VuZyxw aW4tcHVkID0gPEVYWU5PU19QSU5fUFVMTF9OT05FPjsKKwkJc2Ftc3VuZyxwaW4tZHJ2ID0gPDI+ OworCX07CisKKwlzZDJfY2xrX2Zhc3Rfc2xld19yYXRlXzR4OiBzZDItY2xrLWZhc3Qtc2xldy1y YXRlLTR4LXBpbnMgeworCQlzYW1zdW5nLHBpbnMgPSAiZ3BmNC0wIjsKKwkJc2Ftc3VuZyxwaW4t ZnVuY3Rpb24gPSA8RVhZTk9TX1BJTl9GVU5DXzI+OworCQlzYW1zdW5nLHBpbi1wdWQgPSA8RVhZ Tk9TX1BJTl9QVUxMX05PTkU+OworCQlzYW1zdW5nLHBpbi1kcnYgPSA8Mz47CisJfTsKKworCXNk Ml9jbWQ6IHNkMi1jbWQtcGlucyB7CisJCXNhbXN1bmcscGlucyA9ICJncGY0LTEiOworCQlzYW1z dW5nLHBpbi1mdW5jdGlvbiA9IDxFWFlOT1NfUElOX0ZVTkNfMj47CisJCXNhbXN1bmcscGluLXB1 ZCA9IDxFWFlOT1NfUElOX1BVTExfVVA+OworCQlzYW1zdW5nLHBpbi1kcnYgPSA8Mj47CisJfTsK KworCXNkMl9idXMxOiBzZDItYnVzLXdpZHRoMS1waW5zIHsKKwkJc2Ftc3VuZyxwaW5zID0gImdw ZjQtMiI7CisJCXNhbXN1bmcscGluLWZ1bmN0aW9uID0gPEVYWU5PU19QSU5fRlVOQ18yPjsKKwkJ c2Ftc3VuZyxwaW4tcHVkID0gPEVYWU5PU19QSU5fUFVMTF9VUD47CisJCXNhbXN1bmcscGluLWRy diA9IDwyPjsKKwl9OworCisJc2QyX2J1czQ6IHNkMi1idXMtd2lkdGg0LXBpbnMgeworCQlzYW1z dW5nLHBpbnMgPSAiZ3BmNC0zIiwgImdwZjQtNCIsICJncGY0LTUiOworCQlzYW1zdW5nLHBpbi1m dW5jdGlvbiA9IDxFWFlOT1NfUElOX0ZVTkNfMj47CisJCXNhbXN1bmcscGluLXB1ZCA9IDxFWFlO T1NfUElOX1BVTExfVVA+OworCQlzYW1zdW5nLHBpbi1kcnYgPSA8Mj47CisJfTsKK307CisKKyZw aW5jdHJsX3RvcCB7CisJZ3BjMDogZ3BjMCB7CisJCWdwaW8tY29udHJvbGxlcjsKKwkJI2dwaW8t Y2VsbHMgPSA8Mj47CisKKwkJaW50ZXJydXB0LWNvbnRyb2xsZXI7CisJCSNpbnRlcnJ1cHQtY2Vs bHMgPSA8Mj47CisJfTsKKworCWdwYzE6IGdwYzEgeworCQlncGlvLWNvbnRyb2xsZXI7CisJCSNn cGlvLWNlbGxzID0gPDI+OworCisJCWludGVycnVwdC1jb250cm9sbGVyOworCQkjaW50ZXJydXB0 LWNlbGxzID0gPDI+OworCX07CisKKwlncGMyOiBncGMyIHsKKwkJZ3Bpby1jb250cm9sbGVyOwor CQkjZ3Bpby1jZWxscyA9IDwyPjsKKworCQlpbnRlcnJ1cHQtY29udHJvbGxlcjsKKwkJI2ludGVy cnVwdC1jZWxscyA9IDwyPjsKKwl9OworCisJZ3BnMDogZ3BnMCB7CisJCWdwaW8tY29udHJvbGxl cjsKKwkJI2dwaW8tY2VsbHMgPSA8Mj47CisKKwkJaW50ZXJydXB0LWNvbnRyb2xsZXI7CisJCSNp bnRlcnJ1cHQtY2VsbHMgPSA8Mj47CisJfTsKKworCWdwZzE6IGdwZzEgeworCQlncGlvLWNvbnRy b2xsZXI7CisJCSNncGlvLWNlbGxzID0gPDI+OworCisJCWludGVycnVwdC1jb250cm9sbGVyOwor CQkjaW50ZXJydXB0LWNlbGxzID0gPDI+OworCX07CisKKwlncGcyOiBncGcyIHsKKwkJZ3Bpby1j b250cm9sbGVyOworCQkjZ3Bpby1jZWxscyA9IDwyPjsKKworCQlpbnRlcnJ1cHQtY29udHJvbGxl cjsKKwkJI2ludGVycnVwdC1jZWxscyA9IDwyPjsKKwl9OworCisJZ3BnMzogZ3BnMyB7CisJCWdw aW8tY29udHJvbGxlcjsKKwkJI2dwaW8tY2VsbHMgPSA8Mj47CisKKwkJaW50ZXJydXB0LWNvbnRy b2xsZXI7CisJCSNpbnRlcnJ1cHQtY2VsbHMgPSA8Mj47CisJfTsKKworCWdwZzQ6IGdwZzQgewor CQlncGlvLWNvbnRyb2xsZXI7CisJCSNncGlvLWNlbGxzID0gPDI+OworCisJCWludGVycnVwdC1j b250cm9sbGVyOworCQkjaW50ZXJydXB0LWNlbGxzID0gPDI+OworCX07CisKKwlncHAwOiBncHAw IHsKKwkJZ3Bpby1jb250cm9sbGVyOworCQkjZ3Bpby1jZWxscyA9IDwyPjsKKworCQlpbnRlcnJ1 cHQtY29udHJvbGxlcjsKKwkJI2ludGVycnVwdC1jZWxscyA9IDwyPjsKKwl9OworCisJZ3BwMTog Z3BwMSB7CisJCWdwaW8tY29udHJvbGxlcjsKKwkJI2dwaW8tY2VsbHMgPSA8Mj47CisKKwkJaW50 ZXJydXB0LWNvbnRyb2xsZXI7CisJCSNpbnRlcnJ1cHQtY2VsbHMgPSA8Mj47CisJfTsKKworCWdw cDI6IGdwcDIgeworCQlncGlvLWNvbnRyb2xsZXI7CisJCSNncGlvLWNlbGxzID0gPDI+OworCisJ CWludGVycnVwdC1jb250cm9sbGVyOworCQkjaW50ZXJydXB0LWNlbGxzID0gPDI+OworCX07CisK KwlncHAzOiBncHAzIHsKKwkJZ3Bpby1jb250cm9sbGVyOworCQkjZ3Bpby1jZWxscyA9IDwyPjsK KworCQlpbnRlcnJ1cHQtY29udHJvbGxlcjsKKwkJI2ludGVycnVwdC1jZWxscyA9IDwyPjsKKwl9 OworCisJZ3BwNDogZ3BwNCB7CisJCWdwaW8tY29udHJvbGxlcjsKKwkJI2dwaW8tY2VsbHMgPSA8 Mj47CisKKwkJaW50ZXJydXB0LWNvbnRyb2xsZXI7CisJCSNpbnRlcnJ1cHQtY2VsbHMgPSA8Mj47 CisJfTsKKworCWdwcDU6IGdwcDUgeworCQlncGlvLWNvbnRyb2xsZXI7CisJCSNncGlvLWNlbGxz ID0gPDI+OworCisJCWludGVycnVwdC1jb250cm9sbGVyOworCQkjaW50ZXJydXB0LWNlbGxzID0g PDI+OworCX07CisKKwlncHA2OiBncHA2IHsKKwkJZ3Bpby1jb250cm9sbGVyOworCQkjZ3Bpby1j ZWxscyA9IDwyPjsKKworCQlpbnRlcnJ1cHQtY29udHJvbGxlcjsKKwkJI2ludGVycnVwdC1jZWxs cyA9IDwyPjsKKwl9OworCisJZ3BwNzogZ3BwNyB7CisJCWdwaW8tY29udHJvbGxlcjsKKwkJI2dw aW8tY2VsbHMgPSA8Mj47CisKKwkJaW50ZXJydXB0LWNvbnRyb2xsZXI7CisJCSNpbnRlcnJ1cHQt Y2VsbHMgPSA8Mj47CisJfTsKKworCWdwcDg6IGdwcDggeworCQlncGlvLWNvbnRyb2xsZXI7CisJ CSNncGlvLWNlbGxzID0gPDI+OworCisJCWludGVycnVwdC1jb250cm9sbGVyOworCQkjaW50ZXJy dXB0LWNlbGxzID0gPDI+OworCX07CisKKwkvKiBERUNPTiBURSAqLworCWRlY29uX2ZfdGVfb246 IGRlY29uX2ZfdGVfb24tcGlucyB7CisJCXNhbXN1bmcscGlucyA9ICJncGMwLTMiOworCQlzYW1z dW5nLHBpbi1mdW5jdGlvbiA9IDxFWFlOT1NfUElOX0ZVTkNfRj47CisJfTsKKworCWRlY29uX2Zf dGVfb2ZmOiBkZWNvbl9mX3RlX29mZi1waW5zIHsKKwkJc2Ftc3VuZyxwaW5zID0gImdwYzAtMyI7 CisJCXNhbXN1bmcscGluLWZ1bmN0aW9uID0gPEVYWU5PU19QSU5fRlVOQ19JTlBVVD47CisJfTsK KworCWhzX2kyYzBfYnVzOiBocy1pMmMwLWJ1cy1waW5zIHsKKwkJc2Ftc3VuZyxwaW5zID0gImdw YzEtMSIsICJncGMxLTAiOworCQlzYW1zdW5nLHBpbi1mdW5jdGlvbiA9IDxFWFlOT1NfUElOX0ZV TkNfMj47CisJCXNhbXN1bmcscGluLWNvbi1wZG4gPSA8RVhZTk9TX1BJTl9QRE5fT1VUMT47CisJ CXNhbXN1bmcscGluLXB1ZC1wZG4gPSA8RVhZTk9TX1BJTl9QVUxMX1VQPjsKKwkJc2Ftc3VuZyxw aW4tcHVkID0gPEVYWU5PU19QSU5fUFVMTF9OT05FPjsKKwkJc2Ftc3VuZyxwaW4tZHJ2ID0gPDA+ OworCX07CisKKwloc19pMmMxX2J1czogaHMtaTJjMS1idXMtcGlucyB7CisJCXNhbXN1bmcscGlu cyA9ICJncGMxLTMiLCAiZ3BjMS0yIjsKKwkJc2Ftc3VuZyxwaW4tZnVuY3Rpb24gPSA8RVhZTk9T X1BJTl9GVU5DXzI+OworCQlzYW1zdW5nLHBpbi1wdWQgPSA8RVhZTk9TX1BJTl9QVUxMX05PTkU+ OworCQlzYW1zdW5nLHBpbi1kcnYgPSA8MD47CisJCXNhbXN1bmcscGluLWNvbi1wZG4gPSA8RVhZ Tk9TX1BJTl9QRE5fT1VUMT47CisJCXNhbXN1bmcscGluLXB1ZC1wZG4gPSA8RVhZTk9TX1BJTl9Q VUxMX1VQPjsKKwl9OworCisJaHNfaTJjMl9idXM6IGhzLWkyYzItYnVzLXBpbnMgeworCQlzYW1z dW5nLHBpbnMgPSAiZ3BjMS01IiwgImdwYzEtNCI7CisJCXNhbXN1bmcscGluLWZ1bmN0aW9uID0g PEVYWU5PU19QSU5fRlVOQ18yPjsKKwkJc2Ftc3VuZyxwaW4tcHVkID0gPEVYWU5PU19QSU5fUFVM TF9OT05FPjsKKwkJc2Ftc3VuZyxwaW4tZHJ2ID0gPDA+OworCQlzYW1zdW5nLHBpbi1jb24tcGRu ID0gPEVYWU5PU19QSU5fUEROX09VVDE+OworCQlzYW1zdW5nLHBpbi1wdWQtcGRuID0gPEVYWU5P U19QSU5fUFVMTF9VUD47CisJfTsKKworCWhzX2kyYzNfYnVzOiBocy1pMmMzLWJ1cy1waW5zIHsK KwkJc2Ftc3VuZyxwaW5zID0gImdwYzEtNyIsICJncGMxLTYiOworCQlzYW1zdW5nLHBpbi1mdW5j dGlvbiA9IDxFWFlOT1NfUElOX0ZVTkNfMj47CisJCXNhbXN1bmcscGluLXB1ZCA9IDxFWFlOT1Nf UElOX1BVTExfTk9ORT47CisJCXNhbXN1bmcscGluLWRydiA9IDwwPjsKKwkJc2Ftc3VuZyxwaW4t Y29uLXBkbiA9IDxFWFlOT1NfUElOX1BETl9PVVQxPjsKKwkJc2Ftc3VuZyxwaW4tcHVkLXBkbiA9 IDxFWFlOT1NfUElOX1BVTExfVVA+OworCX07CisKKwkvKiBVU0kwIFVBUlQgKi8KKwl1YXJ0M19i dXNfc2luZ2xlOiB1YXJ0My1idXMtc2luZ2xlLXBpbnMgeworCQlzYW1zdW5nLHBpbnMgPSAiZ3Bj Mi0zIiwgImdwYzItMiIsICJncGMyLTEiLCAiZ3BjMi0wIjsKKwkJc2Ftc3VuZyxwaW4tZnVuY3Rp b24gPSA8RVhZTk9TX1BJTl9GVU5DXzI+OworCQlzYW1zdW5nLHBpbi1wdWQgPSA8RVhZTk9TX1BJ Tl9QVUxMX05PTkU+OworCX07CisKKwkvKiBVU0kwIFVBUlRfSFNJMkMxICovCisJdWFydDNfYnVz X2R1YWw6IHVhcnQzLWJ1cy1kdWFsLXBpbnMgeworCQlzYW1zdW5nLHBpbnMgPSAiZ3BjMi0xIiwg ImdwYzItMCI7CisJCXNhbXN1bmcscGluLWZ1bmN0aW9uID0gPEVYWU5PU19QSU5fRlVOQ18yPjsK KwkJc2Ftc3VuZyxwaW4tcHVkID0gPEVYWU5PU19QSU5fUFVMTF9OT05FPjsKKwl9OworCisJLyog VVNJMCBIU0kyQzAgKi8KKwloc19pMmM0X2J1czogaHMtaTJjNC1idXMtcGlucyB7CisJCXNhbXN1 bmcscGlucyA9ICJncGMyLTEiLCAiZ3BjMi0wIjsKKwkJc2Ftc3VuZyxwaW4tZnVuY3Rpb24gPSA8 RVhZTk9TX1BJTl9GVU5DXzI+OworCQlzYW1zdW5nLHBpbi1wdWQgPSA8RVhZTk9TX1BJTl9QVUxM X05PTkU+OworCQlzYW1zdW5nLHBpbi1kcnYgPSA8MD47CisJCXNhbXN1bmcscGluLWNvbi1wZG4g PSA8RVhZTk9TX1BJTl9QRE5fT1VUMT47CisJCXNhbXN1bmcscGluLXB1ZC1wZG4gPSA8RVhZTk9T X1BJTl9QVUxMX1VQPjsKKwl9OworCisJLyogVVNJMCBIU0kyQzEgKi8KKwloc19pMmM1X2J1czog aHMtaTJjNS1idXMtcGlucyB7CisJCXNhbXN1bmcscGlucyA9ICJncGMyLTMiLCAiZ3BjMi0yIjsK KwkJc2Ftc3VuZyxwaW4tZnVuY3Rpb24gPSA8RVhZTk9TX1BJTl9GVU5DXzI+OworCQlzYW1zdW5n LHBpbi1wdWQgPSA8RVhZTk9TX1BJTl9QVUxMX05PTkU+OworCQlzYW1zdW5nLHBpbi1kcnYgPSA8 MD47CisJCXNhbXN1bmcscGluLWNvbi1wZG4gPSA8RVhZTk9TX1BJTl9QRE5fT1VUMT47CisJCXNh bXN1bmcscGluLXB1ZC1wZG4gPSA8RVhZTk9TX1BJTl9QVUxMX1VQPjsKKwl9OworCisJLyogVVNJ MCBTUEkgKi8KKwlzcGkyX2J1czogc3BpMi1idXMtcGlucyB7CisJCXNhbXN1bmcscGlucyA9ICJn cGMyLTEiLCAiZ3BjMi0wIiwgImdwYzItMyI7CisJCXNhbXN1bmcscGluLWZ1bmN0aW9uID0gPEVY WU5PU19QSU5fRlVOQ18yPjsKKwkJc2Ftc3VuZyxwaW4tcHVkID0gPEVYWU5PU19QSU5fUFVMTF9V UD47CisJCXNhbXN1bmcscGluLWRydiA9IDwwPjsKKwl9OworCisJc3BpMl9jczogc3BpMi1jcy1w aW5zIHsKKwkJc2Ftc3VuZyxwaW5zID0gImdwYzItMiI7CisJCXNhbXN1bmcscGluLWZ1bmN0aW9u ID0gPEVYWU5PU19QSU5fRlVOQ19PVVRQVVQ+OworCQlzYW1zdW5nLHBpbi1wdWQgPSA8RVhZTk9T X1BJTl9QVUxMX1VQPjsKKwkJc2Ftc3VuZyxwaW4tZHJ2ID0gPDA+OworCX07CisKKwkvKiBVU0kx IFVBUlQgKi8KKwl1YXJ0NF9idXNfc2luZ2xlOiB1YXJ0NC1idXMtc2luZ2xlLXBpbnMgeworCQlz YW1zdW5nLHBpbnMgPSAiZ3BjMi03IiwgImdwYzItNiIsICJncGMyLTUiLCAiZ3BjMi00IjsKKwkJ c2Ftc3VuZyxwaW4tZnVuY3Rpb24gPSA8RVhZTk9TX1BJTl9GVU5DXzI+OworCQlzYW1zdW5nLHBp bi1wdWQgPSA8RVhZTk9TX1BJTl9QVUxMX05PTkU+OworCX07CisKKwkvKiBVU0kxIFVBUlRfSFNJ MkMxKi8KKwl1YXJ0NF9idXNfZHVhbDogdWFydDQtYnVzLWR1YWwtcGlucyB7CisJCXNhbXN1bmcs cGlucyA9ICJncGMyLTUiLCAiZ3BjMi00IjsKKwkJc2Ftc3VuZyxwaW4tZnVuY3Rpb24gPSA8RVhZ Tk9TX1BJTl9GVU5DXzI+OworCQlzYW1zdW5nLHBpbi1wdWQgPSA8RVhZTk9TX1BJTl9QVUxMX05P TkU+OworCX07CisKKwkvKiBVU0kxIEhTSTJDMCAqLworCWhzX2kyYzZfYnVzOiBocy1pMmM2LWJ1 cy1waW5zIHsKKwkJc2Ftc3VuZyxwaW5zID0gImdwYzItNSIsICJncGMyLTQiOworCQlzYW1zdW5n LHBpbi1mdW5jdGlvbiA9IDxFWFlOT1NfUElOX0ZVTkNfMj47CisJCXNhbXN1bmcscGluLXB1ZCA9 IDxFWFlOT1NfUElOX1BVTExfTk9ORT47CisJCXNhbXN1bmcscGluLWRydiA9IDwwPjsKKwkJc2Ft c3VuZyxwaW4tY29uLXBkbiA9IDxFWFlOT1NfUElOX1BETl9PVVQxPjsKKwkJc2Ftc3VuZyxwaW4t cHVkLXBkbiA9IDxFWFlOT1NfUElOX1BVTExfVVA+OworCX07CisKKwkvKiBVU0kxIEhTSTJDMSAq LworCWhzX2kyYzdfYnVzOiBocy1pMmM3LWJ1cy1waW5zIHsKKwkJc2Ftc3VuZyxwaW5zID0gImdw YzItNyIsICJncGMyLTYiOworCQlzYW1zdW5nLHBpbi1mdW5jdGlvbiA9IDxFWFlOT1NfUElOX0ZV TkNfMj47CisJCXNhbXN1bmcscGluLXB1ZCA9IDxFWFlOT1NfUElOX1BVTExfTk9ORT47CisJCXNh bXN1bmcscGluLWRydiA9IDwwPjsKKwkJc2Ftc3VuZyxwaW4tY29uLXBkbiA9IDxFWFlOT1NfUElO X1BETl9PVVQxPjsKKwkJc2Ftc3VuZyxwaW4tcHVkLXBkbiA9IDxFWFlOT1NfUElOX1BVTExfVVA+ OworCX07CisKKwkvKiBVU0kxIFNQSSAqLworCXNwaTNfYnVzOiBzcGkzLWJ1cy1waW5zIHsKKwkJ c2Ftc3VuZyxwaW5zID0gImdwYzItNSIsICJncGMyLTQiLCAiZ3BjMi03IjsKKwkJc2Ftc3VuZyxw aW4tZnVuY3Rpb24gPSA8RVhZTk9TX1BJTl9GVU5DXzI+OworCQlzYW1zdW5nLHBpbi1wdWQgPSA8 RVhZTk9TX1BJTl9QVUxMX1VQPjsKKwkJc2Ftc3VuZyxwaW4tZHJ2ID0gPDA+OworCX07CisKKwlz cGkzX2NzOiBzcGkzLWNzLXBpbnMgeworCQlzYW1zdW5nLHBpbnMgPSAiZ3BjMi02IjsKKwkJc2Ft c3VuZyxwaW4tZnVuY3Rpb24gPSA8RVhZTk9TX1BJTl9GVU5DX09VVFBVVD47CisJCXNhbXN1bmcs cGluLXB1ZCA9IDxFWFlOT1NfUElOX1BVTExfVVA+OworCQlzYW1zdW5nLHBpbi1kcnYgPSA8MD47 CisJfTsKKworCWZtX2xuYV9lbjogZm0tbG5hLWVuLXBpbnMgeworCQlzYW1zdW5nLHBpbnMgPSAi Z3BnMC0yIjsKKwkJc2Ftc3VuZyxwaW4tZnVuY3Rpb24gPSA8RVhZTk9TX1BJTl9GVU5DX09VVFBV VD47CisJCXNhbXN1bmcscGluLXB1ZCA9IDxFWFlOT1NfUElOX1BVTExfRE9XTj47CisJCXNhbXN1 bmcscGluLWNvbi1wZG4gPSA8RVhZTk9TX1BJTl9QRE5fUFJFVj47CisJCXNhbXN1bmcscGluLXB1 ZC1wZG4gPSA8RVhZTk9TX1BJTl9QVUxMX1VQPjsKKwkJc2Ftc3VuZyxwaW4tdmFsID0gPDE+Owor CX07CisKKwl1YXJ0MV9idXM6IHVhcnQxLWJ1cy1waW5zIHsKKwkJc2Ftc3VuZyxwaW5zID0gImdw ZzEtMyIsICJncGcxLTIiLCAiZ3BnMS0xIiwgImdwZzEtMCI7CisJCXNhbXN1bmcscGluLWZ1bmN0 aW9uID0gPEVYWU5PU19QSU5fRlVOQ18yPjsKKwkJc2Ftc3VuZyxwaW4tcHVkID0gPEVYWU5PU19Q SU5fUFVMTF9OT05FPjsKKwl9OworCisJaTJjN19idXM6IGkyYzctYnVzLXBpbnMgeworCQlzYW1z dW5nLHBpbnMgPSAiZ3BnMS01IiwgImdwZzEtNCI7CisJCXNhbXN1bmcscGluLWZ1bmN0aW9uID0g PEVYWU5PU19QSU5fRlVOQ18yPjsKKwkJc2Ftc3VuZyxwaW4tcHVkID0gPEVYWU5PU19QSU5fUFVM TF9VUD47CisJCXNhbXN1bmcscGluLWRydiA9IDwwPjsKKwl9OworCisJYXVkX2RtaWNfb246IGF1 ZC1kbWljLW9uLXBpbnMgeworCQlzYW1zdW5nLHBpbnMgPSAiZ3BnMi0xIjsKKwkJc2Ftc3VuZyxw aW4tZnVuY3Rpb24gPSA8RVhZTk9TX1BJTl9GVU5DX09VVFBVVD47CisJCXNhbXN1bmcscGluLWNv bi1wZG4gPSA8RVhZTk9TX1BJTl9QRE5fUFJFVj47CisJCXNhbXN1bmcscGluLXZhbCA9IDwxPjsK Kwl9OworCisJYXVkX2RtaWNfb2ZmOiBhdWQtZG1pYy1vZmYtcGlucyB7CisJCXNhbXN1bmcscGlu cyA9ICJncGcyLTEiOworCQlzYW1zdW5nLHBpbi1mdW5jdGlvbiA9IDxFWFlOT1NfUElOX0ZVTkNf T1VUUFVUPjsKKwkJc2Ftc3VuZyxwaW4tY29uLXBkbiA9IDxFWFlOT1NfUElOX1BETl9QUkVWPjsK KwkJc2Ftc3VuZyxwaW4tdmFsID0gPDA+OworCX07CisKKwkvKiBVQVJUX0hFQUxUSCAqLworCXVh cnQwX2J1czogdWFydDAtYnVzLXBpbnMgeworCQlzYW1zdW5nLHBpbnMgPSAiZ3BwMC0zIiwgImdw cDAtMiIsICJncHAwLTEiLCAiZ3BwMC0wIjsKKwkJc2Ftc3VuZyxwaW4tZnVuY3Rpb24gPSA8RVhZ Tk9TX1BJTl9GVU5DXzI+OworCQlzYW1zdW5nLHBpbi1wdWQgPSA8RVhZTk9TX1BJTl9QVUxMX05P TkU+OworCX07CisKKwlpMmMwX2J1czogaTJjMC1idXMtcGlucyB7CisJCXNhbXN1bmcscGlucyA9 ICJncHAxLTEiLCAiZ3BwMS0wIjsKKwkJc2Ftc3VuZyxwaW4tZnVuY3Rpb24gPSA8RVhZTk9TX1BJ Tl9GVU5DXzI+OworCQlzYW1zdW5nLHBpbi1jb24tcGRuID0gPEVYWU5PU19QSU5fUEROX1BSRVY+ OworCQlzYW1zdW5nLHBpbi1wdWQgPSA8RVhZTk9TX1BJTl9QVUxMX1VQPjsKKwkJc2Ftc3VuZyxw aW4tZHJ2ID0gPDA+OworCX07CisKKwlpMmMxX2J1czogaTJjMS1idXMtcGlucyB7CisJCXNhbXN1 bmcscGlucyA9ICJncHAxLTMiLCAiZ3BwMS0yIjsKKwkJc2Ftc3VuZyxwaW4tZnVuY3Rpb24gPSA8 RVhZTk9TX1BJTl9GVU5DXzI+OworCQlzYW1zdW5nLHBpbi1jb24tcGRuID0gPEVYWU5PU19QSU5f UEROX1BSRVY+OworCQlzYW1zdW5nLHBpbi1wdWQgPSA8RVhZTk9TX1BJTl9QVUxMX1VQPjsKKwkJ c2Ftc3VuZyxwaW4tZHJ2ID0gPDA+OworCX07CisKKwlpMmMyX2J1czogaTJjMi1idXMtcGlucyB7 CisJCXNhbXN1bmcscGlucyA9ICJncHAyLTEiLCAiZ3BwMi0wIjsKKwkJc2Ftc3VuZyxwaW4tZnVu Y3Rpb24gPSA8RVhZTk9TX1BJTl9GVU5DXzI+OworCQlzYW1zdW5nLHBpbi1wdWQgPSA8RVhZTk9T X1BJTl9QVUxMX1VQPjsKKwkJc2Ftc3VuZyxwaW4tZHJ2ID0gPDA+OworCX07CisKKwlpMmMzX2J1 czogaTJjMy1idXMtcGlucyB7CisJCXNhbXN1bmcscGlucyA9ICJncHAzLTEiLCAiZ3BwMy0wIjsK KwkJc2Ftc3VuZyxwaW4tZnVuY3Rpb24gPSA8RVhZTk9TX1BJTl9GVU5DXzI+OworCQlzYW1zdW5n LHBpbi1wdWQgPSA8RVhZTk9TX1BJTl9QVUxMX1VQPjsKKwkJc2Ftc3VuZyxwaW4tZHJ2ID0gPDA+ OworCX07CisKKwlpMmM0X2J1czogaTJjNC1idXMtcGlucyB7CisJCXNhbXN1bmcscGlucyA9ICJn cHA0LTEiLCAiZ3BwNC0wIjsKKwkJc2Ftc3VuZyxwaW4tZnVuY3Rpb24gPSA8RVhZTk9TX1BJTl9G VU5DXzI+OworCQlzYW1zdW5nLHBpbi1wdWQgPSA8RVhZTk9TX1BJTl9QVUxMX1VQPjsKKwkJc2Ft c3VuZyxwaW4tZHJ2ID0gPDA+OworCX07CisKKwlpMmM1X2J1czogaTJjNS1idXMtcGlucyB7CisJ CXNhbXN1bmcscGlucyA9ICJncHA0LTMiLCAiZ3BwNC0yIjsKKwkJc2Ftc3VuZyxwaW4tZnVuY3Rp b24gPSA8RVhZTk9TX1BJTl9GVU5DXzI+OworCQlzYW1zdW5nLHBpbi1wdWQgPSA8RVhZTk9TX1BJ Tl9QVUxMX1VQPjsKKwkJc2Ftc3VuZyxwaW4tZHJ2ID0gPDA+OworCX07CisKKwlpMmM2X2J1czog aTJjNi1idXMtcGlucyB7CisJCXNhbXN1bmcscGlucyA9ICJncHA0LTUiLCAiZ3BwNC00IjsKKwkJ c2Ftc3VuZyxwaW4tZnVuY3Rpb24gPSA8RVhZTk9TX1BJTl9GVU5DXzI+OworCQlzYW1zdW5nLHBp bi1wdWQgPSA8RVhZTk9TX1BJTl9QVUxMX1VQPjsKKwkJc2Ftc3VuZyxwaW4tZHJ2ID0gPDA+Owor CX07CisKKwkvKiBTUElfRVNFICovCisJc3BpMF9idXM6IHNwaTAtYnVzLXBpbnMgeworCQlzYW1z dW5nLHBpbnMgPSAiZ3BwNS0zIiwgImdwcDUtMiIsICJncHA1LTAiOworCQlzYW1zdW5nLHBpbi1m dW5jdGlvbiA9IDxFWFlOT1NfUElOX0ZVTkNfMj47CisJCXNhbXN1bmcscGluLXB1ZCA9IDxFWFlO T1NfUElOX1BVTExfVVA+OworCQlzYW1zdW5nLHBpbi1kcnYgPSA8MD47CisJfTsKKworCXNwaTBf Y3M6IHNwaTAtY3MtcGlucyB7CisJCXNhbXN1bmcscGlucyA9ICJncHA1LTEiOworCQlzYW1zdW5n LHBpbi1mdW5jdGlvbiA9IDxFWFlOT1NfUElOX0ZVTkNfT1VUUFVUPjsKKwkJc2Ftc3VuZyxwaW4t cHVkID0gPEVYWU5PU19QSU5fUFVMTF9VUD47CisJCXNhbXN1bmcscGluLWRydiA9IDwwPjsKKwl9 OworCisJLyogU1BJX0ZQICovCisJc3BpMV9idXM6IHNwaTEtYnVzLXBpbnMgeworCQlzYW1zdW5n LHBpbnMgPSAiZ3BwNi0zIiwgImdwcDYtMiIsICJncHA2LTAiOworCQlzYW1zdW5nLHBpbi1mdW5j dGlvbiA9IDxFWFlOT1NfUElOX0ZVTkNfMj47CisJCXNhbXN1bmcscGluLXB1ZCA9IDxFWFlOT1Nf UElOX1BVTExfVVA+OworCQlzYW1zdW5nLHBpbi1kcnYgPSA8MD47CisJfTsKKworCXNwaTFfY3M6 IHNwaTEtY3MtcGlucyB7CisJCXNhbXN1bmcscGlucyA9ICJncHA2LTEiOworCQlzYW1zdW5nLHBp bi1mdW5jdGlvbiA9IDxFWFlOT1NfUElOX0ZVTkNfT1VUUFVUPjsKKwkJc2Ftc3VuZyxwaW4tcHVk ID0gPEVYWU5PU19QSU5fUFVMTF9VUD47CisJCXNhbXN1bmcscGluLWRydiA9IDwwPjsKKwl9Owor CisJLyogVVNJMiBVQVJUICovCisJdWFydDVfYnVzX3NpbmdsZTogdWFydDUtYnVzLXNpbmdsZS1w aW5zIHsKKwkJc2Ftc3VuZyxwaW5zID0gImdwcDgtMSIsICJncHA4LTAiLCAiZ3BwNy0xIiwgImdw cDctMCI7CisJCXNhbXN1bmcscGluLWZ1bmN0aW9uID0gPEVYWU5PU19QSU5fRlVOQ18yPjsKKwkJ c2Ftc3VuZyxwaW4tcHVkID0gPEVYWU5PU19QSU5fUFVMTF9OT05FPjsKKwkgIH07CisKKwkvKiBV U0kyIFVBUlRfSFNJMkMxICovCisJdWFydDVfYnVzX2R1YWw6IHVhcnQ1LWJ1cy1kdWFsLXBpbnMg eworCQlzYW1zdW5nLHBpbnMgPSAiZ3BwNy0xIiwgImdwcDctMCI7CisJCXNhbXN1bmcscGluLWZ1 bmN0aW9uID0gPEVYWU5PU19QSU5fRlVOQ18yPjsKKwkJc2Ftc3VuZyxwaW4tcHVkID0gPEVYWU5P U19QSU5fUFVMTF9OT05FPjsKKwl9OworCisJLyogVVNJMiBIU0kyQzAgKi8KKwloc19pMmM4X2J1 czogaHMtaTJjOC1idXMtcGlucyB7CisJCXNhbXN1bmcscGlucyA9ICJncHA3LTEiLCAiZ3BwNy0w IjsKKwkJc2Ftc3VuZyxwaW4tZnVuY3Rpb24gPSA8RVhZTk9TX1BJTl9GVU5DXzI+OworCQlzYW1z dW5nLHBpbi1wdWQgPSA8RVhZTk9TX1BJTl9QVUxMX05PTkU+OworCQlzYW1zdW5nLHBpbi1kcnYg PSA8MD47CisJCXNhbXN1bmcscGluLWNvbi1wZG4gPSA8RVhZTk9TX1BJTl9QRE5fT1VUMT47CisJ CXNhbXN1bmcscGluLXB1ZC1wZG4gPSA8RVhZTk9TX1BJTl9QVUxMX1VQPjsKKwl9OworCisJLyog VVNJMiBIU0kyQzEgKi8KKwloc19pMmM5X2J1czogaHMtaTJjOS1idXMtcGlucyB7CisJCXNhbXN1 bmcscGlucyA9ICJncHA4LTEiLCAiZ3BwOC0wIjsKKwkJc2Ftc3VuZyxwaW4tZnVuY3Rpb24gPSA8 RVhZTk9TX1BJTl9GVU5DXzI+OworCQlzYW1zdW5nLHBpbi1wdWQgPSA8RVhZTk9TX1BJTl9QVUxM X05PTkU+OworCQlzYW1zdW5nLHBpbi1kcnYgPSA8MD47CisJCXNhbXN1bmcscGluLWNvbi1wZG4g PSA8RVhZTk9TX1BJTl9QRE5fT1VUMT47CisJCXNhbXN1bmcscGluLXB1ZC1wZG4gPSA8RVhZTk9T X1BJTl9QVUxMX1VQPjsKKwl9OworCisJLyogVVNJMiBTUEkgKi8KKwlzcGk0X2J1czogc3BpNC1i dXMtcGlucyB7CisJCXNhbXN1bmcscGlucyA9ICJncHA3LTEiLCAiZ3BwNy0wIiwgImdwcDgtMSI7 CisJCXNhbXN1bmcscGluLWZ1bmN0aW9uID0gPEVYWU5PU19QSU5fRlVOQ18yPjsKKwkJc2Ftc3Vu ZyxwaW4tcHVkID0gPEVYWU5PU19QSU5fUFVMTF9VUD47CisJCXNhbXN1bmcscGluLWRydiA9IDww PjsKKwl9OworCisJc3BpNF9jczogc3BpNC1jcy1waW5zIHsKKwkJc2Ftc3VuZyxwaW5zID0gImdw cDgtMCI7CisJCXNhbXN1bmcscGluLWZ1bmN0aW9uID0gPEVYWU5PU19QSU5fRlVOQ19PVVRQVVQ+ OworCQlzYW1zdW5nLHBpbi1wdWQgPSA8RVhZTk9TX1BJTl9QVUxMX1VQPjsKKwkJc2Ftc3VuZyxw aW4tZHJ2ID0gPDA+OworCX07Cit9OwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm02NC9ib290L2R0cy9l eHlub3MvZXh5bm9zNzg4NS5kdHNpIGIvYXJjaC9hcm02NC9ib290L2R0cy9leHlub3MvZXh5bm9z Nzg4NS5kdHNpCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uY2M3YTVj ZTBjMTAzCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm02NC9ib290L2R0cy9leHlub3MvZXh5 bm9zNzg4NS5kdHNpCkBAIC0wLDAgKzEsNDM4IEBACisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogR1BMLTIuMAorLyoKKyAqIFNhbXN1bmcgRXh5bm9zNzg4NSBTb0MgZGV2aWNlIHRyZWUgc291 cmNlCisgKgorICogQ29weXJpZ2h0IChjKSAyMDIxIFNhbXN1bmcgRWxlY3Ryb25pY3MgQ28uLCBM dGQuCisgKiBDb3B5cmlnaHQgKGMpIDIwMjEgRMOhdmlkIFZpcsOhZworICoKKyAqLworCisjaW5j bHVkZSA8ZHQtYmluZGluZ3MvY2xvY2svZXh5bm9zNzg4NS5oPgorI2luY2x1ZGUgPGR0LWJpbmRp bmdzL2ludGVycnVwdC1jb250cm9sbGVyL2FybS1naWMuaD4KKworLyB7CisJY29tcGF0aWJsZSA9 ICJzYW1zdW5nLGV4eW5vczc4ODUiOworCSNhZGRyZXNzLWNlbGxzID0gPDI+OworCSNzaXplLWNl bGxzID0gPDE+OworCisJaW50ZXJydXB0LXBhcmVudCA9IDwmZ2ljPjsKKworCWFsaWFzZXMgewor CQlwaW5jdHJsMCA9ICZwaW5jdHJsX2FsaXZlOworCQlwaW5jdHJsMSA9ICZwaW5jdHJsX2Rpc3Bh dWQ7CisJCXBpbmN0cmwyID0gJnBpbmN0cmxfZnN5czsKKwkJcGluY3RybDMgPSAmcGluY3RybF90 b3A7CisJfTsKKworCWFybS1hNTMtcG11IHsKKwkJY29tcGF0aWJsZSA9ICJhcm0sY29ydGV4LWE1 My1wbXUiOworCQlpbnRlcnJ1cHRzID0gPEdJQ19TUEkgOTYgSVJRX1RZUEVfTEVWRUxfSElHSD4s CisJCQkgICAgIDxHSUNfU1BJIDk3IElSUV9UWVBFX0xFVkVMX0hJR0g+LAorCQkJICAgICA8R0lD X1NQSSA5OCBJUlFfVFlQRV9MRVZFTF9ISUdIPiwKKwkJCSAgICAgPEdJQ19TUEkgOTkgSVJRX1RZ UEVfTEVWRUxfSElHSD4sCisJCQkgICAgIDxHSUNfU1BJIDIxOCBJUlFfVFlQRV9MRVZFTF9ISUdI PiwKKwkJCSAgICAgPEdJQ19TUEkgMjE5IElSUV9UWVBFX0xFVkVMX0hJR0g+OworCQlpbnRlcnJ1 cHQtYWZmaW5pdHkgPSA8JmNwdTA+LAorCQkJCSAgICAgPCZjcHUxPiwKKwkJCQkgICAgIDwmY3B1 Mj4sCisJCQkJICAgICA8JmNwdTM+LAorCQkJCSAgICAgPCZjcHU0PiwKKwkJCQkgICAgIDwmY3B1 NT47CisJfTsKKworCWFybS1hNzMtcG11IHsKKwkJY29tcGF0aWJsZSA9ICJhcm0sY29ydGV4LWE3 My1wbXUiOworCQlpbnRlcnJ1cHRzID0gPEdJQ19TUEkgODIgSVJRX1RZUEVfTEVWRUxfSElHSD4s CisJCQkgICAgIDxHSUNfU1BJIDgzIElSUV9UWVBFX0xFVkVMX0hJR0g+OworCQlpbnRlcnJ1cHQt YWZmaW5pdHkgPSA8JmNwdTY+LAorCQkJCSAgICAgPCZjcHU3PjsKKwl9OworCisJY3B1cyB7CisJ CSNhZGRyZXNzLWNlbGxzID0gPDE+OworCQkjc2l6ZS1jZWxscyA9IDwwPjsKKworCQljcHUtbWFw IHsKKwkJCWNsdXN0ZXIwIHsKKwkJCQljb3JlMCB7CisJCQkJCWNwdSA9IDwmY3B1MD47CisJCQkJ fTsKKwkJCQljb3JlMSB7CisJCQkJCWNwdSA9IDwmY3B1MT47CisJCQkJfTsKKwkJCQljb3JlMiB7 CisJCQkJCWNwdSA9IDwmY3B1Mj47CisJCQkJfTsKKwkJCQljb3JlMyB7CisJCQkJCWNwdSA9IDwm Y3B1Mz47CisJCQkJfTsKKwkJCQljb3JlNCB7CisJCQkJCWNwdSA9IDwmY3B1ND47CisJCQkJfTsK KwkJCQljb3JlNSB7CisJCQkJCWNwdSA9IDwmY3B1NT47CisJCQkJfTsKKwkJCX07CisKKwkJCWNs dXN0ZXIxIHsKKwkJCQljb3JlMCB7CisJCQkJCWNwdSA9IDwmY3B1Nj47CisJCQkJfTsKKwkJCQlj b3JlMSB7CisJCQkJCWNwdSA9IDwmY3B1Nz47CisJCQkJfTsKKwkJCX07CisJCX07CisKKwkJY3B1 MDogY3B1QDEwMCB7CisJCQlkZXZpY2VfdHlwZSA9ICJjcHUiOworCQkJY29tcGF0aWJsZSA9ICJh cm0sY29ydGV4LWE1MyI7CisJCQlyZWcgPSA8MHgxMDA+OworCQkJZW5hYmxlLW1ldGhvZCA9ICJw c2NpIjsKKwkJfTsKKworCQljcHUxOiBjcHVAMTAxIHsKKwkJCWRldmljZV90eXBlID0gImNwdSI7 CisJCQljb21wYXRpYmxlID0gImFybSxjb3J0ZXgtYTUzIjsKKwkJCXJlZyA9IDwweDEwMT47CisJ CQllbmFibGUtbWV0aG9kID0gInBzY2kiOworCQl9OworCisJCWNwdTI6IGNwdUAxMDIgeworCQkJ ZGV2aWNlX3R5cGUgPSAiY3B1IjsKKwkJCWNvbXBhdGlibGUgPSAiYXJtLGNvcnRleC1hNTMiOwor CQkJcmVnID0gPDB4MTAyPjsKKwkJCWVuYWJsZS1tZXRob2QgPSAicHNjaSI7CisJCX07CisKKwkJ Y3B1MzogY3B1QDEwMyB7CisJCQlkZXZpY2VfdHlwZSA9ICJjcHUiOworCQkJY29tcGF0aWJsZSA9 ICJhcm0sY29ydGV4LWE1MyI7CisJCQlyZWcgPSA8MHgxMDM+OworCQkJZW5hYmxlLW1ldGhvZCA9 ICJwc2NpIjsKKwkJfTsKKworCQljcHU0OiBjcHVAMjAwIHsKKwkJCWRldmljZV90eXBlID0gImNw dSI7CisJCQljb21wYXRpYmxlID0gImFybSxjb3J0ZXgtYTUzIjsKKwkJCXJlZyA9IDwweDIwMD47 CisJCQllbmFibGUtbWV0aG9kID0gInBzY2kiOworCQl9OworCisJCWNwdTU6IGNwdUAyMDEgewor CQkJZGV2aWNlX3R5cGUgPSAiY3B1IjsKKwkJCWNvbXBhdGlibGUgPSAiYXJtLGNvcnRleC1hNTMi OworCQkJcmVnID0gPDB4MjAxPjsKKwkJCWVuYWJsZS1tZXRob2QgPSAicHNjaSI7CisJCX07CisK KwkJY3B1NjogY3B1QDAgeworCQkJZGV2aWNlX3R5cGUgPSAiY3B1IjsKKwkJCWNvbXBhdGlibGUg PSAiYXJtLGNvcnRleC1hNzMiOworCQkJcmVnID0gPDB4MD47CisJCQllbmFibGUtbWV0aG9kID0g InBzY2kiOworCQl9OworCisJCWNwdTc6IGNwdUAxIHsKKwkJCWRldmljZV90eXBlID0gImNwdSI7 CisJCQljb21wYXRpYmxlID0gImFybSxjb3J0ZXgtYTczIjsKKwkJCXJlZyA9IDwweDE+OworCQkJ ZW5hYmxlLW1ldGhvZCA9ICJwc2NpIjsKKwkJfTsKKwl9OworCisJcHNjaSB7CisJCWNvbXBhdGli bGUgPSAiYXJtLHBzY2kiOworCQltZXRob2QgPSAic21jIjsKKwkJY3B1X3N1c3BlbmQgPSA8MHhj NDAwMDAwMT47CisJCWNwdV9vZmYgPSA8MHg4NDAwMDAwMj47CisJCWNwdV9vbiA9IDwweGM0MDAw MDAzPjsKKwl9OworCisJdGltZXIgeworCQljb21wYXRpYmxlID0gImFybSxhcm12OC10aW1lciI7 CisJCS8qIEh5cGVydmlzb3IgVmlydHVhbCBUaW1lciBpbnRlcnJ1cHQgaXMgbm90IHdpcmVkIHRv IEdJQyAqLworCQlpbnRlcnJ1cHRzID0gPEdJQ19QUEkgMTMgKEdJQ19DUFVfTUFTS19TSU1QTEUo OCkgfCBJUlFfVFlQRV9MRVZFTF9MT1cpPiwKKwkJCSAgICAgPEdJQ19QUEkgMTQgKEdJQ19DUFVf TUFTS19TSU1QTEUoOCkgfCBJUlFfVFlQRV9MRVZFTF9MT1cpPiwKKwkJCSAgICAgPEdJQ19QUEkg MTEgKEdJQ19DUFVfTUFTS19TSU1QTEUoOCkgfCBJUlFfVFlQRV9MRVZFTF9MT1cpPiwKKwkJCSAg ICAgPEdJQ19QUEkgMTAgKEdJQ19DUFVfTUFTS19TSU1QTEUoOCkgfCBJUlFfVFlQRV9MRVZFTF9M T1cpPjsKKwl9OworCisJZml4ZWQtcmF0ZS1jbG9ja3MgeworCQlvc2NjbGs6IG9zYy1jbG9jayB7 CisJCQljb21wYXRpYmxlID0gImZpeGVkLWNsb2NrIjsKKwkJCSNjbG9jay1jZWxscyA9IDwwPjsK KwkJCWNsb2NrLWZyZXF1ZW5jeSA9IDwyNjAwMDAwMD47CisJCQljbG9jay1vdXRwdXQtbmFtZXMg PSAib3NjY2xrIjsKKwkJfTsKKwl9OworCisJc29jOiBzb2NAMCB7CisJCWNvbXBhdGlibGUgPSAi c2ltcGxlLWJ1cyI7CisJCSNhZGRyZXNzLWNlbGxzID0gPDE+OworCQkjc2l6ZS1jZWxscyA9IDwx PjsKKwkJcmFuZ2VzID0gPDB4MCAweDAgMHgwIDB4MjAwMDAwMDA+OworCisJCWNoaXBpZEAxMDAw MDAwMCB7CisJCQljb21wYXRpYmxlID0gInNhbXN1bmcsZXh5bm9zODUwLWNoaXBpZCI7CisJCQly ZWcgPSA8MHgxMDAwMDAwMCAweDI0PjsKKwkJfTsKKworCQlnaWM6IGludGVycnVwdC1jb250cm9s bGVyQDEyMzAxMDAwIHsKKwkJCWNvbXBhdGlibGUgPSAiYXJtLGdpYy00MDAiOworCQkJI2ludGVy cnVwdC1jZWxscyA9IDwzPjsKKwkJCSNhZGRyZXNzLWNlbGxzID0gPDA+OworCQkJaW50ZXJydXB0 LWNvbnRyb2xsZXI7CisJCQlyZWcgPSA8MHgxMjMwMTAwMCAweDEwMDA+LAorCQkJICAgICAgPDB4 MTIzMDIwMDAgMHgyMDAwPiwKKwkJCSAgICAgIDwweDEyMzA0MDAwIDB4MjAwMD4sCisJCQkgICAg ICA8MHgxMjMwNjAwMCAweDIwMDA+OworCQkJaW50ZXJydXB0cyA9IDxHSUNfUFBJIDkgKEdJQ19D UFVfTUFTS19TSU1QTEUoOCkgfAorCQkJCQkJIElSUV9UWVBFX0xFVkVMX0hJR0gpPjsKKwkJfTsK KworCQljbXVfcGVyaTogY2xvY2stY29udHJvbGxlckAxMDAxMDAwMCB7CisJCQljb21wYXRpYmxl ID0gInNhbXN1bmcsZXh5bm9zNzg4NS1jbXUtcGVyaSI7CisJCQlyZWcgPSA8MHgxMDAxMDAwMCAw eDgwMDA+OworCQkJI2Nsb2NrLWNlbGxzID0gPDE+OworCisJCQljbG9ja3MgPSA8Jm9zY2Nsaz4s CisJCQkJIDwmY211X3RvcCBDTEtfRE9VVF9QRVJJX0JVUz4sCisJCQkJIDwmY211X3RvcCBDTEtf RE9VVF9QRVJJX1NQSTA+LAorCQkJCSA8JmNtdV90b3AgQ0xLX0RPVVRfUEVSSV9TUEkxPiwKKwkJ CQkgPCZjbXVfdG9wIENMS19ET1VUX1BFUklfVUFSVDA+LAorCQkJCSA8JmNtdV90b3AgQ0xLX0RP VVRfUEVSSV9VQVJUMT4sCisJCQkJIDwmY211X3RvcCBDTEtfRE9VVF9QRVJJX1VBUlQyPiwKKwkJ CQkgPCZjbXVfdG9wIENMS19ET1VUX1BFUklfVVNJMD4sCisJCQkJIDwmY211X3RvcCBDTEtfRE9V VF9QRVJJX1VTSTE+LAorCQkJCSA8JmNtdV90b3AgQ0xLX0RPVVRfUEVSSV9VU0kyPjsKKwkJCWNs b2NrLW5hbWVzID0gIm9zY2NsayIsCisJCQkJICAgICAgImRvdXRfcGVyaV9idXMiLAorCQkJCSAg ICAgICJkb3V0X3Blcmlfc3BpMCIsCisJCQkJICAgICAgImRvdXRfcGVyaV9zcGkxIiwKKwkJCQkg ICAgICAiZG91dF9wZXJpX3VhcnQwIiwKKwkJCQkgICAgICAiZG91dF9wZXJpX3VhcnQxIiwKKwkJ CQkgICAgICAiZG91dF9wZXJpX3VhcnQyIiwKKwkJCQkgICAgICAiZG91dF9wZXJpX3VzaTAiLAor CQkJCSAgICAgICJkb3V0X3BlcmlfdXNpMSIsCisJCQkJICAgICAgImRvdXRfcGVyaV91c2kyIjsK KwkJfTsKKworCQljbXVfY29yZTogY2xvY2stY29udHJvbGxlckAxMjAwMDAwMCB7CisJCQljb21w YXRpYmxlID0gInNhbXN1bmcsZXh5bm9zNzg4NS1jbXUtY29yZSI7CisJCQlyZWcgPSA8MHgxMjAw MDAwMCAweDgwMDA+OworCQkJI2Nsb2NrLWNlbGxzID0gPDE+OworCisJCQljbG9ja3MgPSA8Jm9z Y2Nsaz4sCisJCQkJIDwmY211X3RvcCBDTEtfRE9VVF9DT1JFX0JVUz4sCisJCQkJIDwmY211X3Rv cCBDTEtfRE9VVF9DT1JFX0NDST4sCisJCQkJIDwmY211X3RvcCBDTEtfRE9VVF9DT1JFX0czRD47 CisJCQljbG9jay1uYW1lcyA9ICJvc2NjbGsiLCAiZG91dF9jb3JlX2J1cyIsICJkb3V0X2NvcmVf Y2NpIiwgImRvdXRfY29yZV9nM2QiOworCQl9OworCisJCWNtdV90b3A6IGNsb2NrLWNvbnRyb2xs ZXJAMTIwNjAwMDAgeworCQkJY29tcGF0aWJsZSA9ICJzYW1zdW5nLGV4eW5vczc4ODUtY211LXRv cCI7CisJCQlyZWcgPSA8MHgxMjA2MDAwMCAweDgwMDA+OworCQkJI2Nsb2NrLWNlbGxzID0gPDE+ OworCisJCQljbG9ja3MgPSA8Jm9zY2Nsaz47CisJCQljbG9jay1uYW1lcyA9ICJvc2NjbGsiOwor CQl9OworCisJCXBpbmN0cmxfYWxpdmU6IHBpbmN0cmxAMTFjYjAwMDAgeworCQkJY29tcGF0aWJs ZSA9ICJzYW1zdW5nLGV4eW5vczc4ODUtcGluY3RybCI7CisJCQlyZWcgPSA8MHgxMWNiMDAwMCAw eDEwMDA+OworCQkJaW50ZXJydXB0cyA9IDxHSUNfU1BJIDAgSVJRX1RZUEVfTEVWRUxfSElHSD4s CisJCQkJICAgICA8R0lDX1NQSSAxIElSUV9UWVBFX0xFVkVMX0hJR0g+LAorCQkJCSAgICAgPEdJ Q19TUEkgMiBJUlFfVFlQRV9MRVZFTF9ISUdIPiwKKwkJCQkgICAgIDxHSUNfU1BJIDMgSVJRX1RZ UEVfTEVWRUxfSElHSD4sCisJCQkJICAgICA8R0lDX1NQSSA0IElSUV9UWVBFX0xFVkVMX0hJR0g+ LAorCQkJCSAgICAgPEdJQ19TUEkgNSBJUlFfVFlQRV9MRVZFTF9ISUdIPiwKKwkJCQkgICAgIDxH SUNfU1BJIDYgSVJRX1RZUEVfTEVWRUxfSElHSD4sCisJCQkJICAgICA8R0lDX1NQSSA3IElSUV9U WVBFX0xFVkVMX0hJR0g+LAorCQkJCSAgICAgPEdJQ19TUEkgOCBJUlFfVFlQRV9MRVZFTF9ISUdI PiwKKwkJCQkgICAgIDxHSUNfU1BJIDkgSVJRX1RZUEVfTEVWRUxfSElHSD4sCisJCQkJICAgICA8 R0lDX1NQSSAxMCBJUlFfVFlQRV9MRVZFTF9ISUdIPiwKKwkJCQkgICAgIDxHSUNfU1BJIDExIElS UV9UWVBFX0xFVkVMX0hJR0g+LAorCQkJCSAgICAgPEdJQ19TUEkgMTIgSVJRX1RZUEVfTEVWRUxf SElHSD4sCisJCQkJICAgICA8R0lDX1NQSSAxMyBJUlFfVFlQRV9MRVZFTF9ISUdIPiwKKwkJCQkg ICAgIDxHSUNfU1BJIDE0IElSUV9UWVBFX0xFVkVMX0hJR0g+LAorCQkJCSAgICAgPEdJQ19TUEkg MTUgSVJRX1RZUEVfTEVWRUxfSElHSD47CisKKwkJCXdha2V1cC1pbnRlcnJ1cHQtY29udHJvbGxl ciB7CisJCQkJY29tcGF0aWJsZSA9ICJzYW1zdW5nLGV4eW5vczctd2FrZXVwLWVpbnQiOworCQkJ CWludGVycnVwdC1wYXJlbnQgPSA8JmdpYz47CisJCQkJaW50ZXJydXB0cyA9IDxHSUNfU1BJIDEz MCBJUlFfVFlQRV9MRVZFTF9ISUdIPjsKKwkJCX07CisJCX07CisKKwkJcGluY3RybF9kaXNwYXVk OiBwaW5jdHJsQDE0OGYwMDAwIHsKKwkJCWNvbXBhdGlibGUgPSAic2Ftc3VuZyxleHlub3M3ODg1 LXBpbmN0cmwiOworCQkJcmVnID0gPDB4MTQ4ZjAwMDAgMHgxMDAwPjsKKwkJCWludGVycnVwdHMg PSA8R0lDX1NQSSAxMzAgSVJRX1RZUEVfTEVWRUxfSElHSD47CisJCX07CisKKwkJcGluY3RybF9m c3lzOiBwaW5jdHJsQDEzNDMwMDAwIHsKKwkJCWNvbXBhdGlibGUgPSAic2Ftc3VuZyxleHlub3M3 ODg1LXBpbmN0cmwiOworCQkJcmVnID0gPDB4MTM0MzAwMDAgMHgxMDAwPjsKKwkJCWludGVycnVw dHMgPSA8R0lDX1NQSSAxNTAgSVJRX1RZUEVfTEVWRUxfSElHSD47CisJCX07CisKKwkJcGluY3Ry bF90b3A6IHBpbmN0cmxAMTM5YjAwMDAgeworCQkJY29tcGF0aWJsZSA9ICJzYW1zdW5nLGV4eW5v czc4ODUtcGluY3RybCI7CisJCQlyZWcgPSA8MHgxMzliMDAwMCAweDEwMDA+OworCQkJaW50ZXJy dXB0cyA9IDxHSUNfU1BJIDI2NiBJUlFfVFlQRV9MRVZFTF9ISUdIPjsKKwkJfTsKKworCQlwbXVf c3lzdGVtX2NvbnRyb2xsZXI6IHN5c3RlbS1jb250cm9sbGVyQDExYzgwMDAwIHsKKwkJCWNvbXBh dGlibGUgPSAic2Ftc3VuZyxleHlub3M3LXBtdSIsICJzeXNjb24iOworCQkJcmVnID0gPDB4MTFj ODAwMDAgMHgxMDAwMD47CisJCX07CisKKwkJc2VyaWFsXzA6IHNlcmlhbEAxMzgwMDAwMCB7CisJ CQljb21wYXRpYmxlID0gInNhbXN1bmcsZXh5bm9zNTQzMy11YXJ0IjsKKwkJCXJlZyA9IDwweDEz ODAwMDAwIDB4MTAwPjsKKwkJCWludGVycnVwdHMgPSA8R0lDX1NQSSAyNDYgSVJRX1RZUEVfTEVW RUxfSElHSD47CisJCQlwaW5jdHJsLW5hbWVzID0gImRlZmF1bHQiOworCQkJcGluY3RybC0wID0g PCZ1YXJ0MF9idXM+OworCQkJY2xvY2tzID0gPCZjbXVfcGVyaSBDTEtfR09VVF9VQVJUMF9FWFRf VUNMSz4sCisJCQkJIDwmY211X3BlcmkgQ0xLX0dPVVRfVUFSVDBfUENMSz47CisJCQljbG9jay1u YW1lcyA9ICJ1YXJ0IiwgImNsa191YXJ0X2JhdWQwIjsKKwkJCXNhbXN1bmcsdWFydC1maWZvc2l6 ZSA9IDw2ND47CisJCQlzdGF0dXMgPSAiZGlzYWJsZWQiOworCQl9OworCisJCXNlcmlhbF8xOiBz ZXJpYWxAMTM4MTAwMDAgeworCQkJY29tcGF0aWJsZSA9ICJzYW1zdW5nLGV4eW5vczU0MzMtdWFy dCI7CisJCQlyZWcgPSA8MHgxMzgxMDAwMCAweDEwMD47CisJCQlpbnRlcnJ1cHRzID0gPEdJQ19T UEkgMjQ3IElSUV9UWVBFX0xFVkVMX0hJR0g+OworCQkJcGluY3RybC1uYW1lcyA9ICJkZWZhdWx0 IjsKKwkJCXBpbmN0cmwtMCA9IDwmdWFydDFfYnVzPjsKKwkJCWNsb2NrcyA9IDwmY211X3Blcmkg Q0xLX0dPVVRfVUFSVDFfRVhUX1VDTEs+LAorCQkJCSA8JmNtdV9wZXJpIENMS19HT1VUX1VBUlQx X1BDTEs+OworCQkJY2xvY2stbmFtZXMgPSAidWFydCIsICJjbGtfdWFydF9iYXVkMCI7CisJCQlz YW1zdW5nLHVhcnQtZmlmb3NpemUgPSA8MjU2PjsKKwkJCXN0YXR1cyA9ICJkaXNhYmxlZCI7CisJ CX07CisKKwkJc2VyaWFsXzI6IHNlcmlhbEAxMzgyMDAwMCB7CisJCQljb21wYXRpYmxlID0gInNh bXN1bmcsZXh5bm9zNTQzMy11YXJ0IjsKKwkJCXJlZyA9IDwweDEzODIwMDAwIDB4MTAwPjsKKwkJ CWludGVycnVwdHMgPSA8R0lDX1NQSSAyNzkgSVJRX1RZUEVfTEVWRUxfSElHSD47CisJCQlwaW5j dHJsLW5hbWVzID0gImRlZmF1bHQiOworCQkJcGluY3RybC0wID0gPCZ1YXJ0Ml9idXM+OworCQkJ Y2xvY2tzID0gPCZjbXVfcGVyaSBDTEtfR09VVF9VQVJUMl9FWFRfVUNMSz4sCisJCQkJIDwmY211 X3BlcmkgQ0xLX0dPVVRfVUFSVDJfUENMSz47CisJCQljbG9jay1uYW1lcyA9ICJ1YXJ0IiwgImNs a191YXJ0X2JhdWQwIjsKKwkJCXNhbXN1bmcsdWFydC1maWZvc2l6ZSA9IDwyNTY+OworCQkJc3Rh dHVzID0gImRpc2FibGVkIjsKKwkJfTsKKworCQlpMmNfMDogaTJjQDEzODMwMDAwIHsKKwkJCWNv bXBhdGlibGUgPSAic2Ftc3VuZyxzM2MyNDQwLWkyYyI7CisJCQlyZWcgPSA8MHgxMzgzMDAwMCAw eDEwMD47CisJCQlpbnRlcnJ1cHRzID0gPEdJQ19TUEkgMjQ4IElSUV9UWVBFX0xFVkVMX0hJR0g+ OworCQkJI2FkZHJlc3MtY2VsbHMgPSA8MT47CisJCQkjc2l6ZS1jZWxscyA9IDwwPjsKKwkJCXBp bmN0cmwtbmFtZXMgPSAiZGVmYXVsdCI7CisJCQlwaW5jdHJsLTAgPSA8JmkyYzBfYnVzPjsKKwkJ CWNsb2NrcyA9IDwmY211X3BlcmkgQ0xLX0dPVVRfSTJDMF9QQ0xLPjsKKwkJCWNsb2NrLW5hbWVz ID0gImkyYyI7CisJCQlzdGF0dXMgPSAiZGlzYWJsZWQiOworCQl9OworCisJCWkyY18xOiBpMmNA MTM4NDAwMDAgeworCQkJY29tcGF0aWJsZSA9ICJzYW1zdW5nLHMzYzI0NDAtaTJjIjsKKwkJCXJl ZyA9IDwweDEzODQwMDAwIDB4MTAwPjsKKwkJCWludGVycnVwdHMgPSA8R0lDX1NQSSAyNDkgSVJR X1RZUEVfTEVWRUxfSElHSD47CisJCQkjYWRkcmVzcy1jZWxscyA9IDwxPjsKKwkJCSNzaXplLWNl bGxzID0gPDA+OworCQkJcGluY3RybC1uYW1lcyA9ICJkZWZhdWx0IjsKKwkJCXBpbmN0cmwtMCA9 IDwmaTJjMV9idXM+OworCQkJY2xvY2tzID0gPCZjbXVfcGVyaSBDTEtfR09VVF9JMkMxX1BDTEs+ OworCQkJY2xvY2stbmFtZXMgPSAiaTJjIjsKKwkJCXN0YXR1cyA9ICJkaXNhYmxlZCI7CisJCX07 CisKKwkJaTJjXzI6IGkyY0AxMzg1MDAwMCB7CisJCQljb21wYXRpYmxlID0gInNhbXN1bmcsczNj MjQ0MC1pMmMiOworCQkJcmVnID0gPDB4MTM4NTAwMDAgMHgxMDA+OworCQkJaW50ZXJydXB0cyA9 IDxHSUNfU1BJIDI1MCBJUlFfVFlQRV9MRVZFTF9ISUdIPjsKKwkJCSNhZGRyZXNzLWNlbGxzID0g PDE+OworCQkJI3NpemUtY2VsbHMgPSA8MD47CisJCQlwaW5jdHJsLW5hbWVzID0gImRlZmF1bHQi OworCQkJcGluY3RybC0wID0gPCZpMmMyX2J1cz47CisJCQljbG9ja3MgPSA8JmNtdV9wZXJpIENM S19HT1VUX0kyQzJfUENMSz47CisJCQljbG9jay1uYW1lcyA9ICJpMmMiOworCQkJc3RhdHVzID0g ImRpc2FibGVkIjsKKwkJfTsKKworCQlpMmNfMzogaTJjQDEzODYwMDAwIHsKKwkJCWNvbXBhdGli bGUgPSAic2Ftc3VuZyxzM2MyNDQwLWkyYyI7CisJCQlyZWcgPSA8MHgxMzg2MDAwMCAweDEwMD47 CisJCQlpbnRlcnJ1cHRzID0gPEdJQ19TUEkgMjUxIElSUV9UWVBFX0xFVkVMX0hJR0g+OworCQkJ I2FkZHJlc3MtY2VsbHMgPSA8MT47CisJCQkjc2l6ZS1jZWxscyA9IDwwPjsKKwkJCXBpbmN0cmwt bmFtZXMgPSAiZGVmYXVsdCI7CisJCQlwaW5jdHJsLTAgPSA8JmkyYzNfYnVzPjsKKwkJCWNsb2Nr cyA9IDwmY211X3BlcmkgQ0xLX0dPVVRfSTJDM19QQ0xLPjsKKwkJCWNsb2NrLW5hbWVzID0gImky YyI7CisJCQlzdGF0dXMgPSAiZGlzYWJsZWQiOworCQl9OworCisJCWkyY180OiBpMmNAMTM4NzAw MDAgeworCQkJY29tcGF0aWJsZSA9ICJzYW1zdW5nLHMzYzI0NDAtaTJjIjsKKwkJCXJlZyA9IDww eDEzODcwMDAwIDB4MTAwPjsKKwkJCWludGVycnVwdHMgPSA8R0lDX1NQSSAyNTIgSVJRX1RZUEVf TEVWRUxfSElHSD47CisJCQkjYWRkcmVzcy1jZWxscyA9IDwxPjsKKwkJCSNzaXplLWNlbGxzID0g PDA+OworCQkJcGluY3RybC1uYW1lcyA9ICJkZWZhdWx0IjsKKwkJCXBpbmN0cmwtMCA9IDwmaTJj NF9idXM+OworCQkJY2xvY2tzID0gPCZjbXVfcGVyaSBDTEtfR09VVF9JMkM0X1BDTEs+OworCQkJ Y2xvY2stbmFtZXMgPSAiaTJjIjsKKwkJCXN0YXR1cyA9ICJkaXNhYmxlZCI7CisJCX07CisKKwkJ aTJjXzU6IGkyY0AxMzg4MDAwMCB7CisJCQljb21wYXRpYmxlID0gInNhbXN1bmcsczNjMjQ0MC1p MmMiOworCQkJcmVnID0gPDB4MTM4ODAwMDAgMHgxMDA+OworCQkJaW50ZXJydXB0cyA9IDxHSUNf U1BJIDI1MyBJUlFfVFlQRV9MRVZFTF9ISUdIPjsKKwkJCSNhZGRyZXNzLWNlbGxzID0gPDE+Owor CQkJI3NpemUtY2VsbHMgPSA8MD47CisJCQlwaW5jdHJsLW5hbWVzID0gImRlZmF1bHQiOworCQkJ cGluY3RybC0wID0gPCZpMmM1X2J1cz47CisJCQljbG9ja3MgPSA8JmNtdV9wZXJpIENMS19HT1VU X0kyQzVfUENMSz47CisJCQljbG9jay1uYW1lcyA9ICJpMmMiOworCQkJc3RhdHVzID0gImRpc2Fi bGVkIjsKKwkJfTsKKworCQlpMmNfNjogaTJjQDEzODkwMDAwIHsKKwkJCWNvbXBhdGlibGUgPSAi c2Ftc3VuZyxzM2MyNDQwLWkyYyI7CisJCQlyZWcgPSA8MHgxMzg5MDAwMCAweDEwMD47CisJCQlp bnRlcnJ1cHRzID0gPEdJQ19TUEkgMjU0IElSUV9UWVBFX0xFVkVMX0hJR0g+OworCQkJI2FkZHJl c3MtY2VsbHMgPSA8MT47CisJCQkjc2l6ZS1jZWxscyA9IDwwPjsKKwkJCXBpbmN0cmwtbmFtZXMg PSAiZGVmYXVsdCI7CisJCQlwaW5jdHJsLTAgPSA8JmkyYzZfYnVzPjsKKwkJCWNsb2NrcyA9IDwm Y211X3BlcmkgQ0xLX0dPVVRfSTJDNl9QQ0xLPjsKKwkJCWNsb2NrLW5hbWVzID0gImkyYyI7CisJ CQlzdGF0dXMgPSAiZGlzYWJsZWQiOworCQl9OworCisJCWkyY183OiBpMmNAMTFjZDAwMDAgewor CQkJY29tcGF0aWJsZSA9ICJzYW1zdW5nLHMzYzI0NDAtaTJjIjsKKwkJCXJlZyA9IDwweDExY2Qw MDAwIDB4MTAwPjsKKwkJCWludGVycnVwdHMgPSA8R0lDX1NQSSAyNTUgSVJRX1RZUEVfTEVWRUxf SElHSD47CisJCQkjYWRkcmVzcy1jZWxscyA9IDwxPjsKKwkJCSNzaXplLWNlbGxzID0gPDA+Owor CQkJcGluY3RybC1uYW1lcyA9ICJkZWZhdWx0IjsKKwkJCXBpbmN0cmwtMCA9IDwmaTJjN19idXM+ OworCQkJY2xvY2tzID0gPCZjbXVfcGVyaSBDTEtfR09VVF9JMkM3X1BDTEs+OworCQkJY2xvY2st bmFtZXMgPSAiaTJjIjsKKwkJCXN0YXR1cyA9ICJkaXNhYmxlZCI7CisJCX07CisJfTsKK307CisK KyNpbmNsdWRlICJleHlub3M3ODg1LXBpbmN0cmwuZHRzaSIKKyNpbmNsdWRlICJhcm0vZXh5bm9z LXN5c2Nvbi1yZXN0YXJ0LmR0c2kiCi0tIAoyLjM0LjEKCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdAps aW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVh ZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg== 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 9ED49C433FE for ; Mon, 6 Dec 2021 16:00:03 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1443861AbhLFQB3 (ORCPT ); Mon, 6 Dec 2021 11:01:29 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33190 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1390813AbhLFPmw (ORCPT ); Mon, 6 Dec 2021 10:42:52 -0500 Received: from mail-ed1-x529.google.com (mail-ed1-x529.google.com [IPv6:2a00:1450:4864:20::529]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EF880C08E88F; Mon, 6 Dec 2021 07:32:50 -0800 (PST) Received: by mail-ed1-x529.google.com with SMTP id r11so44292861edd.9; Mon, 06 Dec 2021 07:32:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=F7yrcDnAroKP8zDbWuGR9DUPMalTcpxWl3hkwaON1SE=; b=kZfPpdDyBdNHmFrI4Va3PwOJQkaBKZbAHS5fUGYBDbvjiIx/dk8keSnkBW3bRgDObA VEdUir4Cfk11CF/fnUUxtVd1ot7XHONurcwbSWJ6yTb8VUvF6ppe9mn5DIb7nK0PPMia JXZ1VkJ+IJYHKPcDAp82Nw4twBUqBXNQlmlc0UBs3obycJ0uliUWVlBoSLWYXY49cQwH hr78v9iGvtwK5NyqdlvP2LdzDIated+8gkCq3RJ41KXHEhmLBgT4m5PoSdUjWEXcG49L 9VLRQixGQK49kC0C8y0NddX88xJiDyF2uSpFi2IHsJrCShKdSh5Tfow1J8SegAj41Otb w4Jg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=F7yrcDnAroKP8zDbWuGR9DUPMalTcpxWl3hkwaON1SE=; b=Wp312Is4AyFahYKMa8rxHX58Ivkakt7bp1FMg0zSdxRUwWnEMYEikQI9E16es0D1Zb lV/ypt2/ygCZ5jVj9ofB2qcRY/AW2vjPn0DYzKBiS4WQrSmREOlM2yIVTlMsQ4AylYEY aBu7tDJSU8SUGN/zc/YLGFhJRzsGQChtRXWh6QLDwQsmpJLQshWbTKMGIIpE6Ssv6LE+ /WJpDq6DIqSoQYQ9bB54WRuzT1kvxLBhL06JNAQY+h/H2cbNz/O66BaALt/F8/tLZnPX Le2wktnfMx/rc1wEEXV9RtmfJ3+jmtmylciLbhazlGB/x9lZu3OEYB95o4j/y4mcVI7Z ZX1w== X-Gm-Message-State: AOAM533fIJdiYpxGHQF8gixqhd76ymbwmM4DorWS8Zd3+ipxysYECRyL 0oJJqCJK1zrgw8By2pp+aqw= X-Google-Smtp-Source: ABdhPJz6d7CNP8S2O5nRLnAFdT7oAXwG0fq5gp5nj8Cj2VasapH9S5Feyv710cHJ8fhQ3VJ5qpPJ1w== X-Received: by 2002:a17:906:24ca:: with SMTP id f10mr45907794ejb.144.1638804768971; Mon, 06 Dec 2021 07:32:48 -0800 (PST) Received: from localhost.localdomain ([2a02:ab88:368f:2080:eab:126a:947d:3008]) by smtp.googlemail.com with ESMTPSA id d19sm7364688edt.34.2021.12.06.07.32.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Dec 2021 07:32:48 -0800 (PST) From: David Virag Cc: Sam Protsenko , David Virag , Krzysztof Kozlowski , Rob Herring , Sylwester Nawrocki , Tomasz Figa , Chanwoo Choi , Michael Turquette , Stephen Boyd , linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org Subject: [PATCH v4 7/7] arm64: dts: exynos: Add initial device tree support for Exynos7885 SoC Date: Mon, 6 Dec 2021 16:31:21 +0100 Message-Id: <20211206153124.427102-8-virag.david003@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20211206153124.427102-1-virag.david003@gmail.com> References: <20211206153124.427102-1-virag.david003@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Add initial Exynos7885 device tree nodes with dts for the Samsung Galaxy A8 (2018), a.k.a. "jackpotlte", with model number "SM-A530F". Currently this includes some clock support, UART support, and I2C nodes. Signed-off-by: David Virag --- Changes in v2: - Remove address-cells, and size-cells from dts, since they are already in the dtsi. - Lower case hex in memory node - Fix node names with underscore instead of hyphen - Fix line breaks - Fix "-key" missing from gpio keys node names - Use the form without "key" in gpio key labels on all keys - Suffix pin configuration node names with "-pins" - Remove "fimc_is_mclk" nodes from pinctrl dtsi for now - Use macros for "samsung,pin-con-pdn", and "samsung,pin-con-pdn" - Add comment about Arm PMU - Rename "clock-oscclk" to "osc-clock" - Include exynos-syscon-restart.dtsi instead of rewriting its contents Changes in v3: - Fix typo (seperate -> separate) Changes in v4: - Fixed leading 0x in clock-controller nodes - Actually suffixed pin configuration node names with "-pins" - Seperated Cortex-A53 and Cortex-A73 PMU arch/arm64/boot/dts/exynos/Makefile | 7 +- .../boot/dts/exynos/exynos7885-jackpotlte.dts | 95 ++ .../boot/dts/exynos/exynos7885-pinctrl.dtsi | 865 ++++++++++++++++++ arch/arm64/boot/dts/exynos/exynos7885.dtsi | 438 +++++++++ 4 files changed, 1402 insertions(+), 3 deletions(-) create mode 100644 arch/arm64/boot/dts/exynos/exynos7885-jackpotlte.dts create mode 100644 arch/arm64/boot/dts/exynos/exynos7885-pinctrl.dtsi create mode 100644 arch/arm64/boot/dts/exynos/exynos7885.dtsi diff --git a/arch/arm64/boot/dts/exynos/Makefile b/arch/arm64/boot/dts/exynos/Makefile index b41e86df0a84..c68c4ad577ac 100644 --- a/arch/arm64/boot/dts/exynos/Makefile +++ b/arch/arm64/boot/dts/exynos/Makefile @@ -1,6 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 dtb-$(CONFIG_ARCH_EXYNOS) += \ - exynos5433-tm2.dtb \ - exynos5433-tm2e.dtb \ - exynos7-espresso.dtb \ + exynos5433-tm2.dtb \ + exynos5433-tm2e.dtb \ + exynos7-espresso.dtb \ + exynos7885-jackpotlte.dtb \ exynosautov9-sadk.dtb diff --git a/arch/arm64/boot/dts/exynos/exynos7885-jackpotlte.dts b/arch/arm64/boot/dts/exynos/exynos7885-jackpotlte.dts new file mode 100644 index 000000000000..f5941dc4c374 --- /dev/null +++ b/arch/arm64/boot/dts/exynos/exynos7885-jackpotlte.dts @@ -0,0 +1,95 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Samsung Galaxy A8 2018 (jackpotlte/SM-A530F) device tree source + * + * Copyright (c) 2021 Samsung Electronics Co., Ltd. + * Copyright (c) 2021 Dávid Virág + * + */ + +/dts-v1/; +#include "exynos7885.dtsi" +#include +#include +#include + +/ { + model = "Samsung Galaxy A8 (2018)"; + compatible = "samsung,jackpotlte", "samsung,exynos7885"; + chassis-type = "handset"; + + aliases { + serial0 = &serial_0; + serial1 = &serial_1; + serial2 = &serial_2; + }; + + chosen { + stdout-path = &serial_2; + }; + + memory@80000000 { + device_type = "memory"; + reg = <0x0 0x80000000 0x3da00000>, + <0x0 0xc0000000 0x40000000>, + <0x8 0x80000000 0x40000000>; + }; + + gpio-keys { + compatible = "gpio-keys"; + pinctrl-names = "default"; + pinctrl-0 = <&key_volup &key_voldown &key_power>; + + volup-key { + label = "Volume Up"; + interrupts = <5 IRQ_TYPE_LEVEL_HIGH 0>; + interrupt-parent = <&gpa1>; + linux,code = ; + gpios = <&gpa1 5 GPIO_ACTIVE_LOW>; + }; + + voldown-key { + label = "Volume Down"; + interrupts = <6 IRQ_TYPE_LEVEL_HIGH 0>; + interrupt-parent = <&gpa1>; + linux,code = ; + gpios = <&gpa1 6 GPIO_ACTIVE_LOW>; + }; + + power-key { + label = "Power"; + interrupts = <7 IRQ_TYPE_LEVEL_HIGH 0>; + interrupt-parent = <&gpa1>; + linux,code = ; + gpios = <&gpa1 7 GPIO_ACTIVE_LOW>; + wakeup-source; + }; + }; +}; + +&serial_2 { + status = "okay"; +}; + +&pinctrl_alive { + key_volup: key-volup-pins { + samsung,pins = "gpa1-5"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = <0>; + }; + + key_voldown: key-voldown-pins { + samsung,pins = "gpa1-6"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = <0>; + }; + + key_power: key-power-pins { + samsung,pins = "gpa1-7"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = <0>; + }; +}; diff --git a/arch/arm64/boot/dts/exynos/exynos7885-pinctrl.dtsi b/arch/arm64/boot/dts/exynos/exynos7885-pinctrl.dtsi new file mode 100644 index 000000000000..8336b2e48858 --- /dev/null +++ b/arch/arm64/boot/dts/exynos/exynos7885-pinctrl.dtsi @@ -0,0 +1,865 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Samsung Exynos7885 SoC pin-mux and pin-config device tree source + * + * Copyright (c) 2017 Samsung Electronics Co., Ltd. + * Copyright (c) 2021 Dávid Virág + * + * Samsung's Exynos7885 SoC pin-mux and pin-config options are listed as + * device tree nodes in this file. + */ + +#include + +&pinctrl_alive { + etc0: etc0 { + gpio-controller; + #gpio-cells = <2>; + + interrupt-controller; + #interrupt-cells = <2>; + }; + + etc1: etc1 { + gpio-controller; + #gpio-cells = <2>; + + interrupt-controller; + #interrupt-cells = <2>; + }; + + gpa0: gpa0 { + gpio-controller; + #gpio-cells = <2>; + + interrupt-controller; + #interrupt-cells = <2>; + interrupt-parent = <&gic>; + interrupts = , + , + , + , + , + , + , + ; + }; + + gpa1: gpa1 { + gpio-controller; + #gpio-cells = <2>; + + interrupt-controller; + #interrupt-cells = <3>; + interrupt-parent = <&gic>; + interrupts = , + , + , + , + , + , + , + ; + }; + + gpa2: gpa2 { + gpio-controller; + #gpio-cells = <2>; + + interrupt-controller; + #interrupt-cells = <2>; + }; + + gpq0: gpq0 { + gpio-controller; + #gpio-cells = <2>; + + interrupt-controller; + #interrupt-cells = <2>; + }; + + sim1_det_gpio: sim1-det-gpio-pins { + samsung,pins = "gpa2-5"; + samsung,pin-function = ; + samsung,pin-pud = ; + }; + + sim0_det_gpio: sim0-det-gpio-pins { + samsung,pins = "gpa2-6"; + samsung,pin-function = ; + samsung,pin-pud = ; + }; + + speedy_bus: speedy-bus-pins { + samsung,pins = "gpq0-2"; + samsung,pin-function = ; + samsung,pin-con-pdn = ; + samsung,pin-pud = ; + samsung,pin-drv = <0>; + }; + + /* UART_DEBUG */ + uart2_bus: uart2-bus-pins { + samsung,pins = "gpq0-4", "gpq0-3"; + samsung,pin-function = ; + samsung,pin-pud = ; + }; +}; + +&pinctrl_dispaud { + gpb0: gpb0 { + gpio-controller; + #gpio-cells = <2>; + + interrupt-controller; + #interrupt-cells = <2>; + }; + + gpb1: gpb1 { + gpio-controller; + #gpio-cells = <2>; + + interrupt-controller; + #interrupt-cells = <2>; + }; + + gpb2: gpb2 { + gpio-controller; + #gpio-cells = <2>; + + interrupt-controller; + #interrupt-cells = <2>; + }; + + aud_codec_mclk: aud-codec-mclk-pins { + samsung,pins = "gpb0-0"; + samsung,pin-function = ; + samsung,pin-pud = ; + }; + + aud_codec_mclk_idle: aud-codec-mclk-idle-pins { + samsung,pins = "gpb0-0"; + samsung,pin-function = ; + samsung,pin-pud = ; + }; + + aud_codec_bus: aud-codec-bus-pins { + samsung,pins = "gpb0-1", "gpb0-2", "gpb0-3", "gpb0-4"; + samsung,pin-function = ; + samsung,pin-pud = ; + }; + + aud_codec_bus_idle: aud-codec-bus-idle-pins { + samsung,pins = "gpb0-1", "gpb0-2", "gpb0-3", "gpb0-4"; + samsung,pin-function = ; + samsung,pin-pud = ; + }; + + aud_loopback_bus: aud-loopback-bus-pins { + samsung,pins = "gpb1-0"; + samsung,pin-function = ; + samsung,pin-pud = ; + }; + + aud_loopback_bus_idle: aud-loopback-bus-idle-pins { + samsung,pins = "gpb1-0"; + samsung,pin-function = ; + samsung,pin-pud = ; + }; + + aud_fm_bus: aud-fm-bus-pins { + samsung,pins = "gpb1-1", "gpb1-2", "gpb1-3"; + samsung,pin-function = ; + samsung,pin-pud = ; + }; + + aud_fm_bus_idle: aud-fm-bus-idle-pins { + samsung,pins = "gpb1-1", "gpb1-2", "gpb1-3"; + samsung,pin-function = ; + samsung,pin-pud = ; + }; + + aud_spk_bus: aud-spk-bus-pins { + samsung,pins = "gpb2-0", "gpb2-1", "gpb2-2", "gpb2-3"; + samsung,pin-function = ; + samsung,pin-pud = ; + }; + + aud_spk_bus_idle: aud-spk-bus-idle-pins { + samsung,pins = "gpb2-0", "gpb2-1", "gpb2-2", "gpb2-3"; + samsung,pin-function = ; + samsung,pin-pud = ; + }; +}; + +&pinctrl_fsys { + gpf0: gpf0 { + gpio-controller; + #gpio-cells = <2>; + + interrupt-controller; + #interrupt-cells = <2>; + }; + + gpf2: gpf2 { + gpio-controller; + #gpio-cells = <2>; + + interrupt-controller; + #interrupt-cells = <2>; + }; + + gpf3: gpf3 { + gpio-controller; + #gpio-cells = <2>; + + interrupt-controller; + #interrupt-cells = <2>; + }; + + gpf4: gpf4 { + gpio-controller; + #gpio-cells = <2>; + + interrupt-controller; + #interrupt-cells = <2>; + }; + + sd0_clk: sd0-clk-pins { + samsung,pins = "gpf0-0"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = <3>; + }; + + sd0_clk_fast_slew_rate_1x: sd0-clk-fast-slew-rate-1x-pins { + samsung,pins = "gpf0-0"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = <0>; + }; + + sd0_clk_fast_slew_rate_2x: sd0-clk-fast-slew-rate-2x-pins { + samsung,pins = "gpf0-0"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = <1>; + }; + + sd0_clk_fast_slew_rate_3x: sd0-clk-fast-slew-rate-3x-pins { + samsung,pins = "gpf0-0"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = <2>; + }; + + sd0_clk_fast_slew_rate_4x: sd0-clk-fast-slew-rate-4x-pins { + samsung,pins = "gpf0-0"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = <3>; + }; + + sd0_cmd: sd0-cmd-pins { + samsung,pins = "gpf0-1"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = <3>; + }; + + sd0_rdqs: sd0-rdqs-pins { + samsung,pins = "gpf0-2"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = <3>; + }; + + sd0_bus1: sd0-bus-width1-pins { + samsung,pins = "gpf2-0"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = <3>; + }; + + sd0_bus4: sd0-bus-width4-pins { + samsung,pins = "gpf2-1", "gpf2-2", "gpf2-3"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = <3>; + }; + + sd0_bus8: sd0-bus-width8-pins { + samsung,pins = "gpf2-4", "gpf2-5", "gpf2-6", "gpf2-7"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = <3>; + }; + + sd1_clk: sd1-clk-pins { + samsung,pins = "gpf3-0"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = <2>; + }; + + sd1_clk_fast_slew_rate_1x: sd1-clk-fast-slew-rate-1x-pins { + samsung,pins = "gpf3-0"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = <0>; + }; + + sd1_clk_fast_slew_rate_2x: sd1-clk-fast-slew-rate-2x-pins { + samsung,pins = "gpf3-0"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = <1>; + }; + + sd1_clk_fast_slew_rate_3x: sd1-clk-fast-slew-rate-3x-pins { + samsung,pins = "gpf3-0"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = <2>; + }; + + sd1_clk_fast_slew_rate_4x: sd1-clk-fast-slew-rate-4x-pins { + samsung,pins = "gpf3-0"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = <3>; + }; + + sd1_cmd: sd1-cmd-pins { + samsung,pins = "gpf3-1"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = <2>; + }; + + sd1_bus1: sd1-bus-width1-pins { + samsung,pins = "gpf3-2"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = <2>; + }; + + sd1_bus4: sd1-bus-width4-pins { + samsung,pins = "gpf3-3", "gpf3-5"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = <2>; + }; + + sd2_clk: sd2-clk-pins { + samsung,pins = "gpf4-0"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = <2>; + }; + + sd2_clk_fast_slew_rate_1x: sd2-clk-fast-slew-rate-1x-pins { + samsung,pins = "gpf4-0"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = <0>; + }; + + sd2_clk_fast_slew_rate_2x: sd2-clk-fast-slew-rate-2x-pins { + samsung,pins = "gpf4-0"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = <1>; + }; + + sd2_clk_fast_slew_rate_3x: sd2-clk-fast-slew-rate-3x-pins { + samsung,pins = "gpf4-0"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = <2>; + }; + + sd2_clk_fast_slew_rate_4x: sd2-clk-fast-slew-rate-4x-pins { + samsung,pins = "gpf4-0"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = <3>; + }; + + sd2_cmd: sd2-cmd-pins { + samsung,pins = "gpf4-1"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = <2>; + }; + + sd2_bus1: sd2-bus-width1-pins { + samsung,pins = "gpf4-2"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = <2>; + }; + + sd2_bus4: sd2-bus-width4-pins { + samsung,pins = "gpf4-3", "gpf4-4", "gpf4-5"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = <2>; + }; +}; + +&pinctrl_top { + gpc0: gpc0 { + gpio-controller; + #gpio-cells = <2>; + + interrupt-controller; + #interrupt-cells = <2>; + }; + + gpc1: gpc1 { + gpio-controller; + #gpio-cells = <2>; + + interrupt-controller; + #interrupt-cells = <2>; + }; + + gpc2: gpc2 { + gpio-controller; + #gpio-cells = <2>; + + interrupt-controller; + #interrupt-cells = <2>; + }; + + gpg0: gpg0 { + gpio-controller; + #gpio-cells = <2>; + + interrupt-controller; + #interrupt-cells = <2>; + }; + + gpg1: gpg1 { + gpio-controller; + #gpio-cells = <2>; + + interrupt-controller; + #interrupt-cells = <2>; + }; + + gpg2: gpg2 { + gpio-controller; + #gpio-cells = <2>; + + interrupt-controller; + #interrupt-cells = <2>; + }; + + gpg3: gpg3 { + gpio-controller; + #gpio-cells = <2>; + + interrupt-controller; + #interrupt-cells = <2>; + }; + + gpg4: gpg4 { + gpio-controller; + #gpio-cells = <2>; + + interrupt-controller; + #interrupt-cells = <2>; + }; + + gpp0: gpp0 { + gpio-controller; + #gpio-cells = <2>; + + interrupt-controller; + #interrupt-cells = <2>; + }; + + gpp1: gpp1 { + gpio-controller; + #gpio-cells = <2>; + + interrupt-controller; + #interrupt-cells = <2>; + }; + + gpp2: gpp2 { + gpio-controller; + #gpio-cells = <2>; + + interrupt-controller; + #interrupt-cells = <2>; + }; + + gpp3: gpp3 { + gpio-controller; + #gpio-cells = <2>; + + interrupt-controller; + #interrupt-cells = <2>; + }; + + gpp4: gpp4 { + gpio-controller; + #gpio-cells = <2>; + + interrupt-controller; + #interrupt-cells = <2>; + }; + + gpp5: gpp5 { + gpio-controller; + #gpio-cells = <2>; + + interrupt-controller; + #interrupt-cells = <2>; + }; + + gpp6: gpp6 { + gpio-controller; + #gpio-cells = <2>; + + interrupt-controller; + #interrupt-cells = <2>; + }; + + gpp7: gpp7 { + gpio-controller; + #gpio-cells = <2>; + + interrupt-controller; + #interrupt-cells = <2>; + }; + + gpp8: gpp8 { + gpio-controller; + #gpio-cells = <2>; + + interrupt-controller; + #interrupt-cells = <2>; + }; + + /* DECON TE */ + decon_f_te_on: decon_f_te_on-pins { + samsung,pins = "gpc0-3"; + samsung,pin-function = ; + }; + + decon_f_te_off: decon_f_te_off-pins { + samsung,pins = "gpc0-3"; + samsung,pin-function = ; + }; + + hs_i2c0_bus: hs-i2c0-bus-pins { + samsung,pins = "gpc1-1", "gpc1-0"; + samsung,pin-function = ; + samsung,pin-con-pdn = ; + samsung,pin-pud-pdn = ; + samsung,pin-pud = ; + samsung,pin-drv = <0>; + }; + + hs_i2c1_bus: hs-i2c1-bus-pins { + samsung,pins = "gpc1-3", "gpc1-2"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = <0>; + samsung,pin-con-pdn = ; + samsung,pin-pud-pdn = ; + }; + + hs_i2c2_bus: hs-i2c2-bus-pins { + samsung,pins = "gpc1-5", "gpc1-4"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = <0>; + samsung,pin-con-pdn = ; + samsung,pin-pud-pdn = ; + }; + + hs_i2c3_bus: hs-i2c3-bus-pins { + samsung,pins = "gpc1-7", "gpc1-6"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = <0>; + samsung,pin-con-pdn = ; + samsung,pin-pud-pdn = ; + }; + + /* USI0 UART */ + uart3_bus_single: uart3-bus-single-pins { + samsung,pins = "gpc2-3", "gpc2-2", "gpc2-1", "gpc2-0"; + samsung,pin-function = ; + samsung,pin-pud = ; + }; + + /* USI0 UART_HSI2C1 */ + uart3_bus_dual: uart3-bus-dual-pins { + samsung,pins = "gpc2-1", "gpc2-0"; + samsung,pin-function = ; + samsung,pin-pud = ; + }; + + /* USI0 HSI2C0 */ + hs_i2c4_bus: hs-i2c4-bus-pins { + samsung,pins = "gpc2-1", "gpc2-0"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = <0>; + samsung,pin-con-pdn = ; + samsung,pin-pud-pdn = ; + }; + + /* USI0 HSI2C1 */ + hs_i2c5_bus: hs-i2c5-bus-pins { + samsung,pins = "gpc2-3", "gpc2-2"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = <0>; + samsung,pin-con-pdn = ; + samsung,pin-pud-pdn = ; + }; + + /* USI0 SPI */ + spi2_bus: spi2-bus-pins { + samsung,pins = "gpc2-1", "gpc2-0", "gpc2-3"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = <0>; + }; + + spi2_cs: spi2-cs-pins { + samsung,pins = "gpc2-2"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = <0>; + }; + + /* USI1 UART */ + uart4_bus_single: uart4-bus-single-pins { + samsung,pins = "gpc2-7", "gpc2-6", "gpc2-5", "gpc2-4"; + samsung,pin-function = ; + samsung,pin-pud = ; + }; + + /* USI1 UART_HSI2C1*/ + uart4_bus_dual: uart4-bus-dual-pins { + samsung,pins = "gpc2-5", "gpc2-4"; + samsung,pin-function = ; + samsung,pin-pud = ; + }; + + /* USI1 HSI2C0 */ + hs_i2c6_bus: hs-i2c6-bus-pins { + samsung,pins = "gpc2-5", "gpc2-4"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = <0>; + samsung,pin-con-pdn = ; + samsung,pin-pud-pdn = ; + }; + + /* USI1 HSI2C1 */ + hs_i2c7_bus: hs-i2c7-bus-pins { + samsung,pins = "gpc2-7", "gpc2-6"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = <0>; + samsung,pin-con-pdn = ; + samsung,pin-pud-pdn = ; + }; + + /* USI1 SPI */ + spi3_bus: spi3-bus-pins { + samsung,pins = "gpc2-5", "gpc2-4", "gpc2-7"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = <0>; + }; + + spi3_cs: spi3-cs-pins { + samsung,pins = "gpc2-6"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = <0>; + }; + + fm_lna_en: fm-lna-en-pins { + samsung,pins = "gpg0-2"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-con-pdn = ; + samsung,pin-pud-pdn = ; + samsung,pin-val = <1>; + }; + + uart1_bus: uart1-bus-pins { + samsung,pins = "gpg1-3", "gpg1-2", "gpg1-1", "gpg1-0"; + samsung,pin-function = ; + samsung,pin-pud = ; + }; + + i2c7_bus: i2c7-bus-pins { + samsung,pins = "gpg1-5", "gpg1-4"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = <0>; + }; + + aud_dmic_on: aud-dmic-on-pins { + samsung,pins = "gpg2-1"; + samsung,pin-function = ; + samsung,pin-con-pdn = ; + samsung,pin-val = <1>; + }; + + aud_dmic_off: aud-dmic-off-pins { + samsung,pins = "gpg2-1"; + samsung,pin-function = ; + samsung,pin-con-pdn = ; + samsung,pin-val = <0>; + }; + + /* UART_HEALTH */ + uart0_bus: uart0-bus-pins { + samsung,pins = "gpp0-3", "gpp0-2", "gpp0-1", "gpp0-0"; + samsung,pin-function = ; + samsung,pin-pud = ; + }; + + i2c0_bus: i2c0-bus-pins { + samsung,pins = "gpp1-1", "gpp1-0"; + samsung,pin-function = ; + samsung,pin-con-pdn = ; + samsung,pin-pud = ; + samsung,pin-drv = <0>; + }; + + i2c1_bus: i2c1-bus-pins { + samsung,pins = "gpp1-3", "gpp1-2"; + samsung,pin-function = ; + samsung,pin-con-pdn = ; + samsung,pin-pud = ; + samsung,pin-drv = <0>; + }; + + i2c2_bus: i2c2-bus-pins { + samsung,pins = "gpp2-1", "gpp2-0"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = <0>; + }; + + i2c3_bus: i2c3-bus-pins { + samsung,pins = "gpp3-1", "gpp3-0"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = <0>; + }; + + i2c4_bus: i2c4-bus-pins { + samsung,pins = "gpp4-1", "gpp4-0"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = <0>; + }; + + i2c5_bus: i2c5-bus-pins { + samsung,pins = "gpp4-3", "gpp4-2"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = <0>; + }; + + i2c6_bus: i2c6-bus-pins { + samsung,pins = "gpp4-5", "gpp4-4"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = <0>; + }; + + /* SPI_ESE */ + spi0_bus: spi0-bus-pins { + samsung,pins = "gpp5-3", "gpp5-2", "gpp5-0"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = <0>; + }; + + spi0_cs: spi0-cs-pins { + samsung,pins = "gpp5-1"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = <0>; + }; + + /* SPI_FP */ + spi1_bus: spi1-bus-pins { + samsung,pins = "gpp6-3", "gpp6-2", "gpp6-0"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = <0>; + }; + + spi1_cs: spi1-cs-pins { + samsung,pins = "gpp6-1"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = <0>; + }; + + /* USI2 UART */ + uart5_bus_single: uart5-bus-single-pins { + samsung,pins = "gpp8-1", "gpp8-0", "gpp7-1", "gpp7-0"; + samsung,pin-function = ; + samsung,pin-pud = ; + }; + + /* USI2 UART_HSI2C1 */ + uart5_bus_dual: uart5-bus-dual-pins { + samsung,pins = "gpp7-1", "gpp7-0"; + samsung,pin-function = ; + samsung,pin-pud = ; + }; + + /* USI2 HSI2C0 */ + hs_i2c8_bus: hs-i2c8-bus-pins { + samsung,pins = "gpp7-1", "gpp7-0"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = <0>; + samsung,pin-con-pdn = ; + samsung,pin-pud-pdn = ; + }; + + /* USI2 HSI2C1 */ + hs_i2c9_bus: hs-i2c9-bus-pins { + samsung,pins = "gpp8-1", "gpp8-0"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = <0>; + samsung,pin-con-pdn = ; + samsung,pin-pud-pdn = ; + }; + + /* USI2 SPI */ + spi4_bus: spi4-bus-pins { + samsung,pins = "gpp7-1", "gpp7-0", "gpp8-1"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = <0>; + }; + + spi4_cs: spi4-cs-pins { + samsung,pins = "gpp8-0"; + samsung,pin-function = ; + samsung,pin-pud = ; + samsung,pin-drv = <0>; + }; +}; diff --git a/arch/arm64/boot/dts/exynos/exynos7885.dtsi b/arch/arm64/boot/dts/exynos/exynos7885.dtsi new file mode 100644 index 000000000000..cc7a5ce0c103 --- /dev/null +++ b/arch/arm64/boot/dts/exynos/exynos7885.dtsi @@ -0,0 +1,438 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Samsung Exynos7885 SoC device tree source + * + * Copyright (c) 2021 Samsung Electronics Co., Ltd. + * Copyright (c) 2021 Dávid Virág + * + */ + +#include +#include + +/ { + compatible = "samsung,exynos7885"; + #address-cells = <2>; + #size-cells = <1>; + + interrupt-parent = <&gic>; + + aliases { + pinctrl0 = &pinctrl_alive; + pinctrl1 = &pinctrl_dispaud; + pinctrl2 = &pinctrl_fsys; + pinctrl3 = &pinctrl_top; + }; + + arm-a53-pmu { + compatible = "arm,cortex-a53-pmu"; + interrupts = , + , + , + , + , + ; + interrupt-affinity = <&cpu0>, + <&cpu1>, + <&cpu2>, + <&cpu3>, + <&cpu4>, + <&cpu5>; + }; + + arm-a73-pmu { + compatible = "arm,cortex-a73-pmu"; + interrupts = , + ; + interrupt-affinity = <&cpu6>, + <&cpu7>; + }; + + cpus { + #address-cells = <1>; + #size-cells = <0>; + + cpu-map { + cluster0 { + core0 { + cpu = <&cpu0>; + }; + core1 { + cpu = <&cpu1>; + }; + core2 { + cpu = <&cpu2>; + }; + core3 { + cpu = <&cpu3>; + }; + core4 { + cpu = <&cpu4>; + }; + core5 { + cpu = <&cpu5>; + }; + }; + + cluster1 { + core0 { + cpu = <&cpu6>; + }; + core1 { + cpu = <&cpu7>; + }; + }; + }; + + cpu0: cpu@100 { + device_type = "cpu"; + compatible = "arm,cortex-a53"; + reg = <0x100>; + enable-method = "psci"; + }; + + cpu1: cpu@101 { + device_type = "cpu"; + compatible = "arm,cortex-a53"; + reg = <0x101>; + enable-method = "psci"; + }; + + cpu2: cpu@102 { + device_type = "cpu"; + compatible = "arm,cortex-a53"; + reg = <0x102>; + enable-method = "psci"; + }; + + cpu3: cpu@103 { + device_type = "cpu"; + compatible = "arm,cortex-a53"; + reg = <0x103>; + enable-method = "psci"; + }; + + cpu4: cpu@200 { + device_type = "cpu"; + compatible = "arm,cortex-a53"; + reg = <0x200>; + enable-method = "psci"; + }; + + cpu5: cpu@201 { + device_type = "cpu"; + compatible = "arm,cortex-a53"; + reg = <0x201>; + enable-method = "psci"; + }; + + cpu6: cpu@0 { + device_type = "cpu"; + compatible = "arm,cortex-a73"; + reg = <0x0>; + enable-method = "psci"; + }; + + cpu7: cpu@1 { + device_type = "cpu"; + compatible = "arm,cortex-a73"; + reg = <0x1>; + enable-method = "psci"; + }; + }; + + psci { + compatible = "arm,psci"; + method = "smc"; + cpu_suspend = <0xc4000001>; + cpu_off = <0x84000002>; + cpu_on = <0xc4000003>; + }; + + timer { + compatible = "arm,armv8-timer"; + /* Hypervisor Virtual Timer interrupt is not wired to GIC */ + interrupts = , + , + , + ; + }; + + fixed-rate-clocks { + oscclk: osc-clock { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <26000000>; + clock-output-names = "oscclk"; + }; + }; + + soc: soc@0 { + compatible = "simple-bus"; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0x0 0x0 0x0 0x20000000>; + + chipid@10000000 { + compatible = "samsung,exynos850-chipid"; + reg = <0x10000000 0x24>; + }; + + gic: interrupt-controller@12301000 { + compatible = "arm,gic-400"; + #interrupt-cells = <3>; + #address-cells = <0>; + interrupt-controller; + reg = <0x12301000 0x1000>, + <0x12302000 0x2000>, + <0x12304000 0x2000>, + <0x12306000 0x2000>; + interrupts = ; + }; + + cmu_peri: clock-controller@10010000 { + compatible = "samsung,exynos7885-cmu-peri"; + reg = <0x10010000 0x8000>; + #clock-cells = <1>; + + clocks = <&oscclk>, + <&cmu_top CLK_DOUT_PERI_BUS>, + <&cmu_top CLK_DOUT_PERI_SPI0>, + <&cmu_top CLK_DOUT_PERI_SPI1>, + <&cmu_top CLK_DOUT_PERI_UART0>, + <&cmu_top CLK_DOUT_PERI_UART1>, + <&cmu_top CLK_DOUT_PERI_UART2>, + <&cmu_top CLK_DOUT_PERI_USI0>, + <&cmu_top CLK_DOUT_PERI_USI1>, + <&cmu_top CLK_DOUT_PERI_USI2>; + clock-names = "oscclk", + "dout_peri_bus", + "dout_peri_spi0", + "dout_peri_spi1", + "dout_peri_uart0", + "dout_peri_uart1", + "dout_peri_uart2", + "dout_peri_usi0", + "dout_peri_usi1", + "dout_peri_usi2"; + }; + + cmu_core: clock-controller@12000000 { + compatible = "samsung,exynos7885-cmu-core"; + reg = <0x12000000 0x8000>; + #clock-cells = <1>; + + clocks = <&oscclk>, + <&cmu_top CLK_DOUT_CORE_BUS>, + <&cmu_top CLK_DOUT_CORE_CCI>, + <&cmu_top CLK_DOUT_CORE_G3D>; + clock-names = "oscclk", "dout_core_bus", "dout_core_cci", "dout_core_g3d"; + }; + + cmu_top: clock-controller@12060000 { + compatible = "samsung,exynos7885-cmu-top"; + reg = <0x12060000 0x8000>; + #clock-cells = <1>; + + clocks = <&oscclk>; + clock-names = "oscclk"; + }; + + pinctrl_alive: pinctrl@11cb0000 { + compatible = "samsung,exynos7885-pinctrl"; + reg = <0x11cb0000 0x1000>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + + wakeup-interrupt-controller { + compatible = "samsung,exynos7-wakeup-eint"; + interrupt-parent = <&gic>; + interrupts = ; + }; + }; + + pinctrl_dispaud: pinctrl@148f0000 { + compatible = "samsung,exynos7885-pinctrl"; + reg = <0x148f0000 0x1000>; + interrupts = ; + }; + + pinctrl_fsys: pinctrl@13430000 { + compatible = "samsung,exynos7885-pinctrl"; + reg = <0x13430000 0x1000>; + interrupts = ; + }; + + pinctrl_top: pinctrl@139b0000 { + compatible = "samsung,exynos7885-pinctrl"; + reg = <0x139b0000 0x1000>; + interrupts = ; + }; + + pmu_system_controller: system-controller@11c80000 { + compatible = "samsung,exynos7-pmu", "syscon"; + reg = <0x11c80000 0x10000>; + }; + + serial_0: serial@13800000 { + compatible = "samsung,exynos5433-uart"; + reg = <0x13800000 0x100>; + interrupts = ; + pinctrl-names = "default"; + pinctrl-0 = <&uart0_bus>; + clocks = <&cmu_peri CLK_GOUT_UART0_EXT_UCLK>, + <&cmu_peri CLK_GOUT_UART0_PCLK>; + clock-names = "uart", "clk_uart_baud0"; + samsung,uart-fifosize = <64>; + status = "disabled"; + }; + + serial_1: serial@13810000 { + compatible = "samsung,exynos5433-uart"; + reg = <0x13810000 0x100>; + interrupts = ; + pinctrl-names = "default"; + pinctrl-0 = <&uart1_bus>; + clocks = <&cmu_peri CLK_GOUT_UART1_EXT_UCLK>, + <&cmu_peri CLK_GOUT_UART1_PCLK>; + clock-names = "uart", "clk_uart_baud0"; + samsung,uart-fifosize = <256>; + status = "disabled"; + }; + + serial_2: serial@13820000 { + compatible = "samsung,exynos5433-uart"; + reg = <0x13820000 0x100>; + interrupts = ; + pinctrl-names = "default"; + pinctrl-0 = <&uart2_bus>; + clocks = <&cmu_peri CLK_GOUT_UART2_EXT_UCLK>, + <&cmu_peri CLK_GOUT_UART2_PCLK>; + clock-names = "uart", "clk_uart_baud0"; + samsung,uart-fifosize = <256>; + status = "disabled"; + }; + + i2c_0: i2c@13830000 { + compatible = "samsung,s3c2440-i2c"; + reg = <0x13830000 0x100>; + interrupts = ; + #address-cells = <1>; + #size-cells = <0>; + pinctrl-names = "default"; + pinctrl-0 = <&i2c0_bus>; + clocks = <&cmu_peri CLK_GOUT_I2C0_PCLK>; + clock-names = "i2c"; + status = "disabled"; + }; + + i2c_1: i2c@13840000 { + compatible = "samsung,s3c2440-i2c"; + reg = <0x13840000 0x100>; + interrupts = ; + #address-cells = <1>; + #size-cells = <0>; + pinctrl-names = "default"; + pinctrl-0 = <&i2c1_bus>; + clocks = <&cmu_peri CLK_GOUT_I2C1_PCLK>; + clock-names = "i2c"; + status = "disabled"; + }; + + i2c_2: i2c@13850000 { + compatible = "samsung,s3c2440-i2c"; + reg = <0x13850000 0x100>; + interrupts = ; + #address-cells = <1>; + #size-cells = <0>; + pinctrl-names = "default"; + pinctrl-0 = <&i2c2_bus>; + clocks = <&cmu_peri CLK_GOUT_I2C2_PCLK>; + clock-names = "i2c"; + status = "disabled"; + }; + + i2c_3: i2c@13860000 { + compatible = "samsung,s3c2440-i2c"; + reg = <0x13860000 0x100>; + interrupts = ; + #address-cells = <1>; + #size-cells = <0>; + pinctrl-names = "default"; + pinctrl-0 = <&i2c3_bus>; + clocks = <&cmu_peri CLK_GOUT_I2C3_PCLK>; + clock-names = "i2c"; + status = "disabled"; + }; + + i2c_4: i2c@13870000 { + compatible = "samsung,s3c2440-i2c"; + reg = <0x13870000 0x100>; + interrupts = ; + #address-cells = <1>; + #size-cells = <0>; + pinctrl-names = "default"; + pinctrl-0 = <&i2c4_bus>; + clocks = <&cmu_peri CLK_GOUT_I2C4_PCLK>; + clock-names = "i2c"; + status = "disabled"; + }; + + i2c_5: i2c@13880000 { + compatible = "samsung,s3c2440-i2c"; + reg = <0x13880000 0x100>; + interrupts = ; + #address-cells = <1>; + #size-cells = <0>; + pinctrl-names = "default"; + pinctrl-0 = <&i2c5_bus>; + clocks = <&cmu_peri CLK_GOUT_I2C5_PCLK>; + clock-names = "i2c"; + status = "disabled"; + }; + + i2c_6: i2c@13890000 { + compatible = "samsung,s3c2440-i2c"; + reg = <0x13890000 0x100>; + interrupts = ; + #address-cells = <1>; + #size-cells = <0>; + pinctrl-names = "default"; + pinctrl-0 = <&i2c6_bus>; + clocks = <&cmu_peri CLK_GOUT_I2C6_PCLK>; + clock-names = "i2c"; + status = "disabled"; + }; + + i2c_7: i2c@11cd0000 { + compatible = "samsung,s3c2440-i2c"; + reg = <0x11cd0000 0x100>; + interrupts = ; + #address-cells = <1>; + #size-cells = <0>; + pinctrl-names = "default"; + pinctrl-0 = <&i2c7_bus>; + clocks = <&cmu_peri CLK_GOUT_I2C7_PCLK>; + clock-names = "i2c"; + status = "disabled"; + }; + }; +}; + +#include "exynos7885-pinctrl.dtsi" +#include "arm/exynos-syscon-restart.dtsi" -- 2.34.1