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 E6E4FC7EE2A for ; Tue, 6 Jun 2023 07:49:37 +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: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=gepeD9oKeuM6M1LSs69AQDj2QWFHdpoVAFwJ2cek37A=; b=ZsM+tAs8QtiCd2 x07sxfGuBFsb5FWiAOze8TV4NxJ32yxJ2CmBhMbA+gTSrIygAFk0Kl/+QyxyptvJtJpWsDxzJWF/d XC0GTjvjkzbdTy2OD37z31/L9pnPmxBKRVwKC2dP8aYxSlVUz1P4MdrwLwptPAeveQAz0L7qvNM9F OKlyFHjkbhT/UnbRlyrW6gJHo189vtsMRnuG090IA26ouAh62GV7uxZgKwXjClN3PBdc42OqOz1ao tDCfvsgENYMeWSmF2tvEj0u5ojJRMpSRhSNxgfwEZ2pKfGGEMLb+P6zHmmOVHRCEi07jA1zxIkyzo m6zm5h2hlFar/jfIg0AQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1q6RRE-000fQ6-1Y; Tue, 06 Jun 2023 07:49:08 +0000 Received: from relay8-d.mail.gandi.net ([2001:4b98:dc4:8::228]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1q6RR9-000fNv-1b; Tue, 06 Jun 2023 07:49:06 +0000 X-GND-Sasl: miquel.raynal@bootlin.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1686037739; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=W/kMANKOTi/tFXc0hJon5PuO8vrm2esi8pRQ+Mx6YY8=; b=SwWxSbuUS5bFt445yNo85PxVU12H/0UMPIIxIOPbJ+m8fp+ik9pyEFL9NVwAyFZM051N3p NzPltO+/RkB5DCY7R5Q3SUrvfqqTOkBhUMf6bQ0+iNpyp0bnWnQzOOAPWUy6Kf/anzqLKJ qI0X+azrFp6wSGK9Kk2uxHsMFEFrDth7G0jL19IeTZF0tsQx6PJ//DZi3RjOg9olqslz2a U9Um1/ClMPL01vI3zWobFe0x5c+c5lu//SeRWEvzhSRGKg6f0v0FnMzToupmHjV3Yhq6v9 NPulL984sOp8TDlGDUCGWKdiWblwR1e2yaprd0pGsntkXZEP8+3AGYt8J33hPw== X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com Received: by mail.gandi.net (Postfix) with ESMTPSA id 4D55B1BF20C; Tue, 6 Jun 2023 07:48:56 +0000 (UTC) Date: Tue, 6 Jun 2023 09:48:55 +0200 From: Miquel Raynal To: Chris Packham Cc: Krzysztof Kozlowski , "richard@nod.at" , "vigneshr@ti.com" , "robh+dt@kernel.org" , "krzysztof.kozlowski+dt@linaro.org" , "conor+dt@kernel.org" , "andrew@lunn.ch" , "gregory.clement@bootlin.com" , "sebastian.hesselbarth@gmail.com" , "conor@kernel.org" , "linux-mtd@lists.infradead.org" , "devicetree@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , "enachman@marvell.com" , Vadym Kochan Subject: Re: [PATCH v8 3/3] dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme Message-ID: <20230606094855.1ab005eb@xps-13> In-Reply-To: <9fc57052-5049-ed50-ca95-cfd1d0420dd9@alliedtelesis.co.nz> References: <20230531234923.2307013-1-chris.packham@alliedtelesis.co.nz> <20230531234923.2307013-4-chris.packham@alliedtelesis.co.nz> <785368df-1881-e62e-6172-d902cee814a8@alliedtelesis.co.nz> <4ea0b16e-0cec-00db-c598-e0364a7edef8@alliedtelesis.co.nz> <9fc57052-5049-ed50-ca95-cfd1d0420dd9@alliedtelesis.co.nz> Organization: Bootlin X-Mailer: Claws Mail 4.0.0 (GTK+ 3.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230606_004903_840192_742AA5CD X-CRM114-Status: GOOD ( 36.99 ) X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-mtd" Errors-To: linux-mtd-bounces+linux-mtd=archiver.kernel.org@lists.infradead.org SGkgQ2hyaXMsCgpDaHJpcy5QYWNraGFtQGFsbGllZHRlbGVzaXMuY28ubnogd3JvdGUgb24gVHVl LCA2IEp1biAyMDIzIDA0OjM4OjAxCiswMDAwOgoKPiBPbiA2LzA2LzIzIDA4OjQ0LCBDaHJpcyBQ YWNraGFtIHdyb3RlOgo+ID4KPiA+IE9uIDQvMDYvMjMgMjE6MjYsIEtyenlzenRvZiBLb3psb3dz a2kgd3JvdGU6ICAKPiA+PiBPbiAwMi8wNi8yMDIzIDAxOjA2LCBDaHJpcyBQYWNraGFtIHdyb3Rl OiAgCj4gPj4+IEhpIEtyenlzdG9mLAo+ID4+Pgo+ID4+PiBPbiAxLzA2LzIzIDE5OjA1LCBLcnp5 c3p0b2YgS296bG93c2tpIHdyb3RlOiAgCj4gPj4+PiBPbiAwMS8wNi8yMDIzIDAxOjQ5LCBDaHJp cyBQYWNraGFtIHdyb3RlOiAgCj4gPj4+Pj4gRnJvbTogVmFkeW0gS29jaGFuIDx2YWR5bS5rb2No YW5AcGx2aXNpb24uZXU+Cj4gPj4+Pj4KPiA+Pj4+PiBTd2l0Y2ggdGhlIERUIGJpbmRpbmcgdG8g YSBZQU1MIHNjaGVtYSB0byBlbmFibGUgdGhlIERUIHZhbGlkYXRpb24uCj4gPj4+Pj4KPiA+Pj4+ PiBUaGUgdGV4dCBiaW5kaW5nIGRpZG4ndCBtZW50aW9uIGl0IGFzIGEgcmVxdWlyZW1lbnQgYnV0 IGV4aXN0aW5nIAo+ID4+Pj4+IHVzYWdlCj4gPj4+Pj4gaGFzCj4gPj4+Pj4KPiA+Pj4+PiDCoMKg wqDCoCBjb21wYXRpYmxlID0gIm1hcnZlbGwsYXJtYWRhLThrLW5hbmQtY29udHJvbGxlciIsCj4g Pj4+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAibWFydmVsbCxhcm1hZGEz NzAtbmFuZC1jb250cm9sbGVyIjsKPiA+Pj4+Pgo+ID4+Pj4+IHNvIHRoZSBZQU1MIGFsbG93cyB0 aGlzIGluIGFkZGl0aW9uIHRvIHRoZSBpbmRpdmlkdWFsIGNvbXBhdGlibGUgCj4gPj4+Pj4gdmFs dWVzLgo+ID4+Pj4+Cj4gPj4+Pj4gVGhlcmUgd2FzIGFsc28gYW4gaW5jb3JyZWN0IHJlZmVyZW5j ZSB0byBkbWEtbmFtZXMgYmVpbmcgInJ4dHgiIHdoZXJlCj4gPj4+Pj4gdGhlIGRyaXZlciBhbmQg ZXhpc3RpbmcgZGV2aWNlIHRyZWVzIGFjdHVhbGx5IHVzZSBkbWEtbmFtZXMgPSAKPiA+Pj4+PiAi ZGF0YSIgc28KPiA+Pj4+PiB0aGlzIGlzIGNvcnJlY3RlZCBpbiB0aGUgY29udmVyc2lvbi4KPiA+ Pj4+Pgo+ID4+Pj4+IFNpZ25lZC1vZmYtYnk6IFZhZHltIEtvY2hhbiA8dmFkeW0ua29jaGFuQHBs dmlzaW9uLmV1Pgo+ID4+Pj4+IFNpZ25lZC1vZmYtYnk6IENocmlzIFBhY2toYW0gPGNocmlzLnBh Y2toYW1AYWxsaWVkdGVsZXNpcy5jby5uej4KPiA+Pj4+PiAtLS0KPiA+Pj4+Pgo+ID4+Pj4+IE5v dGVzOgo+ID4+Pj4+IMKgwqDCoMKgwqAgQ2hhbmdlcyBpbiB2ODoKPiA+Pj4+PiDCoMKgwqDCoMKg IC0gTWFyayBkZXByZWNhdGVkIGNvbXBhdGlibGUgdmFsdWVzIGFzIHN1Y2gKPiA+Pj4+PiDCoMKg wqDCoMKgIC0gQWxsb3cgIm1hcnZlbGwsYXJtYWRhLThrLW5hbmQtY29udHJvbGxlciIgd2l0aG91 dAo+ID4+Pj4+IMKgwqDCoMKgwqDCoMKgICJtYXJ2ZWxsLGFybWFkYTM3MC1uYW5kLWNvbnRyb2xs ZXIiCj4gPj4+Pj4gwqDCoMKgwqDCoCAtIE1ha2UgZG1hLW5hbWVzIHVzYWdlIHJlZmxlY3QgcmVh bGl0eQo+ID4+Pj4+IMKgwqDCoMKgwqAgLSBVcGRhdGUgY29tbWl0IG1lc3NhZ2UKPiA+Pj4+PiDC oMKgwqDCoMKgIMKgwqDCoMKgwqAgQ2hhbmdlcyBpbiB2NzoKPiA+Pj4+PiDCoMKgwqDCoMKgIC0g UmVzdG9yZSAibGFiZWwiIGFuZCAicGFydGl0aW9ucyIgcHJvcGVydGllcyAoc2hvdWxkIGJlIAo+ ID4+Pj4+IHBpY2tlZCB1cCB2aWEKPiA+Pj4+PiDCoMKgwqDCoMKgwqDCoCBuYW5kLWNvbnRyb2xs ZXIueWFtbCBidXQgYXJlbid0KSAgCj4gPj4+PiBXaGF0IGRvIHlvdSBtZWFuIGJ5ICJhcmVuJ3Qi PyBUaGV5IGFyZSBub3QgbmVlZGVkLiAgCj4gPj4+IChzb3JyeSBJIGtlZXAgcmVzcG9uZGluZyB0 byBzbmlwcGV0cyByYXRoZXIgdGhhbiBwdXR0aW5nIGFsbCB0aGUgCj4gPj4+IHJlcGxpZXMKPiA+ Pj4gaW4gb25lIHBsYWNlLiBGb3IgcG9zdGVyaXR5IGhlcmUncyB0aGUgc2FtZSByZXNwb25zZSBJ IHByb3ZpZGVkIGluIGEKPiA+Pj4gc2VwYXJhdGUgbWVzc2FnZSkuCj4gPj4+Cj4gPj4+IEkgbWVh biBJIHNpbXBseSBjYW5ub3QgbWFrZSBpdCB3b3JrIGFuZCBJJ20gb3V0IG9mIGlkZWFzIChJJ20g YWxzbyAKPiA+Pj4gaW4gYW4KPiA+Pj4gYXdrd2FyZCB0aW1lem9uZSBzbyBpdCB0YWtlcyAyNGhy cyBmb3IgbWUgdG8gYXNrIGEgcXVlc3Rpb24gYW5kIGdldCBhCj4gPj4+IHJlc3BvbnNlIHdoaWNo IGxlYWRzIHRvIG1lIG1ha2luZyBndWVzc2VzIGluc3RlYWQgb2Ygd2FpdGluZykuCj4gPj4+Cj4g Pj4+IG5hbmQtY29udHJvbGxlci55YW1sIHJlZmVyZW5jZXMgbmFuZC1jaGlwLnlhbWwgd2hpY2gg cmVmZXJlbmNlcyAKPiA+Pj4gbXRkLnlhbWwKPiA+Pj4gd2hpY2ggZGVmaW5lcyB0aGUgImxhYmVs IiBhbmQgInBhcnRpdGlvbnMiIHByb3BlcnR5Lgo+ID4+Pgo+ID4+PiBJIHRob3VnaHQgbWFydmVs bCxuYW5kLWNvbnRyb2xsZXIueWFtbCBjb3VsZCBqdXN0IHNheSBgJHJlZjoKPiA+Pj4gbmFuZC1j b250cm9sbGVyLnlhbWxgIGFuZCBpdCB3b3VsZCBtZWFuIEknZCBnZXQgYWxsIHRoZSBkZWZpbml0 aW9ucyAKPiA+Pj4gZG93bgo+ID4+PiB0aGUgY2hhaW4gYnV0IHRoaXMgZG9lc24ndCBzZWVtIHRv IHdvcmsgdGhlIHdheSBJIGV4cGVjdCAob3IgbW9yZSAKPiA+Pj4gbGlrZWx5Cj4gPj4+IEknbSBu b3QgZG9pbmcgaXQgcmlnaHQpLiBJIHRob3VnaHQgaXQgbWlnaHQgaGF2ZSBzb21ldGhpbmcgdG8g ZG8gd2l0aAo+ID4+PiB0aGUgZGlmZmVyZW50IHBhdHRlcm5Qcm9wZXJ0aWVzIHBhdHRlcm4gYnV0 IGV2ZW4gd2hlbiBJIG1ha2UgdGhhdCBtYXRjaAo+ID4+PiB3aGF0IGlzIHVzZWQgaW4gbmFuZC1j b250cm9sbGVyLnlhbWwgaXQgZG9lc24ndCBzZWVtIHRvIHBpY2sgdXAgdGhvc2UKPiA+Pj4gcHJv cGVydGllcy4gIAo+ID4+IFRoZW4geW91IGFyZSBkb2luZyBzb21ldGhpbmcgZGlmZmVyZW50IHRo YW4gYWxsIG90aGVyIGJpbmRpbmdzLiAgCj4gPgo+ID4gTm90IGludGVudGlvbmFsbHkuIEkgc2hv dWxkIHByb2JhYmx5IGNoZWNrIHRoYXQgdGhlIGV4aXN0aW5nIGJpbmRpbmdzIAo+ID4gYWN0dWFs bHkgd29yayBhcyBleHBlY3RlZC4KPiA+Cj4gPiBPbmUgdGhpbmcgdGhhdCB0aGlzIGhhcyB0aGF0 IHRoZSBvdGhlcnMgZG9uJ3QgaXMgaW5jbHVkaW5nICJsYWJlbCIgYW5kIAo+ID4gInBhcnRpdGlv bnMiIGluIHRoZSBleGFtcGxlcy4KPiA+ICAKPiA+Pj4+PiDCoMKgwqDCoMKgIC0gQWRkL3Jlc3Rv cmUgbmFuZC1vbi1mbGFzaC1iYnQgYW5kIG5hbmQtZWNjLW1vZGUgd2hpY2ggCj4gPj4+Pj4gYXJl bid0IGNvdmVyZWQKPiA+Pj4+PiDCoMKgwqDCoMKgwqDCoCBieSBuYW5kLWNvbnRyb2xsZXIueWFt bC4KPiA+Pj4+PiDCoMKgwqDCoMKgIC0gVXNlICJ1bmV2YWxhdXRlZFByb3BlcnRpZXM6IGZhbHNl Igo+ID4+Pj4+IMKgwqDCoMKgwqAgLSBDb3JyZWN0aW9ucyBmb3IgY2xvY2stbmFtZXMsIGRtYS1u YW1lcywgbmFuZC1yYiBhbmQgCj4gPj4+Pj4gbmFuZC1lY2Mtc3RyZW5ndGgKPiA+Pj4+PiDCoMKg wqDCoMKgIC0gQWRkIHB4YTN4eC1uYW5kLWNvbnRyb2xsZXIgZXhhbXBsZQo+ID4+Pj4+IMKgwqDC oMKgwqAgwqDCoMKgwqDCoCBDaGFuZ2VzIGluIHY2Ogo+ID4+Pj4+IMKgwqDCoMKgwqAgLSByZW1v dmUgcHJvcGVydGllcyBjb3ZlcmVkIGJ5IG5hbmQtY29udHJvbGxlci55YW1sCj4gPj4+Pj4gwqDC oMKgwqDCoCAtIGFkZCBleGFtcGxlIHVzaW5nIGFybWFkYS04ayBjb21wYXRpYmxlCj4gPj4+Pj4g wqDCoMKgwqDCoCDCoMKgwqDCoMKgIGVhcmxpZXIgY2hhbmdlczoKPiA+Pj4+PiDCoMKgwqDCoMKg IMKgwqDCoMKgwqAgdjU6Cj4gPj4+Pj4gwqDCoMKgwqDCoMKgwqDCoCAxKSBHZXQgYmFjayAibGFi ZWwiIGFuZCAicGFydGl0aW9ucyIgcHJvcGVydGllcyBidXQgd2l0aG91dAo+ID4+Pj4+IMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgcmVmIHRvIHRoZSAicGFydGl0aW9uLnlhbWwiIHdoaWNoIHdhcyB3 cm9uZ2x5IHVzZWQuCj4gPj4+Pj4gwqDCoMKgwqDCoCDCoMKgwqDCoMKgwqDCoMKgIDIpIEFkZCAi YWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlIiBmb3IgbmFuZEAgCj4gPj4+Pj4gYmVjYXVzZSBh bGwgcG9zc2libGUKPiA+Pj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHByb3BlcnRpZXMgYXJl IGRlc2NyaWJlZC4KPiA+Pj4+PiDCoMKgwqDCoMKgIMKgwqDCoMKgwqAgdjQ6Cj4gPj4+Pj4gwqDC oMKgwqDCoMKgwqDCoCAxKSBSZW1vdmUgImxhYmVsIiBhbmQgInBhcnRpdGlvbnMiIHByb3BlcnRp ZXMKPiA+Pj4+PiDCoMKgwqDCoMKgIMKgwqDCoMKgwqDCoMKgwqAgMikgVXNlIDIgY2xvY2tzIGZv ciBBN0svOEsgcGxhdGZvcm0gd2hpY2ggaXMgYSAKPiA+Pj4+PiByZXF1aXJlbWVudAo+ID4+Pj4+ IMKgwqDCoMKgwqAgwqDCoMKgwqDCoCB2MzoKPiA+Pj4+PiDCoMKgwqDCoMKgwqDCoCAxKSBSZW1v dmUgdHh0IHZlcnNpb24gZnJvbSB0aGUgTUFJTlRBSU5FUlMgbGlzdAo+ID4+Pj4+IMKgwqDCoMKg wqAgwqDCoMKgwqDCoMKgwqAgMikgVXNlIGVudW0gZm9yIHNvbWUgb2YgY29tcGF0aWJsZSBzdHJp bmdzCj4gPj4+Pj4gwqDCoMKgwqDCoCDCoMKgwqDCoMKgwqDCoCAzKSBEcm9wOgo+ID4+Pj4+IMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICNhZGRyZXNzLWNlbGxzCj4gPj4+Pj4gwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgI3NpemUtY2VsbHM6Cj4gPj4+Pj4gwqDCoMKgwqDCoCDCoMKgwqDC oMKgwqDCoMKgwqDCoCBhcyB0aGV5IGFyZSBpbmhlcml0ZWQgZnJvbSB0aGUgbmFuZC1jb250cm9s bGVyLnlhbWwKPiA+Pj4+PiDCoMKgwqDCoMKgIMKgwqDCoMKgwqDCoMKgIDQpIEFkZCByZXN0cmlj dGlvbiB0byB1c2UgMiBjbG9ja3MgZm9yIEE4SyBTb0MKPiA+Pj4+PiDCoMKgwqDCoMKgIMKgwqDC oMKgwqDCoMKgIDUpIERyb3BwZWQgZGVzY3JpcHRpb24gZm9yIGNsb2NrLW5hbWVzIGFuZCBleHRl bmQgaXQgCj4gPj4+Pj4gd2l0aAo+ID4+Pj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgIG1pbkl0ZW1z OiAxCj4gPj4+Pj4gwqDCoMKgwqDCoCDCoMKgwqDCoMKgwqDCoCA2KSBEcm9wIGRlc2NyaXB0aW9u IGZvciAiZG1hcyIKPiA+Pj4+PiDCoMKgwqDCoMKgIMKgwqDCoMKgwqDCoMKgIDcpIFVzZSAidW5l dmFsYXV0ZWRQcm9wZXJ0aWVzOiBmYWxzZSIKPiA+Pj4+PiDCoMKgwqDCoMKgIMKgwqDCoMKgwqDC oMKgIDgpIERyb3AgcXVpdGVzIGZyb20geWFtbCByZWZzLgo+ID4+Pj4+IMKgwqDCoMKgwqAgwqDC oMKgwqDCoMKgwqAgOSkgVXNlIDQtc3BhY2UgaW5kZW50YXRpb24gZm9yIHRoZSBleGFtcGxlIHNl Y3Rpb24KPiA+Pj4+PiDCoMKgwqDCoMKgIMKgwqDCoMKgwqAgdjI6Cj4gPj4+Pj4gwqDCoMKgwqDC oMKgwqAgMSkgRml4ZWQgd2FybmluZyBieSB5YW1sbGludCB3aXRoIGluY29ycmVjdCBpbmRlbnRh dGlvbiAKPiA+Pj4+PiBmb3IgY29tcGF0aWJsZSBsaXN0Cj4gPj4+Pj4KPiA+Pj4+PiDCoMKgIC4u Li9iaW5kaW5ncy9tdGQvbWFydmVsbCxuYW5kLWNvbnRyb2xsZXIueWFtbCB8IDIyMyAKPiA+Pj4+ PiArKysrKysrKysrKysrKysrKysKPiA+Pj4+PiDCoMKgIC4uLi9kZXZpY2V0cmVlL2JpbmRpbmdz L210ZC9tYXJ2ZWxsLW5hbmQudHh0wqAgfCAxMjYgLS0tLS0tLS0tLQo+ID4+Pj4+IMKgwqAgTUFJ TlRBSU5FUlPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCB8wqDCoCAxIC0KPiA+Pj4+PiDCoMKgIDMgZmlsZXMgY2hhbmdl ZCwgMjIzIGluc2VydGlvbnMoKyksIDEyNyBkZWxldGlvbnMoLSkKPiA+Pj4+PiDCoMKgIGNyZWF0 ZSBtb2RlIDEwMDY0NCAKPiA+Pj4+PiBEb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mv bXRkL21hcnZlbGwsbmFuZC1jb250cm9sbGVyLnlhbWwKPiA+Pj4+PiDCoMKgIGRlbGV0ZSBtb2Rl IDEwMDY0NCAKPiA+Pj4+PiBEb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbXRkL21h cnZlbGwtbmFuZC50eHQKPiA+Pj4+Pgo+ID4+Pj4+IGRpZmYgLS1naXQgCj4gPj4+Pj4gYS9Eb2N1 bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbXRkL21hcnZlbGwsbmFuZC1jb250cm9sbGVy LnlhbWwgCj4gPj4+Pj4gYi9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbXRkL21h cnZlbGwsbmFuZC1jb250cm9sbGVyLnlhbWwKPiA+Pj4+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+ ID4+Pj4+IGluZGV4IDAwMDAwMDAwMDAwMC4uNDMzZmViNDMwNTU1Cj4gPj4+Pj4gLS0tIC9kZXYv bnVsbAo+ID4+Pj4+ICsrKyAKPiA+Pj4+PiBiL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5k aW5ncy9tdGQvbWFydmVsbCxuYW5kLWNvbnRyb2xsZXIueWFtbAo+ID4+Pj4+IEBAIC0wLDAgKzEs MjIzIEBACj4gPj4+Pj4gKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IChHUEwtMi4wLW9ubHkg T1IgQlNELTItQ2xhdXNlKQo+ID4+Pj4+ICslWUFNTCAxLjIKPiA+Pj4+PiArLS0tCj4gPj4+Pj4g KyRpZDogCj4gPj4+Pj4gaHR0cDovL3NjYW5tYWlsLnRydXN0d2F2ZS5jb20vP2M9MjA5ODgmZD15 Tmo4NUlrTWxkOGswWEJkQTlDSDRwUWpFNXBlYVhBZHotZXhrX0hkd3cmdT1odHRwJTNhJTJmJTJm ZGV2aWNldHJlZSUyZW9yZyUyZnNjaGVtYXMlMmZtdGQlMmZtYXJ2ZWxsJTJjbmFuZC1jb250cm9s bGVyJTJleWFtbCUyMwo+ID4+Pj4+ICskc2NoZW1hOiAKPiA+Pj4+PiBodHRwOi8vc2Nhbm1haWwu dHJ1c3R3YXZlLmNvbS8/Yz0yMDk4OCZkPXlOajg1SWtNbGQ4azBYQmRBOUNINHBRakU1cGVhWEFk ei1Qa2tQU0xsZyZ1PWh0dHAlM2ElMmYlMmZkZXZpY2V0cmVlJTJlb3JnJTJmbWV0YS1zY2hlbWFz JTJmY29yZSUyZXlhbWwlMjMKPiA+Pj4+PiArCj4gPj4+Pj4gK3RpdGxlOiBNYXJ2ZWxsIE5BTkQg Rmxhc2ggQ29udHJvbGxlciAoTkZDKQo+ID4+Pj4+ICsKPiA+Pj4+PiArbWFpbnRhaW5lcnM6Cj4g Pj4+Pj4gK8KgIC0gTWlxdWVsIFJheW5hbCA8bWlxdWVsLnJheW5hbEBib290bGluLmNvbT4KPiA+ Pj4+PiArCj4gPj4+Pj4gK3Byb3BlcnRpZXM6Cj4gPj4+Pj4gK8KgIGNvbXBhdGlibGU6Cj4gPj4+ Pj4gK8KgwqDCoCBvbmVPZjoKPiA+Pj4+PiArwqDCoMKgwqDCoCAtIGl0ZW1zOgo+ID4+Pj4+ICvC oMKgwqDCoMKgwqDCoMKgwqAgLSBjb25zdDogbWFydmVsbCxhcm1hZGEtOGstbmFuZC1jb250cm9s bGVyCj4gPj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoCAtIGNvbnN0OiBtYXJ2ZWxsLGFybWFkYTM3 MC1uYW5kLWNvbnRyb2xsZXIKPiA+Pj4+PiArwqDCoMKgwqDCoCAtIGVudW06Cj4gPj4+Pj4gK8Kg wqDCoMKgwqDCoMKgwqDCoCAtIG1hcnZlbGwsYXJtYWRhLThrLW5hbmQtY29udHJvbGxlcgo+ID4+ Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqAgLSBtYXJ2ZWxsLGFybWFkYTM3MC1uYW5kLWNvbnRyb2xs ZXIKPiA+Pj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgIC0gbWFydmVsbCxweGEzeHgtbmFuZC1jb250 cm9sbGVyCj4gPj4+Pj4gK8KgwqDCoMKgwqAgLSBkZXNjcmlwdGlvbjogbGVnYWN5IGJpbmRpbmdz Cj4gPj4+Pj4gK8KgwqDCoMKgwqDCoMKgIGRlcHJlY2F0ZWQ6IHRydWUKPiA+Pj4+PiArwqDCoMKg wqDCoMKgwqAgZW51bToKPiA+Pj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgIC0gbWFydmVsbCxhcm1h ZGEtOGstbmFuZAo+ID4+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqAgLSBtYXJ2ZWxsLGFybWFkYTM3 MC1uYW5kCj4gPj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoCAtIG1hcnZlbGwscHhhM3h4LW5hbmQK PiA+Pj4+PiArCj4gPj4+Pj4gK8KgIHJlZzoKPiA+Pj4+PiArwqDCoMKgIG1heEl0ZW1zOiAxCj4g Pj4+Pj4gKwo+ID4+Pj4+ICvCoCBpbnRlcnJ1cHRzOgo+ID4+Pj4+ICvCoMKgwqAgbWF4SXRlbXM6 IDEKPiA+Pj4+PiArCj4gPj4+Pj4gK8KgIGNsb2NrczoKPiA+Pj4+PiArwqDCoMKgIGRlc2NyaXB0 aW9uOgo+ID4+Pj4+ICvCoMKgwqDCoMKgIFNoYWxsIHJlZmVyZW5jZSB0aGUgTkFORCBjb250cm9s bGVyIGNsb2NrcywgdGhlIHNlY29uZCBvbmUgaXMKPiA+Pj4+PiArwqDCoMKgwqDCoCBpcyBvbmx5 IG5lZWRlZCBmb3IgdGhlIEFybWFkYSA3Sy84SyBTb0NzCj4gPj4+Pj4gK8KgwqDCoCBtaW5JdGVt czogMQo+ID4+Pj4+ICvCoMKgwqAgbWF4SXRlbXM6IDIKPiA+Pj4+PiArCj4gPj4+Pj4gK8KgIGNs b2NrLW5hbWVzOgo+ID4+Pj4+ICvCoMKgwqAgbWluSXRlbXM6IDEKPiA+Pj4+PiArwqDCoMKgIGl0 ZW1zOgo+ID4+Pj4+ICvCoMKgwqDCoMKgIC0gY29uc3Q6IGNvcmUKPiA+Pj4+PiArwqDCoMKgwqDC oCAtIGNvbnN0OiByZWcKPiA+Pj4+PiArCj4gPj4+Pj4gK8KgIGRtYXM6Cj4gPj4+Pj4gK8KgwqDC oCBtYXhJdGVtczogMQo+ID4+Pj4+ICsKPiA+Pj4+PiArwqAgZG1hLW5hbWVzOgo+ID4+Pj4+ICvC oMKgwqAgaXRlbXM6Cj4gPj4+Pj4gK8KgwqDCoMKgwqAgLSBjb25zdDogZGF0YQo+ID4+Pj4+ICsK PiA+Pj4+PiArwqAgbWFydmVsbCxzeXN0ZW0tY29udHJvbGxlcjoKPiA+Pj4+PiArwqDCoMKgICRy ZWY6IC9zY2hlbWFzL3R5cGVzLnlhbWwjL2RlZmluaXRpb25zL3BoYW5kbGUKPiA+Pj4+PiArwqDC oMKgIGRlc2NyaXB0aW9uOiBTeXNjb24gbm9kZSB0aGF0IGhhbmRsZXMgTkFORCBjb250cm9sbGVy IHJlbGF0ZWQgCj4gPj4+Pj4gcmVnaXN0ZXJzCj4gPj4+Pj4gKwo+ID4+Pj4+ICtwYXR0ZXJuUHJv cGVydGllczoKPiA+Pj4+PiArwqAgIl5uYW5kQFswLTNdJCI6Cj4gPj4+Pj4gK8KgwqDCoCB0eXBl OiBvYmplY3QKPiA+Pj4+PiArwqDCoMKgIHVuZXZhbHVhdGVkUHJvcGVydGllczogZmFsc2UKPiA+ Pj4+PiArwqDCoMKgIHByb3BlcnRpZXM6Cj4gPj4+Pj4gK8KgwqDCoMKgwqAgcmVnOgo+ID4+Pj4+ ICvCoMKgwqDCoMKgwqDCoCBtaW5pbXVtOiAwCj4gPj4+Pj4gK8KgwqDCoMKgwqDCoMKgIG1heGlt dW06IDMKPiA+Pj4+PiArCj4gPj4+Pj4gK8KgwqDCoMKgwqAgbmFuZC1yYjoKPiA+Pj4+PiArwqDC oMKgwqDCoMKgwqAgbWluSXRlbXM6IDEgIAo+ID4+Pj4gRHJvcCBtaW5JdGVtcy4KPiA+Pj4+ICAK PiA+Pj4+PiArwqDCoMKgwqDCoMKgwqAgbWF4SXRlbXM6IDEgIAo+ID4+Pj4gRGlkbid0IHlvdSBo YXZlIGhlcmUgbWluaW11bSBhbmQgbWF4aW11bT8gSSB0aGluayBJIGRpZCBub3QgYXNrIHRvCj4g Pj4+PiByZW1vdmUgdGhlbS4gIAo+ID4+PiBJIGRpZCBidXQgSSBjb3VsZG4ndCBmaWd1cmUgb3V0 IGhvdyB0byBkbyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpdGggYW4KPiA+Pj4gYXJyYXkgd291bGQg dGhlIGZvbGxvd2luZyBiZSBjb3JyZWN0IChub3RlIHJlbW92aW5nIGJvdGggbWluSXRlbXMgYW5k Cj4gPj4+IG1heEl0ZW1zIGFzIGR0Yl9jaGVjayBjb21wbGFpbnMgaWYgSSBoYXZlIG1heEl0ZW1z IGFuZCBpdGVtcykuICAKPiA+PiBpdGVtczoKPiA+PiDCoMKgIG1pbmltdW06IG4KPiA+PiDCoMKg IG1heGltdW06IG4KPiA+PiDCoMKgIG1heEl0ZW1zOiBuCj4gPj4KPiA+PiBvcgo+ID4+Cj4gPj4g aXRlbXM6Cj4gPj4gwqAgLSBtaW5pbXVtOiBuCj4gPj4gwqDCoMKgIG1heGltdW06IG4KPiA+Pgo+ ID4+IFNlZSBmb3IgZXhhbXBsZSBEb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvYXJt L2wyYzJ4MC55YW1sICAKPiA+IFRoYW5rcywgc28gbXkgc3VnZ2VzdGlvbiBiZWxvdyBzaG91bGQg YmUgT0sgdGhlbi4gIAo+ID4+PiDCoCDCoMKgwqDCoMKgwqAgbmFuZC1yYjoKPiA+Pj4gwqAgwqDC oMKgwqDCoMKgwqAgaXRlbXM6Cj4gPj4+IMKgIMKgwqDCoMKgwqDCoMKgwqDCoCAtIG1pbmltdW06 IDAKPiA+Pj4gwqAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBtYXhpbXVtOiAxCj4gPj4+ICAKPiA+ Pj4+PiArCj4gPj4+Pj4gK8KgwqDCoMKgwqAgbmFuZC1lY2Mtc3RlcC1zaXplOgo+ID4+Pj4+ICvC oMKgwqDCoMKgwqDCoCBjb25zdDogNTEyCj4gPj4+Pj4gKwo+ID4+Pj4+ICvCoMKgwqDCoMKgIG5h bmQtZWNjLXN0cmVuZ3RoOgo+ID4+Pj4+ICvCoMKgwqDCoMKgwqDCoCBlbnVtOiBbMSwgNCwgOCwg MTIsIDE2XQo+ID4+Pj4+ICsKPiA+Pj4+PiArwqDCoMKgwqDCoCBuYW5kLW9uLWZsYXNoLWJidDoK PiA+Pj4+PiArwqDCoMKgwqDCoMKgwqAgJHJlZjogL3NjaGVtYXMvdHlwZXMueWFtbCMvZGVmaW5p dGlvbnMvZmxhZwo+ID4+Pj4+ICsKPiA+Pj4+PiArwqDCoMKgwqDCoCBuYW5kLWVjYy1tb2RlOgo+ ID4+Pj4+ICvCoMKgwqDCoMKgwqDCoCBjb25zdDogaHcKPiA+Pj4+PiArCj4gPj4+Pj4gK8KgwqDC oMKgwqAgbGFiZWw6Cj4gPj4+Pj4gK8KgwqDCoMKgwqDCoMKgICRyZWY6IC9zY2hlbWFzL3R5cGVz LnlhbWwjL2RlZmluaXRpb25zL3N0cmluZyAgCj4gPj4+PiBEcm9wIGxhYmVsCj4gPj4+PiAgCj4g Pj4+Pj4gKwo+ID4+Pj4+ICvCoMKgwqDCoMKgIHBhcnRpdGlvbnM6Cj4gPj4+Pj4gK8KgwqDCoMKg wqDCoMKgIHR5cGU6IG9iamVjdCAgCj4gPj4+PiBEcm9wIHBhcnRpdGlvbnMuICAKPiA+Pj4gVGhp cyBpcyB0aGUgcGFydCBJIGNhbid0IGdldCB0byB3b3JrLiBJdCBzaG91bGQgcGljayBpdCB1cCB2 aWEKPiA+Pj4gbmFuZC1jb250cm9sbGVyLnlhbWwgYnV0IG5vdGhpbmcgSSBkbyBzZWVtcyB0byB3 b3JrLgo+ID4+PiAgCj4gPj4+Pj4gKwo+ID4+Pj4+ICvCoMKgwqDCoMKgIG1hcnZlbGwsbmFuZC1r ZWVwLWNvbmZpZzoKPiA+Pj4+PiArwqDCoMKgwqDCoMKgwqAgZGVzY3JpcHRpb246IHwKPiA+Pj4+ PiArwqDCoMKgwqDCoMKgwqDCoMKgIE9yZGVycyB0aGUgZHJpdmVyIG5vdCB0byB0YWtlIHRoZSB0 aW1pbmdzIGZyb20gdGhlIGNvcmUgCj4gPj4+Pj4gYW5kCj4gPj4+Pj4gK8KgwqDCoMKgwqDCoMKg wqDCoCBsZWF2aW5nIHRoZW0gY29tcGxldGVseSB1bnRvdWNoZWQuIEJvb3Rsb2FkZXIgdGltaW5n cyAKPiA+Pj4+PiB3aWxsIHRoZW4KPiA+Pj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgIGJlIHVzZWQu Cj4gPj4+Pj4gK8KgwqDCoMKgwqDCoMKgICRyZWY6IC9zY2hlbWFzL3R5cGVzLnlhbWwjL2RlZmlu aXRpb25zL2ZsYWcKPiA+Pj4+PiArCj4gPj4+Pj4gK8KgwqDCoMKgwqAgbWFydmVsbCxuYW5kLWVu YWJsZS1hcmJpdGVyOgo+ID4+Pj4+ICvCoMKgwqDCoMKgwqDCoCBkZXNjcmlwdGlvbjogfAo+ID4+ Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqAgVG8gZW5hYmxlIHRoZSBhcmJpdGVyLCBhbGwgYm9hcmRz IGJsaW5kbHkgdXNlZCBpdCwKPiA+Pj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgIHRoaXMgYml0IHdh cyBzZXQgYnkgdGhlIGJvb3Rsb2FkZXIgZm9yIG1hbnkgYm9hcmRzIGFuZCAKPiA+Pj4+PiBldmVu IGlmCj4gPj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoCBpdCBpcyBtYXJrZWQgcmVzZXJ2ZWQgaW4g c2V2ZXJhbCBkYXRhc2hlZXRzLCBpdCBtaWdodCAKPiA+Pj4+PiBiZSBuZWVkZWQgdG8gc2V0Cj4g Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoCBpdCAob3RoZXJ3aXNlIGl0IGlzIGhhcm1sZXNzKS4K PiA+Pj4+PiArwqDCoMKgwqDCoMKgwqAgJHJlZjogL3NjaGVtYXMvdHlwZXMueWFtbCMvZGVmaW5p dGlvbnMvZmxhZwo+ID4+Pj4+ICvCoMKgwqDCoMKgwqDCoCBkZXByZWNhdGVkOiB0cnVlCj4gPj4+ Pj4gKwo+ID4+Pj4+ICvCoMKgwqAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlICAKPiA+Pj4+ IHVuZXZhbHVhdGVkUHJvcGVydGllczogZmFsc2UgIAo+ID4+PiBJdCB3YXMgaGlkaW5nIGJ5ICci Xm5hbmRAWzAtM10kIjonLiBTaG91bGQgSSBtb3ZlIGl0IGhlcmU/ICAKPiA+PiBZb3UgY2Fubm90 IGhhdmUgYm90aCBhZGRpdGlvbmFsUHJvcHMgYW5kIHVuZXZhbHVhdGVkUHJvcHMgYXQgdGhlIHNh bWUKPiA+PiB0aW1lLCBzbyB3ZSBkbyBub3QgdGFsayBhYm91dCBzYW1lIHRoaW5nIG9yIHRoaXMg d2FzIG5ldmVyIHdvcmtpbmc/ICAKPiA+Cj4gPiBIbW0sIEknbSBhIGxpdHRsZSBjb25mdXNlZCB0 aGVuLiBBdCB2YXJpb3VzIHRpbWVzIEkndmUgYmVlbiB0b2xkIHRvIAo+ID4gcHV0ICdhZGRpdGlv bmFsUHJvcGVydGllczogZmFsc2UnIG9yICd1bmV2YWx1YXRlZFByb3BlcnRpZXM6IGZhbHNlJyAK PiA+IChhbHRob3VnaCBuZXZlciBhdCB0aGUgc2FtZSB0aW1lKS4gSSdtIG5vdCBzdXJlIHdoZW4g dG8gdXNlIG9uZSBvciB0aGUgCj4gPiBvdGhlci4KPiA+Cj4gPiBGcm9tIHdoYXQgSSd2ZSBiZWVu IGFibGUgdG8gZ2xlYW4gJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzOiB0cnVlJyAKPiA+IGluZGljYXRl cyB0aGF0IHRoZSBub2RlIGlzIGV4cGVjdGVkIHRvIGhhdmUgY2hpbGQgbm9kZXMgZGVmaW5lZCBp biBhIAo+ID4gZGlmZmVyZW50IHNjaGVtYSBzbyBJIHdvdWxkIGhhdmUgdGhvdWdodCAnYWRkaXRp b25hbFByb3BlcnRpZXM6IGZhbHNlJyAKPiA+IHdvdWxkIGJlIGFwcHJvcHJpYXRlIGZvciBhIHNj aGVtYSBjb3ZlcmluZyBhIGxlYWYgbm9kZS4gCj4gPiAndW5ldmFsdWF0ZWRQcm9wZXJ0aWVzOiBm YWxzZScgc2VlbXMgdG8gZW5hYmxlIHN0cmljdGVyIGNoZWNraW5nIHdoaWNoIAo+ID4gbWFrZXMg c2Vuc2Ugd2hlbiBhbGwgdGhlIHByb3BlcnRpZXMgYXJlIGRlc2NyaWJlZCBpbiB0aGUgc2NoZW1h LiAgCj4gCj4gU28gSSB0aGluayB0aGlzIG1pZ2h0IGJlIHRoZSBwcm9ibGVtLiBJZiBJIGxvb2sg YXQgcWNvbSxuYW5kYy55YW1sIG9yIAo+IGluZ2VuaWMsbmFuZC55YW1sIHdoaWNoIGJvdGggaGF2 ZSBhIHBhcnRpdGlvbnMgcHJvcGVydHkgaW4gdGhlaXIgCj4gZXhhbXBsZS4gTmVpdGhlciBoYXZl ICd1bmV2YWx1YXRlZFByb3BlcnRpZXM6IGZhbHNlJyBvbiB0aGUgbmFuZEAuLi4gCj4gc3Vibm9k ZS4gSWYgSSBhZGQgaXQgc3VyZSBlbm91Z2ggSSBzdGFydCBnZXR0aW5nIGNvbXBsYWludHMgYWJv dXQgdGhlIAo+ICdwYXJ0aXRpb25zJyBub2RlIGJlaW5nIHVuZXhwZWN0ZWQuCgpTb3JyeSBpZiB0 aGF0IHdhcyB1bmNsZWFyLCBJIHRoaW5rIHRoZSB3aG9sZSBsb2dpYyBhcm91bmQgdGhlIHlhbWwK ZmlsZXMgaXMgdG8gcHJvZ3Jlc3NpdmVseSBjb25zdHJhaW4gdGhlIGRlc2NyaXB0aW9ucywgc2No ZW1hIGFmdGVyCnNjaGVtYS4gSU9XLCBpbiB0aGUgbWFydmVsbCBiaW5kaW5nIHlvdSBzaG91bGQg c2V0CnVuZXZhbHVhdGVkUHJvcGVydGllczogZmFsc2UgZm9yIHRoZSBOQU5EIGNvbnRyb2xsZXIu IFdoYXQgaXMgaW5zaWRlCihOQU5EIGNoaXBzLCBwYXJ0aXRpb24gY29udGFpbmVyLCBwYXJ0aXRp b24gcGFyc2VycywgIm10ZCIgcHJvcGVydGllcywKZXRjKSB3aWxsIGJlIGhhbmRsZWQgYnkgb3Ro ZXIgZmlsZXMuIE9mIGNvdXJzZSB5b3UgY2FuIGNvbnN0cmFpbiBhIGJpdAp3aGF0IGNhbi9jYW5u b3QgYmUgdXNlZCBpbnNpZGUgdGhlc2Ugc3Vibm9kZXMsIGJ1dCBJIHRoaW5rIHlvdSBkb24ndApu ZWVkIHRvIHNldCB1bmV2YWx1YXRlZFByb3BlcnRpZXMgaW4gdGhlc2Ugc3Vibm9kZXMgKHRoZSBO QU5EIGNoaXAgaW4KdGhpcyBjYXNlLCBvciBldmVuIHRoZSBwYXJ0aXRpb25zKSBiZWNhdXNlIHlv dSBhbHJlYWR5IHJlZmVyZW5jZQpuYW5kLWNvbnRyb2xsZXIueWFtbCB3aGljaCByZWZlcmVuY2Vz IG5hbmQtY2hpcC55YW1sLCBtdGQueWFtbCwKcGFydGl0aW9ucy55YW1sLCBldGMuICp0aGV5KiB3 aWxsIG1ha2UgdGhlIGdlbmVyaWMgY2hlY2tzIGFuZCBob3BlZnVsbHkKYXBwbHkgc3RyaWN0ZXIg Y2hlY2tzLCB3aGVuIGRlZW1lZCByZWxldmFudC4KClRoYW5rcywKTWlxdcOobAoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkxpbnV4IE1URCBk aXNjdXNzaW9uIG1haWxpbmcgbGlzdApodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2xpbnV4LW10ZC8K 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 78EC5C7EE24 for ; Tue, 6 Jun 2023 07:49:36 +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: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=h87T0sqoOJi8Puqop08d9PazV1LT+99tIfaE5YwV3ag=; b=AhalU5hs0XJaIt dlf0QtxtyO7xfcvj9mkQkp+cxj8XOss+ezlyDZHMgh0bL3u0FJTenX7qE6cx0uLw/m4M3Hv3v5mat CL9c0zGNZ2tQgAhDTLaYbyqpEdM5TVSh0B5S+m5CP/2wBrbS4OIbOPtnX1G9gQ/pzNp6+fGrcv3ou er6bVXm4dW98adTMrx8Qt/boC+i0sO1KsjCbKqPejkWQsKwET1vg140bziC3sLee7rSiDr6yTFQgr iv5RzV+zQcTjRfplr58qnpE7xur45kw6x8hZW0n1a+/KszrK6T9Y4JcuhXLXPU/WUXUBkJR59al2n 0+JoM0ie2jtQ9CSvKtAw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1q6RRD-000fQ0-35; Tue, 06 Jun 2023 07:49:07 +0000 Received: from relay8-d.mail.gandi.net ([2001:4b98:dc4:8::228]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1q6RR9-000fNv-1b; Tue, 06 Jun 2023 07:49:06 +0000 X-GND-Sasl: miquel.raynal@bootlin.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1686037739; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=W/kMANKOTi/tFXc0hJon5PuO8vrm2esi8pRQ+Mx6YY8=; b=SwWxSbuUS5bFt445yNo85PxVU12H/0UMPIIxIOPbJ+m8fp+ik9pyEFL9NVwAyFZM051N3p NzPltO+/RkB5DCY7R5Q3SUrvfqqTOkBhUMf6bQ0+iNpyp0bnWnQzOOAPWUy6Kf/anzqLKJ qI0X+azrFp6wSGK9Kk2uxHsMFEFrDth7G0jL19IeTZF0tsQx6PJ//DZi3RjOg9olqslz2a U9Um1/ClMPL01vI3zWobFe0x5c+c5lu//SeRWEvzhSRGKg6f0v0FnMzToupmHjV3Yhq6v9 NPulL984sOp8TDlGDUCGWKdiWblwR1e2yaprd0pGsntkXZEP8+3AGYt8J33hPw== X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com Received: by mail.gandi.net (Postfix) with ESMTPSA id 4D55B1BF20C; Tue, 6 Jun 2023 07:48:56 +0000 (UTC) Date: Tue, 6 Jun 2023 09:48:55 +0200 From: Miquel Raynal To: Chris Packham Cc: Krzysztof Kozlowski , "richard@nod.at" , "vigneshr@ti.com" , "robh+dt@kernel.org" , "krzysztof.kozlowski+dt@linaro.org" , "conor+dt@kernel.org" , "andrew@lunn.ch" , "gregory.clement@bootlin.com" , "sebastian.hesselbarth@gmail.com" , "conor@kernel.org" , "linux-mtd@lists.infradead.org" , "devicetree@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , "enachman@marvell.com" , Vadym Kochan Subject: Re: [PATCH v8 3/3] dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme Message-ID: <20230606094855.1ab005eb@xps-13> In-Reply-To: <9fc57052-5049-ed50-ca95-cfd1d0420dd9@alliedtelesis.co.nz> References: <20230531234923.2307013-1-chris.packham@alliedtelesis.co.nz> <20230531234923.2307013-4-chris.packham@alliedtelesis.co.nz> <785368df-1881-e62e-6172-d902cee814a8@alliedtelesis.co.nz> <4ea0b16e-0cec-00db-c598-e0364a7edef8@alliedtelesis.co.nz> <9fc57052-5049-ed50-ca95-cfd1d0420dd9@alliedtelesis.co.nz> Organization: Bootlin X-Mailer: Claws Mail 4.0.0 (GTK+ 3.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230606_004903_840192_742AA5CD X-CRM114-Status: GOOD ( 36.99 ) 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 SGkgQ2hyaXMsCgpDaHJpcy5QYWNraGFtQGFsbGllZHRlbGVzaXMuY28ubnogd3JvdGUgb24gVHVl LCA2IEp1biAyMDIzIDA0OjM4OjAxCiswMDAwOgoKPiBPbiA2LzA2LzIzIDA4OjQ0LCBDaHJpcyBQ YWNraGFtIHdyb3RlOgo+ID4KPiA+IE9uIDQvMDYvMjMgMjE6MjYsIEtyenlzenRvZiBLb3psb3dz a2kgd3JvdGU6ICAKPiA+PiBPbiAwMi8wNi8yMDIzIDAxOjA2LCBDaHJpcyBQYWNraGFtIHdyb3Rl OiAgCj4gPj4+IEhpIEtyenlzdG9mLAo+ID4+Pgo+ID4+PiBPbiAxLzA2LzIzIDE5OjA1LCBLcnp5 c3p0b2YgS296bG93c2tpIHdyb3RlOiAgCj4gPj4+PiBPbiAwMS8wNi8yMDIzIDAxOjQ5LCBDaHJp cyBQYWNraGFtIHdyb3RlOiAgCj4gPj4+Pj4gRnJvbTogVmFkeW0gS29jaGFuIDx2YWR5bS5rb2No YW5AcGx2aXNpb24uZXU+Cj4gPj4+Pj4KPiA+Pj4+PiBTd2l0Y2ggdGhlIERUIGJpbmRpbmcgdG8g YSBZQU1MIHNjaGVtYSB0byBlbmFibGUgdGhlIERUIHZhbGlkYXRpb24uCj4gPj4+Pj4KPiA+Pj4+ PiBUaGUgdGV4dCBiaW5kaW5nIGRpZG4ndCBtZW50aW9uIGl0IGFzIGEgcmVxdWlyZW1lbnQgYnV0 IGV4aXN0aW5nIAo+ID4+Pj4+IHVzYWdlCj4gPj4+Pj4gaGFzCj4gPj4+Pj4KPiA+Pj4+PiDCoMKg wqDCoCBjb21wYXRpYmxlID0gIm1hcnZlbGwsYXJtYWRhLThrLW5hbmQtY29udHJvbGxlciIsCj4g Pj4+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAibWFydmVsbCxhcm1hZGEz NzAtbmFuZC1jb250cm9sbGVyIjsKPiA+Pj4+Pgo+ID4+Pj4+IHNvIHRoZSBZQU1MIGFsbG93cyB0 aGlzIGluIGFkZGl0aW9uIHRvIHRoZSBpbmRpdmlkdWFsIGNvbXBhdGlibGUgCj4gPj4+Pj4gdmFs dWVzLgo+ID4+Pj4+Cj4gPj4+Pj4gVGhlcmUgd2FzIGFsc28gYW4gaW5jb3JyZWN0IHJlZmVyZW5j ZSB0byBkbWEtbmFtZXMgYmVpbmcgInJ4dHgiIHdoZXJlCj4gPj4+Pj4gdGhlIGRyaXZlciBhbmQg ZXhpc3RpbmcgZGV2aWNlIHRyZWVzIGFjdHVhbGx5IHVzZSBkbWEtbmFtZXMgPSAKPiA+Pj4+PiAi ZGF0YSIgc28KPiA+Pj4+PiB0aGlzIGlzIGNvcnJlY3RlZCBpbiB0aGUgY29udmVyc2lvbi4KPiA+ Pj4+Pgo+ID4+Pj4+IFNpZ25lZC1vZmYtYnk6IFZhZHltIEtvY2hhbiA8dmFkeW0ua29jaGFuQHBs dmlzaW9uLmV1Pgo+ID4+Pj4+IFNpZ25lZC1vZmYtYnk6IENocmlzIFBhY2toYW0gPGNocmlzLnBh Y2toYW1AYWxsaWVkdGVsZXNpcy5jby5uej4KPiA+Pj4+PiAtLS0KPiA+Pj4+Pgo+ID4+Pj4+IE5v dGVzOgo+ID4+Pj4+IMKgwqDCoMKgwqAgQ2hhbmdlcyBpbiB2ODoKPiA+Pj4+PiDCoMKgwqDCoMKg IC0gTWFyayBkZXByZWNhdGVkIGNvbXBhdGlibGUgdmFsdWVzIGFzIHN1Y2gKPiA+Pj4+PiDCoMKg wqDCoMKgIC0gQWxsb3cgIm1hcnZlbGwsYXJtYWRhLThrLW5hbmQtY29udHJvbGxlciIgd2l0aG91 dAo+ID4+Pj4+IMKgwqDCoMKgwqDCoMKgICJtYXJ2ZWxsLGFybWFkYTM3MC1uYW5kLWNvbnRyb2xs ZXIiCj4gPj4+Pj4gwqDCoMKgwqDCoCAtIE1ha2UgZG1hLW5hbWVzIHVzYWdlIHJlZmxlY3QgcmVh bGl0eQo+ID4+Pj4+IMKgwqDCoMKgwqAgLSBVcGRhdGUgY29tbWl0IG1lc3NhZ2UKPiA+Pj4+PiDC oMKgwqDCoMKgIMKgwqDCoMKgwqAgQ2hhbmdlcyBpbiB2NzoKPiA+Pj4+PiDCoMKgwqDCoMKgIC0g UmVzdG9yZSAibGFiZWwiIGFuZCAicGFydGl0aW9ucyIgcHJvcGVydGllcyAoc2hvdWxkIGJlIAo+ ID4+Pj4+IHBpY2tlZCB1cCB2aWEKPiA+Pj4+PiDCoMKgwqDCoMKgwqDCoCBuYW5kLWNvbnRyb2xs ZXIueWFtbCBidXQgYXJlbid0KSAgCj4gPj4+PiBXaGF0IGRvIHlvdSBtZWFuIGJ5ICJhcmVuJ3Qi PyBUaGV5IGFyZSBub3QgbmVlZGVkLiAgCj4gPj4+IChzb3JyeSBJIGtlZXAgcmVzcG9uZGluZyB0 byBzbmlwcGV0cyByYXRoZXIgdGhhbiBwdXR0aW5nIGFsbCB0aGUgCj4gPj4+IHJlcGxpZXMKPiA+ Pj4gaW4gb25lIHBsYWNlLiBGb3IgcG9zdGVyaXR5IGhlcmUncyB0aGUgc2FtZSByZXNwb25zZSBJ IHByb3ZpZGVkIGluIGEKPiA+Pj4gc2VwYXJhdGUgbWVzc2FnZSkuCj4gPj4+Cj4gPj4+IEkgbWVh biBJIHNpbXBseSBjYW5ub3QgbWFrZSBpdCB3b3JrIGFuZCBJJ20gb3V0IG9mIGlkZWFzIChJJ20g YWxzbyAKPiA+Pj4gaW4gYW4KPiA+Pj4gYXdrd2FyZCB0aW1lem9uZSBzbyBpdCB0YWtlcyAyNGhy cyBmb3IgbWUgdG8gYXNrIGEgcXVlc3Rpb24gYW5kIGdldCBhCj4gPj4+IHJlc3BvbnNlIHdoaWNo IGxlYWRzIHRvIG1lIG1ha2luZyBndWVzc2VzIGluc3RlYWQgb2Ygd2FpdGluZykuCj4gPj4+Cj4g Pj4+IG5hbmQtY29udHJvbGxlci55YW1sIHJlZmVyZW5jZXMgbmFuZC1jaGlwLnlhbWwgd2hpY2gg cmVmZXJlbmNlcyAKPiA+Pj4gbXRkLnlhbWwKPiA+Pj4gd2hpY2ggZGVmaW5lcyB0aGUgImxhYmVs IiBhbmQgInBhcnRpdGlvbnMiIHByb3BlcnR5Lgo+ID4+Pgo+ID4+PiBJIHRob3VnaHQgbWFydmVs bCxuYW5kLWNvbnRyb2xsZXIueWFtbCBjb3VsZCBqdXN0IHNheSBgJHJlZjoKPiA+Pj4gbmFuZC1j b250cm9sbGVyLnlhbWxgIGFuZCBpdCB3b3VsZCBtZWFuIEknZCBnZXQgYWxsIHRoZSBkZWZpbml0 aW9ucyAKPiA+Pj4gZG93bgo+ID4+PiB0aGUgY2hhaW4gYnV0IHRoaXMgZG9lc24ndCBzZWVtIHRv IHdvcmsgdGhlIHdheSBJIGV4cGVjdCAob3IgbW9yZSAKPiA+Pj4gbGlrZWx5Cj4gPj4+IEknbSBu b3QgZG9pbmcgaXQgcmlnaHQpLiBJIHRob3VnaHQgaXQgbWlnaHQgaGF2ZSBzb21ldGhpbmcgdG8g ZG8gd2l0aAo+ID4+PiB0aGUgZGlmZmVyZW50IHBhdHRlcm5Qcm9wZXJ0aWVzIHBhdHRlcm4gYnV0 IGV2ZW4gd2hlbiBJIG1ha2UgdGhhdCBtYXRjaAo+ID4+PiB3aGF0IGlzIHVzZWQgaW4gbmFuZC1j b250cm9sbGVyLnlhbWwgaXQgZG9lc24ndCBzZWVtIHRvIHBpY2sgdXAgdGhvc2UKPiA+Pj4gcHJv cGVydGllcy4gIAo+ID4+IFRoZW4geW91IGFyZSBkb2luZyBzb21ldGhpbmcgZGlmZmVyZW50IHRo YW4gYWxsIG90aGVyIGJpbmRpbmdzLiAgCj4gPgo+ID4gTm90IGludGVudGlvbmFsbHkuIEkgc2hv dWxkIHByb2JhYmx5IGNoZWNrIHRoYXQgdGhlIGV4aXN0aW5nIGJpbmRpbmdzIAo+ID4gYWN0dWFs bHkgd29yayBhcyBleHBlY3RlZC4KPiA+Cj4gPiBPbmUgdGhpbmcgdGhhdCB0aGlzIGhhcyB0aGF0 IHRoZSBvdGhlcnMgZG9uJ3QgaXMgaW5jbHVkaW5nICJsYWJlbCIgYW5kIAo+ID4gInBhcnRpdGlv bnMiIGluIHRoZSBleGFtcGxlcy4KPiA+ICAKPiA+Pj4+PiDCoMKgwqDCoMKgIC0gQWRkL3Jlc3Rv cmUgbmFuZC1vbi1mbGFzaC1iYnQgYW5kIG5hbmQtZWNjLW1vZGUgd2hpY2ggCj4gPj4+Pj4gYXJl bid0IGNvdmVyZWQKPiA+Pj4+PiDCoMKgwqDCoMKgwqDCoCBieSBuYW5kLWNvbnRyb2xsZXIueWFt bC4KPiA+Pj4+PiDCoMKgwqDCoMKgIC0gVXNlICJ1bmV2YWxhdXRlZFByb3BlcnRpZXM6IGZhbHNl Igo+ID4+Pj4+IMKgwqDCoMKgwqAgLSBDb3JyZWN0aW9ucyBmb3IgY2xvY2stbmFtZXMsIGRtYS1u YW1lcywgbmFuZC1yYiBhbmQgCj4gPj4+Pj4gbmFuZC1lY2Mtc3RyZW5ndGgKPiA+Pj4+PiDCoMKg wqDCoMKgIC0gQWRkIHB4YTN4eC1uYW5kLWNvbnRyb2xsZXIgZXhhbXBsZQo+ID4+Pj4+IMKgwqDC oMKgwqAgwqDCoMKgwqDCoCBDaGFuZ2VzIGluIHY2Ogo+ID4+Pj4+IMKgwqDCoMKgwqAgLSByZW1v dmUgcHJvcGVydGllcyBjb3ZlcmVkIGJ5IG5hbmQtY29udHJvbGxlci55YW1sCj4gPj4+Pj4gwqDC oMKgwqDCoCAtIGFkZCBleGFtcGxlIHVzaW5nIGFybWFkYS04ayBjb21wYXRpYmxlCj4gPj4+Pj4g wqDCoMKgwqDCoCDCoMKgwqDCoMKgIGVhcmxpZXIgY2hhbmdlczoKPiA+Pj4+PiDCoMKgwqDCoMKg IMKgwqDCoMKgwqAgdjU6Cj4gPj4+Pj4gwqDCoMKgwqDCoMKgwqDCoCAxKSBHZXQgYmFjayAibGFi ZWwiIGFuZCAicGFydGl0aW9ucyIgcHJvcGVydGllcyBidXQgd2l0aG91dAo+ID4+Pj4+IMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgcmVmIHRvIHRoZSAicGFydGl0aW9uLnlhbWwiIHdoaWNoIHdhcyB3 cm9uZ2x5IHVzZWQuCj4gPj4+Pj4gwqDCoMKgwqDCoCDCoMKgwqDCoMKgwqDCoMKgIDIpIEFkZCAi YWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlIiBmb3IgbmFuZEAgCj4gPj4+Pj4gYmVjYXVzZSBh bGwgcG9zc2libGUKPiA+Pj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHByb3BlcnRpZXMgYXJl IGRlc2NyaWJlZC4KPiA+Pj4+PiDCoMKgwqDCoMKgIMKgwqDCoMKgwqAgdjQ6Cj4gPj4+Pj4gwqDC oMKgwqDCoMKgwqDCoCAxKSBSZW1vdmUgImxhYmVsIiBhbmQgInBhcnRpdGlvbnMiIHByb3BlcnRp ZXMKPiA+Pj4+PiDCoMKgwqDCoMKgIMKgwqDCoMKgwqDCoMKgwqAgMikgVXNlIDIgY2xvY2tzIGZv ciBBN0svOEsgcGxhdGZvcm0gd2hpY2ggaXMgYSAKPiA+Pj4+PiByZXF1aXJlbWVudAo+ID4+Pj4+ IMKgwqDCoMKgwqAgwqDCoMKgwqDCoCB2MzoKPiA+Pj4+PiDCoMKgwqDCoMKgwqDCoCAxKSBSZW1v dmUgdHh0IHZlcnNpb24gZnJvbSB0aGUgTUFJTlRBSU5FUlMgbGlzdAo+ID4+Pj4+IMKgwqDCoMKg wqAgwqDCoMKgwqDCoMKgwqAgMikgVXNlIGVudW0gZm9yIHNvbWUgb2YgY29tcGF0aWJsZSBzdHJp bmdzCj4gPj4+Pj4gwqDCoMKgwqDCoCDCoMKgwqDCoMKgwqDCoCAzKSBEcm9wOgo+ID4+Pj4+IMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICNhZGRyZXNzLWNlbGxzCj4gPj4+Pj4gwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgI3NpemUtY2VsbHM6Cj4gPj4+Pj4gwqDCoMKgwqDCoCDCoMKgwqDC oMKgwqDCoMKgwqDCoCBhcyB0aGV5IGFyZSBpbmhlcml0ZWQgZnJvbSB0aGUgbmFuZC1jb250cm9s bGVyLnlhbWwKPiA+Pj4+PiDCoMKgwqDCoMKgIMKgwqDCoMKgwqDCoMKgIDQpIEFkZCByZXN0cmlj dGlvbiB0byB1c2UgMiBjbG9ja3MgZm9yIEE4SyBTb0MKPiA+Pj4+PiDCoMKgwqDCoMKgIMKgwqDC oMKgwqDCoMKgIDUpIERyb3BwZWQgZGVzY3JpcHRpb24gZm9yIGNsb2NrLW5hbWVzIGFuZCBleHRl bmQgaXQgCj4gPj4+Pj4gd2l0aAo+ID4+Pj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgIG1pbkl0ZW1z OiAxCj4gPj4+Pj4gwqDCoMKgwqDCoCDCoMKgwqDCoMKgwqDCoCA2KSBEcm9wIGRlc2NyaXB0aW9u IGZvciAiZG1hcyIKPiA+Pj4+PiDCoMKgwqDCoMKgIMKgwqDCoMKgwqDCoMKgIDcpIFVzZSAidW5l dmFsYXV0ZWRQcm9wZXJ0aWVzOiBmYWxzZSIKPiA+Pj4+PiDCoMKgwqDCoMKgIMKgwqDCoMKgwqDC oMKgIDgpIERyb3AgcXVpdGVzIGZyb20geWFtbCByZWZzLgo+ID4+Pj4+IMKgwqDCoMKgwqAgwqDC oMKgwqDCoMKgwqAgOSkgVXNlIDQtc3BhY2UgaW5kZW50YXRpb24gZm9yIHRoZSBleGFtcGxlIHNl Y3Rpb24KPiA+Pj4+PiDCoMKgwqDCoMKgIMKgwqDCoMKgwqAgdjI6Cj4gPj4+Pj4gwqDCoMKgwqDC oMKgwqAgMSkgRml4ZWQgd2FybmluZyBieSB5YW1sbGludCB3aXRoIGluY29ycmVjdCBpbmRlbnRh dGlvbiAKPiA+Pj4+PiBmb3IgY29tcGF0aWJsZSBsaXN0Cj4gPj4+Pj4KPiA+Pj4+PiDCoMKgIC4u Li9iaW5kaW5ncy9tdGQvbWFydmVsbCxuYW5kLWNvbnRyb2xsZXIueWFtbCB8IDIyMyAKPiA+Pj4+ PiArKysrKysrKysrKysrKysrKysKPiA+Pj4+PiDCoMKgIC4uLi9kZXZpY2V0cmVlL2JpbmRpbmdz L210ZC9tYXJ2ZWxsLW5hbmQudHh0wqAgfCAxMjYgLS0tLS0tLS0tLQo+ID4+Pj4+IMKgwqAgTUFJ TlRBSU5FUlPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCB8wqDCoCAxIC0KPiA+Pj4+PiDCoMKgIDMgZmlsZXMgY2hhbmdl ZCwgMjIzIGluc2VydGlvbnMoKyksIDEyNyBkZWxldGlvbnMoLSkKPiA+Pj4+PiDCoMKgIGNyZWF0 ZSBtb2RlIDEwMDY0NCAKPiA+Pj4+PiBEb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mv bXRkL21hcnZlbGwsbmFuZC1jb250cm9sbGVyLnlhbWwKPiA+Pj4+PiDCoMKgIGRlbGV0ZSBtb2Rl IDEwMDY0NCAKPiA+Pj4+PiBEb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbXRkL21h cnZlbGwtbmFuZC50eHQKPiA+Pj4+Pgo+ID4+Pj4+IGRpZmYgLS1naXQgCj4gPj4+Pj4gYS9Eb2N1 bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbXRkL21hcnZlbGwsbmFuZC1jb250cm9sbGVy LnlhbWwgCj4gPj4+Pj4gYi9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbXRkL21h cnZlbGwsbmFuZC1jb250cm9sbGVyLnlhbWwKPiA+Pj4+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+ ID4+Pj4+IGluZGV4IDAwMDAwMDAwMDAwMC4uNDMzZmViNDMwNTU1Cj4gPj4+Pj4gLS0tIC9kZXYv bnVsbAo+ID4+Pj4+ICsrKyAKPiA+Pj4+PiBiL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5k aW5ncy9tdGQvbWFydmVsbCxuYW5kLWNvbnRyb2xsZXIueWFtbAo+ID4+Pj4+IEBAIC0wLDAgKzEs MjIzIEBACj4gPj4+Pj4gKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IChHUEwtMi4wLW9ubHkg T1IgQlNELTItQ2xhdXNlKQo+ID4+Pj4+ICslWUFNTCAxLjIKPiA+Pj4+PiArLS0tCj4gPj4+Pj4g KyRpZDogCj4gPj4+Pj4gaHR0cDovL3NjYW5tYWlsLnRydXN0d2F2ZS5jb20vP2M9MjA5ODgmZD15 Tmo4NUlrTWxkOGswWEJkQTlDSDRwUWpFNXBlYVhBZHotZXhrX0hkd3cmdT1odHRwJTNhJTJmJTJm ZGV2aWNldHJlZSUyZW9yZyUyZnNjaGVtYXMlMmZtdGQlMmZtYXJ2ZWxsJTJjbmFuZC1jb250cm9s bGVyJTJleWFtbCUyMwo+ID4+Pj4+ICskc2NoZW1hOiAKPiA+Pj4+PiBodHRwOi8vc2Nhbm1haWwu dHJ1c3R3YXZlLmNvbS8/Yz0yMDk4OCZkPXlOajg1SWtNbGQ4azBYQmRBOUNINHBRakU1cGVhWEFk ei1Qa2tQU0xsZyZ1PWh0dHAlM2ElMmYlMmZkZXZpY2V0cmVlJTJlb3JnJTJmbWV0YS1zY2hlbWFz JTJmY29yZSUyZXlhbWwlMjMKPiA+Pj4+PiArCj4gPj4+Pj4gK3RpdGxlOiBNYXJ2ZWxsIE5BTkQg Rmxhc2ggQ29udHJvbGxlciAoTkZDKQo+ID4+Pj4+ICsKPiA+Pj4+PiArbWFpbnRhaW5lcnM6Cj4g Pj4+Pj4gK8KgIC0gTWlxdWVsIFJheW5hbCA8bWlxdWVsLnJheW5hbEBib290bGluLmNvbT4KPiA+ Pj4+PiArCj4gPj4+Pj4gK3Byb3BlcnRpZXM6Cj4gPj4+Pj4gK8KgIGNvbXBhdGlibGU6Cj4gPj4+ Pj4gK8KgwqDCoCBvbmVPZjoKPiA+Pj4+PiArwqDCoMKgwqDCoCAtIGl0ZW1zOgo+ID4+Pj4+ICvC oMKgwqDCoMKgwqDCoMKgwqAgLSBjb25zdDogbWFydmVsbCxhcm1hZGEtOGstbmFuZC1jb250cm9s bGVyCj4gPj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoCAtIGNvbnN0OiBtYXJ2ZWxsLGFybWFkYTM3 MC1uYW5kLWNvbnRyb2xsZXIKPiA+Pj4+PiArwqDCoMKgwqDCoCAtIGVudW06Cj4gPj4+Pj4gK8Kg wqDCoMKgwqDCoMKgwqDCoCAtIG1hcnZlbGwsYXJtYWRhLThrLW5hbmQtY29udHJvbGxlcgo+ID4+ Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqAgLSBtYXJ2ZWxsLGFybWFkYTM3MC1uYW5kLWNvbnRyb2xs ZXIKPiA+Pj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgIC0gbWFydmVsbCxweGEzeHgtbmFuZC1jb250 cm9sbGVyCj4gPj4+Pj4gK8KgwqDCoMKgwqAgLSBkZXNjcmlwdGlvbjogbGVnYWN5IGJpbmRpbmdz Cj4gPj4+Pj4gK8KgwqDCoMKgwqDCoMKgIGRlcHJlY2F0ZWQ6IHRydWUKPiA+Pj4+PiArwqDCoMKg wqDCoMKgwqAgZW51bToKPiA+Pj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgIC0gbWFydmVsbCxhcm1h ZGEtOGstbmFuZAo+ID4+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqAgLSBtYXJ2ZWxsLGFybWFkYTM3 MC1uYW5kCj4gPj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoCAtIG1hcnZlbGwscHhhM3h4LW5hbmQK PiA+Pj4+PiArCj4gPj4+Pj4gK8KgIHJlZzoKPiA+Pj4+PiArwqDCoMKgIG1heEl0ZW1zOiAxCj4g Pj4+Pj4gKwo+ID4+Pj4+ICvCoCBpbnRlcnJ1cHRzOgo+ID4+Pj4+ICvCoMKgwqAgbWF4SXRlbXM6 IDEKPiA+Pj4+PiArCj4gPj4+Pj4gK8KgIGNsb2NrczoKPiA+Pj4+PiArwqDCoMKgIGRlc2NyaXB0 aW9uOgo+ID4+Pj4+ICvCoMKgwqDCoMKgIFNoYWxsIHJlZmVyZW5jZSB0aGUgTkFORCBjb250cm9s bGVyIGNsb2NrcywgdGhlIHNlY29uZCBvbmUgaXMKPiA+Pj4+PiArwqDCoMKgwqDCoCBpcyBvbmx5 IG5lZWRlZCBmb3IgdGhlIEFybWFkYSA3Sy84SyBTb0NzCj4gPj4+Pj4gK8KgwqDCoCBtaW5JdGVt czogMQo+ID4+Pj4+ICvCoMKgwqAgbWF4SXRlbXM6IDIKPiA+Pj4+PiArCj4gPj4+Pj4gK8KgIGNs b2NrLW5hbWVzOgo+ID4+Pj4+ICvCoMKgwqAgbWluSXRlbXM6IDEKPiA+Pj4+PiArwqDCoMKgIGl0 ZW1zOgo+ID4+Pj4+ICvCoMKgwqDCoMKgIC0gY29uc3Q6IGNvcmUKPiA+Pj4+PiArwqDCoMKgwqDC oCAtIGNvbnN0OiByZWcKPiA+Pj4+PiArCj4gPj4+Pj4gK8KgIGRtYXM6Cj4gPj4+Pj4gK8KgwqDC oCBtYXhJdGVtczogMQo+ID4+Pj4+ICsKPiA+Pj4+PiArwqAgZG1hLW5hbWVzOgo+ID4+Pj4+ICvC oMKgwqAgaXRlbXM6Cj4gPj4+Pj4gK8KgwqDCoMKgwqAgLSBjb25zdDogZGF0YQo+ID4+Pj4+ICsK PiA+Pj4+PiArwqAgbWFydmVsbCxzeXN0ZW0tY29udHJvbGxlcjoKPiA+Pj4+PiArwqDCoMKgICRy ZWY6IC9zY2hlbWFzL3R5cGVzLnlhbWwjL2RlZmluaXRpb25zL3BoYW5kbGUKPiA+Pj4+PiArwqDC oMKgIGRlc2NyaXB0aW9uOiBTeXNjb24gbm9kZSB0aGF0IGhhbmRsZXMgTkFORCBjb250cm9sbGVy IHJlbGF0ZWQgCj4gPj4+Pj4gcmVnaXN0ZXJzCj4gPj4+Pj4gKwo+ID4+Pj4+ICtwYXR0ZXJuUHJv cGVydGllczoKPiA+Pj4+PiArwqAgIl5uYW5kQFswLTNdJCI6Cj4gPj4+Pj4gK8KgwqDCoCB0eXBl OiBvYmplY3QKPiA+Pj4+PiArwqDCoMKgIHVuZXZhbHVhdGVkUHJvcGVydGllczogZmFsc2UKPiA+ Pj4+PiArwqDCoMKgIHByb3BlcnRpZXM6Cj4gPj4+Pj4gK8KgwqDCoMKgwqAgcmVnOgo+ID4+Pj4+ ICvCoMKgwqDCoMKgwqDCoCBtaW5pbXVtOiAwCj4gPj4+Pj4gK8KgwqDCoMKgwqDCoMKgIG1heGlt dW06IDMKPiA+Pj4+PiArCj4gPj4+Pj4gK8KgwqDCoMKgwqAgbmFuZC1yYjoKPiA+Pj4+PiArwqDC oMKgwqDCoMKgwqAgbWluSXRlbXM6IDEgIAo+ID4+Pj4gRHJvcCBtaW5JdGVtcy4KPiA+Pj4+ICAK PiA+Pj4+PiArwqDCoMKgwqDCoMKgwqAgbWF4SXRlbXM6IDEgIAo+ID4+Pj4gRGlkbid0IHlvdSBo YXZlIGhlcmUgbWluaW11bSBhbmQgbWF4aW11bT8gSSB0aGluayBJIGRpZCBub3QgYXNrIHRvCj4g Pj4+PiByZW1vdmUgdGhlbS4gIAo+ID4+PiBJIGRpZCBidXQgSSBjb3VsZG4ndCBmaWd1cmUgb3V0 IGhvdyB0byBkbyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpdGggYW4KPiA+Pj4gYXJyYXkgd291bGQg dGhlIGZvbGxvd2luZyBiZSBjb3JyZWN0IChub3RlIHJlbW92aW5nIGJvdGggbWluSXRlbXMgYW5k Cj4gPj4+IG1heEl0ZW1zIGFzIGR0Yl9jaGVjayBjb21wbGFpbnMgaWYgSSBoYXZlIG1heEl0ZW1z IGFuZCBpdGVtcykuICAKPiA+PiBpdGVtczoKPiA+PiDCoMKgIG1pbmltdW06IG4KPiA+PiDCoMKg IG1heGltdW06IG4KPiA+PiDCoMKgIG1heEl0ZW1zOiBuCj4gPj4KPiA+PiBvcgo+ID4+Cj4gPj4g aXRlbXM6Cj4gPj4gwqAgLSBtaW5pbXVtOiBuCj4gPj4gwqDCoMKgIG1heGltdW06IG4KPiA+Pgo+ ID4+IFNlZSBmb3IgZXhhbXBsZSBEb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvYXJt L2wyYzJ4MC55YW1sICAKPiA+IFRoYW5rcywgc28gbXkgc3VnZ2VzdGlvbiBiZWxvdyBzaG91bGQg YmUgT0sgdGhlbi4gIAo+ID4+PiDCoCDCoMKgwqDCoMKgwqAgbmFuZC1yYjoKPiA+Pj4gwqAgwqDC oMKgwqDCoMKgwqAgaXRlbXM6Cj4gPj4+IMKgIMKgwqDCoMKgwqDCoMKgwqDCoCAtIG1pbmltdW06 IDAKPiA+Pj4gwqAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBtYXhpbXVtOiAxCj4gPj4+ICAKPiA+ Pj4+PiArCj4gPj4+Pj4gK8KgwqDCoMKgwqAgbmFuZC1lY2Mtc3RlcC1zaXplOgo+ID4+Pj4+ICvC oMKgwqDCoMKgwqDCoCBjb25zdDogNTEyCj4gPj4+Pj4gKwo+ID4+Pj4+ICvCoMKgwqDCoMKgIG5h bmQtZWNjLXN0cmVuZ3RoOgo+ID4+Pj4+ICvCoMKgwqDCoMKgwqDCoCBlbnVtOiBbMSwgNCwgOCwg MTIsIDE2XQo+ID4+Pj4+ICsKPiA+Pj4+PiArwqDCoMKgwqDCoCBuYW5kLW9uLWZsYXNoLWJidDoK PiA+Pj4+PiArwqDCoMKgwqDCoMKgwqAgJHJlZjogL3NjaGVtYXMvdHlwZXMueWFtbCMvZGVmaW5p dGlvbnMvZmxhZwo+ID4+Pj4+ICsKPiA+Pj4+PiArwqDCoMKgwqDCoCBuYW5kLWVjYy1tb2RlOgo+ ID4+Pj4+ICvCoMKgwqDCoMKgwqDCoCBjb25zdDogaHcKPiA+Pj4+PiArCj4gPj4+Pj4gK8KgwqDC oMKgwqAgbGFiZWw6Cj4gPj4+Pj4gK8KgwqDCoMKgwqDCoMKgICRyZWY6IC9zY2hlbWFzL3R5cGVz LnlhbWwjL2RlZmluaXRpb25zL3N0cmluZyAgCj4gPj4+PiBEcm9wIGxhYmVsCj4gPj4+PiAgCj4g Pj4+Pj4gKwo+ID4+Pj4+ICvCoMKgwqDCoMKgIHBhcnRpdGlvbnM6Cj4gPj4+Pj4gK8KgwqDCoMKg wqDCoMKgIHR5cGU6IG9iamVjdCAgCj4gPj4+PiBEcm9wIHBhcnRpdGlvbnMuICAKPiA+Pj4gVGhp cyBpcyB0aGUgcGFydCBJIGNhbid0IGdldCB0byB3b3JrLiBJdCBzaG91bGQgcGljayBpdCB1cCB2 aWEKPiA+Pj4gbmFuZC1jb250cm9sbGVyLnlhbWwgYnV0IG5vdGhpbmcgSSBkbyBzZWVtcyB0byB3 b3JrLgo+ID4+PiAgCj4gPj4+Pj4gKwo+ID4+Pj4+ICvCoMKgwqDCoMKgIG1hcnZlbGwsbmFuZC1r ZWVwLWNvbmZpZzoKPiA+Pj4+PiArwqDCoMKgwqDCoMKgwqAgZGVzY3JpcHRpb246IHwKPiA+Pj4+ PiArwqDCoMKgwqDCoMKgwqDCoMKgIE9yZGVycyB0aGUgZHJpdmVyIG5vdCB0byB0YWtlIHRoZSB0 aW1pbmdzIGZyb20gdGhlIGNvcmUgCj4gPj4+Pj4gYW5kCj4gPj4+Pj4gK8KgwqDCoMKgwqDCoMKg wqDCoCBsZWF2aW5nIHRoZW0gY29tcGxldGVseSB1bnRvdWNoZWQuIEJvb3Rsb2FkZXIgdGltaW5n cyAKPiA+Pj4+PiB3aWxsIHRoZW4KPiA+Pj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgIGJlIHVzZWQu Cj4gPj4+Pj4gK8KgwqDCoMKgwqDCoMKgICRyZWY6IC9zY2hlbWFzL3R5cGVzLnlhbWwjL2RlZmlu aXRpb25zL2ZsYWcKPiA+Pj4+PiArCj4gPj4+Pj4gK8KgwqDCoMKgwqAgbWFydmVsbCxuYW5kLWVu YWJsZS1hcmJpdGVyOgo+ID4+Pj4+ICvCoMKgwqDCoMKgwqDCoCBkZXNjcmlwdGlvbjogfAo+ID4+ Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqAgVG8gZW5hYmxlIHRoZSBhcmJpdGVyLCBhbGwgYm9hcmRz IGJsaW5kbHkgdXNlZCBpdCwKPiA+Pj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgIHRoaXMgYml0IHdh cyBzZXQgYnkgdGhlIGJvb3Rsb2FkZXIgZm9yIG1hbnkgYm9hcmRzIGFuZCAKPiA+Pj4+PiBldmVu IGlmCj4gPj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoCBpdCBpcyBtYXJrZWQgcmVzZXJ2ZWQgaW4g c2V2ZXJhbCBkYXRhc2hlZXRzLCBpdCBtaWdodCAKPiA+Pj4+PiBiZSBuZWVkZWQgdG8gc2V0Cj4g Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoCBpdCAob3RoZXJ3aXNlIGl0IGlzIGhhcm1sZXNzKS4K PiA+Pj4+PiArwqDCoMKgwqDCoMKgwqAgJHJlZjogL3NjaGVtYXMvdHlwZXMueWFtbCMvZGVmaW5p dGlvbnMvZmxhZwo+ID4+Pj4+ICvCoMKgwqDCoMKgwqDCoCBkZXByZWNhdGVkOiB0cnVlCj4gPj4+ Pj4gKwo+ID4+Pj4+ICvCoMKgwqAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlICAKPiA+Pj4+ IHVuZXZhbHVhdGVkUHJvcGVydGllczogZmFsc2UgIAo+ID4+PiBJdCB3YXMgaGlkaW5nIGJ5ICci Xm5hbmRAWzAtM10kIjonLiBTaG91bGQgSSBtb3ZlIGl0IGhlcmU/ICAKPiA+PiBZb3UgY2Fubm90 IGhhdmUgYm90aCBhZGRpdGlvbmFsUHJvcHMgYW5kIHVuZXZhbHVhdGVkUHJvcHMgYXQgdGhlIHNh bWUKPiA+PiB0aW1lLCBzbyB3ZSBkbyBub3QgdGFsayBhYm91dCBzYW1lIHRoaW5nIG9yIHRoaXMg d2FzIG5ldmVyIHdvcmtpbmc/ICAKPiA+Cj4gPiBIbW0sIEknbSBhIGxpdHRsZSBjb25mdXNlZCB0 aGVuLiBBdCB2YXJpb3VzIHRpbWVzIEkndmUgYmVlbiB0b2xkIHRvIAo+ID4gcHV0ICdhZGRpdGlv bmFsUHJvcGVydGllczogZmFsc2UnIG9yICd1bmV2YWx1YXRlZFByb3BlcnRpZXM6IGZhbHNlJyAK PiA+IChhbHRob3VnaCBuZXZlciBhdCB0aGUgc2FtZSB0aW1lKS4gSSdtIG5vdCBzdXJlIHdoZW4g dG8gdXNlIG9uZSBvciB0aGUgCj4gPiBvdGhlci4KPiA+Cj4gPiBGcm9tIHdoYXQgSSd2ZSBiZWVu IGFibGUgdG8gZ2xlYW4gJ2FkZGl0aW9uYWxQcm9wZXJ0aWVzOiB0cnVlJyAKPiA+IGluZGljYXRl cyB0aGF0IHRoZSBub2RlIGlzIGV4cGVjdGVkIHRvIGhhdmUgY2hpbGQgbm9kZXMgZGVmaW5lZCBp biBhIAo+ID4gZGlmZmVyZW50IHNjaGVtYSBzbyBJIHdvdWxkIGhhdmUgdGhvdWdodCAnYWRkaXRp b25hbFByb3BlcnRpZXM6IGZhbHNlJyAKPiA+IHdvdWxkIGJlIGFwcHJvcHJpYXRlIGZvciBhIHNj aGVtYSBjb3ZlcmluZyBhIGxlYWYgbm9kZS4gCj4gPiAndW5ldmFsdWF0ZWRQcm9wZXJ0aWVzOiBm YWxzZScgc2VlbXMgdG8gZW5hYmxlIHN0cmljdGVyIGNoZWNraW5nIHdoaWNoIAo+ID4gbWFrZXMg c2Vuc2Ugd2hlbiBhbGwgdGhlIHByb3BlcnRpZXMgYXJlIGRlc2NyaWJlZCBpbiB0aGUgc2NoZW1h LiAgCj4gCj4gU28gSSB0aGluayB0aGlzIG1pZ2h0IGJlIHRoZSBwcm9ibGVtLiBJZiBJIGxvb2sg YXQgcWNvbSxuYW5kYy55YW1sIG9yIAo+IGluZ2VuaWMsbmFuZC55YW1sIHdoaWNoIGJvdGggaGF2 ZSBhIHBhcnRpdGlvbnMgcHJvcGVydHkgaW4gdGhlaXIgCj4gZXhhbXBsZS4gTmVpdGhlciBoYXZl ICd1bmV2YWx1YXRlZFByb3BlcnRpZXM6IGZhbHNlJyBvbiB0aGUgbmFuZEAuLi4gCj4gc3Vibm9k ZS4gSWYgSSBhZGQgaXQgc3VyZSBlbm91Z2ggSSBzdGFydCBnZXR0aW5nIGNvbXBsYWludHMgYWJv dXQgdGhlIAo+ICdwYXJ0aXRpb25zJyBub2RlIGJlaW5nIHVuZXhwZWN0ZWQuCgpTb3JyeSBpZiB0 aGF0IHdhcyB1bmNsZWFyLCBJIHRoaW5rIHRoZSB3aG9sZSBsb2dpYyBhcm91bmQgdGhlIHlhbWwK ZmlsZXMgaXMgdG8gcHJvZ3Jlc3NpdmVseSBjb25zdHJhaW4gdGhlIGRlc2NyaXB0aW9ucywgc2No ZW1hIGFmdGVyCnNjaGVtYS4gSU9XLCBpbiB0aGUgbWFydmVsbCBiaW5kaW5nIHlvdSBzaG91bGQg c2V0CnVuZXZhbHVhdGVkUHJvcGVydGllczogZmFsc2UgZm9yIHRoZSBOQU5EIGNvbnRyb2xsZXIu IFdoYXQgaXMgaW5zaWRlCihOQU5EIGNoaXBzLCBwYXJ0aXRpb24gY29udGFpbmVyLCBwYXJ0aXRp b24gcGFyc2VycywgIm10ZCIgcHJvcGVydGllcywKZXRjKSB3aWxsIGJlIGhhbmRsZWQgYnkgb3Ro ZXIgZmlsZXMuIE9mIGNvdXJzZSB5b3UgY2FuIGNvbnN0cmFpbiBhIGJpdAp3aGF0IGNhbi9jYW5u b3QgYmUgdXNlZCBpbnNpZGUgdGhlc2Ugc3Vibm9kZXMsIGJ1dCBJIHRoaW5rIHlvdSBkb24ndApu ZWVkIHRvIHNldCB1bmV2YWx1YXRlZFByb3BlcnRpZXMgaW4gdGhlc2Ugc3Vibm9kZXMgKHRoZSBO QU5EIGNoaXAgaW4KdGhpcyBjYXNlLCBvciBldmVuIHRoZSBwYXJ0aXRpb25zKSBiZWNhdXNlIHlv dSBhbHJlYWR5IHJlZmVyZW5jZQpuYW5kLWNvbnRyb2xsZXIueWFtbCB3aGljaCByZWZlcmVuY2Vz IG5hbmQtY2hpcC55YW1sLCBtdGQueWFtbCwKcGFydGl0aW9ucy55YW1sLCBldGMuICp0aGV5KiB3 aWxsIG1ha2UgdGhlIGdlbmVyaWMgY2hlY2tzIGFuZCBob3BlZnVsbHkKYXBwbHkgc3RyaWN0ZXIg Y2hlY2tzLCB3aGVuIGRlZW1lZCByZWxldmFudC4KClRoYW5rcywKTWlxdcOobAoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBt YWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9s aXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo= 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 8ADF0C77B7A for ; Tue, 6 Jun 2023 07:53:14 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235822AbjFFHxM (ORCPT ); Tue, 6 Jun 2023 03:53:12 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56314 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236248AbjFFHws (ORCPT ); Tue, 6 Jun 2023 03:52:48 -0400 Received: from relay8-d.mail.gandi.net (relay8-d.mail.gandi.net [IPv6:2001:4b98:dc4:8::228]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 27BD7E5F; Tue, 6 Jun 2023 00:49:01 -0700 (PDT) X-GND-Sasl: miquel.raynal@bootlin.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1686037739; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=W/kMANKOTi/tFXc0hJon5PuO8vrm2esi8pRQ+Mx6YY8=; b=SwWxSbuUS5bFt445yNo85PxVU12H/0UMPIIxIOPbJ+m8fp+ik9pyEFL9NVwAyFZM051N3p NzPltO+/RkB5DCY7R5Q3SUrvfqqTOkBhUMf6bQ0+iNpyp0bnWnQzOOAPWUy6Kf/anzqLKJ qI0X+azrFp6wSGK9Kk2uxHsMFEFrDth7G0jL19IeTZF0tsQx6PJ//DZi3RjOg9olqslz2a U9Um1/ClMPL01vI3zWobFe0x5c+c5lu//SeRWEvzhSRGKg6f0v0FnMzToupmHjV3Yhq6v9 NPulL984sOp8TDlGDUCGWKdiWblwR1e2yaprd0pGsntkXZEP8+3AGYt8J33hPw== X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com X-GND-Sasl: miquel.raynal@bootlin.com Received: by mail.gandi.net (Postfix) with ESMTPSA id 4D55B1BF20C; Tue, 6 Jun 2023 07:48:56 +0000 (UTC) Date: Tue, 6 Jun 2023 09:48:55 +0200 From: Miquel Raynal To: Chris Packham Cc: Krzysztof Kozlowski , "richard@nod.at" , "vigneshr@ti.com" , "robh+dt@kernel.org" , "krzysztof.kozlowski+dt@linaro.org" , "conor+dt@kernel.org" , "andrew@lunn.ch" , "gregory.clement@bootlin.com" , "sebastian.hesselbarth@gmail.com" , "conor@kernel.org" , "linux-mtd@lists.infradead.org" , "devicetree@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , "enachman@marvell.com" , Vadym Kochan Subject: Re: [PATCH v8 3/3] dt-bindings: mtd: marvell-nand: Convert to YAML DT scheme Message-ID: <20230606094855.1ab005eb@xps-13> In-Reply-To: <9fc57052-5049-ed50-ca95-cfd1d0420dd9@alliedtelesis.co.nz> References: <20230531234923.2307013-1-chris.packham@alliedtelesis.co.nz> <20230531234923.2307013-4-chris.packham@alliedtelesis.co.nz> <785368df-1881-e62e-6172-d902cee814a8@alliedtelesis.co.nz> <4ea0b16e-0cec-00db-c598-e0364a7edef8@alliedtelesis.co.nz> <9fc57052-5049-ed50-ca95-cfd1d0420dd9@alliedtelesis.co.nz> Organization: Bootlin X-Mailer: Claws Mail 4.0.0 (GTK+ 3.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org Hi Chris, Chris.Packham@alliedtelesis.co.nz wrote on Tue, 6 Jun 2023 04:38:01 +0000: > On 6/06/23 08:44, Chris Packham wrote: > > > > On 4/06/23 21:26, Krzysztof Kozlowski wrote: =20 > >> On 02/06/2023 01:06, Chris Packham wrote: =20 > >>> Hi Krzystof, > >>> > >>> On 1/06/23 19:05, Krzysztof Kozlowski wrote: =20 > >>>> On 01/06/2023 01:49, Chris Packham wrote: =20 > >>>>> From: Vadym Kochan > >>>>> > >>>>> Switch the DT binding to a YAML schema to enable the DT validation. > >>>>> > >>>>> The text binding didn't mention it as a requirement but existing=20 > >>>>> usage > >>>>> has > >>>>> > >>>>> =C2=A0=C2=A0=C2=A0=C2=A0 compatible =3D "marvell,armada-8k-nand-con= troller", > >>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 "marvell,armada370-nand-controller"; > >>>>> > >>>>> so the YAML allows this in addition to the individual compatible=20 > >>>>> values. > >>>>> > >>>>> There was also an incorrect reference to dma-names being "rxtx" whe= re > >>>>> the driver and existing device trees actually use dma-names =3D=20 > >>>>> "data" so > >>>>> this is corrected in the conversion. > >>>>> > >>>>> Signed-off-by: Vadym Kochan > >>>>> Signed-off-by: Chris Packham > >>>>> --- > >>>>> > >>>>> Notes: > >>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Changes in v8: > >>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 - Mark deprecated compatible values = as such > >>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 - Allow "marvell,armada-8k-nand-cont= roller" without > >>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 "marvell,armada370-nand-= controller" > >>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 - Make dma-names usage reflect reali= ty > >>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 - Update commit message > >>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Chang= es in v7: > >>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 - Restore "label" and "partitions" p= roperties (should be=20 > >>>>> picked up via > >>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 nand-controller.yaml but= aren't) =20 > >>>> What do you mean by "aren't"? They are not needed. =20 > >>> (sorry I keep responding to snippets rather than putting all the=20 > >>> replies > >>> in one place. For posterity here's the same response I provided in a > >>> separate message). > >>> > >>> I mean I simply cannot make it work and I'm out of ideas (I'm also=20 > >>> in an > >>> awkward timezone so it takes 24hrs for me to ask a question and get a > >>> response which leads to me making guesses instead of waiting). > >>> > >>> nand-controller.yaml references nand-chip.yaml which references=20 > >>> mtd.yaml > >>> which defines the "label" and "partitions" property. > >>> > >>> I thought marvell,nand-controller.yaml could just say `$ref: > >>> nand-controller.yaml` and it would mean I'd get all the definitions=20 > >>> down > >>> the chain but this doesn't seem to work the way I expect (or more=20 > >>> likely > >>> I'm not doing it right). I thought it might have something to do with > >>> the different patternProperties pattern but even when I make that mat= ch > >>> what is used in nand-controller.yaml it doesn't seem to pick up those > >>> properties. =20 > >> Then you are doing something different than all other bindings. =20 > > > > Not intentionally. I should probably check that the existing bindings=20 > > actually work as expected. > > > > One thing that this has that the others don't is including "label" and= =20 > > "partitions" in the examples. > > =20 > >>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 - Add/restore nand-on-flash-bbt and = nand-ecc-mode which=20 > >>>>> aren't covered > >>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 by nand-controller.yaml. > >>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 - Use "unevalautedProperties: false" > >>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 - Corrections for clock-names, dma-n= ames, nand-rb and=20 > >>>>> nand-ecc-strength > >>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 - Add pxa3xx-nand-controller example > >>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Chang= es in v6: > >>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 - remove properties covered by nand-= controller.yaml > >>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 - add example using armada-8k compat= ible > >>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 earli= er changes: > >>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 v5: > >>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 1) Get back "label= " and "partitions" properties but without > >>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 = ref to the "partition.yaml" which was wrongly used. > >>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0 2) Add "additionalProperties: false" for nand@=20 > >>>>> because all possible > >>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 = properties are described. > >>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 v4: > >>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 1) Remove "label" = and "partitions" properties > >>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0 2) Use 2 clocks for A7K/8K platform which is a=20 > >>>>> requirement > >>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 v3: > >>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 1) Remove txt version fr= om the MAINTAINERS list > >>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0 2) Use enum for some of compatible strings > >>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0 3) Drop: > >>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0 #address-cells > >>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0 #size-cells: > >>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0 as they are inherited from the nand-controller.yaml > >>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0 4) Add restriction to use 2 clocks for A8K SoC > >>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0 5) Dropped description for clock-names and extend it=20 > >>>>> with > >>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 minIte= ms: 1 > >>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0 6) Drop description for "dmas" > >>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0 7) Use "unevalautedProperties: false" > >>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0 8) Drop quites from yaml refs. > >>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0 9) Use 4-space indentation for the example section > >>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 v2: > >>>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 1) Fixed warning by yaml= lint with incorrect indentation=20 > >>>>> for compatible list > >>>>> > >>>>> =C2=A0=C2=A0 .../bindings/mtd/marvell,nand-controller.yaml | 223=20 > >>>>> ++++++++++++++++++ > >>>>> =C2=A0=C2=A0 .../devicetree/bindings/mtd/marvell-nand.txt=C2=A0 | 1= 26 ---------- > >>>>> =C2=A0=C2=A0 MAINTAINERS=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0 |=C2=A0=C2=A0 1 - > >>>>> =C2=A0=C2=A0 3 files changed, 223 insertions(+), 127 deletions(-) > >>>>> =C2=A0=C2=A0 create mode 100644=20 > >>>>> Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml > >>>>> =C2=A0=C2=A0 delete mode 100644=20 > >>>>> Documentation/devicetree/bindings/mtd/marvell-nand.txt > >>>>> > >>>>> diff --git=20 > >>>>> a/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yam= l=20 > >>>>> b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml > >>>>> new file mode 100644 > >>>>> index 000000000000..433feb430555 > >>>>> --- /dev/null > >>>>> +++=20 > >>>>> b/Documentation/devicetree/bindings/mtd/marvell,nand-controller.yaml > >>>>> @@ -0,0 +1,223 @@ > >>>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > >>>>> +%YAML 1.2 > >>>>> +--- > >>>>> +$id:=20 > >>>>> http://scanmail.trustwave.com/?c=3D20988&d=3DyNj85IkMld8k0XBdA9CH4p= QjE5peaXAdz-exk_Hdww&u=3Dhttp%3a%2f%2fdevicetree%2eorg%2fschemas%2fmtd%2fma= rvell%2cnand-controller%2eyaml%23 > >>>>> +$schema:=20 > >>>>> http://scanmail.trustwave.com/?c=3D20988&d=3DyNj85IkMld8k0XBdA9CH4p= QjE5peaXAdz-PkkPSLlg&u=3Dhttp%3a%2f%2fdevicetree%2eorg%2fmeta-schemas%2fcor= e%2eyaml%23 > >>>>> + > >>>>> +title: Marvell NAND Flash Controller (NFC) > >>>>> + > >>>>> +maintainers: > >>>>> +=C2=A0 - Miquel Raynal > >>>>> + > >>>>> +properties: > >>>>> +=C2=A0 compatible: > >>>>> +=C2=A0=C2=A0=C2=A0 oneOf: > >>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 - items: > >>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 - const: ma= rvell,armada-8k-nand-controller > >>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 - const: ma= rvell,armada370-nand-controller > >>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 - enum: > >>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 - marvell,a= rmada-8k-nand-controller > >>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 - marvell,a= rmada370-nand-controller > >>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 - marvell,p= xa3xx-nand-controller > >>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 - description: legacy bindings > >>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 deprecated: true > >>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 enum: > >>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 - marvell,a= rmada-8k-nand > >>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 - marvell,a= rmada370-nand > >>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 - marvell,p= xa3xx-nand > >>>>> + > >>>>> +=C2=A0 reg: > >>>>> +=C2=A0=C2=A0=C2=A0 maxItems: 1 > >>>>> + > >>>>> +=C2=A0 interrupts: > >>>>> +=C2=A0=C2=A0=C2=A0 maxItems: 1 > >>>>> + > >>>>> +=C2=A0 clocks: > >>>>> +=C2=A0=C2=A0=C2=A0 description: > >>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Shall reference the NAND controller= clocks, the second one is > >>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 is only needed for the Armada 7K/8K= SoCs > >>>>> +=C2=A0=C2=A0=C2=A0 minItems: 1 > >>>>> +=C2=A0=C2=A0=C2=A0 maxItems: 2 > >>>>> + > >>>>> +=C2=A0 clock-names: > >>>>> +=C2=A0=C2=A0=C2=A0 minItems: 1 > >>>>> +=C2=A0=C2=A0=C2=A0 items: > >>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 - const: core > >>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 - const: reg > >>>>> + > >>>>> +=C2=A0 dmas: > >>>>> +=C2=A0=C2=A0=C2=A0 maxItems: 1 > >>>>> + > >>>>> +=C2=A0 dma-names: > >>>>> +=C2=A0=C2=A0=C2=A0 items: > >>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 - const: data > >>>>> + > >>>>> +=C2=A0 marvell,system-controller: > >>>>> +=C2=A0=C2=A0=C2=A0 $ref: /schemas/types.yaml#/definitions/phandle > >>>>> +=C2=A0=C2=A0=C2=A0 description: Syscon node that handles NAND cont= roller related=20 > >>>>> registers > >>>>> + > >>>>> +patternProperties: > >>>>> +=C2=A0 "^nand@[0-3]$": > >>>>> +=C2=A0=C2=A0=C2=A0 type: object > >>>>> +=C2=A0=C2=A0=C2=A0 unevaluatedProperties: false > >>>>> +=C2=A0=C2=A0=C2=A0 properties: > >>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 reg: > >>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 minimum: 0 > >>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 maximum: 3 > >>>>> + > >>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 nand-rb: > >>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 minItems: 1 =20 > >>>> Drop minItems. > >>>> =20 > >>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 maxItems: 1 =20 > >>>> Didn't you have here minimum and maximum? I think I did not ask to > >>>> remove them. =20 > >>> I did but I couldn't figure out how to do minimum and maximum with an > >>> array would the following be correct (note removing both minItems and > >>> maxItems as dtb_check complains if I have maxItems and items). =20 > >> items: > >> =C2=A0=C2=A0 minimum: n > >> =C2=A0=C2=A0 maximum: n > >> =C2=A0=C2=A0 maxItems: n > >> > >> or > >> > >> items: > >> =C2=A0 - minimum: n > >> =C2=A0=C2=A0=C2=A0 maximum: n > >> > >> See for example Documentation/devicetree/bindings/arm/l2c2x0.yaml =20 > > Thanks, so my suggestion below should be OK then. =20 > >>> =C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 nand-rb: > >>> =C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 items: > >>> =C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 - minim= um: 0 > >>> =C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0 maximum: 1 > >>> =20 > >>>>> + > >>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 nand-ecc-step-size: > >>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 const: 512 > >>>>> + > >>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 nand-ecc-strength: > >>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 enum: [1, 4, 8, 12, 16] > >>>>> + > >>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 nand-on-flash-bbt: > >>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 $ref: /schemas/types.ya= ml#/definitions/flag > >>>>> + > >>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 nand-ecc-mode: > >>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 const: hw > >>>>> + > >>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 label: > >>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 $ref: /schemas/types.ya= ml#/definitions/string =20 > >>>> Drop label > >>>> =20 > >>>>> + > >>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 partitions: > >>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 type: object =20 > >>>> Drop partitions. =20 > >>> This is the part I can't get to work. It should pick it up via > >>> nand-controller.yaml but nothing I do seems to work. > >>> =20 > >>>>> + > >>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 marvell,nand-keep-config: > >>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 description: | > >>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Orders the = driver not to take the timings from the core=20 > >>>>> and > >>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 leaving the= m completely untouched. Bootloader timings=20 > >>>>> will then > >>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 be used. > >>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 $ref: /schemas/types.ya= ml#/definitions/flag > >>>>> + > >>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 marvell,nand-enable-arbiter: > >>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 description: | > >>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 To enable t= he arbiter, all boards blindly used it, > >>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 this bit wa= s set by the bootloader for many boards and=20 > >>>>> even if > >>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 it is marke= d reserved in several datasheets, it might=20 > >>>>> be needed to set > >>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 it (otherwi= se it is harmless). > >>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 $ref: /schemas/types.ya= ml#/definitions/flag > >>>>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 deprecated: true > >>>>> + > >>>>> +=C2=A0=C2=A0=C2=A0 additionalProperties: false =20 > >>>> unevaluatedProperties: false =20 > >>> It was hiding by '"^nand@[0-3]$":'. Should I move it here? =20 > >> You cannot have both additionalProps and unevaluatedProps at the same > >> time, so we do not talk about same thing or this was never working? =20 > > > > Hmm, I'm a little confused then. At various times I've been told to=20 > > put 'additionalProperties: false' or 'unevaluatedProperties: false'=20 > > (although never at the same time). I'm not sure when to use one or the= =20 > > other. > > > > From what I've been able to glean 'additionalProperties: true'=20 > > indicates that the node is expected to have child nodes defined in a=20 > > different schema so I would have thought 'additionalProperties: false'= =20 > > would be appropriate for a schema covering a leaf node.=20 > > 'unevaluatedProperties: false' seems to enable stricter checking which= =20 > > makes sense when all the properties are described in the schema. =20 >=20 > So I think this might be the problem. If I look at qcom,nandc.yaml or=20 > ingenic,nand.yaml which both have a partitions property in their=20 > example. Neither have 'unevaluatedProperties: false' on the nand@...=20 > subnode. If I add it sure enough I start getting complaints about the=20 > 'partitions' node being unexpected. Sorry if that was unclear, I think the whole logic around the yaml files is to progressively constrain the descriptions, schema after schema. IOW, in the marvell binding you should set unevaluatedProperties: false for the NAND controller. What is inside (NAND chips, partition container, partition parsers, "mtd" properties, etc) will be handled by other files. Of course you can constrain a bit what can/cannot be used inside these subnodes, but I think you don't need to set unevaluatedProperties in these subnodes (the NAND chip in this case, or even the partitions) because you already reference nand-controller.yaml which references nand-chip.yaml, mtd.yaml, partitions.yaml, etc. *they* will make the generic checks and hopefully apply stricter checks, when deemed relevant. Thanks, Miqu=C3=A8l