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 E4FE5C43217 for ; Wed, 8 Dec 2021 16:29:10 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236921AbhLHQcl (ORCPT ); Wed, 8 Dec 2021 11:32:41 -0500 Received: from smtp-relay-internal-0.canonical.com ([185.125.188.122]:49208 "EHLO smtp-relay-internal-0.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236911AbhLHQci (ORCPT ); Wed, 8 Dec 2021 11:32:38 -0500 Received: from mail-lf1-f71.google.com (mail-lf1-f71.google.com [209.85.167.71]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-internal-0.canonical.com (Postfix) with ESMTPS id 47C884029F for ; Wed, 8 Dec 2021 16:29:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1638980941; bh=/UnCaMOaE0r0Za7l2CYHdzK3LVhxC/oQzEtsFORObJY=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=Zc4/nsTcxt2u+zeiof2PwKLjKuyTQwdXz+BYy69EqE2KOpzGDeEaJV8kE0OW36r7m 2qYZxYv49NAyIzRPHwh1MhSHK/TEMaFjDhZ7583z8UuuHXhxJ9cLQBnAH+Z4h/ViXG Vrp/DP/zlNSXZWGaqgMDj91vXTsa7XNKT+9TN2przmhRbqSZlDw0ns1D/qBVw2rbZZ FTTRHJI3c/8wAkWAk6Nh0qREG/fkF+4tfHGjeAbtfXqtE+Nvryh6xw7hdIjTeVRPLE NLunISjJxwthIsl8tI3SFa48C7UvU4GFpciN4/YEGfbb9b6Lip7B5eBpaaPyut7PEx T+HCdfmEngA3g== Received: by mail-lf1-f71.google.com with SMTP id o11-20020a056512230b00b0041ca68ddf35so1279589lfu.22 for ; Wed, 08 Dec 2021 08:29:01 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=/UnCaMOaE0r0Za7l2CYHdzK3LVhxC/oQzEtsFORObJY=; b=PsWJ/N6Sw+knLXJz2qzMSNZ/QKe8X99qRgLbBnkleyK7HFAMqT+jEkEBVuoMgFLLNR DfR6D2e8yNztgfcjnAjvVBVFVheZr2FzOtWj9Avt+CdAyeWo0+flsBIWs1yn+IBCAq/I LwPjwXrH/MNeKRLoweIqDjDYjLF/nkfCwjMAym1K6G+3QjkDCR4RGU/PI0dbdLMB0LBn kMrfIfWWYu5JmoATdugrt+nLsbYFv2/o85/K9TtPzlIvijL37hxc9GtijPSQAN4DoikO 5qa/qzgP8HtvUEnXUSF0fej8hvMRs41m29zp6ntU6FOCsMSRdH1jSSvd2D7HT4oQ50D5 tH6Q== X-Gm-Message-State: AOAM5338bvPYzfdeP8pe4cPeqDAgwBJz0B9r0KHQuXUvbyU1IDBZRLD3 VoNRXyIylpBiiI8CBG8X3hjSVwdTNyJuMfdGRZjsIAGWu5JP+aNwYRwzioqgKRG/wdgr2OxNQ2A xyi9Z++/H3k7V3i9MrUdCbbhSE+3OsNIC6x1KjpkzlQ== X-Received: by 2002:a2e:9107:: with SMTP id m7mr461289ljg.209.1638980937681; Wed, 08 Dec 2021 08:28:57 -0800 (PST) X-Google-Smtp-Source: ABdhPJwIwQU+X8t7tOP0ejJnpUdJkw86nIEXKXWXgD13uXER76HySFNl3iap+u968szw5hY15UDOBw== X-Received: by 2002:a2e:9107:: with SMTP id m7mr461247ljg.209.1638980937283; Wed, 08 Dec 2021 08:28:57 -0800 (PST) Received: from [192.168.3.67] (89-77-68-124.dynamic.chello.pl. [89.77.68.124]) by smtp.gmail.com with ESMTPSA id m13sm296123lfl.131.2021.12.08.08.28.56 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 08 Dec 2021 08:28:56 -0800 (PST) Message-ID: Date: Wed, 8 Dec 2021 17:28:55 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.1 Subject: Re: [PATCH v4 7/7] arm64: dts: exynos: Add initial device tree support for Exynos7885 SoC Content-Language: en-US To: Sam Protsenko Cc: David Virag , 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 References: <20211206153124.427102-1-virag.david003@gmail.com> <20211206153124.427102-8-virag.david003@gmail.com> <0c7fc14b-a0d0-7d31-3a33-623f07114a80@canonical.com> From: Krzysztof Kozlowski In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 08/12/2021 16:37, Sam Protsenko wrote: > On Wed, 8 Dec 2021 at 11:05, Krzysztof Kozlowski > wrote: >> >> On 07/12/2021 21:19, Sam Protsenko wrote: >>> On Mon, 6 Dec 2021 at 17:32, David Virag wrote: >>>> >>>> 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 >>> >>> Shouldn't SoC and board files be sent as two separate patches? For >>> example, I've checked exynos5433 and exynos7, SoC support >> >> Does not have to be. DTSI by itself cannot be even compiled, so keeping >> it a separate commit does not bring that much benefits. Especially if it >> is only one DTSI and one DTS. >> > > Right, the only theoretical benefit I can see is reverting the board > dts in future, if another board already uses SoC dtsi. Or > cherry-picking in similar manner. Not my call though, for me it just > seems easier to review it that way, and more atomic. > >>> >>>> 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 >>>> + * >>> >>> This line is not needed. >>> >>>> + */ >>>> + >>>> +/dts-v1/; >>> >>> Suggest adding empty line here. >>> >>>> +#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; >>> >>> Suggestion: add aliases also for i2c nodes, to keep i2c instance >>> numbers fixed in run-time (e.g. in "i2cdetect -l" output). >>> >>>> + }; >>>> + >>>> + 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>; >>> >>> Here and below: what is 0, why it's needed? Also, isn't it enough to >>> have just "gpios", and remove interrupt*? Need to check "gpio-keys" >>> driver and bindings doc, but AFAIR it should be enough to have just >>> "gpios =" or just "interrupts =". >> >> "gpios" is enough, because the IRQ line is derived from it. However >> explicitly describing interrupts seems like a more detailed hardware >> description. >> > > Frankly I don't think it's more detailed, it states the same thing > (gpa1 controller, line=5). It states that interrupt is exactly the same as GPIO which not explicitly coming from bindings. > Also not sure if level interrupt is needed > for a key, maybe edge type would be better. Also, I still don't > understand 0 in the end. Indeed this part looks not correct - the leve and 0 at the end. In such case better to skip it then define misleading property. > Checking existing dts's, most of those only > define "gpios". I'd say having only "gpios" is more obvious, and will > work the same way. But that's not a strong preference on my side, just > think it's a bit misleading right now. Yep. > >>> >>> >>>> + 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; >>>> + }; >>>> + }; >>>> +}; >>>> + >>> >>> If there are some LEDs by chance on that board -- it might be useful >>> to define those here with "gpio-leds" as well. Maybe even set some >>> default trigger like "heartbeat". >>> >>>> +&serial_2 { >>>> + status = "okay"; >>>> +}; >>>> + >>>> +&pinctrl_alive { >>>> + key_volup: key-volup-pins { >>>> + samsung,pins = "gpa1-5"; >>>> + samsung,pin-function = ; >>> >>> Maybe EXYNOS_PIN_FUNC_EINT is more self-explanatory? Just a suggestion though. >>> >>>> + samsung,pin-pud = ; >>>> + samsung,pin-drv = <0>; >>> >>> Here and below: please use EXYNOS5420_PIN_DRV_LV1 (means drive level = 1x). >> >> But are these drive level 1x? The Exynos Auto v9 has different values >> than older ones. >> > > It should be that. One way to implicitly figure that out is to look at > nodes like "sd0_clk_fast_slew_rate_3x" and those pin-drv properties. > Also, in Exynos850 for most of domains those constants are > appropriate, that's why I mentioned that. Then I agree, use existing macros. The macros can be skipped for cases when the meaning is different. > >>> >>>> + }; >>>> + >>>> + 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 >>> >>> You probably also need >>> here for GIC_SPI definition. >>> >>>> + >>>> +&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>; >>>> + }; >>> >>> Hmm, what are these two? I can't find anything related in >>> exynos7885.dtsi. If it's just some leftover from downstream vendor >>> kernel -- please remove it. >> >> This is a pinctrl DTSI file. What do you expect to find in >> exynos7885.dtsi for these? Why removing them? > > etc0 and etc1 nodes are defined as gpio-controller and > interrupt-controller. So "compatible" should be provided somewhere for > those nodes. For example, for "gpa0" node below you can find its > compatible in exynos7885.dtsi. I am sorry, I still don't get it. gpa0 below does not have compatible. > Right now I don't understand how those > etc0 and etc1 can be used at all. Exactly the same as gpa0, nothing changes here. > So maybe it's better to just remove > those? Those are not used anywhere and we probably don't even know > what those nodes represent. My point is, if those are actually some > leftovers from vendor kernel and those are not going to be used (and I > don't see how, without "compatible"), then we probablly better off > without those. I don't have the manual but in other SoCs these are not left-overs, but real GPIO banks. Their configurability depends on the SoCs. I agree that usually they are not used (because one of the uses is debugging), but they can be included for completness of HW description. Assuming they exist. (...) >>>> +#include "exynos7885-pinctrl.dtsi" >>>> +#include "arm/exynos-syscon-restart.dtsi" >>> >>> Have you verified both reboot and power off functions from this file? >>> I guess if some doesn't work, it's better to avoid including this, but >>> instead add corresponding sub-nodes into your pmu_sytem_controller. >> >> Why open-coding same code work and including would not? Assuming that it >> compiles, of course. >> > > For example, in case of Exynos850 the "power off" node from this file > wasn't suitable. In that case it's not worth including it. But David > already confirmed both work fine for him, so it doesn't matter > anymore. These nodes were here before and since they duplicated common syscon, I asked to use DTSI. The boards which do not use the same syscon registers/methods should not include it, obviously. :) Best regards, Krzysztof 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 2FB7CC433F5 for ; Wed, 8 Dec 2021 16:30:45 +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:In-Reply-To:From:References:Cc:To: Subject:MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=7B+z/gjJcxNoJl8hJY396nE87QqhUeqnomIGXNKhLWU=; b=QqxGOnCl7FhNqe 1p/clUIiUBok++RajqlgeB9AmGPvGQHeFk9tkE65ktpHkdlyLo+BTr3+GqqoecUjmgisQY4wuechX 2gMS7b+MpnAsYBjLmmLqW08oe/W9NEwfBbv8Nff9jZ9gU51yWG3rL8K0IvINFhDZao59SoRhZYFbn /mJY7SqoNcLEy8Gk1VWH78gCItzTBKWvlxVxLHtXdxQjD3RQN1QiRvp918ELM+NBJFqrZaAHyzgPq 6E7uXNIPoJKuWOs6hcf8a/re4uBPg/c1VzgyoD6U1Mw/BDjg6oiRe4mMXJzVeXQFso2UJ3eTJnzcE lPZRx/7oY4TDfFYDR3HQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1muzof-00DZZ9-Ca; Wed, 08 Dec 2021 16:29:13 +0000 Received: from smtp-relay-internal-1.canonical.com ([185.125.188.123]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1muzoZ-00DZXn-Nd for linux-arm-kernel@lists.infradead.org; Wed, 08 Dec 2021 16:29:10 +0000 Received: from mail-lf1-f69.google.com (mail-lf1-f69.google.com [209.85.167.69]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-internal-1.canonical.com (Postfix) with ESMTPS id 8F3383F1D7 for ; Wed, 8 Dec 2021 16:28:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1638980939; bh=/UnCaMOaE0r0Za7l2CYHdzK3LVhxC/oQzEtsFORObJY=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=eBltkhulkEnWks06n3yrtporlKrTwYo8lFhzdFtatvhDwmVYkCN9wwdG0lR7/B9/E zOdgLhaqX2qtMONhfXXfZg0O7Swf+2BZABfsJFhE8zgTASD72KkLP3pcFMY09BGrEA sjfh8wE/Yp5CuIT1t66i7G2SB+yBHgFSIFfOf7spSCiW+omf8t397p5f4qADMZmMcO 1TaeaNVq0yUoYjG80JT0Wz2EtW9EDJ52aOHVM8eUScrAmrOb4JS7+HygWGq7jYddDb Xuz8BzGr1mEZBXQ8qPgtXQEv9hz4I1Qx8c+StPeE25QuAmLuxkXV8iRxYDm8blGVtm vpE+cog4KjaDA== Received: by mail-lf1-f69.google.com with SMTP id u20-20020a056512129400b0040373ffc60bso1274254lfs.15 for ; Wed, 08 Dec 2021 08:28:59 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=/UnCaMOaE0r0Za7l2CYHdzK3LVhxC/oQzEtsFORObJY=; b=DdL196iX1IHUiZeNcjxjdb/opF4U5A7/nE3vr+J7BiaVjNTstgs/NGYwLXG/FAQLxV RZfGU/w8C/6WboQUq4RJamYL973k13gu2rZUoJ/5UVNGg93Sq35qhrP6mn0HgZ5sIRcc 6OBqeYwa60ok2KbiYFTGJehrFzP1NZFLL5s0+3huZlYyTnPEcjuYU7T08PW3Tah9EZ2V abofiIoqljD6IFuLHTxo1z8jB7XxQ2zRn+XtABdRahwAaOzsX/vrzmJ6IW62HapvKCJ5 OotPH9pbQ7tR9vkLEthDAPlO7UdYVSNIk+3d6fy5yOpuLeIiVBJHy/7guDmowLy6vZAs Bdfw== X-Gm-Message-State: AOAM5324YdHB6Igbth9l4Ga59m28uwarjBY6VVUZJ95zXBC1fLQPbWsw f+8SXd1VcSAtibUMRSaBW4yg+km68Bqwt6UeKwarPY9gt03UyuSWE8UJ4eeHB7zziy9GcZQ6hUZ cElxhOzjntCeda097sR32YNUIXpE5lDGCEOq+4kynQ+4hi6m88WEU X-Received: by 2002:a2e:9107:: with SMTP id m7mr461281ljg.209.1638980937598; Wed, 08 Dec 2021 08:28:57 -0800 (PST) X-Google-Smtp-Source: ABdhPJwIwQU+X8t7tOP0ejJnpUdJkw86nIEXKXWXgD13uXER76HySFNl3iap+u968szw5hY15UDOBw== X-Received: by 2002:a2e:9107:: with SMTP id m7mr461247ljg.209.1638980937283; Wed, 08 Dec 2021 08:28:57 -0800 (PST) Received: from [192.168.3.67] (89-77-68-124.dynamic.chello.pl. [89.77.68.124]) by smtp.gmail.com with ESMTPSA id m13sm296123lfl.131.2021.12.08.08.28.56 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 08 Dec 2021 08:28:56 -0800 (PST) Message-ID: Date: Wed, 8 Dec 2021 17:28:55 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.1 Subject: Re: [PATCH v4 7/7] arm64: dts: exynos: Add initial device tree support for Exynos7885 SoC Content-Language: en-US To: Sam Protsenko Cc: David Virag , 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 References: <20211206153124.427102-1-virag.david003@gmail.com> <20211206153124.427102-8-virag.david003@gmail.com> <0c7fc14b-a0d0-7d31-3a33-623f07114a80@canonical.com> From: Krzysztof Kozlowski In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211208_082908_146653_CC0AD3AA X-CRM114-Status: GOOD ( 45.77 ) 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 T24gMDgvMTIvMjAyMSAxNjozNywgU2FtIFByb3RzZW5rbyB3cm90ZToKPiBPbiBXZWQsIDggRGVj IDIwMjEgYXQgMTE6MDUsIEtyenlzenRvZiBLb3psb3dza2kKPiA8a3J6eXN6dG9mLmtvemxvd3Nr aUBjYW5vbmljYWwuY29tPiB3cm90ZToKPj4KPj4gT24gMDcvMTIvMjAyMSAyMToxOSwgU2FtIFBy b3RzZW5rbyB3cm90ZToKPj4+IE9uIE1vbiwgNiBEZWMgMjAyMSBhdCAxNzozMiwgRGF2aWQgVmly YWcgPHZpcmFnLmRhdmlkMDAzQGdtYWlsLmNvbT4gd3JvdGU6Cj4+Pj4KPj4+PiBBZGQgaW5pdGlh bCBFeHlub3M3ODg1IGRldmljZSB0cmVlIG5vZGVzIHdpdGggZHRzIGZvciB0aGUgU2Ftc3VuZyBH YWxheHkKPj4+PiBBOCAoMjAxOCksIGEuay5hLiAiamFja3BvdGx0ZSIsIHdpdGggbW9kZWwgbnVt YmVyICJTTS1BNTMwRiIuCj4+Pj4gQ3VycmVudGx5IHRoaXMgaW5jbHVkZXMgc29tZSBjbG9jayBz dXBwb3J0LCBVQVJUIHN1cHBvcnQsIGFuZCBJMkMgbm9kZXMuCj4+Pj4KPj4+PiBTaWduZWQtb2Zm LWJ5OiBEYXZpZCBWaXJhZyA8dmlyYWcuZGF2aWQwMDNAZ21haWwuY29tPgo+Pj4+IC0tLQo+Pj4+ IENoYW5nZXMgaW4gdjI6Cj4+Pj4gICAtIFJlbW92ZSBhZGRyZXNzLWNlbGxzLCBhbmQgc2l6ZS1j ZWxscyBmcm9tIGR0cywgc2luY2UgdGhleSBhcmUKPj4+PiAgICAgYWxyZWFkeSBpbiB0aGUgZHRz aS4KPj4+PiAgIC0gTG93ZXIgY2FzZSBoZXggaW4gbWVtb3J5IG5vZGUKPj4+PiAgIC0gRml4IG5v ZGUgbmFtZXMgd2l0aCB1bmRlcnNjb3JlIGluc3RlYWQgb2YgaHlwaGVuCj4+Pj4gICAtIEZpeCBs aW5lIGJyZWFrcwo+Pj4+ICAgLSBGaXggIi1rZXkiIG1pc3NpbmcgZnJvbSBncGlvIGtleXMgbm9k ZSBuYW1lcwo+Pj4+ICAgLSBVc2UgdGhlIGZvcm0gd2l0aG91dCAia2V5IiBpbiBncGlvIGtleSBs YWJlbHMgb24gYWxsIGtleXMKPj4+PiAgIC0gU3VmZml4IHBpbiBjb25maWd1cmF0aW9uIG5vZGUg bmFtZXMgd2l0aCAiLXBpbnMiCj4+Pj4gICAtIFJlbW92ZSAiZmltY19pc19tY2xrIiBub2RlcyBm cm9tIHBpbmN0cmwgZHRzaSBmb3Igbm93Cj4+Pj4gICAtIFVzZSBtYWNyb3MgZm9yICJzYW1zdW5n LHBpbi1jb24tcGRuIiwgYW5kICJzYW1zdW5nLHBpbi1jb24tcGRuIgo+Pj4+ICAgLSBBZGQgY29t bWVudCBhYm91dCBBcm0gUE1VCj4+Pj4gICAtIFJlbmFtZSAiY2xvY2stb3NjY2xrIiB0byAib3Nj LWNsb2NrIgo+Pj4+ICAgLSBJbmNsdWRlIGV4eW5vcy1zeXNjb24tcmVzdGFydC5kdHNpIGluc3Rl YWQgb2YgcmV3cml0aW5nIGl0cyBjb250ZW50cwo+Pj4+Cj4+Pj4gQ2hhbmdlcyBpbiB2MzoKPj4+ PiAgIC0gRml4IHR5cG8gKHNlcGVyYXRlIC0+IHNlcGFyYXRlKQo+Pj4+Cj4+Pj4gQ2hhbmdlcyBp biB2NDoKPj4+PiAgIC0gRml4ZWQgbGVhZGluZyAweCBpbiBjbG9jay1jb250cm9sbGVyIG5vZGVz Cj4+Pj4gICAtIEFjdHVhbGx5IHN1ZmZpeGVkIHBpbiBjb25maWd1cmF0aW9uIG5vZGUgbmFtZXMg d2l0aCAiLXBpbnMiCj4+Pj4gICAtIFNlcGVyYXRlZCBDb3J0ZXgtQTUzIGFuZCBDb3J0ZXgtQTcz IFBNVQo+Pj4+Cj4+Pj4gIGFyY2gvYXJtNjQvYm9vdC9kdHMvZXh5bm9zL01ha2VmaWxlICAgICAg ICAgICB8ICAgNyArLQo+Pj4+ICAuLi4vYm9vdC9kdHMvZXh5bm9zL2V4eW5vczc4ODUtamFja3Bv dGx0ZS5kdHMgfCAgOTUgKysKPj4+PiAgLi4uL2Jvb3QvZHRzL2V4eW5vcy9leHlub3M3ODg1LXBp bmN0cmwuZHRzaSAgIHwgODY1ICsrKysrKysrKysrKysrKysrKwo+Pj4+ICBhcmNoL2FybTY0L2Jv b3QvZHRzL2V4eW5vcy9leHlub3M3ODg1LmR0c2kgICAgfCA0MzggKysrKysrKysrCj4+Pj4gIDQg ZmlsZXMgY2hhbmdlZCwgMTQwMiBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQo+Pj4+ICBj cmVhdGUgbW9kZSAxMDA2NDQgYXJjaC9hcm02NC9ib290L2R0cy9leHlub3MvZXh5bm9zNzg4NS1q YWNrcG90bHRlLmR0cwo+Pj4KPj4+IFNob3VsZG4ndCBTb0MgYW5kIGJvYXJkIGZpbGVzIGJlIHNl bnQgYXMgdHdvIHNlcGFyYXRlIHBhdGNoZXM/IEZvcgo+Pj4gZXhhbXBsZSwgSSd2ZSBjaGVja2Vk IGV4eW5vczU0MzMgYW5kIGV4eW5vczcsIFNvQyBzdXBwb3J0Cj4+Cj4+IERvZXMgbm90IGhhdmUg dG8gYmUuIERUU0kgYnkgaXRzZWxmIGNhbm5vdCBiZSBldmVuIGNvbXBpbGVkLCBzbyBrZWVwaW5n Cj4+IGl0IGEgc2VwYXJhdGUgY29tbWl0IGRvZXMgbm90IGJyaW5nIHRoYXQgbXVjaCBiZW5lZml0 cy4gRXNwZWNpYWxseSBpZiBpdAo+PiBpcyBvbmx5IG9uZSBEVFNJIGFuZCBvbmUgRFRTLgo+Pgo+ IAo+IFJpZ2h0LCB0aGUgb25seSB0aGVvcmV0aWNhbCBiZW5lZml0IEkgY2FuIHNlZSBpcyByZXZl cnRpbmcgdGhlIGJvYXJkCj4gZHRzIGluIGZ1dHVyZSwgaWYgYW5vdGhlciBib2FyZCBhbHJlYWR5 IHVzZXMgU29DIGR0c2kuIE9yCj4gY2hlcnJ5LXBpY2tpbmcgaW4gc2ltaWxhciBtYW5uZXIuIE5v dCBteSBjYWxsIHRob3VnaCwgZm9yIG1lIGl0IGp1c3QKPiBzZWVtcyBlYXNpZXIgdG8gcmV2aWV3 IGl0IHRoYXQgd2F5LCBhbmQgbW9yZSBhdG9taWMuCj4gCj4+Pgo+Pj4+ICBjcmVhdGUgbW9kZSAx MDA2NDQgYXJjaC9hcm02NC9ib290L2R0cy9leHlub3MvZXh5bm9zNzg4NS1waW5jdHJsLmR0c2kK Pj4+PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGFyY2gvYXJtNjQvYm9vdC9kdHMvZXh5bm9zL2V4eW5v czc4ODUuZHRzaQo+Pj4+Cj4+Pj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtNjQvYm9vdC9kdHMvZXh5 bm9zL01ha2VmaWxlIGIvYXJjaC9hcm02NC9ib290L2R0cy9leHlub3MvTWFrZWZpbGUKPj4+PiBp bmRleCBiNDFlODZkZjBhODQuLmM2OGM0YWQ1NzdhYyAxMDA2NDQKPj4+PiAtLS0gYS9hcmNoL2Fy bTY0L2Jvb3QvZHRzL2V4eW5vcy9NYWtlZmlsZQo+Pj4+ICsrKyBiL2FyY2gvYXJtNjQvYm9vdC9k dHMvZXh5bm9zL01ha2VmaWxlCj4+Pj4gQEAgLTEsNiArMSw3IEBACj4+Pj4gICMgU1BEWC1MaWNl bnNlLUlkZW50aWZpZXI6IEdQTC0yLjAKPj4+PiAgZHRiLSQoQ09ORklHX0FSQ0hfRVhZTk9TKSAr PSBcCj4+Pj4gLSAgICAgICBleHlub3M1NDMzLXRtMi5kdGIgICAgICBcCj4+Pj4gLSAgICAgICBl eHlub3M1NDMzLXRtMmUuZHRiICAgICBcCj4+Pj4gLSAgICAgICBleHlub3M3LWVzcHJlc3NvLmR0 YiAgICBcCj4+Pj4gKyAgICAgICBleHlub3M1NDMzLXRtMi5kdGIgICAgICAgICAgICAgIFwKPj4+ PiArICAgICAgIGV4eW5vczU0MzMtdG0yZS5kdGIgICAgICAgICAgICAgXAo+Pj4+ICsgICAgICAg ZXh5bm9zNy1lc3ByZXNzby5kdGIgICAgICAgICAgICBcCj4+Pj4gKyAgICAgICBleHlub3M3ODg1 LWphY2twb3RsdGUuZHRiICAgICAgIFwKPj4+PiAgICAgICAgIGV4eW5vc2F1dG92OS1zYWRrLmR0 Ygo+Pj4+IGRpZmYgLS1naXQgYS9hcmNoL2FybTY0L2Jvb3QvZHRzL2V4eW5vcy9leHlub3M3ODg1 LWphY2twb3RsdGUuZHRzIGIvYXJjaC9hcm02NC9ib290L2R0cy9leHlub3MvZXh5bm9zNzg4NS1q YWNrcG90bHRlLmR0cwo+Pj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4+Pj4gaW5kZXggMDAwMDAw MDAwMDAwLi5mNTk0MWRjNGMzNzQKPj4+PiAtLS0gL2Rldi9udWxsCj4+Pj4gKysrIGIvYXJjaC9h cm02NC9ib290L2R0cy9leHlub3MvZXh5bm9zNzg4NS1qYWNrcG90bHRlLmR0cwo+Pj4+IEBAIC0w LDAgKzEsOTUgQEAKPj4+PiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAKPj4+ PiArLyoKPj4+PiArICogU2Ftc3VuZyBHYWxheHkgQTggMjAxOCAoamFja3BvdGx0ZS9TTS1BNTMw RikgZGV2aWNlIHRyZWUgc291cmNlCj4+Pj4gKyAqCj4+Pj4gKyAqIENvcHlyaWdodCAoYykgMjAy MSBTYW1zdW5nIEVsZWN0cm9uaWNzIENvLiwgTHRkLgo+Pj4+ICsgKiBDb3B5cmlnaHQgKGMpIDIw MjEgRMOhdmlkIFZpcsOhZwo+Pj4+ICsgKgo+Pj4KPj4+IFRoaXMgbGluZSBpcyBub3QgbmVlZGVk Lgo+Pj4KPj4+PiArICovCj4+Pj4gKwo+Pj4+ICsvZHRzLXYxLzsKPj4+Cj4+PiBTdWdnZXN0IGFk ZGluZyBlbXB0eSBsaW5lIGhlcmUuCj4+Pgo+Pj4+ICsjaW5jbHVkZSAiZXh5bm9zNzg4NS5kdHNp Igo+Pj4+ICsjaW5jbHVkZSA8ZHQtYmluZGluZ3MvZ3Bpby9ncGlvLmg+Cj4+Pj4gKyNpbmNsdWRl IDxkdC1iaW5kaW5ncy9pbnB1dC9pbnB1dC5oPgo+Pj4+ICsjaW5jbHVkZSA8ZHQtYmluZGluZ3Mv aW50ZXJydXB0LWNvbnRyb2xsZXIvaXJxLmg+Cj4+Pj4gKwo+Pj4+ICsvIHsKPj4+PiArICAgICAg IG1vZGVsID0gIlNhbXN1bmcgR2FsYXh5IEE4ICgyMDE4KSI7Cj4+Pj4gKyAgICAgICBjb21wYXRp YmxlID0gInNhbXN1bmcsamFja3BvdGx0ZSIsICJzYW1zdW5nLGV4eW5vczc4ODUiOwo+Pj4+ICsg ICAgICAgY2hhc3Npcy10eXBlID0gImhhbmRzZXQiOwo+Pj4+ICsKPj4+PiArICAgICAgIGFsaWFz ZXMgewo+Pj4+ICsgICAgICAgICAgICAgICBzZXJpYWwwID0gJnNlcmlhbF8wOwo+Pj4+ICsgICAg ICAgICAgICAgICBzZXJpYWwxID0gJnNlcmlhbF8xOwo+Pj4+ICsgICAgICAgICAgICAgICBzZXJp YWwyID0gJnNlcmlhbF8yOwo+Pj4KPj4+IFN1Z2dlc3Rpb246IGFkZCBhbGlhc2VzIGFsc28gZm9y IGkyYyBub2RlcywgdG8ga2VlcCBpMmMgaW5zdGFuY2UKPj4+IG51bWJlcnMgZml4ZWQgaW4gcnVu LXRpbWUgKGUuZy4gaW4gImkyY2RldGVjdCAtbCIgb3V0cHV0KS4KPj4+Cj4+Pj4gKyAgICAgICB9 Owo+Pj4+ICsKPj4+PiArICAgICAgIGNob3NlbiB7Cj4+Pj4gKyAgICAgICAgICAgICAgIHN0ZG91 dC1wYXRoID0gJnNlcmlhbF8yOwo+Pj4+ICsgICAgICAgfTsKPj4+PiArCj4+Pj4gKyAgICAgICBt ZW1vcnlAODAwMDAwMDAgewo+Pj4+ICsgICAgICAgICAgICAgICBkZXZpY2VfdHlwZSA9ICJtZW1v cnkiOwo+Pj4+ICsgICAgICAgICAgICAgICByZWcgPSA8MHgwIDB4ODAwMDAwMDAgMHgzZGEwMDAw MD4sCj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgIDwweDAgMHhjMDAwMDAwMCAweDQwMDAwMDAw PiwKPj4+PiArICAgICAgICAgICAgICAgICAgICAgPDB4OCAweDgwMDAwMDAwIDB4NDAwMDAwMDA+ Owo+Pj4+ICsgICAgICAgfTsKPj4+PiArCj4+Pj4gKyAgICAgICBncGlvLWtleXMgewo+Pj4+ICsg ICAgICAgICAgICAgICBjb21wYXRpYmxlID0gImdwaW8ta2V5cyI7Cj4+Pj4gKyAgICAgICAgICAg ICAgIHBpbmN0cmwtbmFtZXMgPSAiZGVmYXVsdCI7Cj4+Pj4gKyAgICAgICAgICAgICAgIHBpbmN0 cmwtMCA9IDwma2V5X3ZvbHVwICZrZXlfdm9sZG93biAma2V5X3Bvd2VyPjsKPj4+PiArCj4+Pj4g KyAgICAgICAgICAgICAgIHZvbHVwLWtleSB7Cj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAg bGFiZWwgPSAiVm9sdW1lIFVwIjsKPj4+PiArICAgICAgICAgICAgICAgICAgICAgICBpbnRlcnJ1 cHRzID0gPDUgSVJRX1RZUEVfTEVWRUxfSElHSCAwPjsKPj4+Cj4+PiBIZXJlIGFuZCBiZWxvdzog d2hhdCBpcyAwLCB3aHkgaXQncyBuZWVkZWQ/IEFsc28sIGlzbid0IGl0IGVub3VnaCB0bwo+Pj4g aGF2ZSBqdXN0ICJncGlvcyIsIGFuZCByZW1vdmUgaW50ZXJydXB0Kj8gTmVlZCB0byBjaGVjayAi Z3Bpby1rZXlzIgo+Pj4gZHJpdmVyIGFuZCBiaW5kaW5ncyBkb2MsIGJ1dCBBRkFJUiBpdCBzaG91 bGQgYmUgZW5vdWdoIHRvIGhhdmUganVzdAo+Pj4gImdwaW9zID0iIG9yIGp1c3QgImludGVycnVw dHMgPSIuCj4+Cj4+ICJncGlvcyIgaXMgZW5vdWdoLCBiZWNhdXNlIHRoZSBJUlEgbGluZSBpcyBk ZXJpdmVkIGZyb20gaXQuIEhvd2V2ZXIKPj4gZXhwbGljaXRseSBkZXNjcmliaW5nIGludGVycnVw dHMgc2VlbXMgbGlrZSBhIG1vcmUgZGV0YWlsZWQgaGFyZHdhcmUKPj4gZGVzY3JpcHRpb24uCj4+ Cj4gCj4gRnJhbmtseSBJIGRvbid0IHRoaW5rIGl0J3MgbW9yZSBkZXRhaWxlZCwgaXQgc3RhdGVz IHRoZSBzYW1lIHRoaW5nCj4gKGdwYTEgY29udHJvbGxlciwgbGluZT01KS4KCkl0IHN0YXRlcyB0 aGF0IGludGVycnVwdCBpcyBleGFjdGx5IHRoZSBzYW1lIGFzIEdQSU8gd2hpY2ggbm90CmV4cGxp Y2l0bHkgY29taW5nIGZyb20gYmluZGluZ3MuCgo+IEFsc28gbm90IHN1cmUgaWYgbGV2ZWwgaW50 ZXJydXB0IGlzIG5lZWRlZAo+IGZvciBhIGtleSwgbWF5YmUgZWRnZSB0eXBlIHdvdWxkIGJlIGJl dHRlci4gQWxzbywgSSBzdGlsbCBkb24ndAo+IHVuZGVyc3RhbmQgMCBpbiB0aGUgZW5kLiAKCklu ZGVlZCB0aGlzIHBhcnQgbG9va3Mgbm90IGNvcnJlY3QgLSB0aGUgbGV2ZSBhbmQgMCBhdCB0aGUg ZW5kLiBJbiBzdWNoCmNhc2UgYmV0dGVyIHRvIHNraXAgaXQgdGhlbiBkZWZpbmUgbWlzbGVhZGlu ZyBwcm9wZXJ0eS4KCj4gQ2hlY2tpbmcgZXhpc3RpbmcgZHRzJ3MsIG1vc3Qgb2YgdGhvc2Ugb25s eQo+IGRlZmluZSAiZ3Bpb3MiLiBJJ2Qgc2F5IGhhdmluZyBvbmx5ICJncGlvcyIgaXMgbW9yZSBv YnZpb3VzLCBhbmQgd2lsbAo+IHdvcmsgdGhlIHNhbWUgd2F5LiBCdXQgdGhhdCdzIG5vdCBhIHN0 cm9uZyBwcmVmZXJlbmNlIG9uIG15IHNpZGUsIGp1c3QKPiB0aGluayBpdCdzIGEgYml0IG1pc2xl YWRpbmcgcmlnaHQgbm93LgoKWWVwLgoKPiAKPj4+Cj4+Pgo+Pj4+ICsgICAgICAgICAgICAgICAg ICAgICAgIGludGVycnVwdC1wYXJlbnQgPSA8JmdwYTE+Owo+Pj4+ICsgICAgICAgICAgICAgICAg ICAgICAgIGxpbnV4LGNvZGUgPSA8S0VZX1ZPTFVNRVVQPjsKPj4+PiArICAgICAgICAgICAgICAg ICAgICAgICBncGlvcyA9IDwmZ3BhMSA1IEdQSU9fQUNUSVZFX0xPVz47Cj4+Pj4gKyAgICAgICAg ICAgICAgIH07Cj4+Pj4gKwo+Pj4+ICsgICAgICAgICAgICAgICB2b2xkb3duLWtleSB7Cj4+Pj4g KyAgICAgICAgICAgICAgICAgICAgICAgbGFiZWwgPSAiVm9sdW1lIERvd24iOwo+Pj4+ICsgICAg ICAgICAgICAgICAgICAgICAgIGludGVycnVwdHMgPSA8NiBJUlFfVFlQRV9MRVZFTF9ISUdIIDA+ Owo+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgIGludGVycnVwdC1wYXJlbnQgPSA8JmdwYTE+ Owo+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgIGxpbnV4LGNvZGUgPSA8S0VZX1ZPTFVNRURP V04+Owo+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgIGdwaW9zID0gPCZncGExIDYgR1BJT19B Q1RJVkVfTE9XPjsKPj4+PiArICAgICAgICAgICAgICAgfTsKPj4+PiArCj4+Pj4gKyAgICAgICAg ICAgICAgIHBvd2VyLWtleSB7Cj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgbGFiZWwgPSAi UG93ZXIiOwo+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgIGludGVycnVwdHMgPSA8NyBJUlFf VFlQRV9MRVZFTF9ISUdIIDA+Owo+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgIGludGVycnVw dC1wYXJlbnQgPSA8JmdwYTE+Owo+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgIGxpbnV4LGNv ZGUgPSA8S0VZX1BPV0VSPjsKPj4+PiArICAgICAgICAgICAgICAgICAgICAgICBncGlvcyA9IDwm Z3BhMSA3IEdQSU9fQUNUSVZFX0xPVz47Cj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgd2Fr ZXVwLXNvdXJjZTsKPj4+PiArICAgICAgICAgICAgICAgfTsKPj4+PiArICAgICAgIH07Cj4+Pj4g K307Cj4+Pj4gKwo+Pj4KPj4+IElmIHRoZXJlIGFyZSBzb21lIExFRHMgYnkgY2hhbmNlIG9uIHRo YXQgYm9hcmQgLS0gaXQgbWlnaHQgYmUgdXNlZnVsCj4+PiB0byBkZWZpbmUgdGhvc2UgaGVyZSB3 aXRoICJncGlvLWxlZHMiIGFzIHdlbGwuIE1heWJlIGV2ZW4gc2V0IHNvbWUKPj4+IGRlZmF1bHQg dHJpZ2dlciBsaWtlICJoZWFydGJlYXQiLgo+Pj4KPj4+PiArJnNlcmlhbF8yIHsKPj4+PiArICAg ICAgIHN0YXR1cyA9ICJva2F5IjsKPj4+PiArfTsKPj4+PiArCj4+Pj4gKyZwaW5jdHJsX2FsaXZl IHsKPj4+PiArICAgICAgIGtleV92b2x1cDoga2V5LXZvbHVwLXBpbnMgewo+Pj4+ICsgICAgICAg ICAgICAgICBzYW1zdW5nLHBpbnMgPSAiZ3BhMS01IjsKPj4+PiArICAgICAgICAgICAgICAgc2Ft c3VuZyxwaW4tZnVuY3Rpb24gPSA8RVhZTk9TX1BJTl9GVU5DX0Y+Owo+Pj4KPj4+IE1heWJlIEVY WU5PU19QSU5fRlVOQ19FSU5UIGlzIG1vcmUgc2VsZi1leHBsYW5hdG9yeT8gSnVzdCBhIHN1Z2dl c3Rpb24gdGhvdWdoLgo+Pj4KPj4+PiArICAgICAgICAgICAgICAgc2Ftc3VuZyxwaW4tcHVkID0g PEVYWU5PU19QSU5fUFVMTF9OT05FPjsKPj4+PiArICAgICAgICAgICAgICAgc2Ftc3VuZyxwaW4t ZHJ2ID0gPDA+Owo+Pj4KPj4+IEhlcmUgYW5kIGJlbG93OiBwbGVhc2UgdXNlIEVYWU5PUzU0MjBf UElOX0RSVl9MVjEgKG1lYW5zIGRyaXZlIGxldmVsID0gMXgpLgo+Pgo+PiBCdXQgYXJlIHRoZXNl IGRyaXZlIGxldmVsIDF4PyBUaGUgRXh5bm9zIEF1dG8gdjkgaGFzIGRpZmZlcmVudCB2YWx1ZXMK Pj4gdGhhbiBvbGRlciBvbmVzLgo+Pgo+IAo+IEl0IHNob3VsZCBiZSB0aGF0LiBPbmUgd2F5IHRv IGltcGxpY2l0bHkgZmlndXJlIHRoYXQgb3V0IGlzIHRvIGxvb2sgYXQKPiBub2RlcyBsaWtlICJz ZDBfY2xrX2Zhc3Rfc2xld19yYXRlXzN4IiBhbmQgdGhvc2UgcGluLWRydiBwcm9wZXJ0aWVzLgo+ IEFsc28sIGluIEV4eW5vczg1MCBmb3IgbW9zdCBvZiBkb21haW5zIHRob3NlIGNvbnN0YW50cyBh cmUKPiBhcHByb3ByaWF0ZSwgdGhhdCdzIHdoeSBJIG1lbnRpb25lZCB0aGF0LgoKVGhlbiBJIGFn cmVlLCB1c2UgZXhpc3RpbmcgbWFjcm9zLiBUaGUgbWFjcm9zIGNhbiBiZSBza2lwcGVkIGZvciBj YXNlcwp3aGVuIHRoZSBtZWFuaW5nIGlzIGRpZmZlcmVudC4KCj4gCj4+Pgo+Pj4+ICsgICAgICAg fTsKPj4+PiArCj4+Pj4gKyAgICAgICBrZXlfdm9sZG93bjoga2V5LXZvbGRvd24tcGlucyB7Cj4+ Pj4gKyAgICAgICAgICAgICAgIHNhbXN1bmcscGlucyA9ICJncGExLTYiOwo+Pj4+ICsgICAgICAg ICAgICAgICBzYW1zdW5nLHBpbi1mdW5jdGlvbiA9IDxFWFlOT1NfUElOX0ZVTkNfRj47Cj4+Pj4g KyAgICAgICAgICAgICAgIHNhbXN1bmcscGluLXB1ZCA9IDxFWFlOT1NfUElOX1BVTExfTk9ORT47 Cj4+Pj4gKyAgICAgICAgICAgICAgIHNhbXN1bmcscGluLWRydiA9IDwwPjsKPj4+PiArICAgICAg IH07Cj4+Pj4gKwo+Pj4+ICsgICAgICAga2V5X3Bvd2VyOiBrZXktcG93ZXItcGlucyB7Cj4+Pj4g KyAgICAgICAgICAgICAgIHNhbXN1bmcscGlucyA9ICJncGExLTciOwo+Pj4+ICsgICAgICAgICAg ICAgICBzYW1zdW5nLHBpbi1mdW5jdGlvbiA9IDxFWFlOT1NfUElOX0ZVTkNfRj47Cj4+Pj4gKyAg ICAgICAgICAgICAgIHNhbXN1bmcscGluLXB1ZCA9IDxFWFlOT1NfUElOX1BVTExfTk9ORT47Cj4+ Pj4gKyAgICAgICAgICAgICAgIHNhbXN1bmcscGluLWRydiA9IDwwPjsKPj4+PiArICAgICAgIH07 Cj4+Pj4gK307Cj4+Pj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtNjQvYm9vdC9kdHMvZXh5bm9zL2V4 eW5vczc4ODUtcGluY3RybC5kdHNpIGIvYXJjaC9hcm02NC9ib290L2R0cy9leHlub3MvZXh5bm9z Nzg4NS1waW5jdHJsLmR0c2kKPj4+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+Pj4+IGluZGV4IDAw MDAwMDAwMDAwMC4uODMzNmIyZTQ4ODU4Cj4+Pj4gLS0tIC9kZXYvbnVsbAo+Pj4+ICsrKyBiL2Fy Y2gvYXJtNjQvYm9vdC9kdHMvZXh5bm9zL2V4eW5vczc4ODUtcGluY3RybC5kdHNpCj4+Pj4gQEAg LTAsMCArMSw4NjUgQEAKPj4+PiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAK Pj4+PiArLyoKPj4+PiArICogU2Ftc3VuZyBFeHlub3M3ODg1IFNvQyBwaW4tbXV4IGFuZCBwaW4t Y29uZmlnIGRldmljZSB0cmVlIHNvdXJjZQo+Pj4+ICsgKgo+Pj4+ICsgKiBDb3B5cmlnaHQgKGMp IDIwMTcgU2Ftc3VuZyBFbGVjdHJvbmljcyBDby4sIEx0ZC4KPj4+PiArICogQ29weXJpZ2h0IChj KSAyMDIxIETDoXZpZCBWaXLDoWcKPj4+PiArICoKPj4+PiArICogU2Ftc3VuZydzIEV4eW5vczc4 ODUgU29DIHBpbi1tdXggYW5kIHBpbi1jb25maWcgb3B0aW9ucyBhcmUgbGlzdGVkIGFzCj4+Pj4g KyAqIGRldmljZSB0cmVlIG5vZGVzIGluIHRoaXMgZmlsZS4KPj4+PiArICovCj4+Pj4gKwo+Pj4+ ICsjaW5jbHVkZSA8ZHQtYmluZGluZ3MvcGluY3RybC9zYW1zdW5nLmg+Cj4+Pgo+Pj4gWW91IHBy b2JhYmx5IGFsc28gbmVlZCA8ZHQtYmluZGluZ3MvaW50ZXJydXB0LWNvbnRyb2xsZXIvYXJtLWdp Yy5oPgo+Pj4gaGVyZSBmb3IgR0lDX1NQSSBkZWZpbml0aW9uLgo+Pj4KPj4+PiArCj4+Pj4gKyZw aW5jdHJsX2FsaXZlIHsKPj4+PiArICAgICAgIGV0YzA6IGV0YzAgewo+Pj4+ICsgICAgICAgICAg ICAgICBncGlvLWNvbnRyb2xsZXI7Cj4+Pj4gKyAgICAgICAgICAgICAgICNncGlvLWNlbGxzID0g PDI+Owo+Pj4+ICsKPj4+PiArICAgICAgICAgICAgICAgaW50ZXJydXB0LWNvbnRyb2xsZXI7Cj4+ Pj4gKyAgICAgICAgICAgICAgICNpbnRlcnJ1cHQtY2VsbHMgPSA8Mj47Cj4+Pj4gKyAgICAgICB9 Owo+Pj4+ICsKPj4+PiArICAgICAgIGV0YzE6IGV0YzEgewo+Pj4+ICsgICAgICAgICAgICAgICBn cGlvLWNvbnRyb2xsZXI7Cj4+Pj4gKyAgICAgICAgICAgICAgICNncGlvLWNlbGxzID0gPDI+Owo+ Pj4+ICsKPj4+PiArICAgICAgICAgICAgICAgaW50ZXJydXB0LWNvbnRyb2xsZXI7Cj4+Pj4gKyAg ICAgICAgICAgICAgICNpbnRlcnJ1cHQtY2VsbHMgPSA8Mj47Cj4+Pj4gKyAgICAgICB9Owo+Pj4K Pj4+IEhtbSwgd2hhdCBhcmUgdGhlc2UgdHdvPyBJIGNhbid0IGZpbmQgYW55dGhpbmcgcmVsYXRl ZCBpbgo+Pj4gZXh5bm9zNzg4NS5kdHNpLiBJZiBpdCdzIGp1c3Qgc29tZSBsZWZ0b3ZlciBmcm9t IGRvd25zdHJlYW0gdmVuZG9yCj4+PiBrZXJuZWwgLS0gcGxlYXNlIHJlbW92ZSBpdC4KPj4KPj4g VGhpcyBpcyBhIHBpbmN0cmwgRFRTSSBmaWxlLiBXaGF0IGRvIHlvdSBleHBlY3QgdG8gZmluZCBp bgo+PiBleHlub3M3ODg1LmR0c2kgZm9yIHRoZXNlPyBXaHkgcmVtb3ZpbmcgdGhlbT8KPiAKPiBl dGMwIGFuZCBldGMxIG5vZGVzIGFyZSBkZWZpbmVkIGFzIGdwaW8tY29udHJvbGxlciBhbmQKPiBp bnRlcnJ1cHQtY29udHJvbGxlci4gU28gImNvbXBhdGlibGUiIHNob3VsZCBiZSBwcm92aWRlZCBz b21ld2hlcmUgZm9yCj4gdGhvc2Ugbm9kZXMuIEZvciBleGFtcGxlLCBmb3IgImdwYTAiIG5vZGUg YmVsb3cgeW91IGNhbiBmaW5kIGl0cwo+IGNvbXBhdGlibGUgaW4gZXh5bm9zNzg4NS5kdHNpLiAK CkkgYW0gc29ycnksIEkgc3RpbGwgZG9uJ3QgZ2V0IGl0LiBncGEwIGJlbG93IGRvZXMgbm90IGhh dmUgY29tcGF0aWJsZS4KCj4gUmlnaHQgbm93IEkgZG9uJ3QgdW5kZXJzdGFuZCBob3cgdGhvc2UK PiBldGMwIGFuZCBldGMxIGNhbiBiZSB1c2VkIGF0IGFsbC4KCkV4YWN0bHkgdGhlIHNhbWUgYXMg Z3BhMCwgbm90aGluZyBjaGFuZ2VzIGhlcmUuCgo+ICBTbyBtYXliZSBpdCdzIGJldHRlciB0byBq dXN0IHJlbW92ZQo+IHRob3NlPyBUaG9zZSBhcmUgbm90IHVzZWQgYW55d2hlcmUgYW5kIHdlIHBy b2JhYmx5IGRvbid0IGV2ZW4ga25vdwo+IHdoYXQgdGhvc2Ugbm9kZXMgcmVwcmVzZW50LiBNeSBw b2ludCBpcywgaWYgdGhvc2UgYXJlIGFjdHVhbGx5IHNvbWUKPiBsZWZ0b3ZlcnMgZnJvbSB2ZW5k b3Iga2VybmVsIGFuZCB0aG9zZSBhcmUgbm90IGdvaW5nIHRvIGJlIHVzZWQgKGFuZCBJCj4gZG9u J3Qgc2VlIGhvdywgd2l0aG91dCAiY29tcGF0aWJsZSIpLCB0aGVuIHdlIHByb2JhYmxseSBiZXR0 ZXIgb2ZmCj4gd2l0aG91dCB0aG9zZS4KCkkgZG9uJ3QgaGF2ZSB0aGUgbWFudWFsIGJ1dCBpbiBv dGhlciBTb0NzIHRoZXNlIGFyZSBub3QgbGVmdC1vdmVycywgYnV0CnJlYWwgR1BJTyBiYW5rcy4g VGhlaXIgY29uZmlndXJhYmlsaXR5IGRlcGVuZHMgb24gdGhlIFNvQ3MuIEkgYWdyZWUgdGhhdAp1 c3VhbGx5IHRoZXkgYXJlIG5vdCB1c2VkIChiZWNhdXNlIG9uZSBvZiB0aGUgdXNlcyBpcyBkZWJ1 Z2dpbmcpLCBidXQKdGhleSBjYW4gYmUgaW5jbHVkZWQgZm9yIGNvbXBsZXRuZXNzIG9mIEhXIGRl c2NyaXB0aW9uLiBBc3N1bWluZyB0aGV5IGV4aXN0LgoKKC4uLikKCj4+Pj4gKyNpbmNsdWRlICJl eHlub3M3ODg1LXBpbmN0cmwuZHRzaSIKPj4+PiArI2luY2x1ZGUgImFybS9leHlub3Mtc3lzY29u LXJlc3RhcnQuZHRzaSIKPj4+Cj4+PiBIYXZlIHlvdSB2ZXJpZmllZCBib3RoIHJlYm9vdCBhbmQg cG93ZXIgb2ZmIGZ1bmN0aW9ucyBmcm9tIHRoaXMgZmlsZT8KPj4+IEkgZ3Vlc3MgaWYgc29tZSBk b2Vzbid0IHdvcmssIGl0J3MgYmV0dGVyIHRvIGF2b2lkIGluY2x1ZGluZyB0aGlzLCBidXQKPj4+ IGluc3RlYWQgYWRkIGNvcnJlc3BvbmRpbmcgc3ViLW5vZGVzIGludG8geW91ciBwbXVfc3l0ZW1f Y29udHJvbGxlci4KPj4KPj4gV2h5IG9wZW4tY29kaW5nIHNhbWUgY29kZSB3b3JrIGFuZCBpbmNs dWRpbmcgd291bGQgbm90PyBBc3N1bWluZyB0aGF0IGl0Cj4+IGNvbXBpbGVzLCBvZiBjb3Vyc2Uu Cj4+Cj4gCj4gRm9yIGV4YW1wbGUsIGluIGNhc2Ugb2YgRXh5bm9zODUwIHRoZSAicG93ZXIgb2Zm IiBub2RlIGZyb20gdGhpcyBmaWxlCj4gd2Fzbid0IHN1aXRhYmxlLiBJbiB0aGF0IGNhc2UgaXQn cyBub3Qgd29ydGggaW5jbHVkaW5nIGl0LiBCdXQgRGF2aWQKPiBhbHJlYWR5IGNvbmZpcm1lZCBi b3RoIHdvcmsgZmluZSBmb3IgaGltLCBzbyBpdCBkb2Vzbid0IG1hdHRlcgo+IGFueW1vcmUuCgpU aGVzZSBub2RlcyB3ZXJlIGhlcmUgYmVmb3JlIGFuZCBzaW5jZSB0aGV5IGR1cGxpY2F0ZWQgY29t bW9uIHN5c2NvbiwgSQphc2tlZCB0byB1c2UgRFRTSS4gVGhlIGJvYXJkcyB3aGljaCBkbyBub3Qg dXNlIHRoZSBzYW1lIHN5c2NvbgpyZWdpc3RlcnMvbWV0aG9kcyBzaG91bGQgbm90IGluY2x1ZGUg aXQsIG9idmlvdXNseS4gOikKCgpCZXN0IHJlZ2FyZHMsCktyenlzenRvZgoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWls aW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0 cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=