From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f175.google.com (mail-pl1-f175.google.com [209.85.214.175]) (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 B538516F8F5 for ; Wed, 22 Jan 2025 17:21:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.175 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737566493; cv=none; b=gnt91CzYeY4fPDxwUNhZsKBl8cQx/iK531AzelKclsk1gTAjJ7uvrNPt5Oxy5KmnCrwiE5eq4ojpgNGme+abM+YFTN28rWe/Io/mTaSeVELreLqIcMs9SpJVuaNeED/qjr0XOy0UeYZKT5LyNP5F9U5RKks2pykcoZ4X9YpgTCU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1737566493; c=relaxed/simple; bh=YvxTWju5gHhFPFewE6C8FEhCR4psxCplhF1a9R/6gbw=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=MCEpJ5fcrdDCiL6SB3BXjUeSP0sy0gqSIMF1DqaYBQVA9VOuqhGCfvkL/5r3kDEr13Atz5Vk3NpZ9pzczGTsBtBX3IOsXnKl5QSP1ajJ3bOYpehS02GesMof2s08YzulaXp8ZEnv5vtejtOznWWkYqfpNAuZsvCdW99QM8slQ0g= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=ugJhGNWZ; arc=none smtp.client-ip=209.85.214.175 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="ugJhGNWZ" Received: by mail-pl1-f175.google.com with SMTP id d9443c01a7336-2156e078563so96165655ad.2 for ; Wed, 22 Jan 2025 09:21:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1737566491; x=1738171291; darn=vger.kernel.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=Ae3fiG65q7gFADRkugXEjBLy3kEYsGVZg1VWFTjZpLU=; b=ugJhGNWZwSkukJJsXyUJeCgftu1qZYgm/CGMINedz8NoYogh/K6uuJQx4bfNN5+RJW 28BQMWZsN/ZX9UwRX1LCqbF7UzdHWjDtxQILivqARUgrpmOHxdxPPR17fT1ACoLx2Cq4 Ccr16skiQHiTfXerHC7BjmtTMShJiRR1cLbLME7ZOn/bhf2a5TmJFuF9vlbva6bd0R3G 6p5DGr7CDyO5P5ua/nBAgzIV8a7l3kjSsYU12c9GB4E5FM4+8+Wo9u2yoQX5J8n4mBsr 6BwUVqIiN6VF03mdrer5mD93oRyQgqRPBGaDBE9ahBUCAu/a2ZKfurkaeQU/4pcvHg1Q 2MdA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1737566491; x=1738171291; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=Ae3fiG65q7gFADRkugXEjBLy3kEYsGVZg1VWFTjZpLU=; b=TtK9yV3A6ZDGkmqwLiuZD+nIIH0bajRcOdBw0TIOeI96WvIQYcCeo1UKBJiUeNXk9r gAPgGA4VUkDOYPJHOccDjNG9tOFhg0VWWYQ8WJ0mUKLAanuiSJFoGEuom86J0Tutbh2s HkNaVTOjvAJuWs9POAkNa8sPoiI2PZsRA2yim9/WmeOPNWfsdzA3NJrLRREYT8Kbiu6G yBlRr+P/++xWSEJudLrnFFSc6+AjWFHwb1t+qqFPqx5d5yyVMyBRcOWUCnVAHAWF/HXH CJ9l0BOuNIHTk+2enhkEFNLkq1TQRdDtCtLHpMw4E52lkrzhkG3y9aa3fjQVtU7HHSXQ ov/Q== X-Forwarded-Encrypted: i=1; AJvYcCVaBuRJ7Bza7dsdsp3fLASkxn2KBGoKHoFPllqytGYrkFrGNvRxYif+sqq+1tD46HNWUsAfR+y5peg=@vger.kernel.org X-Gm-Message-State: AOJu0Yy0QsJ5u9tyI7XFytZ6bHJ6n20KiNB81vW/kysJ8/ZeoxfyqhoE VPIPNspTnhvtfk3zLmrR0iFk428v9ClqETee3HkuERFiWc/WHTp12BZuWO/5XY3egi51T0F8cM0 = X-Gm-Gg: ASbGncvkzgIirgDEw1yAngN/wi6UEzvC/YejoyIgwyV3JaFiGbFPfwGvbaj33I2PNks 8ZcnpPeOYVXmWpVvIl46/GXMeAIhiOmVUTP3Vw4datDF5wQYUEbse5NfGOWG2CEKKslbB3kUdLo h3TNJQLIykfHq2Qhpvs7DzE1qTOdUyPZCqqweOHKg2OA1WdfY/XzuwRErld31rBdH4mjTo9yJOz ZpQcZyRgqZ/1VHIQcTzqkQzr45TFGH7yaTa/s8zBOu26hFDb8TRLlz228yXWX2tG3F7HbryTAmi /5JO X-Google-Smtp-Source: AGHT+IEkqigOKLMCrs2YjDPNBFNeQyHN25V8kKjRdlQokTEi1k6FX4K8bd/jugJsCnORbh0uNOzVgQ== X-Received: by 2002:a17:903:32c1:b0:216:59ed:1ab0 with SMTP id d9443c01a7336-21c3555847amr277588575ad.27.1737566490907; Wed, 22 Jan 2025 09:21:30 -0800 (PST) Received: from thinkpad ([36.255.17.255]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-21c2d3d6fbbsm97942345ad.168.2025.01.22.09.21.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Jan 2025 09:21:30 -0800 (PST) Date: Wed, 22 Jan 2025 22:51:22 +0530 From: Manivannan Sadhasivam To: Chen Wang Cc: Chen Wang , kw@linux.com, u.kleine-koenig@baylibre.com, aou@eecs.berkeley.edu, arnd@arndb.de, bhelgaas@google.com, conor+dt@kernel.org, guoren@kernel.org, inochiama@outlook.com, krzk+dt@kernel.org, lee@kernel.org, lpieralisi@kernel.org, palmer@dabbelt.com, paul.walmsley@sifive.com, pbrobinson@gmail.com, robh@kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, linux-riscv@lists.infradead.org, chao.wei@sophgo.com, xiaoguang.xing@sophgo.com, fengchun.li@sophgo.com, helgaas@kernel.org Subject: Re: [PATCH v3 1/5] dt-bindings: pci: Add Sophgo SG2042 PCIe host Message-ID: <20250122172122.vquwlodeyjpkx6gs@thinkpad> References: <5a784afde48c44b5a8f376f02c5f30ccff8a3312.1736923025.git.unicorn_wang@outlook.com> <20250119114408.3ma4itsjyxki74h4@thinkpad> Precedence: bulk X-Mailing-List: linux-pci@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: On Wed, Jan 22, 2025 at 08:52:39PM +0800, Chen Wang wrote: > > On 2025/1/19 19:44, Manivannan Sadhasivam wrote: > > On Wed, Jan 15, 2025 at 03:06:37PM +0800, Chen Wang wrote: > > > From: Chen Wang > > > > > > Add binding for Sophgo SG2042 PCIe host controller. > > > > > > Signed-off-by: Chen Wang > > > --- > > > .../bindings/pci/sophgo,sg2042-pcie-host.yaml | 147 ++++++++++++++++++ > > > 1 file changed, 147 insertions(+) > > > create mode 100644 Documentation/devicetree/bindings/pci/sophgo,sg2042-pcie-host.yaml > > [......] > > > > +examples: > > > + - | > > > + #include > > > + > > > + pcie@62000000 { > > > + compatible = "sophgo,sg2042-pcie-host"; > > > + device_type = "pci"; > > > + reg = <0x62000000 0x00800000>, > > > + <0x48000000 0x00001000>; > > Use single space between address and size. > ok, thanks. > > > + reg-names = "reg", "cfg"; > > > + #address-cells = <3>; > > > + #size-cells = <2>; > > > + ranges = <0x81000000 0 0x00000000 0xde000000 0 0x00010000>, > > > + <0x82000000 0 0xd0400000 0xd0400000 0 0x0d000000>; > > For sure you don't need to set 'relocatable' flag for both regions. > ok, I will correct this in next version. > > > + bus-range = <0x00 0xff>; > > > + vendor-id = <0x1f1c>; > > > + device-id = <0x2042>; > > As Bjorn explained in v2, these properties need to be moved to PCI root port > > node. Your argument of a single root port node for a host bridge doesn't add as > > we have found that describing the root port properties in host bridge only > > creates issues. > > Got it. I will try to change this in next version. > > > Btw, we are migrating the existing single RP platforms too to root port node. > > > > > + cdns,no-bar-match-nbits = <48>; > > > + sophgo,link-id = <0>; > > > + sophgo,syscon-pcie-ctrl = <&cdns_pcie1_ctrl>; > > Where is the num-lanes property? > Is this num-lanes a must-have property? The lane number of each link on the > SG2042 is hard-coded in the firmware, so it seems meaningless to configure > it. It is not a requirement, but most of the controllers define it so that the drivers can use it to set Max Link Width, Link speed etc.... You can skip it if you want. > > > + msi-parent = <&msi_pcie>; > > > + msi_pcie: msi { > > 'msi' is not a standard node name. 'interrupt-controller' is what usually used > > to describe the MSI node. > OK. I will corret this. There is also 'msi-controller' node name used commonly, but it is not documented in the devicetree spec. Maybe you can use it instead and I'll add it to the spec since MSI and interrupt controllers are two distinct controllers. > > Btw, is the MSI controller a separate IP inside the host bridge? If not, there > > would no need to add a separate node. Most of the host bridge IPs implementing > > MSI controller, do not use a separate node. > > Yes, it's a separated IP inside the host bridge. > Ok. -- மணிவண்ணன் சதாசிவம் 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 62C9AC02181 for ; Wed, 22 Jan 2025 17:21:42 +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:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=PZ+U0sV8jpePDY6oHZzSb/AFj7lGdosB7jUWSYMDsSw=; b=tfytKgZKd7Q1lo oqEQ+RETBoM49qAyBld7H7ULzxQHuzK2zuq5H+R+l421XQhAwhV9My2nGidjr1PU2MeV/Stst4w78 tkREv6rew5+epkouNsDvF7xeoqF6399d6V3aJVW8QIJhQ3bMSkIfnFcUiOwkRK+ZXDLPvZ/lu9Nzy 2WNKuwwnMxb8Q5XPg0kAFrCE3XoOLKJDjUiQzubn6LR/puOCLvgQ/Yr+Ld+/DbfBvnFZz/Ar7H8D3 zKqlEya0cOB8OwuS4zGzslrjUkUTGwKmEQCj09LsJNJmXmVgNjivQ5M9SXz61XE7vSMmORQhCo4Q4 QUiwcg73jd8bjUsYRRCQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1taeQ3-0000000Aqrg-2YLl; Wed, 22 Jan 2025 17:21:35 +0000 Received: from mail-pl1-x62c.google.com ([2607:f8b0:4864:20::62c]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1taeQ0-0000000Aqr2-2lFs for linux-riscv@lists.infradead.org; Wed, 22 Jan 2025 17:21:33 +0000 Received: by mail-pl1-x62c.google.com with SMTP id d9443c01a7336-2166360285dso139426575ad.1 for ; Wed, 22 Jan 2025 09:21:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1737566491; x=1738171291; darn=lists.infradead.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=Ae3fiG65q7gFADRkugXEjBLy3kEYsGVZg1VWFTjZpLU=; b=g1TamYjUOd8ATfny2s4sURYeR5vk+sJcOUEyLVnNVv+Tjp1UFpLek7lBLG27VZLLuL 5ShK6wMy6ro56dI3UP83IGP7qI+CjRgybC9ag52pCJhZDe9wfi5+RqjKMy3FfqtPalsF KqbKO5LFu7hFKqvkCBTZzp/zbjxrHFkzL7eKJp34TZGL5uwLsv0kpBIxHN3QDMRZLEbA IrIpz4BdBNw8GDEgFCep4DG0dPnQZtfKekUkxPLg3ecswfRhSEuPf2OAnYNvgXI3qFpc ewHM5QFDdBc/ORGdSYqa+abKn7QCBgqUH1jJgwJH68XxAMe7WfrB+YHkDGMFrDKwAlEf PLPQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1737566491; x=1738171291; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=Ae3fiG65q7gFADRkugXEjBLy3kEYsGVZg1VWFTjZpLU=; b=UXJQNrf2043d6OThage5Za+Jk0njKQAaGRoZUkW3mdTjAwI4anQfwOm8peh+vNRAtC l2XnSXXgzf6Pj2BAlkJYrpaX4eMkjJPPMq69Wh2Y4xsxamMz7K5CJ+58BV4v05NkyqyL QosIwKNLNRddl+T2OFsEgJatIfFHvdOvBaRxf6dk+zdotsozhikMjRQltwQB7PoGpfdA gsdyiYRi1OkWpCHSYTMIsEheIktetW1CwkRtzVUUzY/AFJxcBRaYAcu1hbyG7VJ9Uk/I Ca59FwLhf6PMLUuSpjjt512u5V+86RE34SggWU96hV/S+ar3slyEZNsw8xevsF595Io7 Zs2A== X-Forwarded-Encrypted: i=1; AJvYcCUdU3hzfzOYAJyjuCNTMes+NzbuivmkWZgXGPJgJIkHQZiFLZ1gbc+g8ROI6uJXhZPh9EnveI/i3d4Rsw==@lists.infradead.org X-Gm-Message-State: AOJu0YxF6l1BtDl/rTEgMsdJQ+bqX2ghEcRK8uIXsx7L/Vxcc5iy5z1t 1wReeifOCpCD4M8juMeVJtQrpQ8WFupH4u8+5wjXY1acyo1CSBaFWFpLrsOyBQ== X-Gm-Gg: ASbGncs9ebKYsMoLaAXkIH1CFQC9bLP1tViZpEyPH7a1H3ZJPSQC5ytdaEsq/3HqJwc ZererYuAY2tvruKnR0n2T1ljySe16r50Ce9sr+bqyApDutRBDXkXmqDs/1QhpBarkhtLoYIPpv9 Ed66OlIVUaaW0WXZaZTZNTVySyEzxUWVY4KDFL+wWQdioDmGzTKC1aZcIV48SDIpc1VgNFyCpV2 OBPS0Q/+q7HHibgZA3KZdpSd5i8OsRzNZXtDoKLLAazpCJmm5oLv8hmP8Drzv9wJ/4Zx2mm9bAb 6RMT X-Google-Smtp-Source: AGHT+IEkqigOKLMCrs2YjDPNBFNeQyHN25V8kKjRdlQokTEi1k6FX4K8bd/jugJsCnORbh0uNOzVgQ== X-Received: by 2002:a17:903:32c1:b0:216:59ed:1ab0 with SMTP id d9443c01a7336-21c3555847amr277588575ad.27.1737566490907; Wed, 22 Jan 2025 09:21:30 -0800 (PST) Received: from thinkpad ([36.255.17.255]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-21c2d3d6fbbsm97942345ad.168.2025.01.22.09.21.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Jan 2025 09:21:30 -0800 (PST) Date: Wed, 22 Jan 2025 22:51:22 +0530 From: Manivannan Sadhasivam To: Chen Wang Cc: Chen Wang , kw@linux.com, u.kleine-koenig@baylibre.com, aou@eecs.berkeley.edu, arnd@arndb.de, bhelgaas@google.com, conor+dt@kernel.org, guoren@kernel.org, inochiama@outlook.com, krzk+dt@kernel.org, lee@kernel.org, lpieralisi@kernel.org, palmer@dabbelt.com, paul.walmsley@sifive.com, pbrobinson@gmail.com, robh@kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, linux-riscv@lists.infradead.org, chao.wei@sophgo.com, xiaoguang.xing@sophgo.com, fengchun.li@sophgo.com, helgaas@kernel.org Subject: Re: [PATCH v3 1/5] dt-bindings: pci: Add Sophgo SG2042 PCIe host Message-ID: <20250122172122.vquwlodeyjpkx6gs@thinkpad> References: <5a784afde48c44b5a8f376f02c5f30ccff8a3312.1736923025.git.unicorn_wang@outlook.com> <20250119114408.3ma4itsjyxki74h4@thinkpad> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250122_092132_717744_F4258C1F X-CRM114-Status: GOOD ( 28.39 ) X-BeenThere: linux-riscv@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-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org T24gV2VkLCBKYW4gMjIsIDIwMjUgYXQgMDg6NTI6MzlQTSArMDgwMCwgQ2hlbiBXYW5nIHdyb3Rl Ogo+IAo+IE9uIDIwMjUvMS8xOSAxOTo0NCwgTWFuaXZhbm5hbiBTYWRoYXNpdmFtIHdyb3RlOgo+ ID4gT24gV2VkLCBKYW4gMTUsIDIwMjUgYXQgMDM6MDY6MzdQTSArMDgwMCwgQ2hlbiBXYW5nIHdy b3RlOgo+ID4gPiBGcm9tOiBDaGVuIFdhbmcgPHVuaWNvcm5fd2FuZ0BvdXRsb29rLmNvbT4KPiA+ ID4gCj4gPiA+IEFkZCBiaW5kaW5nIGZvciBTb3BoZ28gU0cyMDQyIFBDSWUgaG9zdCBjb250cm9s bGVyLgo+ID4gPiAKPiA+ID4gU2lnbmVkLW9mZi1ieTogQ2hlbiBXYW5nIDx1bmljb3JuX3dhbmdA b3V0bG9vay5jb20+Cj4gPiA+IC0tLQo+ID4gPiAgIC4uLi9iaW5kaW5ncy9wY2kvc29waGdvLHNn MjA0Mi1wY2llLWhvc3QueWFtbCB8IDE0NyArKysrKysrKysrKysrKysrKysKPiA+ID4gICAxIGZp bGUgY2hhbmdlZCwgMTQ3IGluc2VydGlvbnMoKykKPiA+ID4gICBjcmVhdGUgbW9kZSAxMDA2NDQg RG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3BjaS9zb3BoZ28sc2cyMDQyLXBjaWUt aG9zdC55YW1sCj4gCj4gWy4uLi4uLl0KPiAKPiA+ID4gK2V4YW1wbGVzOgo+ID4gPiArICAtIHwK PiA+ID4gKyAgICAjaW5jbHVkZSA8ZHQtYmluZGluZ3MvaW50ZXJydXB0LWNvbnRyb2xsZXIvaXJx Lmg+Cj4gPiA+ICsKPiA+ID4gKyAgICBwY2llQDYyMDAwMDAwIHsKPiA+ID4gKyAgICAgIGNvbXBh dGlibGUgPSAic29waGdvLHNnMjA0Mi1wY2llLWhvc3QiOwo+ID4gPiArICAgICAgZGV2aWNlX3R5 cGUgPSAicGNpIjsKPiA+ID4gKyAgICAgIHJlZyA9IDwweDYyMDAwMDAwICAweDAwODAwMDAwPiwK PiA+ID4gKyAgICAgICAgICAgIDwweDQ4MDAwMDAwICAweDAwMDAxMDAwPjsKPiA+IFVzZSBzaW5n bGUgc3BhY2UgYmV0d2VlbiBhZGRyZXNzIGFuZCBzaXplLgo+IG9rLCB0aGFua3MuCj4gPiA+ICsg ICAgICByZWctbmFtZXMgPSAicmVnIiwgImNmZyI7Cj4gPiA+ICsgICAgICAjYWRkcmVzcy1jZWxs cyA9IDwzPjsKPiA+ID4gKyAgICAgICNzaXplLWNlbGxzID0gPDI+Owo+ID4gPiArICAgICAgcmFu Z2VzID0gPDB4ODEwMDAwMDAgMCAweDAwMDAwMDAwIDB4ZGUwMDAwMDAgMCAweDAwMDEwMDAwPiwK PiA+ID4gKyAgICAgICAgICAgICAgIDwweDgyMDAwMDAwIDAgMHhkMDQwMDAwMCAweGQwNDAwMDAw IDAgMHgwZDAwMDAwMD47Cj4gPiBGb3Igc3VyZSB5b3UgZG9uJ3QgbmVlZCB0byBzZXQgJ3JlbG9j YXRhYmxlJyBmbGFnIGZvciBib3RoIHJlZ2lvbnMuCj4gb2ssIEkgd2lsbCBjb3JyZWN0IHRoaXMg aW4gbmV4dCB2ZXJzaW9uLgo+ID4gPiArICAgICAgYnVzLXJhbmdlID0gPDB4MDAgMHhmZj47Cj4g PiA+ICsgICAgICB2ZW5kb3ItaWQgPSA8MHgxZjFjPjsKPiA+ID4gKyAgICAgIGRldmljZS1pZCA9 IDwweDIwNDI+Owo+ID4gQXMgQmpvcm4gZXhwbGFpbmVkIGluIHYyLCB0aGVzZSBwcm9wZXJ0aWVz IG5lZWQgdG8gYmUgbW92ZWQgdG8gUENJIHJvb3QgcG9ydAo+ID4gbm9kZS4gWW91ciBhcmd1bWVu dCBvZiBhIHNpbmdsZSByb290IHBvcnQgbm9kZSBmb3IgYSBob3N0IGJyaWRnZSBkb2Vzbid0IGFk ZCBhcwo+ID4gd2UgaGF2ZSBmb3VuZCB0aGF0IGRlc2NyaWJpbmcgdGhlIHJvb3QgcG9ydCBwcm9w ZXJ0aWVzIGluIGhvc3QgYnJpZGdlIG9ubHkKPiA+IGNyZWF0ZXMgaXNzdWVzLgo+IAo+IEdvdCBp dC4gSSB3aWxsIHRyeSB0byBjaGFuZ2UgdGhpcyBpbiBuZXh0IHZlcnNpb24uCj4gCj4gPiBCdHcs IHdlIGFyZSBtaWdyYXRpbmcgdGhlIGV4aXN0aW5nIHNpbmdsZSBSUCBwbGF0Zm9ybXMgdG9vIHRv IHJvb3QgcG9ydCBub2RlLgo+ID4gCj4gPiA+ICsgICAgICBjZG5zLG5vLWJhci1tYXRjaC1uYml0 cyA9IDw0OD47Cj4gPiA+ICsgICAgICBzb3BoZ28sbGluay1pZCA9IDwwPjsKPiA+ID4gKyAgICAg IHNvcGhnbyxzeXNjb24tcGNpZS1jdHJsID0gPCZjZG5zX3BjaWUxX2N0cmw+Owo+ID4gV2hlcmUg aXMgdGhlIG51bS1sYW5lcyBwcm9wZXJ0eT8KPiBJcyB0aGlzIG51bS1sYW5lcyBhIG11c3QtaGF2 ZSBwcm9wZXJ0eT8gVGhlIGxhbmUgbnVtYmVyIG9mIGVhY2ggbGluayBvbiB0aGUKPiBTRzIwNDIg aXMgaGFyZC1jb2RlZCBpbiB0aGUgZmlybXdhcmUsIHNvIGl0IHNlZW1zIG1lYW5pbmdsZXNzIHRv IGNvbmZpZ3VyZQo+IGl0LgoKSXQgaXMgbm90IGEgcmVxdWlyZW1lbnQsIGJ1dCBtb3N0IG9mIHRo ZSBjb250cm9sbGVycyBkZWZpbmUgaXQgc28gdGhhdCB0aGUKZHJpdmVycyBjYW4gdXNlIGl0IHRv IHNldCBNYXggTGluayBXaWR0aCwgTGluayBzcGVlZCBldGMuLi4uIFlvdSBjYW4gc2tpcCBpdCBp Zgp5b3Ugd2FudC4KCj4gPiA+ICsgICAgICBtc2ktcGFyZW50ID0gPCZtc2lfcGNpZT47Cj4gPiA+ ICsgICAgICBtc2lfcGNpZTogbXNpIHsKPiA+ICdtc2knIGlzIG5vdCBhIHN0YW5kYXJkIG5vZGUg bmFtZS4gJ2ludGVycnVwdC1jb250cm9sbGVyJyBpcyB3aGF0IHVzdWFsbHkgdXNlZAo+ID4gdG8g ZGVzY3JpYmUgdGhlIE1TSSBub2RlLgo+IE9LLiBJIHdpbGwgY29ycmV0IHRoaXMuCgpUaGVyZSBp cyBhbHNvICdtc2ktY29udHJvbGxlcicgbm9kZSBuYW1lIHVzZWQgY29tbW9ubHksIGJ1dCBpdCBp cyBub3QKZG9jdW1lbnRlZCBpbiB0aGUgZGV2aWNldHJlZSBzcGVjLiBNYXliZSB5b3UgY2FuIHVz ZSBpdCBpbnN0ZWFkIGFuZCBJJ2xsIGFkZCBpdAp0byB0aGUgc3BlYyBzaW5jZSBNU0kgYW5kIGlu dGVycnVwdCBjb250cm9sbGVycyBhcmUgdHdvIGRpc3RpbmN0IGNvbnRyb2xsZXJzLgoKPiA+IEJ0 dywgaXMgdGhlIE1TSSBjb250cm9sbGVyIGEgc2VwYXJhdGUgSVAgaW5zaWRlIHRoZSBob3N0IGJy aWRnZT8gSWYgbm90LCB0aGVyZQo+ID4gd291bGQgbm8gbmVlZCB0byBhZGQgYSBzZXBhcmF0ZSBu b2RlLiBNb3N0IG9mIHRoZSBob3N0IGJyaWRnZSBJUHMgaW1wbGVtZW50aW5nCj4gPiBNU0kgY29u dHJvbGxlciwgZG8gbm90IHVzZSBhIHNlcGFyYXRlIG5vZGUuCj4gCj4gWWVzLCBpdCdzIGEgc2Vw YXJhdGVkIElQIGluc2lkZSB0aGUgaG9zdCBicmlkZ2UuCj4gCgpPay4KCi0tIArgrq7grqPgrr/g rrXgrqPgr43grqPgrqngr40g4K6a4K6k4K6+4K6a4K6/4K614K6u4K+NCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1yaXNjdiBtYWlsaW5nIGxp c3QKbGludXgtcmlzY3ZAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFk Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LXJpc2N2Cg==