From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0B7C03F4DE4 for ; Mon, 24 Aug 2026 09:32:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.51 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787563955; cv=none; b=rn/Z9AHIEFRjSMV08gk+yT0mA9La6I2LfoGNFn+K/zDzImY3qadvwogUHPJs7Y4GT+HC29ZUdcL+z4XOKrn4sFuXV2MAWgW08nZ9OTyMf0nNjvhNaT0QzuOLBjWaXwXt318rrbCX/PAtzzrVTQnmnH2aUZBjPM4cHMy9hcUfTDE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787563955; c=relaxed/simple; bh=hJWivipbzrq/Yp85Ioax6DLsoXVKNqX9wEPdMO5xGIU=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=uDCXdHQOJRnr0nLG40Eoe04YpYxzBr9vCU1fR3FNq9NpENpUWpdYYDRbDnHxSalb/P8VoUM41hE89PormMfFJpI6s2coyVpKHtp7wl6qPlfyENbuzJ6yFjoZEcylJHs3xH1rUdqqoyHdIiPnopWcO0CGckRwFbxwSSTtP+hOtaw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.com; spf=pass smtp.mailfrom=gmail.com; arc=none smtp.client-ip=209.85.128.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-4996f1ee4a4so21325805e9.2 for ; Mon, 24 Aug 2026 02:32:32 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787563951; x=1788168751; h=content-transfer-encoding:content-type:in-reply-to:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=gJloPN89elVAin5U0ydRdECi+cW4StvyY0mXdouFdaQ=; b=MOYupwassMouc/oEk83vSxoY4Wb6pYWQyqyQp3W8DUH25hxNsQ3M81JhhCpDAK08+Z K9fF3BFJgUguTX6/WwcP26Ss8qzMLMrPn8+oV0A9hy4rUGDtCi/WLBZ1yhXVYmILlxax hOxch9YGMM7Ongzftpl/UEZC144mUqqcvYW2c2wKpo4ybO1gP/ZWw0NrrLEXdtIFr+1E u7ci1phxPVirdrj0E38fYyFUe/Qzyt/3H7r7ZijuP1rhAL1oy6NU1hORIKNI+mKiqCmd EkmBoxx7c/WyNXIQA8ascVebsiKmrUtjyNRzr4lMJeQSzsMzcL05gfHf0xVOuiFFyJhB ivnw== X-Forwarded-Encrypted: i=1; AHgh+RplZuXbzRdCPFyxsgoC9IGfbsFB++jJJJKehIio6wTMoLF6laujarppEhMnHjwV5thmFY3UM1KHHnxp@vger.kernel.org X-Gm-Message-State: AFuF++m06JK+H14Jf68gDylWG6UWr3UfKNIhzJmoz1y3jhbMS1TzuSAq wwDh/kidxc8FXq4rkc/G+KG32rrdUX457PUBrFuFiY/zxvb9ljTk8X2Z X-Gm-Gg: AR+sD11Z9DA4X/F3U1Qt7xPXBjarL3TaqvvvkJF6iT2udItbAk3clTBKbUzLYAM5xTR 6BBg4r4ZTjaDzEl0OKlGbN/QZnX2oM3Ji4XWGiePumnvvVqeL9QquG0rhF2ttE3PqaHdIHQGO92 u0zobPukd/97NIBoFC0OwN0QrZZD3ZysVF16ZpkyQZL785KrlgYAkYmtGdNRobEUlz+6vWiYhGJ OlEpoeUxlB0nT3apUL6r+oZhFkRGjZQVvIPhIC0IcrcI3ydUhSKc1NdpVuliQvk5ubud+Hjpox7 TRwr+jh/kokPKU7JLwYhyLoC5URRe9qo+bDSTPHXSGdhrSit57+9Pa3bxXhH4MXn0t/JhWnpTcL d0qU814j2GdMpA6TKPT4hGi1HCgXdkGCXIk+B6LGncf5EQ5YdjgEgdHWKgR59xOFtMpcyOzg6v5 dcaAMKF+8iF9h8NSP3cPqGUU5WdujtNsRNXirWnRf1DhuSSP5/plL4glnZuliJPOWgc/F2qgvG9 XaVvdJdiKJhaHquT4Ekgg== X-Received: by 2002:a05:600c:1387:b0:499:7a4f:d13d with SMTP id 5b1f17b1804b1-499b8313ad3mr240196255e9.4.1787563950900; Mon, 24 Aug 2026 02:32:30 -0700 (PDT) Received: from [192.168.1.135] ([83.106.158.114]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-499b914bfcbsm117572285e9.9.2026.08.24.02.32.30 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 24 Aug 2026 02:32:30 -0700 (PDT) Message-ID: <7c7f447d-8796-4f6e-b607-5251d9129665@linux.com> Date: Mon, 24 Aug 2026 10:32:29 +0100 Precedence: bulk X-Mailing-List: devicetree@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 1/2] arm64: dts: amlogic: t7: use the real UART pclk To: Ronald Claveau , Xianwei Zhao Cc: linux-arm-kernel@lists.infradead.org, linux-amlogic@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Neil Armstrong , Kevin Hilman , Rob Herring , Krzysztof Kozlowski , Conor Dooley References: <20260818191159.11523-1-tanure@linux.com> <20260818191159.11523-2-tanure@linux.com> <6673edea-6822-4368-9374-29f92195fcf5@aliel.fr> <0969d872-faff-4b0f-81ad-972b7aa9bb7f@linux.com> <78721fe3-d9d0-4f85-a1ec-a01ebbf4f9a3@aliel.fr> Content-Language: en-US From: Lucas Tanure In-Reply-To: <78721fe3-d9d0-4f85-a1ec-a01ebbf4f9a3@aliel.fr> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 24/08/2026 10:15, Ronald Claveau wrote: > On 8/23/26 1:39 PM, Lucas Tanure wrote: >> On 19/08/2026 08:25, Ronald Claveau wrote: >>> On 8/19/26 4:39 AM, Xianwei Zhao wrote: >>>> Hi Lucas, >>>> >>>> On 2026/8/19 03:11, Lucas Tanure wrote: >>>>> uart_a lists the 24MHz crystal for all three of its clocks, because >>>>> the T7 clock controller driver did not exist when these boards were >>>>> added. >>>>> >>>>> That leaves the real UART bus clock without a user, so the kernel >>>>> turns it off when it disables unused clocks at the end of boot, and >>>>> the board hangs. >>>>> >>>>> Point uart_a at the real clocks, the way meson-s4.dtsi does, and drop >>>>> the placeholders from the two board files. >>>>> >>>>> Fixes: 4fef056588f5 ("arm64: dts: amlogic-t7-a311d2-khadas-vim4: add >>>>> initial device-tree") >>>>> Fixes: 6f048cc7a635 ("arm64: dts: add board AN400") >>>>> Signed-off-by: Lucas Tanure >>>>> Assisted-by: Claude:claude-fable-5 >>>>> --- >>>>>    arch/arm64/boot/dts/amlogic/amlogic-t7-a311d2-an400.dts       | 2 -- >>>>>    arch/arm64/boot/dts/amlogic/amlogic-t7-a311d2-khadas-vim4.dts | 2 -- >>>>>    arch/arm64/boot/dts/amlogic/amlogic-t7.dtsi                   | 4 >>>>> ++++ >>>>>    3 files changed, 4 insertions(+), 4 deletions(-) >>>>> >>>>> diff --git a/arch/arm64/boot/dts/amlogic/amlogic-t7-a311d2-an400.dts >>>>> b/arch/arm64/boot/dts/amlogic/amlogic-t7-a311d2-an400.dts >>>>> index cab2ee9ea0d3..dcbcd08a78b9 100644 >>>>> --- a/arch/arm64/boot/dts/amlogic/amlogic-t7-a311d2-an400.dts >>>>> +++ b/arch/arm64/boot/dts/amlogic/amlogic-t7-a311d2-an400.dts >>>>> @@ -33,7 +33,5 @@ xtal: xtal-clk { >>>>>    }; >>>>> >>>>>    &uart_a { >>>>> -       clocks = <&xtal>, <&xtal>, >>>>> <&xtal>; >>>>> -       clock-names = "xtal", "pclk", "baud"; >>>>>           status = "okay"; >>>>>    }; >>>>> diff --git >>>>> a/arch/arm64/boot/dts/amlogic/amlogic-t7-a311d2-khadas-vim4.dts >>>>> b/arch/arm64/boot/dts/amlogic/amlogic-t7-a311d2-khadas-vim4.dts >>>>> index c41525a34b72..677069e58f30 100644 >>>>> --- a/arch/arm64/boot/dts/amlogic/amlogic-t7-a311d2-khadas-vim4.dts >>>>> +++ b/arch/arm64/boot/dts/amlogic/amlogic-t7-a311d2-khadas-vim4.dts >>>>> @@ -266,6 +266,4 @@ &sd_emmc_c { >>>>> >>>>>    &uart_a { >>>>>           status = "okay"; >>>>> -       clocks = <&xtal>, <&xtal>, >>>>> <&xtal>; >>>>> -       clock-names = "xtal", "pclk", "baud"; >>>>>    }; >>>>> diff --git a/arch/arm64/boot/dts/amlogic/amlogic-t7.dtsi >>>>> b/arch/arm64/boot/dts/amlogic/amlogic-t7.dtsi >>>>> index cc371fcd1896..7847582e77ed 100644 >>>>> --- a/arch/arm64/boot/dts/amlogic/amlogic-t7.dtsi >>>>> +++ b/arch/arm64/boot/dts/amlogic/amlogic-t7.dtsi >>>>> @@ -587,6 +587,10 @@ uart_a: serial@78000 { >>>>>                                   compatible = "amlogic,t7-uart", >>>>> "amlogic,meson-s4-uart"; >>>>>                                   reg = <0x0 0x78000 0x0 0x18>; >>>>>                                   interrupts = >>>> IRQ_TYPE_EDGE_RISING>; >>>>> +                               clocks = <&xtal>, >>>>> +                                        <&clkc_periphs >>>>> CLKID_SYS_UART_A>, >>>>> +                                        <&xtal>; >>>>> +                               clock-names = "xtal", "pclk", "baud"; >>>>>                                   status = "disabled"; >>>>>                           }; >>>> >>>> I agree with moving the UART clock configuration to the DTSI file. >>>> However, it seems a little odd to keep the XTAL clock definition in the >>>> DTS, as the alias may not be consistent across different boards, which >>>> could result in compilation errors. Could we move the XTAL clock >>>> definition to the DTSI as well, similar to other Amlogic SoCs? >>> >>> It seems similar to changes in this series : >>> >>> https://lore.kernel.org/all/20260420-add-bluetooth-t7-vim4- >>> v4-0-9505df0e7016@aliel.fr/ >>> >>> What do you think ? >>> >> Thanks for pointing out that series, though I wasn't aware of it. >> And after reading I don't agree with it. The clocks are not redundant, >> they are there because we agreed sometime ago that xtal belongs to the >> board files. >> So I still vote for my change in v2, that I will send in a few minutes. > > I don't get why it would be better to define the exact same clocks in > each DTS file. > > The xtal recommended characteristics provided at the SOC level can be > defined in the DTSI and overridden, if really necessary, in the DTS. > Hi Ronald, The preference for keeping xtal in board-specific .dts files rather than the SoC .dtsi comes down to DT hardware modeling principles and upstream maintainer guidelines: Hardware Topology: The xtal is physically located on the board PCB, not inside the SoC silicon. The .dtsi file models the SoC silicon internal architecture (clock controllers, IPs, registers), whereas .dts files describe the physical board layout surrounding it. Avoiding Implicit Assumptions: Defining a default 24MHz xtal in .dtsi assumes every T7 board will use the same oscillator configuration. If a custom board design uses a different crystal frequency or an external clock generator/TCXO, overriding a .dtsi-level node can lead to messy DT overrides or silent clock rate mismatches if forgotten. Upstream DT Maintainer Policy: Kernel DT maintainers consistently push to keep board-level hardware explicitly declared in the board .dts files to reflect actual physical board components. That said, I acknowledge the trade-off is minor boilerplate duplication across board DTS files. If the Amlogic SoC maintainers prefer setting a default 24MHz xtal in amlogic-t7.dtsi to match older SoC generations, I am open to updating it—provided the maintainers explicitly prefer that tradeoff over strict DT topology modeling. Best regards, Lucas 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 D185BC5DF81 for ; Mon, 24 Aug 2026 09:32:40 +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-Type: Content-Transfer-Encoding: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=+oY0Q/uO3j7z+60C9MHjINsmzOkmti+s3PBp89lIC64=; b=MCcPhqwuSjiwEE Ito6eivUdtt5apMAs2MCH2wMsCs6XftfE/6DjDpQrpYiH+tV3C31KR6hQlYloalAF5qYI4gMOyPd0 z2h+0CPlaanRdI/hjcz8WYNb2v5MIa/IzpSTdMvHRQrMDMpwfW0F0ckjFCUkmD7ohzIHIykm4BjSH PmkbOibOXJFcImRpKODQXsw8gHXKdIk3y5/7oUO8DGZsVzJ5ZhnZfUuQEqw6wXS6q8OgxTPusyUxe RHOVrJWkHMM86xAssaAuAhxwA5yekrUzU2dERKMi6iwSyDUvCcCdWy4HNcVn7BZTvGX0qpayl68cX AqhiLykrunkmAxLsxBlA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1wyR2i-0000000GJhS-1erX; Mon, 24 Aug 2026 09:32:36 +0000 Received: from mail-wm1-f50.google.com ([209.85.128.50]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1wyR2f-0000000GJgm-011I for linux-amlogic@lists.infradead.org; Mon, 24 Aug 2026 09:32:34 +0000 Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-49556f97a9dso17546405e9.1 for ; Mon, 24 Aug 2026 02:32:32 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787563951; x=1788168751; h=content-transfer-encoding:content-type:in-reply-to:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=gJloPN89elVAin5U0ydRdECi+cW4StvyY0mXdouFdaQ=; b=DkZRENu3oNdeluBAC8n25d6et8lUX2vCXMxUa2OBAy5+o+vOD3GFf7KKEt/IDe/YU5 vZLCofZNFmypA9ei4XpmFGpLWgIWfM5h+nabaFrDF8y2fJNGJBx6+ZwS1MMFR2+QiJ6p TZyN/yb8YjDmA7CVF7e2k6T0fj3Gq1mw22szkXGjWWaA4bZWL2wioAJ4akqT9TVnJmTs ENOhtt/h2Cs4IbIPxX0D2z0S4SQkzboQqjbEJl0SnSAt5uHvKwLLAAF1PZr98jLmfDXc wymVKn8G/laJH4t8nLcIDbmIqd0Ptt4u+28q9MLSmM/ZfgJtFKRjRUYu+SoPMsOaxlHX PUzA== X-Forwarded-Encrypted: i=1; AHgh+Rr5okpbEqjxdv+SOk9O0bYJb8W/mT4ONz8yZMrgWW45d1QoQ6MOd4js2Xqc3CL0LxjwGHxqfkuUju/IoiFk@lists.infradead.org X-Gm-Message-State: AFuF++k3sxC8WawvS8+Td8ym7ITH2zpRMkhruJRtTH2QUYsQZosoYjlC DkEV/EZLw5yfaA8vdP7VIQFBQ5E2SndRZmGT0jYjG7itL+0HsmqueUpv X-Gm-Gg: AR+sD123P1R22wAdRt3UX93mq0AgEtViuuFUdqknDgd8L+qQ34OYqv9/EuVtcyKYav1 MG+qeU4SFLgHbnTf0JiHRQIIxAfsg6Q8P2JjveAfDbe+NsjzdsUBv0v7hx6kRAbu7/ns1SGYPlg ArqgZsbAWSW7N9vbsdU/FOyBR6S3ul5Fr606/a8zVAtU3PHD2xWySvGxS5IigR6XgL67c3FEAZO VmOFEDuTRXyuLEI8BocCZEOpZUwiR0TcyqnY4nrZsOkZ9r1cGnzbqfrMnDqkhmq+JYLWAU5zIfU lSRnX+zBulBD5XVsU8reRGVMJtvn6RpfYaHGpd1rR2BH/2WRe9/DDg71p02maxzKcfnDxknNuwO xw1wjiB4ilBY/bwzRQHrSsd567q4E0UEQ1jrVrdeFdKJ5FZ2TL6pUDs6MskhFsf+Urhjr0B4nh8 71vvikSfe+daoJ25J0udAH8TXU6iA/DbxziZZexqgdIFzvRQtNiRqm1GKy/CQLbas8q6erfv6mU wYaPiRQPWovmVbiRfiPPg== X-Received: by 2002:a05:600c:1387:b0:499:7a4f:d13d with SMTP id 5b1f17b1804b1-499b8313ad3mr240196255e9.4.1787563950900; Mon, 24 Aug 2026 02:32:30 -0700 (PDT) Received: from [192.168.1.135] ([83.106.158.114]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-499b914bfcbsm117572285e9.9.2026.08.24.02.32.30 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 24 Aug 2026 02:32:30 -0700 (PDT) Message-ID: <7c7f447d-8796-4f6e-b607-5251d9129665@linux.com> Date: Mon, 24 Aug 2026 10:32:29 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 1/2] arm64: dts: amlogic: t7: use the real UART pclk To: Ronald Claveau , Xianwei Zhao Cc: linux-arm-kernel@lists.infradead.org, linux-amlogic@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Neil Armstrong , Kevin Hilman , Rob Herring , Krzysztof Kozlowski , Conor Dooley References: <20260818191159.11523-1-tanure@linux.com> <20260818191159.11523-2-tanure@linux.com> <6673edea-6822-4368-9374-29f92195fcf5@aliel.fr> <0969d872-faff-4b0f-81ad-972b7aa9bb7f@linux.com> <78721fe3-d9d0-4f85-a1ec-a01ebbf4f9a3@aliel.fr> Content-Language: en-US From: Lucas Tanure In-Reply-To: <78721fe3-d9d0-4f85-a1ec-a01ebbf4f9a3@aliel.fr> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.9.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260824_023233_070721_C5CE3BE5 X-CRM114-Status: GOOD ( 19.96 ) X-BeenThere: linux-amlogic@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-amlogic" Errors-To: linux-amlogic-bounces+linux-amlogic=archiver.kernel.org@lists.infradead.org T24gMjQvMDgvMjAyNiAxMDoxNSwgUm9uYWxkIENsYXZlYXUgd3JvdGU6Cj4gT24gOC8yMy8yNiAx OjM5IFBNLCBMdWNhcyBUYW51cmUgd3JvdGU6Cj4+IE9uIDE5LzA4LzIwMjYgMDg6MjUsIFJvbmFs ZCBDbGF2ZWF1IHdyb3RlOgo+Pj4gT24gOC8xOS8yNiA0OjM5IEFNLCBYaWFud2VpIFpoYW8gd3Jv dGU6Cj4+Pj4gSGkgTHVjYXMsCj4+Pj4KPj4+PiBPbiAyMDI2LzgvMTkgMDM6MTEsIEx1Y2FzIFRh bnVyZSB3cm90ZToKPj4+Pj4gdWFydF9hIGxpc3RzIHRoZSAyNE1IeiBjcnlzdGFsIGZvciBhbGwg dGhyZWUgb2YgaXRzIGNsb2NrcywgYmVjYXVzZQo+Pj4+PiB0aGUgVDcgY2xvY2sgY29udHJvbGxl ciBkcml2ZXIgZGlkIG5vdCBleGlzdCB3aGVuIHRoZXNlIGJvYXJkcyB3ZXJlCj4+Pj4+IGFkZGVk Lgo+Pj4+Pgo+Pj4+PiBUaGF0IGxlYXZlcyB0aGUgcmVhbCBVQVJUIGJ1cyBjbG9jayB3aXRob3V0 IGEgdXNlciwgc28gdGhlIGtlcm5lbAo+Pj4+PiB0dXJucyBpdCBvZmYgd2hlbiBpdCBkaXNhYmxl cyB1bnVzZWQgY2xvY2tzIGF0IHRoZSBlbmQgb2YgYm9vdCwgYW5kCj4+Pj4+IHRoZSBib2FyZCBo YW5ncy4KPj4+Pj4KPj4+Pj4gUG9pbnQgdWFydF9hIGF0IHRoZSByZWFsIGNsb2NrcywgdGhlIHdh eSBtZXNvbi1zNC5kdHNpIGRvZXMsIGFuZCBkcm9wCj4+Pj4+IHRoZSBwbGFjZWhvbGRlcnMgZnJv bSB0aGUgdHdvIGJvYXJkIGZpbGVzLgo+Pj4+Pgo+Pj4+PiBGaXhlczogNGZlZjA1NjU4OGY1ICgi YXJtNjQ6IGR0czogYW1sb2dpYy10Ny1hMzExZDIta2hhZGFzLXZpbTQ6IGFkZAo+Pj4+PiBpbml0 aWFsIGRldmljZS10cmVlIikKPj4+Pj4gRml4ZXM6IDZmMDQ4Y2M3YTYzNSAoImFybTY0OiBkdHM6 IGFkZCBib2FyZCBBTjQwMCIpCj4+Pj4+IFNpZ25lZC1vZmYtYnk6IEx1Y2FzIFRhbnVyZTx0YW51 cmVAbGludXguY29tPgo+Pj4+PiBBc3Npc3RlZC1ieTogQ2xhdWRlOmNsYXVkZS1mYWJsZS01Cj4+ Pj4+IC0tLQo+Pj4+PiAgwqDCoCBhcmNoL2FybTY0L2Jvb3QvZHRzL2FtbG9naWMvYW1sb2dpYy10 Ny1hMzExZDItYW40MDAuZHRzwqDCoMKgwqDCoMKgIHwgMiAtLQo+Pj4+PiAgwqDCoCBhcmNoL2Fy bTY0L2Jvb3QvZHRzL2FtbG9naWMvYW1sb2dpYy10Ny1hMzExZDIta2hhZGFzLXZpbTQuZHRzIHwg MiAtLQo+Pj4+PiAgwqDCoCBhcmNoL2FybTY0L2Jvb3QvZHRzL2FtbG9naWMvYW1sb2dpYy10Ny5k dHNpwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgNAo+Pj4+PiArKysrCj4+ Pj4+ICDCoMKgIDMgZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygt KQo+Pj4+Pgo+Pj4+PiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm02NC9ib290L2R0cy9hbWxvZ2ljL2Ft bG9naWMtdDctYTMxMWQyLWFuNDAwLmR0cwo+Pj4+PiBiL2FyY2gvYXJtNjQvYm9vdC9kdHMvYW1s b2dpYy9hbWxvZ2ljLXQ3LWEzMTFkMi1hbjQwMC5kdHMKPj4+Pj4gaW5kZXggY2FiMmVlOWVhMGQz Li5kY2JjZDA4YTc4YjkgMTAwNjQ0Cj4+Pj4+IC0tLSBhL2FyY2gvYXJtNjQvYm9vdC9kdHMvYW1s b2dpYy9hbWxvZ2ljLXQ3LWEzMTFkMi1hbjQwMC5kdHMKPj4+Pj4gKysrIGIvYXJjaC9hcm02NC9i b290L2R0cy9hbWxvZ2ljL2FtbG9naWMtdDctYTMxMWQyLWFuNDAwLmR0cwo+Pj4+PiBAQCAtMzMs NyArMzMsNSBAQCB4dGFsOiB4dGFsLWNsayB7Cj4+Pj4+ICDCoMKgIH07Cj4+Pj4+Cj4+Pj4+ICDC oMKgICZ1YXJ0X2Egewo+Pj4+PiAtwqDCoMKgwqDCoMKgIGNsb2NrcyA9IDwmeHRhbD4sIDwmeHRh bD4sCj4+Pj4+IDwmeHRhbD47Cj4+Pj4+IC3CoMKgwqDCoMKgwqAgY2xvY2stbmFtZXMgPSAieHRh bCIsICJwY2xrIiwgImJhdWQiOwo+Pj4+PiAgwqDCoMKgwqDCoMKgwqDCoMKgIHN0YXR1cyA9ICJv a2F5IjsKPj4+Pj4gIMKgwqAgfTsKPj4+Pj4gZGlmZiAtLWdpdAo+Pj4+PiBhL2FyY2gvYXJtNjQv Ym9vdC9kdHMvYW1sb2dpYy9hbWxvZ2ljLXQ3LWEzMTFkMi1raGFkYXMtdmltNC5kdHMKPj4+Pj4g Yi9hcmNoL2FybTY0L2Jvb3QvZHRzL2FtbG9naWMvYW1sb2dpYy10Ny1hMzExZDIta2hhZGFzLXZp bTQuZHRzCj4+Pj4+IGluZGV4IGM0MTUyNWEzNGI3Mi4uNjc3MDY5ZTU4ZjMwIDEwMDY0NAo+Pj4+ PiAtLS0gYS9hcmNoL2FybTY0L2Jvb3QvZHRzL2FtbG9naWMvYW1sb2dpYy10Ny1hMzExZDIta2hh ZGFzLXZpbTQuZHRzCj4+Pj4+ICsrKyBiL2FyY2gvYXJtNjQvYm9vdC9kdHMvYW1sb2dpYy9hbWxv Z2ljLXQ3LWEzMTFkMi1raGFkYXMtdmltNC5kdHMKPj4+Pj4gQEAgLTI2Niw2ICsyNjYsNCBAQCAm c2RfZW1tY19jIHsKPj4+Pj4KPj4+Pj4gIMKgwqAgJnVhcnRfYSB7Cj4+Pj4+ICDCoMKgwqDCoMKg wqDCoMKgwqAgc3RhdHVzID0gIm9rYXkiOwo+Pj4+PiAtwqDCoMKgwqDCoMKgIGNsb2NrcyA9IDwm eHRhbD4sIDwmeHRhbD4sCj4+Pj4+IDwmeHRhbD47Cj4+Pj4+IC3CoMKgwqDCoMKgwqAgY2xvY2st bmFtZXMgPSAieHRhbCIsICJwY2xrIiwgImJhdWQiOwo+Pj4+PiAgwqDCoCB9Owo+Pj4+PiBkaWZm IC0tZ2l0IGEvYXJjaC9hcm02NC9ib290L2R0cy9hbWxvZ2ljL2FtbG9naWMtdDcuZHRzaQo+Pj4+ PiBiL2FyY2gvYXJtNjQvYm9vdC9kdHMvYW1sb2dpYy9hbWxvZ2ljLXQ3LmR0c2kKPj4+Pj4gaW5k ZXggY2MzNzFmY2QxODk2Li43ODQ3NTgyZTc3ZWQgMTAwNjQ0Cj4+Pj4+IC0tLSBhL2FyY2gvYXJt NjQvYm9vdC9kdHMvYW1sb2dpYy9hbWxvZ2ljLXQ3LmR0c2kKPj4+Pj4gKysrIGIvYXJjaC9hcm02 NC9ib290L2R0cy9hbWxvZ2ljL2FtbG9naWMtdDcuZHRzaQo+Pj4+PiBAQCAtNTg3LDYgKzU4Nywx MCBAQCB1YXJ0X2E6IHNlcmlhbEA3ODAwMCB7Cj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY29tcGF0aWJsZSA9 ICJhbWxvZ2ljLHQ3LXVhcnQiLAo+Pj4+PiAiYW1sb2dpYyxtZXNvbi1zNC11YXJ0IjsKPj4+Pj4g IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCByZWcgPSA8MHgwIDB4NzgwMDAgMHgwIDB4MTg+Owo+Pj4+PiAgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IGludGVycnVwdHMgPSA8R0lDX1NQSSAxNjgKPj4+Pj4gSVJRX1RZUEVfRURHRV9SSVNJTkc+Owo+ Pj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIGNsb2NrcyA9IDwmeHRhbD4sCj4+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg PCZjbGtjX3BlcmlwaHMKPj4+Pj4gQ0xLSURfU1lTX1VBUlRfQT4sCj4+Pj4+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgPCZ4dGFsPjsKPj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjbG9jay1uYW1lcyA9ICJ4dGFsIiwgInBj bGsiLCAiYmF1ZCI7Cj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3RhdHVzID0gImRpc2FibGVkIjsKPj4+Pj4g IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIH07Cj4+ Pj4KPj4+PiBJIGFncmVlIHdpdGggbW92aW5nIHRoZSBVQVJUIGNsb2NrIGNvbmZpZ3VyYXRpb24g dG8gdGhlIERUU0kgZmlsZS4KPj4+PiBIb3dldmVyLCBpdCBzZWVtcyBhIGxpdHRsZSBvZGQgdG8g a2VlcCB0aGUgWFRBTCBjbG9jayBkZWZpbml0aW9uIGluIHRoZQo+Pj4+IERUUywgYXMgdGhlIGFs aWFzIG1heSBub3QgYmUgY29uc2lzdGVudCBhY3Jvc3MgZGlmZmVyZW50IGJvYXJkcywgd2hpY2gK Pj4+PiBjb3VsZCByZXN1bHQgaW4gY29tcGlsYXRpb24gZXJyb3JzLiBDb3VsZCB3ZSBtb3ZlIHRo ZSBYVEFMIGNsb2NrCj4+Pj4gZGVmaW5pdGlvbiB0byB0aGUgRFRTSSBhcyB3ZWxsLCBzaW1pbGFy IHRvIG90aGVyIEFtbG9naWMgU29Dcz8KPj4+Cj4+PiBJdCBzZWVtcyBzaW1pbGFyIHRvIGNoYW5n ZXMgaW4gdGhpcyBzZXJpZXMgOgo+Pj4KPj4+IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2FsbC8y MDI2MDQyMC1hZGQtYmx1ZXRvb3RoLXQ3LXZpbTQtCj4+PiB2NC0wLTk1MDVkZjBlNzAxNkBhbGll bC5mci8KPj4+Cj4+PiBXaGF0IGRvIHlvdSB0aGluayA/Cj4+Pgo+PiBUaGFua3MgZm9yIHBvaW50 aW5nIG91dCB0aGF0IHNlcmllcywgdGhvdWdoIEkgd2Fzbid0IGF3YXJlIG9mIGl0Lgo+PiBBbmQg YWZ0ZXIgcmVhZGluZyBJIGRvbid0IGFncmVlIHdpdGggaXQuIFRoZSBjbG9ja3MgYXJlIG5vdCBy ZWR1bmRhbnQsCj4+IHRoZXkgYXJlIHRoZXJlIGJlY2F1c2Ugd2UgYWdyZWVkIHNvbWV0aW1lIGFn byB0aGF0IHh0YWwgYmVsb25ncyB0byB0aGUKPj4gYm9hcmQgZmlsZXMuCj4+IFNvIEkgc3RpbGwg dm90ZSBmb3IgbXkgY2hhbmdlIGluIHYyLCB0aGF0IEkgd2lsbCBzZW5kIGluIGEgZmV3IG1pbnV0 ZXMuCj4gCj4gSSBkb24ndCBnZXQgd2h5IGl0IHdvdWxkIGJlIGJldHRlciB0byBkZWZpbmUgdGhl IGV4YWN0IHNhbWUgY2xvY2tzIGluCj4gZWFjaCBEVFMgZmlsZS4KPiAKPiBUaGUgeHRhbCByZWNv bW1lbmRlZCBjaGFyYWN0ZXJpc3RpY3MgcHJvdmlkZWQgYXQgdGhlIFNPQyBsZXZlbCBjYW4gYmUK PiBkZWZpbmVkIGluIHRoZSBEVFNJIGFuZCBvdmVycmlkZGVuLCBpZiByZWFsbHkgbmVjZXNzYXJ5 LCBpbiB0aGUgRFRTLgo+IApIaSBSb25hbGQsCgpUaGUgcHJlZmVyZW5jZSBmb3Iga2VlcGluZyB4 dGFsIGluIGJvYXJkLXNwZWNpZmljIC5kdHMgZmlsZXMgcmF0aGVyIHRoYW4gCnRoZSBTb0MgLmR0 c2kgY29tZXMgZG93biB0byBEVCBoYXJkd2FyZSBtb2RlbGluZyBwcmluY2lwbGVzIGFuZCB1cHN0 cmVhbSAKbWFpbnRhaW5lciBndWlkZWxpbmVzOgoKSGFyZHdhcmUgVG9wb2xvZ3k6IFRoZSB4dGFs IGlzIHBoeXNpY2FsbHkgbG9jYXRlZCBvbiB0aGUgYm9hcmQgUENCLCBub3QgCmluc2lkZSB0aGUg U29DIHNpbGljb24uIFRoZSAuZHRzaSBmaWxlIG1vZGVscyB0aGUgU29DIHNpbGljb24gaW50ZXJu YWwgCmFyY2hpdGVjdHVyZSAoY2xvY2sgY29udHJvbGxlcnMsIElQcywgcmVnaXN0ZXJzKSwgd2hl cmVhcyAuZHRzIGZpbGVzIApkZXNjcmliZSB0aGUgcGh5c2ljYWwgYm9hcmQgbGF5b3V0IHN1cnJv dW5kaW5nIGl0LgoKQXZvaWRpbmcgSW1wbGljaXQgQXNzdW1wdGlvbnM6IERlZmluaW5nIGEgZGVm YXVsdCAyNE1IeiB4dGFsIGluIC5kdHNpIAphc3N1bWVzIGV2ZXJ5IFQ3IGJvYXJkIHdpbGwgdXNl IHRoZSBzYW1lIG9zY2lsbGF0b3IgY29uZmlndXJhdGlvbi4gSWYgYSAKY3VzdG9tIGJvYXJkIGRl c2lnbiB1c2VzIGEgZGlmZmVyZW50IGNyeXN0YWwgZnJlcXVlbmN5IG9yIGFuIGV4dGVybmFsIApj bG9jayBnZW5lcmF0b3IvVENYTywgb3ZlcnJpZGluZyBhIC5kdHNpLWxldmVsIG5vZGUgY2FuIGxl YWQgdG8gbWVzc3kgRFQgCm92ZXJyaWRlcyBvciBzaWxlbnQgY2xvY2sgcmF0ZSBtaXNtYXRjaGVz IGlmIGZvcmdvdHRlbi4KClVwc3RyZWFtIERUIE1haW50YWluZXIgUG9saWN5OiBLZXJuZWwgRFQg bWFpbnRhaW5lcnMgY29uc2lzdGVudGx5IHB1c2ggCnRvIGtlZXAgYm9hcmQtbGV2ZWwgaGFyZHdh cmUgZXhwbGljaXRseSBkZWNsYXJlZCBpbiB0aGUgYm9hcmQgLmR0cyBmaWxlcyAKdG8gcmVmbGVj dCBhY3R1YWwgcGh5c2ljYWwgYm9hcmQgY29tcG9uZW50cy4KClRoYXQgc2FpZCwgSSBhY2tub3ds ZWRnZSB0aGUgdHJhZGUtb2ZmIGlzIG1pbm9yIGJvaWxlcnBsYXRlIGR1cGxpY2F0aW9uIAphY3Jv c3MgYm9hcmQgRFRTIGZpbGVzLiBJZiB0aGUgQW1sb2dpYyBTb0MgbWFpbnRhaW5lcnMgcHJlZmVy IHNldHRpbmcgYSAKZGVmYXVsdCAyNE1IeiB4dGFsIGluIGFtbG9naWMtdDcuZHRzaSB0byBtYXRj aCBvbGRlciBTb0MgZ2VuZXJhdGlvbnMsIEkgCmFtIG9wZW4gdG8gdXBkYXRpbmcgaXTigJRwcm92 aWRlZCB0aGUgbWFpbnRhaW5lcnMgZXhwbGljaXRseSBwcmVmZXIgdGhhdCAKdHJhZGVvZmYgb3Zl ciBzdHJpY3QgRFQgdG9wb2xvZ3kgbW9kZWxpbmcuCgpCZXN0IHJlZ2FyZHMsCgpMdWNhcwoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYW1sb2dp YyBtYWlsaW5nIGxpc3QKbGludXgtYW1sb2dpY0BsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9s aXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYW1sb2dpYwo=