From mboxrd@z Thu Jan 1 00:00:00 1970 From: Pali =?utf-8?B?Um9ow6Fy?= Subject: Re: [PATCH 2/2] memory: omap-gpmc: Add Kconfig option for debug Date: Wed, 6 Jan 2016 10:05:43 +0100 Message-ID: <20160106090543.GC11364@pali> References: <1432156863-19695-1-git-send-email-tony@atomide.com> <568662FC.9050206@gmail.com> <20160104170206.GC12777@atomide.com> <201601041834.56056@pali> <20160104174001.GD12777@atomide.com> <568AC0F9.2010304@gmail.com> <20160105041356.GE12777@atomide.com> <20160105084947.GG22661@pali> <20160105224929.GF12777@atomide.com> <568CD697.9060800@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <568CD697.9060800@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.infradead.org To: Ivaylo Dimitrov Cc: Nishanth Menon , Paul Walmsley , Aaro Koskinen , Tony Lindgren , Sebastian Reichel , pavel@ucw.cz, linux-omap@vger.kernel.org, Brian Hutchinson , linux-arm-kernel@lists.infradead.org, Roger Quadros List-Id: linux-omap@vger.kernel.org T24gV2VkbmVzZGF5IDA2IEphbnVhcnkgMjAxNiAxMDo1NTo1MSBJdmF5bG8gRGltaXRyb3Ygd3Jv dGU6Cj4gCj4gCj4gT24gIDYuMDEuMjAxNiAwMDo0OSwgVG9ueSBMaW5kZ3JlbiB3cm90ZToKPiA+ Cj4gPlN1Z2dlc3RlZCBmaXggYmVsb3csIHBsZWFzZSB0ZXN0IGFuZCByZXBseSB3aXRoIHlvdXIg VGVzdGVkLWJ5J3MgaWYKPiA+aXQgc29sdmVzIHRoZSBwcm9ibGVtIHNvIHdlIG1heSBzdGlsbCBi ZSBhYmxlIHRvIGdldCB0aGlzIGludG8gdjQuNC4KPiA+Cj4gPlJlZ2FyZHMsCj4gPgo+ID5Ub255 Cj4gPgo+ID44PCAtLS0tLS0tLS0tLS0tLS0KPiA+RnJvbTogVG9ueSBMaW5kZ3JlbiA8dG9ueUBh dG9taWRlLmNvbT4KPiA+RGF0ZTogVHVlLCA1IEphbiAyMDE2IDEyOjA0OjIwIC0wODAwCj4gPlN1 YmplY3Q6IFtQQVRDSF0gQVJNOiBPTUFQMis6IEZpeCBvbmVuYW5kIHJhdGUgZGV0ZWN0aW9uIHRv IGF2b2lkIGZpbGVzeXN0ZW0KPiA+ICBjb3JydXB0aW9uCj4gPgo+ID5Db21taXQgNjNhYTk0NWIx MDEzICgibWVtb3J5OiBvbWFwLWdwbWM6IEFkZCBLY29uZmlnIG9wdGlvbiBmb3IgZGVidWciKQo+ ID51bmlmaWVkIHRoZSBHUE1DIGRlYnVnIGZvciB0aGUgU29DcyB3aXRoIEdQTUMuIFRoZSBjb21t aXQgYWxzbyBsZWZ0Cj4gPm91dCB0aGUgb3B0aW9uIGZvciBIV01PRF9JTklUX05PX1JFU0VUIGFz IHdlIG5vdyByZXF1aXJlIHByb3BlciB0aW1pbmdzCj4gPmZvciBHUE1DIHRvIGJlIGFibGUgdG8g cmVtYXAgR1BNQyBkZXZpY2VzIG91dCBvZiBhZGRyZXNzIDAuCj4gPgo+ID5VbmZvcnR1bmF0ZWx5 IG9uIDkwMCwgb25lbmFuZCBub3cgb25seSBwYXJ0aWFsbHkgd29ya3Mgd2l0aCB0aGUgZGV2aWNl Cj4gPnRyZWUgcHJvdmlkZWQgdGltaW5ncy4gSXQgd29ya3MgZW5vdWdoIHRvIGdldCBkZXRlY3Rl ZCBidXQgdGhlIGNsb2NrCj4gPnJhdGUgc3VwcG9ydGVkIGJ5IHRoZSBvbmVuYW5kIGNoaXAgZ2V0 cyBtaXNkZXRlY3RlZC4gVGhpcyBpbiB0dXJuIGNhdXNlcwo+ID50aGUgR1BNQyB0aW1pbmdzIHRv IGJlIG1pc2NhbGN1bGF0ZWQgYW5kIHRoaXMgbGVhZHMgaW50byBmaWxlIHN5c3RlbQo+ID5jb3Jy dXB0aW9uIG9uIG45MDAuCj4gPgo+ID5Mb29rcyBsaWtlIG9uZW5hbmQgbmVlZHMgQ1NfQ09ORklH MSBiaXQgMjcgV1JJVEVUWVBFIHNldCBmb3IgZm9yIHN5bmMKPiA+d3JpdGUuIFRoaXMgaXMgbmVl ZGVkIGFsc28gZm9yIGFzeW5jIHRpbWluZ3Mgd2hlbiB3ZSB3cml0ZSB0byBvbmVuYW5kCj4gPndp dGggb21hcDJfb25lbmFuZF9zZXRfYXN5bmNfbW9kZSgpLiBXaXRob3V0IHN5bmMgd3JpdGUgYml0 IHNldCwgdGhlCj4gPmFzeW5jIHJlYWQgZm9yIHRoZSBvbmVuYW5kIE9ORU5BTkRfUkVHX1ZFUlNJ T05fSUQgd2lsbCByZXR1cm4gMHhmZmYuCj4gPgo+ID5MZXQncyBleGl0IHdpdGggYW4gZXJyb3Ig aWYgb25lbmFuZCByYXRlIGlzIG5vdCBkZXRlY3RlZC4gQW5kIGxldCdzCj4gPnJlbW92ZSB0aGUg ZXh0cmEgY2FsbCB0byBvbWFwMl9vbmVuYW5kX3NldF9hc3luY19tb2RlKCkgYXMgd2Ugb25seQo+ ID5uZWVkIHRvIGRvIHRoaXMgb25jZSBhdCB0aGUgZW5kIG9mIG9tYXAyX29uZW5hbmRfc2V0dXBf YXN5bmMoKS4KPiA+Cj4gPlJlcG9ydGVkLWJ5OiBJdmF5bG8gRGltaXRyb3YgPGl2by5nLmRpbWl0 cm92Ljc1QGdtYWlsLmNvbT4KPiA+U2lnbmVkLW9mZi1ieTogVG9ueSBMaW5kZ3JlbiA8dG9ueUBh dG9taWRlLmNvbT4KPiA+Cj4gPi0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDIvZ3BtYy1vbmVuYW5k LmMKPiA+KysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwMi9ncG1jLW9uZW5hbmQuYwo+IAo+IEJlbGxv dyBpcyBncG1jIGRtZXNnIG91dHB1dCB3aXRoIHRoYXQgZml4LiBJIGFsc28gZGlzYWJsZWQKPiBD T05GSUdfT01BUF9HUE1DX0RFQlVHIGFuZCBhbSBzdGlsbCBhYmxlIHRvIGJvb3QgdG8gbWFlbW8g d2l0aCBubyBvYnZpb3VzCj4gcHJvYmxlbXMuCj4gCj4gU28sIHNlZW1zIHRoYXQgZml4ZXMgdGhl IHByb2JsZW0sIGZlZWwgZnJlZSB0byAgYWRkOgo+IAo+IFRlc3RlZC1ieTogSXZheWxvIERpbWl0 cm92IDxpdm8uZy5kaW1pdHJvdi43NUBnbWFpbC5jb20+CgpHcmVhdCEgVGhhbmsgeW91IGZvciBm aXhpbmcgYW5kIHRlc3RpbmcgdGhpcyBwcm9ibGVtIQoKPiAKPiBKYW4gIDYgMTA6MzQ6MTUgTm9r aWEtTjkwMCBrZXJuZWw6IFsgICAgMS4zNzMyMjldIG9tYXAtZ3BtYyA2ZTAwMDAwMC5ncG1jOgo+ IEdQTUMgcmV2aXNpb24gNS4wCj4gSmFuICA2IDEwOjM0OjE1IE5va2lhLU45MDAga2VybmVsOiBb ICAgIDEuMzc5NDI1XSBHUE1DIENTMDogY3Nfb24gICAgICA6ICAgMAo+IHRpY2tzLCAgIDAgbnMg KHdhcyAgIDAgdGlja3MpICAgMCBucwo+IEphbiAgNiAxMDozNDoxNSBOb2tpYS1OOTAwIGtlcm5l bDogWyAgICAxLjM4NzQ4MV0gR1BNQyBDUzA6IGNzX3JkX29mZiAgICAgIDoKPiAxNCB0aWNrcywg IDg0IG5zICh3YXMgIDE2IHRpY2tzKSAgODQgbnMKPiBKYW4gIDYgMTA6MzQ6MTUgTm9raWEtTjkw MCBrZXJuZWw6IFsgICAgMS4zOTU1MDddIEdQTUMgQ1MwOiBjc193cl9vZmYgICAgICA6Cj4gMTkg dGlja3MsIDExNCBucyAod2FzICAxNiB0aWNrcykgMTE0IG5zCj4gSmFuICA2IDEwOjM0OjE1IE5v a2lhLU45MDAga2VybmVsOiBbICAgIDEuNDAzNDcyXSBHUE1DIENTMDogYWR2X29uICAgICAgOgo+ IDAgdGlja3MsICAgMCBucyAod2FzICAgMCB0aWNrcykgICAwIG5zCj4gSmFuICA2IDEwOjM0OjE1 IE5va2lhLU45MDAga2VybmVsOiBbICAgIDEuNDExNDA3XSBHUE1DIENTMDogYWR2X3JkX29mZgo+ IDogICAzIHRpY2tzLCAgMTggbnMgKHdhcyAgIDIgdGlja3MpICAxOCBucwo+IEphbiAgNiAxMDoz NDoxNSBOb2tpYS1OOTAwIGtlcm5lbDogWyAgICAxLjQxOTM0Ml0gR1BNQyBDUzA6IGFkdl93cl9v ZmYKPiA6ICAgMyB0aWNrcywgIDE4IG5zICh3YXMgICAyIHRpY2tzKSAgMTggbnMKPiBKYW4gIDYg MTA6MzQ6MTUgTm9raWEtTjkwMCBrZXJuZWw6IFsgICAgMS40MjcyNzZdIEdQTUMgQ1MwOiBvZV9v biAgICAgIDogICA1Cj4gdGlja3MsICAzMCBucyAod2FzICAgMiB0aWNrcykgIDMwIG5zCj4gSmFu ICA2IDEwOjM0OjE1IE5va2lhLU45MDAga2VybmVsOiBbICAgIDEuNDM1MjExXSBHUE1DIENTMDog b2Vfb2ZmICAgICAgOgo+IDE0IHRpY2tzLCAgODQgbnMgKHdhcyAgMTYgdGlja3MpICA4NCBucwo+ IEphbiAgNiAxMDozNDoxNSBOb2tpYS1OOTAwIGtlcm5lbDogWyAgICAxLjQ0MzExNV0gR1BNQyBD UzA6IHdlX29uICAgICAgOiAgIDAKPiB0aWNrcywgICAwIG5zICh3YXMgICAwIHRpY2tzKSAgIDAg bnMKPiBKYW4gIDYgMTA6MzQ6MTUgTm9raWEtTjkwMCBrZXJuZWw6IFsgICAgMS40NTExMTBdIEdQ TUMgQ1MwOiB3ZV9vZmYgICAgICA6Cj4gMTQgdGlja3MsICA4NCBucyAod2FzICAxNiB0aWNrcykg IDg0IG5zCj4gSmFuICA2IDEwOjM0OjE1IE5va2lhLU45MDAga2VybmVsOiBbICAgIDEuNDU5MDQ1 XSBHUE1DIENTMDogcmRfY3ljbGUgICAgICA6Cj4gMTggdGlja3MsIDEwOCBucyAod2FzICAxOSB0 aWNrcykgMTA4IG5zCj4gSmFuICA2IDEwOjM0OjE1IE5va2lhLU45MDAga2VybmVsOiBbICAgIDEu NDY3MDQxXSBHUE1DIENTMDogd3JfY3ljbGUgICAgICA6Cj4gMTcgdGlja3MsIDEwMiBucyAod2Fz ICAxOSB0aWNrcykgMTAyIG5zCj4gSmFuICA2IDEwOjM0OjE1IE5va2lhLU45MDAga2VybmVsOiBb ICAgIDEuNDc0OTc1XSBHUE1DIENTMDogYWNjZXNzICAgICAgOgo+IDEzIHRpY2tzLCAgNzggbnMg KHdhcyAgMTUgdGlja3MpICA3OCBucwo+IEphbiAgNiAxMDozNDoxNSBOb2tpYS1OOTAwIGtlcm5l bDogWyAgICAxLjQ4Mjg3OV0gR1BNQyBDUzA6Cj4gcGFnZV9idXJzdF9hY2Nlc3M6ICAgMCB0aWNr cywgICAwIG5zICh3YXMgICAyIHRpY2tzKSAgIDAgbnMKPiBKYW4gIDYgMTA6MzQ6MTUgTm9raWEt TjkwMCBrZXJuZWw6IFsgICAgMS40OTA4MTRdIEdQTUMgQ1MwOiBidXNfdHVybmFyb3VuZAo+IDog ICAwIHRpY2tzLCAgIDAgbnMgKHdhcyAgIDAgdGlja3MpICAgMCBucwo+IEphbiAgNiAxMDozNDox NSBOb2tpYS1OOTAwIGtlcm5lbDogWyAgICAxLjQ5ODc0OF0gR1BNQyBDUzA6Cj4gY3ljbGUyY3lj bGVfZGVsYXk6ICAgMCB0aWNrcywgICAwIG5zICh3YXMgICAwIHRpY2tzKSAgIDAgbnMKPiBKYW4g IDYgMTA6MzQ6MTUgTm9raWEtTjkwMCBrZXJuZWw6IFsgICAgMS41MDY2ODNdIEdQTUMgQ1MwOiB3 cl9kYXRhX211eF9idXMKPiA6ICAgNSB0aWNrcywgIDMwIG5zICh3YXMgICA1IHRpY2tzKSAgMzAg bnMKPiBKYW4gIDYgMTA6MzQ6MTUgTm9raWEtTjkwMCBrZXJuZWw6IFsgICAgMS41MTQ2MTddIEdQ TUMgQ1MwOiB3cl9hY2Nlc3MgICAgICA6Cj4gMTMgdGlja3MsICA3OCBucyAod2FzICAxNSB0aWNr cykgIDc4IG5zCj4gSmFuICA2IDEwOjM0OjE1IE5va2lhLU45MDAga2VybmVsOiBbICAgIDEuNTIy NTgzXSBHUE1DIENTMDogd2FpdF9tb25pdG9yaW5nCj4gOiAgIDAgdGlja3MsICAgMCBucyAod2Fz ICAgMCB0aWNrcykgICAwIG5zCj4gSmFuICA2IDEwOjM0OjE1IE5va2lhLU45MDAga2VybmVsOiBb ICAgIDEuNTMwNTQ4XSBHUE1DIENTMDogY2xrX2FjdGl2YXRpb24KPiA6ICAgMCB0aWNrcywgICAw IG5zICh3YXMgICAwIHRpY2tzKSAgIDAgbnMKPiBKYW4gIDYgMTA6MzQ6MTUgTm9raWEtTjkwMCBr ZXJuZWw6IFsgICAgMS41Mzg1NDNdIEdQTUMgQ1MwIENMSyBwZXJpb2QgaXMgNgo+IG5zIChkaXYg MSkKPiBKYW4gIDYgMTA6MzQ6MTUgTm9raWEtTjkwMCBrZXJuZWw6IFsgICAgMS41NDMzMzRdIGdw bWMgY3MwIGFmdGVyCj4gZ3BtY19jc19zZXRfdGltaW5nczoKPiBKYW4gIDYgMTA6MzQ6MTUgTm9r aWEtTjkwMCBrZXJuZWw6IFsgICAgMS41NDgxMjZdIGNzMCBHUE1DX0NTX0NPTkZJRzE6Cj4gMHhk OTAwMTIwMAo+IEphbiAgNiAxMDozNDoxNSBOb2tpYS1OOTAwIGtlcm5lbDogWyAgICAxLjU1MjU4 MV0gY3MwIEdQTUNfQ1NfQ09ORklHMjoKPiAweDAwMTMwZTAwCj4gSmFuICA2IDEwOjM0OjE1IE5v a2lhLU45MDAga2VybmVsOiBbICAgIDEuNTU4ODM3XSBjczAgR1BNQ19DU19DT05GSUczOgo+IDB4 MDAwMzAzMDAKPiBKYW4gIDYgMTA6MzQ6MTUgTm9raWEtTjkwMCBrZXJuZWw6IFsgICAgMS41NjMz MjNdIGNzMCBHUE1DX0NTX0NPTkZJRzQ6Cj4gMHgwZTAwMGUwNQo+IEphbiAgNiAxMDozNDoxNSBO b2tpYS1OOTAwIGtlcm5lbDogWyAgICAxLjU2NzkwMV0gY3MwIEdQTUNfQ1NfQ09ORklHNToKPiAw eDAwMGQxMTEyCj4gSmFuICA2IDEwOjM0OjE1IE5va2lhLU45MDAga2VybmVsOiBbICAgIDEuNTcy MzU3XSBjczAgR1BNQ19DU19DT05GSUc2Ogo+IDB4OGQwNTAwMDAKPiBKYW4gIDYgMTA6MzQ6MTUg Tm9raWEtTjkwMCBrZXJuZWw6IFsgICAgMS41NzY4MTJdIGdwbWMgY3MwIGFjY2Vzcwo+IGNvbmZp Z3VyYXRpb246Cj4gSmFuICA2IDEwOjM0OjE1IE5va2lhLU45MDAga2VybmVsOiBbICAgIDEuNTgx MTQ2XSBncG1jLG11eC1hZGQtZGF0YSA9IDwyPgo+IEphbiAgNiAxMDozNDoxNSBOb2tpYS1OOTAw IGtlcm5lbDogWyAgICAxLjU4NDg5OV0gZ3BtYyxkZXZpY2Utd2lkdGggPSA8MT4KPiBKYW4gIDYg MTA6MzQ6MTUgTm9raWEtTjkwMCBrZXJuZWw6IFsgICAgMS41ODg1OTJdIGdwbWMsd2FpdC1waW4g PSA8MD4KPiBKYW4gIDYgMTA6MzQ6MTUgTm9raWEtTjkwMCBrZXJuZWw6IFsgICAgMS41OTE5NDld IGdwbWMsYnVyc3QtbGVuZ3RoID0gPDE2Pgo+IEphbiAgNiAxMDozNDoxNSBOb2tpYS1OOTAwIGtl cm5lbDogWyAgICAxLjU5NTc5NF0gZ3BtYyxzeW5jLXdyaXRlID0gPDE+Cj4gSmFuICA2IDEwOjM0 OjE1IE5va2lhLU45MDAgY2VsbHVsYXI6IGNzZFsxMDE3XTogU3VjY2VzZnVsbHkgbG9hZGVkIHBs dWdpbgo+IDxzbXM+Cj4gSmFuICA2IDEwOjM0OjE1IE5va2lhLU45MDAga2VybmVsOiBbICAgIDEu NTk5MjczXSBncG1jLGJ1cnN0LXdyaXRlID0gPDE+Cj4gSmFuICA2IDEwOjM0OjE1IE5va2lhLU45 MDAga2VybmVsOiBbICAgIDEuNjAyOTA1XSBncG1jLGJ1cnN0LXJlYWQgPSA8MT4KPiBKYW4gIDYg MTA6MzQ6MTUgTm9raWEtTjkwMCBrZXJuZWw6IFsgICAgMS42MDY0NDVdIGdwbWMsYnVyc3Qtd3Jh cCA9IDwxPgo+IEphbiAgNiAxMDozNDoxNSBOb2tpYS1OOTAwIGtlcm5lbDogWyAgICAxLjYwOTk1 NF0gZ3BtYyBjczAgdGltaW5ncwo+IGNvbmZpZ3VyYXRpb246Cj4gSmFuICA2IDEwOjM0OjE1IE5v a2lhLU45MDAga2VybmVsOiBbICAgIDEuNjE0NDQwXSBncG1jLGNzLW9uLW5zID0gPDA+IC8qIDAK PiBucyAtIDAgbnM7IDAgdGlja3MgKi8KPiBKYW4gIDYgMTA6MzQ6MTUgTm9raWEtTjkwMCBrZXJu ZWw6IFsgICAgMS42MjAyNjldIGdwbWMsY3MtcmQtb2ZmLW5zID0gPDg0Pgo+IC8qIDc5IG5zIC0g ODQgbnM7IDE0IHRpY2tzICovCj4gSmFuICA2IDEwOjM0OjE1IE5va2lhLU45MDAga2VybmVsOiBb ICAgIDEuNjI2ODYxXSBncG1jLGNzLXdyLW9mZi1ucyA9IDwxMTQ+Cj4gLyogMTA5IG5zIC0gMTE0 IG5zOyAxOSB0aWNrcyAqLwo+IEphbiAgNiAxMDozNDoxNSBOb2tpYS1OOTAwIGtlcm5lbDogWyAg ICAxLjYzMzcyOF0gZ3BtYyxhZHYtb24tbnMgPSA8MD4gLyogMAo+IG5zIC0gMCBuczsgMCB0aWNr cyAqLwo+IEphbiAgNiAxMDozNDoxNSBOb2tpYS1OOTAwIGtlcm5lbDogWyAgICAxLjYzOTYxN10g Z3BtYyxhZHYtcmQtb2ZmLW5zID0gPDE4Pgo+IC8qIDEzIG5zIC0gMTggbnM7IDMgdGlja3MgKi8K PiBKYW4gIDYgMTA6MzQ6MTUgTm9raWEtTjkwMCBrZXJuZWw6IFsgICAgMS42NDYyMDldIGdwbWMs YWR2LXdyLW9mZi1ucyA9IDwxOD4KPiAvKiAxMyBucyAtIDE4IG5zOyAzIHRpY2tzICovCj4gSmFu ICA2IDEwOjM0OjE1IE5va2lhLU45MDAga2VybmVsOiBbICAgIDEuNjUyNzcwXSBncG1jLG9lLW9u LW5zID0gPDMwPiAvKiAyNQo+IG5zIC0gMzAgbnM7IDUgdGlja3MgKi8KPiBKYW4gIDYgMTA6MzQ6 MTUgTm9raWEtTjkwMCBrZXJuZWw6IFsgICAgMS42NTg5MzVdIGdwbWMsb2Utb2ZmLW5zID0gPDg0 PiAvKgo+IDc5IG5zIC0gODQgbnM7IDE0IHRpY2tzICovCj4gSmFuICA2IDEwOjM0OjE1IE5va2lh LU45MDAga2VybmVsOiBbICAgIDEuNjY1MjUyXSBncG1jLHdlLW9uLW5zID0gPDA+IC8qIDAKPiBu cyAtIDAgbnM7IDAgdGlja3MgKi8KPiBKYW4gIDYgMTA6MzQ6MTUgTm9raWEtTjkwMCBrZXJuZWw6 IFsgICAgMS42NzEwODFdIGdwbWMsd2Utb2ZmLW5zID0gPDg0PiAvKgo+IDc5IG5zIC0gODQgbnM7 IDE0IHRpY2tzICovCj4gSmFuICA2IDEwOjM0OjE1IE5va2lhLU45MDAga2VybmVsOiBbICAgIDEu Njc3Mzk4XSBncG1jLHJkLWN5Y2xlLW5zID0gPDEwOD4KPiAvKiAxMDMgbnMgLSAxMDggbnM7IDE4 IHRpY2tzICovCj4gSmFuICA2IDEwOjM0OjE1IE5va2lhLU45MDAga2VybmVsOiBbICAgIDEuNjg0 MTEyXSBncG1jLHdyLWN5Y2xlLW5zID0gPDEwMj4KPiAvKiA5NyBucyAtIDEwMiBuczsgMTcgdGlj a3MgKi8KPiBKYW4gIDYgMTA6MzQ6MTUgTm9raWEtTjkwMCBrZXJuZWw6IFsgICAgMS42OTA3NjVd IGdwbWMsYWNjZXNzLW5zID0gPDc4PiAvKgo+IDczIG5zIC0gNzggbnM7IDEzIHRpY2tzICovCj4g SmFuICA2IDEwOjM0OjE1IE5va2lhLU45MDAga2VybmVsOiBbICAgIDEuNjk3MDgyXSBncG1jLHBh Z2UtYnVyc3QtYWNjZXNzLW5zCj4gPSA8MD4gLyogMCBucyAtIDAgbnM7IDAgdGlja3MgKi8KPiBK YW4gIDYgMTA6MzQ6MTUgTm9raWEtTjkwMCBrZXJuZWw6IFsgICAgMS43MDQwMTBdIGdwbWMsYnVz LXR1cm5hcm91bmQtbnMgPQo+IDwwPiAvKiAwIG5zIC0gMCBuczsgMCB0aWNrcyAqLwo+IEphbiAg NiAxMDozNDoxNSBOb2tpYS1OOTAwIGtlcm5lbDogWyAgICAxLjcxMDY2Ml0gZ3BtYyxjeWNsZTJj eWNsZS1kZWxheS1ucwo+ID0gPDA+IC8qIDAgbnMgLSAwIG5zOyAwIHRpY2tzICovCj4gSmFuICA2 IDEwOjM0OjE1IE5va2lhLU45MDAga2VybmVsOiBbICAgIDEuNzE3NjIwXSBncG1jLHdhaXQtbW9u aXRvcmluZy1ucyA9Cj4gPDA+IC8qIDAgbnMgLSAwIG5zOyAwIHRpY2tzICovCj4gSmFuICA2IDEw OjM0OjE1IE5va2lhLU45MDAga2VybmVsOiBbICAgIDEuNzI0Mzk1XSBncG1jLGNsay1hY3RpdmF0 aW9uLW5zID0KPiA8MD4gLyogMCBucyAtIDAgbnM7IDAgdGlja3MgKi8KPiBKYW4gIDYgMTA6MzQ6 MTUgTm9raWEtTjkwMCBrZXJuZWw6IFsgICAgMS43MzEwNDhdIGdwbWMsd3ItZGF0YS1tdXgtYnVz LW5zID0KPiA8MzA+IC8qIDI1IG5zIC0gMzAgbnM7IDUgdGlja3MgKi8KPiBKYW4gIDYgMTA6MzQ6 MTUgTm9raWEtTjkwMCBrZXJuZWw6IFsgICAgMS43MzgwOThdIGdwbWMsd3ItYWNjZXNzLW5zID0g PDc4Pgo+IC8qIDczIG5zIC0gNzggbnM7IDEzIHRpY2tzICovCj4gSmFuICA2IDEwOjM0OjE1IE5v a2lhLU45MDAga2VybmVsOiBbICAgIDEuNzQ0NzgxXSBHUE1DIENTMDogY3Nfb24gICAgICA6ICAg MAo+IHRpY2tzLCAgIDAgbnMgKHdhcyAgIDAgdGlja3MpICAgMCBucwo+IEphbiAgNiAxMDozNDox NSBOb2tpYS1OOTAwIGtlcm5lbDogWyAgICAxLjc1MjY4NV0gR1BNQyBDUzA6IGNzX3JkX29mZiAg ICAgIDoKPiAxNiB0aWNrcywgIDk2IG5zICh3YXMgIDE0IHRpY2tzKSAgOTYgbnMKPiBKYW4gIDYg MTA6MzQ6MTUgTm9raWEtTjkwMCBrZXJuZWw6IFsgICAgMS43NjA2ODFdIEdQTUMgQ1MwOiBjc193 cl9vZmYgICAgICA6Cj4gMTYgdGlja3MsICA5NiBucyAod2FzICAxOSB0aWNrcykgIDk2IG5zCj4g SmFuICA2IDEwOjM0OjE1IE5va2lhLU45MDAga2VybmVsOiBbICAgIDEuNzY4NjQ2XSBHUE1DIENT MDogYWR2X29uICAgICAgOgo+IDAgdGlja3MsICAgMCBucyAod2FzICAgMCB0aWNrcykgICAwIG5z Cj4gSmFuICA2IDEwOjM0OjE1IE5va2lhLU45MDAga2VybmVsOiBbICAgIDEuNzc2NjQxXSBHUE1D IENTMDogYWR2X3JkX29mZgo+IDogICAyIHRpY2tzLCAgMTIgbnMgKHdhcyAgIDMgdGlja3MpICAx MiBucwo+IEphbiAgNiAxMDozNDoxNSBOb2tpYS1OOTAwIGtlcm5lbDogWyAgICAxLjc4NDU3Nl0g R1BNQyBDUzA6IGFkdl93cl9vZmYKPiA6ICAgMiB0aWNrcywgIDEyIG5zICh3YXMgICAzIHRpY2tz KSAgMTIgbnMKPiBKYW4gIDYgMTA6MzQ6MTUgTm9raWEtTjkwMCBrZXJuZWw6IFsgICAgMS43OTI1 NDFdIEdQTUMgQ1MwOiBvZV9vbiAgICAgIDogICAzCj4gdGlja3MsICAxOCBucyAod2FzICAgNSB0 aWNrcykgIDE4IG5zCj4gSmFuICA2IDEwOjM0OjE1IE5va2lhLU45MDAga2VybmVsOiBbICAgIDEu ODAwNDc2XSBHUE1DIENTMDogb2Vfb2ZmICAgICAgOgo+IDE2IHRpY2tzLCAgOTYgbnMgKHdhcyAg MTQgdGlja3MpICA5NiBucwo+IEphbiAgNiAxMDozNDoxNSBOb2tpYS1OOTAwIGtlcm5lbDogWyAg ICAxLjgwODQxMF0gR1BNQyBDUzA6IHdlX29uICAgICAgOiAgIDAKPiB0aWNrcywgICAwIG5zICh3 YXMgICAwIHRpY2tzKSAgIDAgbnMKPiBKYW4gIDYgMTA6MzQ6MTUgTm9raWEtTjkwMCBrZXJuZWw6 IFsgICAgMS44MTYzNDVdIEdQTUMgQ1MwOiB3ZV9vZmYgICAgICA6Cj4gMTYgdGlja3MsICA5NiBu cyAod2FzICAxNCB0aWNrcykgIDk2IG5zCj4gSmFuICA2IDEwOjM0OjE1IE5va2lhLU45MDAga2Vy bmVsOiBbICAgIDEuODI0Mjc5XSBHUE1DIENTMDogcmRfY3ljbGUgICAgICA6Cj4gMTkgdGlja3Ms IDExNCBucyAod2FzICAxOCB0aWNrcykgMTE0IG5zCj4gSmFuICA2IDEwOjM0OjE1IE5va2lhLU45 MDAga2VybmVsOiBbICAgIDEuODMyMTgzXSBHUE1DIENTMDogd3JfY3ljbGUgICAgICA6Cj4gMTkg dGlja3MsIDExNCBucyAod2FzICAxNyB0aWNrcykgMTE0IG5zCj4gSmFuICA2IDEwOjM0OjE1IE5v a2lhLU45MDAga2VybmVsOiBbICAgIDEuODQwMDg3XSBHUE1DIENTMDogYWNjZXNzICAgICAgOgo+ IDE1IHRpY2tzLCAgOTAgbnMgKHdhcyAgMTMgdGlja3MpICA5MCBucwo+IEphbiAgNiAxMDozNDox NSBOb2tpYS1OOTAwIGtlcm5lbDogWyAgICAxLjg0ODA4M10gR1BNQyBDUzA6Cj4gcGFnZV9idXJz dF9hY2Nlc3M6ICAgMiB0aWNrcywgIDEyIG5zICh3YXMgICAwIHRpY2tzKSAgMTIgbnMKPiBKYW4g IDYgMTA6MzQ6MTUgTm9raWEtTjkwMCBrZXJuZWw6IFsgICAgMS44NTYwMThdIEdQTUMgQ1MwOiBi dXNfdHVybmFyb3VuZAo+IDogICAwIHRpY2tzLCAgIDAgbnMgKHdhcyAgIDAgdGlja3MpICAgMCBu cwo+IEphbiAgNiAxMDozNDoxNSBOb2tpYS1OOTAwIGtlcm5lbDogWyAgICAxLjg2NDAxM10gR1BN QyBDUzA6Cj4gY3ljbGUyY3ljbGVfZGVsYXk6ICAgMCB0aWNrcywgICAwIG5zICh3YXMgICAwIHRp Y2tzKSAgIDAgbnMKPiBKYW4gIDYgMTA6MzQ6MTUgTm9raWEtTjkwMCBrZXJuZWw6IFsgICAgMS44 NzE5MTddIEdQTUMgQ1MwOiB3cl9kYXRhX211eF9idXMKPiA6ICAgNSB0aWNrcywgIDMwIG5zICh3 YXMgICA1IHRpY2tzKSAgMzAgbnMKPiBKYW4gIDYgMTA6MzQ6MTUgTm9raWEtTjkwMCBrZXJuZWw6 IFsgICAgMS44Nzk4MjFdIEdQTUMgQ1MwOiB3cl9hY2Nlc3MgICAgICA6Cj4gMTUgdGlja3MsICA5 MCBucyAod2FzICAxMyB0aWNrcykgIDkwIG5zCj4gSmFuICA2IDEwOjM0OjE1IE5va2lhLU45MDAg a2VybmVsOiBbICAgIDEuODg3ODE3XSBHUE1DIENTMDogd2FpdF9tb25pdG9yaW5nCj4gOiAgIDAg dGlja3MsICAgMCBucyAod2FzICAgMCB0aWNrcykgICAwIG5zCj4gSmFuICA2IDEwOjM0OjE1IE5v a2lhLU45MDAga2VybmVsOiBbICAgIDEuODk1ODEyXSBHUE1DIENTMDogY2xrX2FjdGl2YXRpb24K PiA6ICAgMSB0aWNrcywgICA2IG5zICh3YXMgICAwIHRpY2tzKSAgIDYgbnMKPiBKYW4gIDYgMTA6 MzQ6MTUgTm9raWEtTjkwMCBrZXJuZWw6IFsgICAgMS45MDM3NDddIEdQTUMgQ1MwIENMSyBwZXJp b2QgaXMgMTIKPiBucyAoZGl2IDIpCj4gSmFuICA2IDEwOjM0OjE1IE5va2lhLU45MDAga2VybmVs OiBbICAgIDEuOTA4NTk5XSBncG1jIGNzMCBhZnRlcgo+IGdwbWNfY3Nfc2V0X3RpbWluZ3M6Cj4g SmFuICA2IDEwOjM0OjE1IE5va2lhLU45MDAga2VybmVsOiBbICAgIDEuOTEzNDIxXSBjczAgR1BN Q19DU19DT05GSUcxOgo+IDB4ZmIwMDEyMDEKPiBKYW4gIDYgMTA6MzQ6MTUgTm9raWEtTjkwMCBj ZWxsdWxhcjogY3NkWzEwMTddOiBTdWNjZXNmdWxseSBsb2FkZWQgcGx1Z2luCj4gPHNzPgo+IEph biAgNiAxMDozNDoxNSBOb2tpYS1OOTAwIGtlcm5lbDogWyAgICAxLjkxNzkwN10gY3MwIEdQTUNf Q1NfQ09ORklHMjoKPiAweDAwMTAxMDAwCj4gSmFuICA2IDEwOjM0OjE1IE5va2lhLU45MDAga2Vy bmVsOiBbICAgIDEuOTIyMzMyXSBjczAgR1BNQ19DU19DT05GSUczOgo+IDB4MDAwMjAyMDAKPiBK YW4gIDYgMTA6MzQ6MTUgTm9raWEtTjkwMCBrZXJuZWw6IFsgICAgMS45MjY3ODhdIGNzMCBHUE1D X0NTX0NPTkZJRzQ6Cj4gMHgxMDAwMTAwMwo+IEphbiAgNiAxMDozNDoxNSBOb2tpYS1OOTAwIGtl cm5lbDogWyAgICAxLjkzMTI0M10gY3MwIEdQTUNfQ1NfQ09ORklHNToKPiAweDAyMGYxMzEzCj4g SmFuICA2IDEwOjM0OjE1IE5va2lhLU45MDAga2VybmVsOiBbICAgIDEuOTM1NzI5XSBjczAgR1BN Q19DU19DT05GSUc2Ogo+IDB4OGYwNTAwMDAKPiBKYW4gIDYgMTA6MzQ6MTUgTm9raWEtTjkwMCBr ZXJuZWw6IFsgICAgMS45NDAxMjRdIGdwbWMgY3MwIGFjY2Vzcwo+IGNvbmZpZ3VyYXRpb246Cj4g SmFuICA2IDEwOjM0OjE1IE5va2lhLU45MDAga2VybmVsOiBbICAgIDEuOTQ0NTE5XSBncG1jLG11 eC1hZGQtZGF0YSA9IDwyPgo+IEphbiAgNiAxMDozNDoxNSBOb2tpYS1OOTAwIGtlcm5lbDogWyAg ICAxLjk0ODIxMV0gZ3BtYyxkZXZpY2Utd2lkdGggPSA8MT4KPiBKYW4gIDYgMTA6MzQ6MTUgTm9r aWEtTjkwMCBrZXJuZWw6IFsgICAgMS45NTE5MzRdIGdwbWMsd2FpdC1waW4gPSA8MD4KPiBKYW4g IDYgMTA6MzQ6MTUgTm9raWEtTjkwMCBrZXJuZWw6IFsgICAgMS45NTUyOTFdIGdwbWMsYnVyc3Qt bGVuZ3RoID0gPDE2Pgo+IEphbiAgNiAxMDozNDoxNSBOb2tpYS1OOTAwIGtlcm5lbDogWyAgICAx Ljk1OTEwNl0gZ3BtYyxzeW5jLXdyaXRlID0gPDE+Cj4gSmFuICA2IDEwOjM0OjE1IE5va2lhLU45 MDAga2VybmVsOiBbICAgIDEuOTYyNjQ2XSBncG1jLGJ1cnN0LXdyaXRlID0gPDE+Cj4gSmFuICA2 IDEwOjM0OjE1IE5va2lhLU45MDAga2VybmVsOiBbICAgIDEuOTY2Mjc4XSBncG1jLGdwbWMsc3lu Yy1yZWFkID0gPDE+Cj4gSmFuICA2IDEwOjM0OjE1IE5va2lhLU45MDAga2VybmVsOiBbICAgIDEu OTcwMTg0XSBncG1jLGJ1cnN0LXJlYWQgPSA8MT4KPiBKYW4gIDYgMTA6MzQ6MTUgTm9raWEtTjkw MCBrZXJuZWw6IFsgICAgMS45NzM3MjRdIGdwbWMsYnVyc3Qtd3JhcCA9IDwxPgo+IEphbiAgNiAx MDozNDoxNSBOb2tpYS1OOTAwIGtlcm5lbDogWyAgICAxLjk3NzIzM10gZ3BtYyBjczAgdGltaW5n cwo+IGNvbmZpZ3VyYXRpb246Cj4gSmFuICA2IDEwOjM0OjE1IE5va2lhLU45MDAga2VybmVsOiBb ICAgIDEuOTgxNjU4XSBncG1jLGNzLW9uLW5zID0gPDA+IC8qIDAKPiBucyAtIDAgbnM7IDAgdGlj a3MgKi8KPiBKYW4gIDYgMTA6MzQ6MTUgTm9raWEtTjkwMCBrZXJuZWw6IFsgICAgMS45ODc1MThd IGdwbWMsY3MtcmQtb2ZmLW5zID0gPDk2Pgo+IC8qIDkxIG5zIC0gOTYgbnM7IDE2IHRpY2tzICov Cj4gSmFuICA2IDEwOjM0OjE1IE5va2lhLU45MDAga2VybmVsOiBbICAgIDEuOTk0MDQ5XSBncG1j LGNzLXdyLW9mZi1ucyA9IDw5Nj4KPiAvKiA5MSBucyAtIDk2IG5zOyAxNiB0aWNrcyAqLwo+IEph biAgNiAxMDozNDoxNSBOb2tpYS1OOTAwIGtlcm5lbDogWyAgICAyLjAwMDYxMF0gZ3BtYyxhZHYt b24tbnMgPSA8MD4gLyogMAo+IG5zIC0gMCBuczsgMCB0aWNrcyAqLwo+IEphbiAgNiAxMDozNDox NSBOb2tpYS1OOTAwIGtlcm5lbDogWyAgICAyLjAwNjU5MV0gZ3BtYyxhZHYtcmQtb2ZmLW5zID0g PDEyPgo+IC8qIDcgbnMgLSAxMiBuczsgMiB0aWNrcyAqLwo+IEphbiAgNiAxMDozNDoxNSBOb2tp YS1OOTAwIGtlcm5lbDogWyAgICAyLjAxMzAwMF0gZ3BtYyxhZHYtd3Itb2ZmLW5zID0gPDEyPgo+ IC8qIDcgbnMgLSAxMiBuczsgMiB0aWNrcyAqLwo+IEphbiAgNiAxMDozNDoxNSBOb2tpYS1OOTAw IGtlcm5lbDogWyAgICAyLjAxOTUwMF0gZ3BtYyxvZS1vbi1ucyA9IDwxOD4gLyogMTMKPiBucyAt IDE4IG5zOyAzIHRpY2tzICovCj4gSmFuICA2IDEwOjM0OjE1IE5va2lhLU45MDAga2VybmVsOiBb ICAgIDIuMDI1NjM0XSBncG1jLG9lLW9mZi1ucyA9IDw5Nj4gLyoKPiA5MSBucyAtIDk2IG5zOyAx NiB0aWNrcyAqLwo+IEphbiAgNiAxMDozNDoxNSBOb2tpYS1OOTAwIGtlcm5lbDogWyAgICAyLjAz MTkyMV0gZ3BtYyx3ZS1vbi1ucyA9IDwwPiAvKiAwCj4gbnMgLSAwIG5zOyAwIHRpY2tzICovCj4g SmFuICA2IDEwOjM0OjE1IE5va2lhLU45MDAga2VybmVsOiBbICAgIDIuMDM3NzgwXSBncG1jLHdl LW9mZi1ucyA9IDw5Nj4gLyoKPiA5MSBucyAtIDk2IG5zOyAxNiB0aWNrcyAqLwo+IEphbiAgNiAx MDozNDoxNSBOb2tpYS1OOTAwIGtlcm5lbDogWyAgICAyLjA0NDA2N10gZ3BtYyxyZC1jeWNsZS1u cyA9IDwxMTQ+Cj4gLyogMTA5IG5zIC0gMTE0IG5zOyAxOSB0aWNrcyAqLwo+IEphbiAgNiAxMDoz NDoxNSBOb2tpYS1OOTAwIGtlcm5lbDogWyAgICAyLjA1MDgxMV0gZ3BtYyx3ci1jeWNsZS1ucyA9 IDwxMTQ+Cj4gLyogMTA5IG5zIC0gMTE0IG5zOyAxOSB0aWNrcyAqLwo+IEphbiAgNiAxMDozNDox NSBOb2tpYS1OOTAwIGtlcm5lbDogWyAgICAyLjA1NzU4Nl0gZ3BtYyxhY2Nlc3MtbnMgPSA8OTA+ IC8qCj4gODUgbnMgLSA5MCBuczsgMTUgdGlja3MgKi8KPiBKYW4gIDYgMTA6MzQ6MTUgTm9raWEt TjkwMCBrZXJuZWw6IFsgICAgMi4wNjM5MDNdIGdwbWMscGFnZS1idXJzdC1hY2Nlc3MtbnMKPiA9 IDwxMj4gLyogNyBucyAtIDEyIG5zOyAyIHRpY2tzICovCj4gSmFuICA2IDEwOjM0OjE1IE5va2lh LU45MDAga2VybmVsOiBbICAgIDIuMDcxMDE0XSBncG1jLGJ1cy10dXJuYXJvdW5kLW5zID0KPiA8 MD4gLyogMCBucyAtIDAgbnM7IDAgdGlja3MgKi8KPiBKYW4gIDYgMTA6MzQ6MTUgTm9raWEtTjkw MCBrZXJuZWw6IFsgICAgMi4wNzc2OTddIGdwbWMsY3ljbGUyY3ljbGUtZGVsYXktbnMKPiA9IDww PiAvKiAwIG5zIC0gMCBuczsgMCB0aWNrcyAqLwo+IEphbiAgNiAxMDozNDoxNSBOb2tpYS1OOTAw IGtlcm5lbDogWyAgICAyLjA4NDYyNV0gZ3BtYyx3YWl0LW1vbml0b3JpbmctbnMgPQo+IDwwPiAv KiAwIG5zIC0gMCBuczsgMCB0aWNrcyAqLwo+IEphbiAgNiAxMDozNDoxNSBOb2tpYS1OOTAwIGtl cm5lbDogWyAgICAyLjA5MTMzOV0gZ3BtYyxjbGstYWN0aXZhdGlvbi1ucyA9Cj4gPDY+IC8qIDEg bnMgLSA2IG5zOyAxIHRpY2tzICovCj4gSmFuICA2IDEwOjM0OjE1IE5va2lhLU45MDAga2VybmVs OiBbICAgIDIuMDk4MDIyXSBncG1jLHdyLWRhdGEtbXV4LWJ1cy1ucyA9Cj4gPDMwPiAvKiAyNSBu cyAtIDMwIG5zOyA1IHRpY2tzICovCj4gSmFuICA2IDEwOjM0OjE1IE5va2lhLU45MDAga2VybmVs OiBbICAgIDIuMTA1MDcyXSBncG1jLHdyLWFjY2Vzcy1ucyA9IDw5MD4KPiAvKiA4NSBucyAtIDkw IG5zOyAxNSB0aWNrcyAqLwo+IEphbiAgNiAxMDozNDoxNSBOb2tpYS1OOTAwIGtlcm5lbDogWyAg ICAyLjExMTYwMl0gb21hcDItb25lbmFuZAo+IG9tYXAyLW9uZW5hbmQ6IGluaXRpYWxpemluZyBv biBDUzAsIHBoeXMgYmFzZSAweDAxMDAwMDAwLCB2aXJ0dWFsIGJhc2UKPiBkMDk0MDAwMCwgZnJl cSA4MyBNSHoKPiBKYW4gIDYgMTA6MzQ6MTUgTm9raWEtTjkwMCBrZXJuZWw6IFsgICAgMi4xMjMw MTZdIE9uZU5BTkQgTWFudWZhY3R1cmVyOgo+IE51bW9ueXggKDB4MjApCj4gSmFuICA2IDEwOjM0 OjE1IE5va2lhLU45MDAgZ2NvbmZkIChyb290LTEwODApOiBzdGFydGluZyAodmVyc2lvbiAyLjE2 LjApLAo+IHBpZCAxMDgwIHVzZXIgJ3Jvb3QnCj4gSmFuICA2IDEwOjM0OjE2IE5va2lhLU45MDAg a2VybmVsOiBbICAgIDIuMTIzMDE2XSBNdXhlZCBPbmVOQU5EIDI1Nk1CIDEuOFYKPiAxNi1iaXQg KDB4NDApCj4gSmFuICA2IDEwOjM0OjE2IE5va2lhLU45MDAgd2FpdHhbMTA4NV06IHRyeWluZyB0 byBnZXQgWCBkaXNwbGF5Cj4gSmFuICA2IDEwOjM0OjE2IE5va2lhLU45MDAga2VybmVsOiBbICAg IDIuMTI4MTEyXSBPbmVOQU5EIHZlcnNpb24gPSAweDAwMzEKPiBKYW4gIDYgMTA6MzQ6MTYgTm9r aWEtTjkwMCBrZXJuZWw6IFsgICAgMi4xMzE4OTZdIENoaXAgc3VwcG9ydCBhbGwgYmxvY2sKPiB1 bmxvY2sKPiBKYW4gIDYgMTA6MzQ6MTYgTm9raWEtTjkwMCBrZXJuZWw6IFsgICAgMi4xMzE4OTZd IENoaXAgaGFzIDIgcGxhbmUKPiBKYW4gIDYgMTA6MzQ6MTYgTm9raWEtTjkwMCBrZXJuZWw6IFsg ICAgMi4xMzM0ODNdIFNjYW5uaW5nIGRldmljZSBmb3IgYmFkCj4gYmxvY2tzCj4gSmFuICA2IDEw OjM0OjE2IE5va2lhLU45MDAga2VybmVsOiBbICAgIDIuMjMyMTc3XSA2IG9mcGFydCBwYXJ0aXRp b25zIGZvdW5kCj4gb24gTVREIGRldmljZSAobnVsbCkKPiBKYW4gIDYgMTA6MzQ6MTYgTm9raWEt TjkwMCBrZXJuZWw6IFsgICAgMi4yMzgwOThdIENyZWF0aW5nIDYgTVREIHBhcnRpdGlvbnMKPiBv biAiKG51bGwpIjoKPiBKYW4gIDYgMTA6MzQ6MTYgTm9raWEtTjkwMCBrZXJuZWw6IFsgICAgMi4y NDMxNjRdCj4gMHgwMDAwMDAwMDAwMDAtMHgwMDAwMDAwMjAwMDAgOiAiYm9vdGxvYWRlciIKPiBK YW4gIDYgMTA6MzQ6MTYgTm9raWEtTjkwMCBrZXJuZWw6IFsgICAgMi4yNDk3MjVdCj4gMHgwMDAw MDAwMjAwMDAtMHgwMDAwMDAwODAwMDAgOiAiY29uZmlnIgo+IEphbiAgNiAxMDozNDoxNiBOb2tp YS1OOTAwIGtlcm5lbDogWyAgICAyLjI1NTc2N10KPiAweDAwMDAwMDA4MDAwMC0weDAwMDAwMDBj MDAwMCA6ICJsb2ciCj4gSmFuICA2IDEwOjM0OjE2IE5va2lhLU45MDAga2VybmVsOiBbICAgIDIu MjYzNzkzXSBtdGRvb3BzOiByZWFkeSAzNCwKPiA5NTk1MjExMzYgKG5vIGVyYXNlKQo+IEphbiAg NiAxMDozNDoxNiBOb2tpYS1OOTAwIGtlcm5lbDogWyAgICAyLjI2Mzc5M10gbXRkb29wczogQXR0 YWNoZWQgdG8gTVRECj4gZGV2aWNlIDIKPiBKYW4gIDYgMTA6MzQ6MTYgTm9raWEtTjkwMCBrZXJu ZWw6IFsgICAgMi4yNjg0MzJdCj4gMHgwMDAwMDAwYzAwMDAtMHgwMDAwMDAyYzAwMDAgOiAia2Vy bmVsIgo+IEphbiAgNiAxMDozNDoxNiBOb2tpYS1OOTAwIGtlcm5lbDogWyAgICAyLjI3NDQ0NF0K PiAweDAwMDAwMDJjMDAwMC0weDAwMDAwMDRjMDAwMCA6ICJpbml0ZnMiCj4gSmFuICA2IDEwOjM0 OjE2IE5va2lhLU45MDAga2VybmVsOiBbICAgIDIuMjgwMzY0XQo+IDB4MDAwMDAwNGMwMDAwLTB4 MDAwMDEwMDAwMDAwIDogInJvb3RmcyIKPiBKYW4gIDYgMTA6MzQ6MTYgTm9raWEtTjkwMCBrZXJu ZWw6IFsgICAgMi4yODc5NjNdIGdwbWMgY3MxIGJlZm9yZQo+IGdwbWNfY3NfcHJvZ3JhbV9zZXR0 aW5nczoKPiBKYW4gIDYgMTA6MzQ6MTYgTm9raWEtTjkwMCBrZXJuZWw6IFsgICAgMi4yOTMzMDRd IGNzMSBHUE1DX0NTX0NPTkZJRzE6Cj4gMHgwMDAwMTAwMAo+IEphbiAgNiAxMDozNDoxNiBOb2tp YS1OOTAwIGtlcm5lbDogWyAgICAyLjI5Nzc5MF0gY3MxIEdQTUNfQ1NfQ09ORklHMjoKPiAweDAw MTAxMDAxCj4gSmFuICA2IDEwOjM0OjE2IE5va2lhLU45MDAga2VybmVsOiBbICAgIDIuMzAyMjQ2 XSBjczEgR1BNQ19DU19DT05GSUczOgo+IDB4MDAwMjAyMDEKPiBKYW4gIDYgMTA6MzQ6MTYgTm9r aWEtTjkwMCBrZXJuZWw6IFsgICAgMi4zMDY3MzJdIGNzMSBHUE1DX0NTX0NPTkZJRzQ6Cj4gMHgx MDAzMTAwMwo+IEphbiAgNiAxMDozNDoxNiBOb2tpYS1OOTAwIGtlcm5lbDogWyAgICAyLjMxMTEy Nl0gY3MxIEdQTUNfQ1NfQ09ORklHNToKPiAweDAxMGYxMTExCj4gSmFuICA2IDEwOjM0OjE2IE5v a2lhLU45MDAga2VybmVsOiBbICAgIDIuMzE1NjEyXSBjczEgR1BNQ19DU19DT05GSUc2Ogo+IDB4 OGYwMzAwMDAKPiBKYW4gIDYgMTA6MzQ6MTYgTm9raWEtTjkwMCBrZXJuZWw6IFsgICAgMi4zMjAw MDddIGdwbWMgY3MxIGFjY2Vzcwo+IGNvbmZpZ3VyYXRpb246Cj4gSmFuICA2IDEwOjM0OjE2IE5v a2lhLU45MDAga2VybmVsOiBbICAgIDIuMzI0NDAxXSBncG1jLG11eC1hZGQtZGF0YSA9IDwwPgo+ IEphbiAgNiAxMDozNDoxNiBOb2tpYS1OOTAwIGtlcm5lbDogWyAgICAyLjMyODEyNF0gZ3BtYyxk ZXZpY2Utd2lkdGggPSA8MT4KPiBKYW4gIDYgMTA6MzQ6MTYgTm9raWEtTjkwMCBrZXJuZWw6IFsg ICAgMi4zMzE4MTddIGdwbWMsd2FpdC1waW4gPSA8MD4KPiBKYW4gIDYgMTA6MzQ6MTYgTm9raWEt TjkwMCBrZXJuZWw6IFsgICAgMi4zMzUyMDVdIGdwbWMsYnVyc3QtbGVuZ3RoID0gPDQ+Cj4gSmFu ICA2IDEwOjM0OjE2IE5va2lhLU45MDAga2VybmVsOiBbICAgIDIuMzM4OTI4XSBncG1jIGNzMSB0 aW1pbmdzCj4gY29uZmlndXJhdGlvbjoKPiBKYW4gIDYgMTA6MzQ6MTYgTm9raWEtTjkwMCBrZXJu ZWw6IFsgICAgMi4zNDMzNTNdIGdwbWMsY3Mtb24tbnMgPSA8Nj4gLyogMQo+IG5zIC0gNiBuczsg MSB0aWNrcyAqLwo+IEphbiAgNiAxMDozNDoxNiBOb2tpYS1OOTAwIGtlcm5lbDogWyAgICAyLjM0 OTIxMl0gZ3BtYyxjcy1yZC1vZmYtbnMgPSA8OTY+Cj4gLyogOTEgbnMgLSA5NiBuczsgMTYgdGlj a3MgKi8KPiBKYW4gIDYgMTA6MzQ6MTYgTm9raWEtTjkwMCBrZXJuZWw6IFsgICAgMi4zNTU3NzNd IGdwbWMsY3Mtd3Itb2ZmLW5zID0gPDk2Pgo+IC8qIDkxIG5zIC0gOTYgbnM7IDE2IHRpY2tzICov Cj4gSmFuICA2IDEwOjM0OjE2IE5va2lhLU45MDAga2VybmVsOiBbICAgIDIuMzYyMjc0XSBncG1j LGFkdi1vbi1ucyA9IDw2PiAvKiAxCj4gbnMgLSA2IG5zOyAxIHRpY2tzICovCj4gSmFuICA2IDEw OjM0OjE2IE5va2lhLU45MDAga2VybmVsOiBbICAgIDIuMzY4MjI1XSBncG1jLGFkdi1yZC1vZmYt bnMgPSA8MTI+Cj4gLyogNyBucyAtIDEyIG5zOyAyIHRpY2tzICovCj4gSmFuICA2IDEwOjM0OjE2 IE5va2lhLU45MDAga2VybmVsOiBbICAgIDIuMzc0NjY0XSBncG1jLGFkdi13ci1vZmYtbnMgPSA8 MTI+Cj4gLyogNyBucyAtIDEyIG5zOyAyIHRpY2tzICovCj4gSmFuICA2IDEwOjM0OjE2IE5va2lh LU45MDAga2VybmVsOiBbICAgIDIuMzgxMTAzXSBncG1jLG9lLW9uLW5zID0gPDE4PiAvKiAxMwo+ IG5zIC0gMTggbnM7IDMgdGlja3MgKi8KPiBKYW4gIDYgMTA6MzQ6MTYgTm9raWEtTjkwMCBrZXJu ZWw6IFsgICAgMi4zODcyMzddIGdwbWMsb2Utb2ZmLW5zID0gPDk2PiAvKgo+IDkxIG5zIC0gOTYg bnM7IDE2IHRpY2tzICovCj4gSmFuICA2IDEwOjM0OjE2IE5va2lhLU45MDAga2VybmVsOiBbICAg IDIuMzkzNDYzXSBncG1jLHdlLW9uLW5zID0gPDE4PiAvKiAxMwo+IG5zIC0gMTggbnM7IDMgdGlj a3MgKi8KPiBKYW4gIDYgMTA6MzQ6MTYgTm9raWEtTjkwMCBrZXJuZWw6IFsgICAgMi4zOTk1OTdd IGdwbWMsd2Utb2ZmLW5zID0gPDk2PiAvKgo+IDkxIG5zIC0gOTYgbnM7IDE2IHRpY2tzICovCj4g SmFuICA2IDEwOjM0OjE2IE5va2lhLU45MDAga2VybmVsOiBbICAgIDIuNDA1OTE0XSBncG1jLHJk LWN5Y2xlLW5zID0gPDEwMj4KPiAvKiA5NyBucyAtIDEwMiBuczsgMTcgdGlja3MgKi8KPiBKYW4g IDYgMTA6MzQ6MTYgTm9raWEtTjkwMCBrZXJuZWw6IFsgICAgMi40MTI1MzZdIGdwbWMsd3ItY3lj bGUtbnMgPSA8MTAyPgo+IC8qIDk3IG5zIC0gMTAyIG5zOyAxNyB0aWNrcyAqLwo+IEphbiAgNiAx MDozNDoxNiBOb2tpYS1OOTAwIGtlcm5lbDogWyAgICAyLjQxOTIxOV0gZ3BtYyxhY2Nlc3MtbnMg PSA8OTA+IC8qCj4gODUgbnMgLSA5MCBuczsgMTUgdGlja3MgKi8KPiBKYW4gIDYgMTA6MzQ6MTYg Tm9raWEtTjkwMCBrZXJuZWw6IFsgICAgMi40MjU0NzZdIGdwbWMscGFnZS1idXJzdC1hY2Nlc3Mt bnMKPiA9IDw2PiAvKiAxIG5zIC0gNiBuczsgMSB0aWNrcyAqLwo+IEphbiAgNiAxMDozNDoxNiBO b2tpYS1OOTAwIGtlcm5lbDogWyAgICAyLjQzMjQwM10gZ3BtYyxidXMtdHVybmFyb3VuZC1ucyA9 Cj4gPDA+IC8qIDAgbnMgLSAwIG5zOyAwIHRpY2tzICovCj4gSmFuICA2IDEwOjM0OjE2IE5va2lh LU45MDAga2VybmVsOiBbICAgIDIuNDM5MDg2XSBncG1jLGN5Y2xlMmN5Y2xlLWRlbGF5LW5zCj4g PSA8MD4gLyogMCBucyAtIDAgbnM7IDAgdGlja3MgKi8KPiBKYW4gIDYgMTA6MzQ6MTYgTm9raWEt TjkwMCBrZXJuZWw6IFsgICAgMi40NDYwNDRdIGdwbWMsd2FpdC1tb25pdG9yaW5nLW5zID0KPiA8 MD4gLyogMCBucyAtIDAgbnM7IDAgdGlja3MgKi8KPiBKYW4gIDYgMTA6MzQ6MTYgTm9raWEtTjkw MCBrZXJuZWw6IFsgICAgMi40NTI3MjhdIGdwbWMsY2xrLWFjdGl2YXRpb24tbnMgPQo+IDwwPiAv KiAwIG5zIC0gMCBuczsgMCB0aWNrcyAqLwo+IEphbiAgNiAxMDozNDoxNiBOb2tpYS1OOTAwIGtl cm5lbDogWyAgICAyLjQ1OTQ0Ml0gZ3BtYyx3ci1kYXRhLW11eC1idXMtbnMgPQo+IDwxOD4gLyog MTMgbnMgLSAxOCBuczsgMyB0aWNrcyAqLwo+IEphbiAgNiAxMDozNDoxNiBOb2tpYS1OOTAwIGtl cm5lbDogWyAgICAyLjQ2NjQ5MV0gZ3BtYyx3ci1hY2Nlc3MtbnMgPSA8OTA+Cj4gLyogODUgbnMg LSA5MCBuczsgMTUgdGlja3MgKi8KPiBKYW4gIDYgMTA6MzQ6MTYgTm9raWEtTjkwMCBrZXJuZWw6 IFsgICAgMi40NzMwNTJdIEdQTUMgQ1MxOiBjc19vbiAgICAgIDogICAwCj4gdGlja3MsICAgMCBu cyAod2FzICAgMSB0aWNrcykgICAwIG5zCj4gSmFuICA2IDEwOjM0OjE2IE5va2lhLU45MDAga2Vy bmVsOiBbICAgIDIuNDgxMDQ4XSBHUE1DIENTMTogY3NfcmRfb2ZmICAgICAgOgo+IDggdGlja3Ms ICA0OCBucyAod2FzICAxNiB0aWNrcykgIDQ4IG5zCj4gSmFuICA2IDEwOjM0OjE2IE5va2lhLU45 MDAga2VybmVsOiBbICAgIDIuNDg5MDQ0XSBHUE1DIENTMTogY3Nfd3Jfb2ZmICAgICAgOgo+IDQg dGlja3MsICAyNCBucyAod2FzICAxNiB0aWNrcykgIDI0IG5zCj4gSmFuICA2IDEwOjM0OjE2IE5v a2lhLU45MDAga2VybmVsOiBbICAgIDIuNDk2OTc4XSBHUE1DIENTMTogYWR2X29uICAgICAgOgo+ IDAgdGlja3MsICAgMCBucyAod2FzICAgMSB0aWNrcykgICAwIG5zCj4gSmFuICA2IDEwOjM0OjE2 IE5va2lhLU45MDAga2VybmVsOiBbICAgIDIuNTA0OTQzXSBHUE1DIENTMTogYWR2X3JkX29mZgo+ IDogICAwIHRpY2tzLCAgIDAgbnMgKHdhcyAgIDIgdGlja3MpICAgMCBucwo+IEphbiAgNiAxMDoz NDoxNiBOb2tpYS1OOTAwIGtlcm5lbDogWyAgICAyLjUxMjg3OF0gR1BNQyBDUzE6IGFkdl93cl9v ZmYKPiA6ICAgMCB0aWNrcywgICAwIG5zICh3YXMgICAyIHRpY2tzKSAgIDAgbnMKPiBKYW4gIDYg MTA6MzQ6MTYgTm9raWEtTjkwMCBrZXJuZWw6IFsgICAgMi41MjA4NDNdIEdQTUMgQ1MxOiBvZV9v biAgICAgIDogICAyCj4gdGlja3MsICAxMiBucyAod2FzICAgMyB0aWNrcykgIDEyIG5zCj4gSmFu ICA2IDEwOjM0OjE2IE5va2lhLU45MDAga2VybmVsOiBbICAgIDIuNTI4ODM5XSBHUE1DIENTMTog b2Vfb2ZmICAgICAgOgo+IDggdGlja3MsICA0OCBucyAod2FzICAxNiB0aWNrcykgIDQ4IG5zCj4g SmFuICA2IDEwOjM0OjE2IE5va2lhLU45MDAga2VybmVsOiBbICAgIDIuNTM2NzczXSBHUE1DIENT MTogd2Vfb24gICAgICA6ICAgMgo+IHRpY2tzLCAgMTIgbnMgKHdhcyAgIDMgdGlja3MpICAxMiBu cwo+IEphbiAgNiAxMDozNDoxNiBOb2tpYS1OOTAwIGtlcm5lbDogWyAgICAyLjU0NDcwOF0gR1BN QyBDUzE6IHdlX29mZiAgICAgIDoKPiAzIHRpY2tzLCAgMTggbnMgKHdhcyAgMTYgdGlja3MpICAx OCBucwo+IEphbiAgNiAxMDozNDoxNiBOb2tpYS1OOTAwIGtlcm5lbDogWyAgICAyLjU1MjYxMl0g R1BNQyBDUzE6IHJkX2N5Y2xlICAgICAgOgo+IDMwIHRpY2tzLCAxODAgbnMgKHdhcyAgMTcgdGlj a3MpIDE4MCBucwo+IEphbiAgNiAxMDozNDoxNiBOb2tpYS1OOTAwIGtlcm5lbDogWyAgICAyLjU2 MDYwN10gR1BNQyBDUzE6IHdyX2N5Y2xlICAgICAgOgo+IDMwIHRpY2tzLCAxODAgbnMgKHdhcyAg MTcgdGlja3MpIDE4MCBucwo+IEphbiAgNiAxMDozNDoxNiBOb2tpYS1OOTAwIGtlcm5lbDogWyAg ICAyLjU2ODU0Ml0gR1BNQyBDUzE6IGFjY2VzcyAgICAgIDoKPiA3IHRpY2tzLCAgNDIgbnMgKHdh cyAgMTUgdGlja3MpICA0MiBucwo+IEphbiAgNiAxMDozNDoxNiBOb2tpYS1OOTAwIGtlcm5lbDog WyAgICAyLjU3NjQ3N10gR1BNQyBDUzE6Cj4gcGFnZV9idXJzdF9hY2Nlc3M6ICAgMCB0aWNrcywg ICAwIG5zICh3YXMgICAxIHRpY2tzKSAgIDAgbnMKPiBKYW4gIDYgMTA6MzQ6MTYgTm9raWEtTjkw MCBrZXJuZWw6IFsgICAgMi41ODQ0NzJdIEdQTUMgQ1MxOiBidXNfdHVybmFyb3VuZAo+IDogICAw IHRpY2tzLCAgIDAgbnMgKHdhcyAgIDAgdGlja3MpICAgMCBucwo+IEphbiAgNiAxMDozNDoxNiBO b2tpYS1OOTAwIGtlcm5lbDogWyAgICAyLjU5MjM0Nl0gR1BNQyBDUzE6Cj4gY3ljbGUyY3ljbGVf ZGVsYXk6ICAgMCB0aWNrcywgICAwIG5zICh3YXMgICAwIHRpY2tzKSAgIDAgbnMKPiBKYW4gIDYg MTA6MzQ6MTYgTm9raWEtTjkwMCBrZXJuZWw6IFsgICAgMi42MDAzNDFdIEdQTUMgQ1MxOiB3cl9k YXRhX211eF9idXMKPiA6ICAgMiB0aWNrcywgIDEyIG5zICh3YXMgICAzIHRpY2tzKSAgMTIgbnMK PiBKYW4gIDYgMTA6MzQ6MTYgTm9raWEtTjkwMCBrZXJuZWw6IFsgICAgMi42MDgyNzZdIEdQTUMg Q1MxOiB3cl9hY2Nlc3MgICAgICA6Cj4gMCB0aWNrcywgICAwIG5zICh3YXMgIDE1IHRpY2tzKSAg IDAgbnMKPiBKYW4gIDYgMTA6MzQ6MTYgTm9raWEtTjkwMCBrZXJuZWw6IFsgICAgMi42MTYyNzFd IEdQTUMgQ1MxOiB3YWl0X21vbml0b3JpbmcKPiA6ICAgMCB0aWNrcywgICAwIG5zICh3YXMgICAw IHRpY2tzKSAgIDAgbnMKPiBKYW4gIDYgMTA6MzQ6MTYgTm9raWEtTjkwMCBrZXJuZWw6IFsgICAg Mi42MjQyNjddIEdQTUMgQ1MxOiBjbGtfYWN0aXZhdGlvbgo+IDogICAwIHRpY2tzLCAgIDAgbnMg KHdhcyAgIDAgdGlja3MpICAgMCBucwo+IEphbiAgNiAxMDozNDoxNiBOb2tpYS1OOTAwIGtlcm5l bDogWyAgICAyLjYzMjE3MV0gR1BNQyBDUzEgQ0xLIHBlcmlvZCBpcyA2Cj4gbnMgKGRpdiAxKQo+ IEphbiAgNiAxMDozNDoxNiBOb2tpYS1OOTAwIGtlcm5lbDogWyAgICAyLjYzNzAyM10gZ3BtYyBj czEgYWZ0ZXIKPiBncG1jX2NzX3NldF90aW1pbmdzOgo+IEphbiAgNiAxMDozNDoxNiBOb2tpYS1O OTAwIGtlcm5lbDogWyAgICAyLjY0MTgxNV0gY3MxIEdQTUNfQ1NfQ09ORklHMToKPiAweDAwMDAx MDAwCj4gSmFuICA2IDEwOjM0OjE2IE5va2lhLU45MDAga2VybmVsOiBbICAgIDIuNjQ2MzAxXSBj czEgR1BNQ19DU19DT05GSUcyOgo+IDB4MDAwNDA4MDAKPiBKYW4gIDYgMTA6MzQ6MTYgTm9raWEt TjkwMCBrZXJuZWw6IFsgICAgMi42NTA3MjZdIGNzMSBHUE1DX0NTX0NPTkZJRzM6Cj4gMHgwMDAw MDAwMAo+IEphbiAgNiAxMDozNDoxNiBOb2tpYS1OOTAwIGtlcm5lbDogWyAgICAyLjY1NTIxMl0g Y3MxIEdQTUNfQ1NfQ09ORklHNDoKPiAweDAzMDIwODAyCj4gSmFuICA2IDEwOjM0OjE2IE5va2lh LU45MDAga2VybmVsOiBbICAgIDIuNjU5NjA2XSBjczEgR1BNQ19DU19DT05GSUc1Ogo+IDB4MDAw NzFlMWUKPiBKYW4gIDYgMTA6MzQ6MTYgTm9raWEtTjkwMCBrZXJuZWw6IFsgICAgMi42NjQwOTNd IGNzMSBHUE1DX0NTX0NPTkZJRzY6Cj4gMHg4MDAyMDAwMAo+IEphbiAgNiAxMDozNDoxNiBOb2tp YS1OOTAwIGtlcm5lbDogWyAgICAyLjY2ODU0OF0gZ3BtYyBjczEgYWNjZXNzCj4gY29uZmlndXJh dGlvbjoKPiBKYW4gIDYgMTA6MzQ6MTYgTm9raWEtTjkwMCBrZXJuZWw6IFsgICAgMi42NzI4ODJd IGdwbWMsbXV4LWFkZC1kYXRhID0gPDA+Cj4gSmFuICA2IDEwOjM0OjE2IE5va2lhLU45MDAga2Vy bmVsOiBbICAgIDIuNjc2NjM1XSBncG1jLGRldmljZS13aWR0aCA9IDwxPgo+IEphbiAgNiAxMDoz NDoxNiBOb2tpYS1OOTAwIGtlcm5lbDogWyAgICAyLjY4MDMyOF0gZ3BtYyx3YWl0LXBpbiA9IDww Pgo+IEphbiAgNiAxMDozNDoxNiBOb2tpYS1OOTAwIGtlcm5lbDogWyAgICAyLjY4MzY4NV0gZ3Bt YyxidXJzdC1sZW5ndGggPSA8ND4KPiBKYW4gIDYgMTA6MzQ6MTYgTm9raWEtTjkwMCBrZXJuZWw6 IFsgICAgMi42ODc0MDhdIGdwbWMgY3MxIHRpbWluZ3MKPiBjb25maWd1cmF0aW9uOgo+IEphbiAg NiAxMDozNDoxNiBOb2tpYS1OOTAwIGtlcm5lbDogWyAgICAyLjY5MTgzM10gZ3BtYyxjcy1vbi1u cyA9IDwwPiAvKiAwCj4gbnMgLSAwIG5zOyAwIHRpY2tzICovCj4gSmFuICA2IDEwOjM0OjE2IE5v a2lhLU45MDAga2VybmVsOiBbICAgIDIuNjk3NjkyXSBncG1jLGNzLXJkLW9mZi1ucyA9IDw0OD4K PiAvKiA0MyBucyAtIDQ4IG5zOyA4IHRpY2tzICovCj4gSmFuICA2IDEwOjM0OjE2IE5va2lhLU45 MDAga2VybmVsOiBbICAgIDIuNzA0MTMyXSBncG1jLGNzLXdyLW9mZi1ucyA9IDwyND4KPiAvKiAx OSBucyAtIDI0IG5zOyA0IHRpY2tzICovCj4gSmFuICA2IDEwOjM0OjE2IE5va2lhLU45MDAga2Vy bmVsOiBbICAgIDIuNzEwNjAxXSBncG1jLGFkdi1vbi1ucyA9IDwwPiAvKiAwCj4gbnMgLSAwIG5z OyAwIHRpY2tzICovCj4gSmFuICA2IDEwOjM0OjE2IE5va2lhLU45MDAga2VybmVsOiBbICAgIDIu NzE2NTUyXSBncG1jLGFkdi1yZC1vZmYtbnMgPSA8MD4KPiAvKiAwIG5zIC0gMCBuczsgMCB0aWNr cyAqLwo+IEphbiAgNiAxMDozNDoxNiBOb2tpYS1OOTAwIGtlcm5lbDogWyAgICAyLjcyMjgwOF0g Z3BtYyxhZHYtd3Itb2ZmLW5zID0gPDA+Cj4gLyogMCBucyAtIDAgbnM7IDAgdGlja3MgKi8KPiBK YW4gIDYgMTA6MzQ6MTYgTm9raWEtTjkwMCBrZXJuZWw6IFsgICAgMi43MjkxMjVdIGdwbWMsb2Ut b24tbnMgPSA8MTI+IC8qIDcKPiBucyAtIDEyIG5zOyAyIHRpY2tzICovCj4gSmFuICA2IDEwOjM0 OjE2IE5va2lhLU45MDAga2VybmVsOiBbICAgIDIuNzM1MTM3XSBncG1jLG9lLW9mZi1ucyA9IDw0 OD4gLyoKPiA0MyBucyAtIDQ4IG5zOyA4IHRpY2tzICovCj4gSmFuICA2IDEwOjM0OjE2IE5va2lh LU45MDAga2VybmVsOiBbICAgIDIuNzQxMzMzXSBncG1jLHdlLW9uLW5zID0gPDEyPiAvKiA3Cj4g bnMgLSAxMiBuczsgMiB0aWNrcyAqLwo+IEphbiAgNiAxMDozNDoxNiBOb2tpYS1OOTAwIGtlcm5l bDogWyAgICAyLjc0NzM3NV0gZ3BtYyx3ZS1vZmYtbnMgPSA8MTg+IC8qCj4gMTMgbnMgLSAxOCBu czsgMyB0aWNrcyAqLwo+IEphbiAgNiAxMDozNDoxNiBOb2tpYS1OOTAwIGtlcm5lbDogWyAgICAy Ljc1MzUwOV0gZ3BtYyxyZC1jeWNsZS1ucyA9IDwxODA+Cj4gLyogMTc1IG5zIC0gMTgwIG5zOyAz MCB0aWNrcyAqLwo+IEphbiAgNiAxMDozNDoxNiBOb2tpYS1OOTAwIGtlcm5lbDogWyAgICAyLjc2 MDI4NF0gZ3BtYyx3ci1jeWNsZS1ucyA9IDwxODA+Cj4gLyogMTc1IG5zIC0gMTgwIG5zOyAzMCB0 aWNrcyAqLwo+IEphbiAgNiAxMDozNDoxNiBOb2tpYS1OOTAwIGtlcm5lbDogWyAgICAyLjc2NzA1 OV0gZ3BtYyxhY2Nlc3MtbnMgPSA8NDI+IC8qCj4gMzcgbnMgLSA0MiBuczsgNyB0aWNrcyAqLwo+ IEphbiAgNiAxMDozNDoxNiBOb2tpYS1OOTAwIGtlcm5lbDogWyAgICAyLjc3MzI1NF0gZ3BtYyxw YWdlLWJ1cnN0LWFjY2Vzcy1ucwo+ID0gPDA+IC8qIDAgbnMgLSAwIG5zOyAwIHRpY2tzICovCj4g SmFuICA2IDEwOjM0OjE2IE5va2lhLU45MDAga2VybmVsOiBbICAgIDIuNzgwMjEyXSBncG1jLGJ1 cy10dXJuYXJvdW5kLW5zID0KPiA8MD4gLyogMCBucyAtIDAgbnM7IDAgdGlja3MgKi8KPiBKYW4g IDYgMTA6MzQ6MTYgTm9raWEtTjkwMCBrZXJuZWw6IFsgICAgMi43ODY4OTVdIGdwbWMsY3ljbGUy Y3ljbGUtZGVsYXktbnMKPiA9IDwwPiAvKiAwIG5zIC0gMCBuczsgMCB0aWNrcyAqLwo+IEphbiAg NiAxMDozNDoxNiBOb2tpYS1OOTAwIGtlcm5lbDogWyAgICAyLjc5Mzg1M10gZ3BtYyx3YWl0LW1v bml0b3JpbmctbnMgPQo+IDwwPiAvKiAwIG5zIC0gMCBuczsgMCB0aWNrcyAqLwo+IEphbiAgNiAx MDozNDoxNiBOb2tpYS1OOTAwIGtlcm5lbDogWyAgICAyLjgwMDYyOF0gZ3BtYyxjbGstYWN0aXZh dGlvbi1ucyA9Cj4gPDA+IC8qIDAgbnMgLSAwIG5zOyAwIHRpY2tzICovCj4gSmFuICA2IDEwOjM0 OjE2IE5va2lhLU45MDAga2VybmVsOiBbICAgIDIuODA3MzEyXSBncG1jLHdyLWRhdGEtbXV4LWJ1 cy1ucyA9Cj4gPDEyPiAvKiA3IG5zIC0gMTIgbnM7IDIgdGlja3MgKi8KPiBKYW4gIDYgMTA6MzQ6 MTYgTm9raWEtTjkwMCBrZXJuZWw6IFsgICAgMi44MTQyNzBdIGdwbWMsd3ItYWNjZXNzLW5zID0g PDA+IC8qCj4gMCBucyAtIDAgbnM7IDAgdGlja3MgKi8KCkp1c3Qgb25lIG5vdGUuIEluIGZ1dHVy ZSwgcGxlYXNlIGRvIG5vdCBzZW5kIGxvZ3MgaW4gZm9ybWF0IGZsb3dlZAplbWFpbHMgYXMgc3Bh Y2Ugb24gZW5kIG9mIGxpbmUgaGFzIHNwZWNpYWwgbWVhbmluZ3MuIEFuZCBvdXRwdXQgaXMKd3Jh cHBlZCByYW5kb21seSBhbmQgaGFyZCB0byByZWFkIChsaWtlIGluIG15IHF1b3RlZCB0ZXh0IGFi b3ZlKS4KCklmIHlvdSBhcmUgdW5hYmxlIHRvIGNvbmZpZ3VyZSBlbWFpbCBjbGllbnQgY29ycmVj dGx5ICh0dXJuIG9mIGZvcm1hdApmbG93ZWQpIHRoZW4gcmF0aGVyIGF0dGFjaCBsb2dzIGFzIGF0 dGFjaG1lbnQgKGlkZWFsbHkgbWFya2VkIHdpdGgKQ29udGVudC1EaXNwb3NpdGlvbjogaW5saW5l KS4KClNlZSBsaW51eC9Eb2N1bWVudGF0aW9uL2VtYWlsLWNsaWVudHMudHh0IHdoZXJlIGFyZSB2 ZXJ5IHVzZWZ1bCBoaW50cwpob3cgdG8gZml4IGJ1Z2d5IGVtYWlsIGNsaWVudHMuCgotLSAKUGFs aSBSb2jDoXIKcGFsaS5yb2hhckBnbWFpbC5jb20KCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4 LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 From: pali.rohar@gmail.com (Pali =?utf-8?B?Um9ow6Fy?=) Date: Wed, 6 Jan 2016 10:05:43 +0100 Subject: [PATCH 2/2] memory: omap-gpmc: Add Kconfig option for debug In-Reply-To: <568CD697.9060800@gmail.com> References: <1432156863-19695-1-git-send-email-tony@atomide.com> <568662FC.9050206@gmail.com> <20160104170206.GC12777@atomide.com> <201601041834.56056@pali> <20160104174001.GD12777@atomide.com> <568AC0F9.2010304@gmail.com> <20160105041356.GE12777@atomide.com> <20160105084947.GG22661@pali> <20160105224929.GF12777@atomide.com> <568CD697.9060800@gmail.com> Message-ID: <20160106090543.GC11364@pali> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Wednesday 06 January 2016 10:55:51 Ivaylo Dimitrov wrote: > > > On 6.01.2016 00:49, Tony Lindgren wrote: > > > >Suggested fix below, please test and reply with your Tested-by's if > >it solves the problem so we may still be able to get this into v4.4. > > > >Regards, > > > >Tony > > > >8< --------------- > >From: Tony Lindgren > >Date: Tue, 5 Jan 2016 12:04:20 -0800 > >Subject: [PATCH] ARM: OMAP2+: Fix onenand rate detection to avoid filesystem > > corruption > > > >Commit 63aa945b1013 ("memory: omap-gpmc: Add Kconfig option for debug") > >unified the GPMC debug for the SoCs with GPMC. The commit also left > >out the option for HWMOD_INIT_NO_RESET as we now require proper timings > >for GPMC to be able to remap GPMC devices out of address 0. > > > >Unfortunately on 900, onenand now only partially works with the device > >tree provided timings. It works enough to get detected but the clock > >rate supported by the onenand chip gets misdetected. This in turn causes > >the GPMC timings to be miscalculated and this leads into file system > >corruption on n900. > > > >Looks like onenand needs CS_CONFIG1 bit 27 WRITETYPE set for for sync > >write. This is needed also for async timings when we write to onenand > >with omap2_onenand_set_async_mode(). Without sync write bit set, the > >async read for the onenand ONENAND_REG_VERSION_ID will return 0xfff. > > > >Let's exit with an error if onenand rate is not detected. And let's > >remove the extra call to omap2_onenand_set_async_mode() as we only > >need to do this once at the end of omap2_onenand_setup_async(). > > > >Reported-by: Ivaylo Dimitrov > >Signed-off-by: Tony Lindgren > > > >--- a/arch/arm/mach-omap2/gpmc-onenand.c > >+++ b/arch/arm/mach-omap2/gpmc-onenand.c > > Bellow is gpmc dmesg output with that fix. I also disabled > CONFIG_OMAP_GPMC_DEBUG and am still able to boot to maemo with no obvious > problems. > > So, seems that fixes the problem, feel free to add: > > Tested-by: Ivaylo Dimitrov Great! Thank you for fixing and testing this problem! > > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.373229] omap-gpmc 6e000000.gpmc: > GPMC revision 5.0 > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.379425] GPMC CS0: cs_on : 0 > ticks, 0 ns (was 0 ticks) 0 ns > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.387481] GPMC CS0: cs_rd_off : > 14 ticks, 84 ns (was 16 ticks) 84 ns > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.395507] GPMC CS0: cs_wr_off : > 19 ticks, 114 ns (was 16 ticks) 114 ns > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.403472] GPMC CS0: adv_on : > 0 ticks, 0 ns (was 0 ticks) 0 ns > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.411407] GPMC CS0: adv_rd_off > : 3 ticks, 18 ns (was 2 ticks) 18 ns > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.419342] GPMC CS0: adv_wr_off > : 3 ticks, 18 ns (was 2 ticks) 18 ns > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.427276] GPMC CS0: oe_on : 5 > ticks, 30 ns (was 2 ticks) 30 ns > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.435211] GPMC CS0: oe_off : > 14 ticks, 84 ns (was 16 ticks) 84 ns > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.443115] GPMC CS0: we_on : 0 > ticks, 0 ns (was 0 ticks) 0 ns > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.451110] GPMC CS0: we_off : > 14 ticks, 84 ns (was 16 ticks) 84 ns > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.459045] GPMC CS0: rd_cycle : > 18 ticks, 108 ns (was 19 ticks) 108 ns > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.467041] GPMC CS0: wr_cycle : > 17 ticks, 102 ns (was 19 ticks) 102 ns > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.474975] GPMC CS0: access : > 13 ticks, 78 ns (was 15 ticks) 78 ns > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.482879] GPMC CS0: > page_burst_access: 0 ticks, 0 ns (was 2 ticks) 0 ns > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.490814] GPMC CS0: bus_turnaround > : 0 ticks, 0 ns (was 0 ticks) 0 ns > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.498748] GPMC CS0: > cycle2cycle_delay: 0 ticks, 0 ns (was 0 ticks) 0 ns > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.506683] GPMC CS0: wr_data_mux_bus > : 5 ticks, 30 ns (was 5 ticks) 30 ns > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.514617] GPMC CS0: wr_access : > 13 ticks, 78 ns (was 15 ticks) 78 ns > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.522583] GPMC CS0: wait_monitoring > : 0 ticks, 0 ns (was 0 ticks) 0 ns > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.530548] GPMC CS0: clk_activation > : 0 ticks, 0 ns (was 0 ticks) 0 ns > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.538543] GPMC CS0 CLK period is 6 > ns (div 1) > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.543334] gpmc cs0 after > gpmc_cs_set_timings: > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.548126] cs0 GPMC_CS_CONFIG1: > 0xd9001200 > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.552581] cs0 GPMC_CS_CONFIG2: > 0x00130e00 > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.558837] cs0 GPMC_CS_CONFIG3: > 0x00030300 > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.563323] cs0 GPMC_CS_CONFIG4: > 0x0e000e05 > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.567901] cs0 GPMC_CS_CONFIG5: > 0x000d1112 > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.572357] cs0 GPMC_CS_CONFIG6: > 0x8d050000 > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.576812] gpmc cs0 access > configuration: > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.581146] gpmc,mux-add-data = <2> > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.584899] gpmc,device-width = <1> > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.588592] gpmc,wait-pin = <0> > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.591949] gpmc,burst-length = <16> > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.595794] gpmc,sync-write = <1> > Jan 6 10:34:15 Nokia-N900 cellular: csd[1017]: Succesfully loaded plugin > > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.599273] gpmc,burst-write = <1> > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.602905] gpmc,burst-read = <1> > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.606445] gpmc,burst-wrap = <1> > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.609954] gpmc cs0 timings > configuration: > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.614440] gpmc,cs-on-ns = <0> /* 0 > ns - 0 ns; 0 ticks */ > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.620269] gpmc,cs-rd-off-ns = <84> > /* 79 ns - 84 ns; 14 ticks */ > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.626861] gpmc,cs-wr-off-ns = <114> > /* 109 ns - 114 ns; 19 ticks */ > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.633728] gpmc,adv-on-ns = <0> /* 0 > ns - 0 ns; 0 ticks */ > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.639617] gpmc,adv-rd-off-ns = <18> > /* 13 ns - 18 ns; 3 ticks */ > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.646209] gpmc,adv-wr-off-ns = <18> > /* 13 ns - 18 ns; 3 ticks */ > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.652770] gpmc,oe-on-ns = <30> /* 25 > ns - 30 ns; 5 ticks */ > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.658935] gpmc,oe-off-ns = <84> /* > 79 ns - 84 ns; 14 ticks */ > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.665252] gpmc,we-on-ns = <0> /* 0 > ns - 0 ns; 0 ticks */ > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.671081] gpmc,we-off-ns = <84> /* > 79 ns - 84 ns; 14 ticks */ > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.677398] gpmc,rd-cycle-ns = <108> > /* 103 ns - 108 ns; 18 ticks */ > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.684112] gpmc,wr-cycle-ns = <102> > /* 97 ns - 102 ns; 17 ticks */ > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.690765] gpmc,access-ns = <78> /* > 73 ns - 78 ns; 13 ticks */ > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.697082] gpmc,page-burst-access-ns > = <0> /* 0 ns - 0 ns; 0 ticks */ > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.704010] gpmc,bus-turnaround-ns = > <0> /* 0 ns - 0 ns; 0 ticks */ > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.710662] gpmc,cycle2cycle-delay-ns > = <0> /* 0 ns - 0 ns; 0 ticks */ > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.717620] gpmc,wait-monitoring-ns = > <0> /* 0 ns - 0 ns; 0 ticks */ > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.724395] gpmc,clk-activation-ns = > <0> /* 0 ns - 0 ns; 0 ticks */ > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.731048] gpmc,wr-data-mux-bus-ns = > <30> /* 25 ns - 30 ns; 5 ticks */ > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.738098] gpmc,wr-access-ns = <78> > /* 73 ns - 78 ns; 13 ticks */ > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.744781] GPMC CS0: cs_on : 0 > ticks, 0 ns (was 0 ticks) 0 ns > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.752685] GPMC CS0: cs_rd_off : > 16 ticks, 96 ns (was 14 ticks) 96 ns > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.760681] GPMC CS0: cs_wr_off : > 16 ticks, 96 ns (was 19 ticks) 96 ns > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.768646] GPMC CS0: adv_on : > 0 ticks, 0 ns (was 0 ticks) 0 ns > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.776641] GPMC CS0: adv_rd_off > : 2 ticks, 12 ns (was 3 ticks) 12 ns > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.784576] GPMC CS0: adv_wr_off > : 2 ticks, 12 ns (was 3 ticks) 12 ns > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.792541] GPMC CS0: oe_on : 3 > ticks, 18 ns (was 5 ticks) 18 ns > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.800476] GPMC CS0: oe_off : > 16 ticks, 96 ns (was 14 ticks) 96 ns > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.808410] GPMC CS0: we_on : 0 > ticks, 0 ns (was 0 ticks) 0 ns > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.816345] GPMC CS0: we_off : > 16 ticks, 96 ns (was 14 ticks) 96 ns > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.824279] GPMC CS0: rd_cycle : > 19 ticks, 114 ns (was 18 ticks) 114 ns > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.832183] GPMC CS0: wr_cycle : > 19 ticks, 114 ns (was 17 ticks) 114 ns > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.840087] GPMC CS0: access : > 15 ticks, 90 ns (was 13 ticks) 90 ns > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.848083] GPMC CS0: > page_burst_access: 2 ticks, 12 ns (was 0 ticks) 12 ns > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.856018] GPMC CS0: bus_turnaround > : 0 ticks, 0 ns (was 0 ticks) 0 ns > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.864013] GPMC CS0: > cycle2cycle_delay: 0 ticks, 0 ns (was 0 ticks) 0 ns > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.871917] GPMC CS0: wr_data_mux_bus > : 5 ticks, 30 ns (was 5 ticks) 30 ns > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.879821] GPMC CS0: wr_access : > 15 ticks, 90 ns (was 13 ticks) 90 ns > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.887817] GPMC CS0: wait_monitoring > : 0 ticks, 0 ns (was 0 ticks) 0 ns > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.895812] GPMC CS0: clk_activation > : 1 ticks, 6 ns (was 0 ticks) 6 ns > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.903747] GPMC CS0 CLK period is 12 > ns (div 2) > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.908599] gpmc cs0 after > gpmc_cs_set_timings: > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.913421] cs0 GPMC_CS_CONFIG1: > 0xfb001201 > Jan 6 10:34:15 Nokia-N900 cellular: csd[1017]: Succesfully loaded plugin > > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.917907] cs0 GPMC_CS_CONFIG2: > 0x00101000 > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.922332] cs0 GPMC_CS_CONFIG3: > 0x00020200 > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.926788] cs0 GPMC_CS_CONFIG4: > 0x10001003 > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.931243] cs0 GPMC_CS_CONFIG5: > 0x020f1313 > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.935729] cs0 GPMC_CS_CONFIG6: > 0x8f050000 > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.940124] gpmc cs0 access > configuration: > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.944519] gpmc,mux-add-data = <2> > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.948211] gpmc,device-width = <1> > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.951934] gpmc,wait-pin = <0> > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.955291] gpmc,burst-length = <16> > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.959106] gpmc,sync-write = <1> > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.962646] gpmc,burst-write = <1> > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.966278] gpmc,gpmc,sync-read = <1> > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.970184] gpmc,burst-read = <1> > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.973724] gpmc,burst-wrap = <1> > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.977233] gpmc cs0 timings > configuration: > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.981658] gpmc,cs-on-ns = <0> /* 0 > ns - 0 ns; 0 ticks */ > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.987518] gpmc,cs-rd-off-ns = <96> > /* 91 ns - 96 ns; 16 ticks */ > Jan 6 10:34:15 Nokia-N900 kernel: [ 1.994049] gpmc,cs-wr-off-ns = <96> > /* 91 ns - 96 ns; 16 ticks */ > Jan 6 10:34:15 Nokia-N900 kernel: [ 2.000610] gpmc,adv-on-ns = <0> /* 0 > ns - 0 ns; 0 ticks */ > Jan 6 10:34:15 Nokia-N900 kernel: [ 2.006591] gpmc,adv-rd-off-ns = <12> > /* 7 ns - 12 ns; 2 ticks */ > Jan 6 10:34:15 Nokia-N900 kernel: [ 2.013000] gpmc,adv-wr-off-ns = <12> > /* 7 ns - 12 ns; 2 ticks */ > Jan 6 10:34:15 Nokia-N900 kernel: [ 2.019500] gpmc,oe-on-ns = <18> /* 13 > ns - 18 ns; 3 ticks */ > Jan 6 10:34:15 Nokia-N900 kernel: [ 2.025634] gpmc,oe-off-ns = <96> /* > 91 ns - 96 ns; 16 ticks */ > Jan 6 10:34:15 Nokia-N900 kernel: [ 2.031921] gpmc,we-on-ns = <0> /* 0 > ns - 0 ns; 0 ticks */ > Jan 6 10:34:15 Nokia-N900 kernel: [ 2.037780] gpmc,we-off-ns = <96> /* > 91 ns - 96 ns; 16 ticks */ > Jan 6 10:34:15 Nokia-N900 kernel: [ 2.044067] gpmc,rd-cycle-ns = <114> > /* 109 ns - 114 ns; 19 ticks */ > Jan 6 10:34:15 Nokia-N900 kernel: [ 2.050811] gpmc,wr-cycle-ns = <114> > /* 109 ns - 114 ns; 19 ticks */ > Jan 6 10:34:15 Nokia-N900 kernel: [ 2.057586] gpmc,access-ns = <90> /* > 85 ns - 90 ns; 15 ticks */ > Jan 6 10:34:15 Nokia-N900 kernel: [ 2.063903] gpmc,page-burst-access-ns > = <12> /* 7 ns - 12 ns; 2 ticks */ > Jan 6 10:34:15 Nokia-N900 kernel: [ 2.071014] gpmc,bus-turnaround-ns = > <0> /* 0 ns - 0 ns; 0 ticks */ > Jan 6 10:34:15 Nokia-N900 kernel: [ 2.077697] gpmc,cycle2cycle-delay-ns > = <0> /* 0 ns - 0 ns; 0 ticks */ > Jan 6 10:34:15 Nokia-N900 kernel: [ 2.084625] gpmc,wait-monitoring-ns = > <0> /* 0 ns - 0 ns; 0 ticks */ > Jan 6 10:34:15 Nokia-N900 kernel: [ 2.091339] gpmc,clk-activation-ns = > <6> /* 1 ns - 6 ns; 1 ticks */ > Jan 6 10:34:15 Nokia-N900 kernel: [ 2.098022] gpmc,wr-data-mux-bus-ns = > <30> /* 25 ns - 30 ns; 5 ticks */ > Jan 6 10:34:15 Nokia-N900 kernel: [ 2.105072] gpmc,wr-access-ns = <90> > /* 85 ns - 90 ns; 15 ticks */ > Jan 6 10:34:15 Nokia-N900 kernel: [ 2.111602] omap2-onenand > omap2-onenand: initializing on CS0, phys base 0x01000000, virtual base > d0940000, freq 83 MHz > Jan 6 10:34:15 Nokia-N900 kernel: [ 2.123016] OneNAND Manufacturer: > Numonyx (0x20) > Jan 6 10:34:15 Nokia-N900 gconfd (root-1080): starting (version 2.16.0), > pid 1080 user 'root' > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.123016] Muxed OneNAND 256MB 1.8V > 16-bit (0x40) > Jan 6 10:34:16 Nokia-N900 waitx[1085]: trying to get X display > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.128112] OneNAND version = 0x0031 > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.131896] Chip support all block > unlock > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.131896] Chip has 2 plane > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.133483] Scanning device for bad > blocks > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.232177] 6 ofpart partitions found > on MTD device (null) > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.238098] Creating 6 MTD partitions > on "(null)": > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.243164] > 0x000000000000-0x000000020000 : "bootloader" > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.249725] > 0x000000020000-0x000000080000 : "config" > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.255767] > 0x000000080000-0x0000000c0000 : "log" > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.263793] mtdoops: ready 34, > 959521136 (no erase) > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.263793] mtdoops: Attached to MTD > device 2 > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.268432] > 0x0000000c0000-0x0000002c0000 : "kernel" > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.274444] > 0x0000002c0000-0x0000004c0000 : "initfs" > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.280364] > 0x0000004c0000-0x000010000000 : "rootfs" > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.287963] gpmc cs1 before > gpmc_cs_program_settings: > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.293304] cs1 GPMC_CS_CONFIG1: > 0x00001000 > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.297790] cs1 GPMC_CS_CONFIG2: > 0x00101001 > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.302246] cs1 GPMC_CS_CONFIG3: > 0x00020201 > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.306732] cs1 GPMC_CS_CONFIG4: > 0x10031003 > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.311126] cs1 GPMC_CS_CONFIG5: > 0x010f1111 > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.315612] cs1 GPMC_CS_CONFIG6: > 0x8f030000 > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.320007] gpmc cs1 access > configuration: > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.324401] gpmc,mux-add-data = <0> > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.328124] gpmc,device-width = <1> > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.331817] gpmc,wait-pin = <0> > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.335205] gpmc,burst-length = <4> > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.338928] gpmc cs1 timings > configuration: > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.343353] gpmc,cs-on-ns = <6> /* 1 > ns - 6 ns; 1 ticks */ > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.349212] gpmc,cs-rd-off-ns = <96> > /* 91 ns - 96 ns; 16 ticks */ > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.355773] gpmc,cs-wr-off-ns = <96> > /* 91 ns - 96 ns; 16 ticks */ > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.362274] gpmc,adv-on-ns = <6> /* 1 > ns - 6 ns; 1 ticks */ > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.368225] gpmc,adv-rd-off-ns = <12> > /* 7 ns - 12 ns; 2 ticks */ > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.374664] gpmc,adv-wr-off-ns = <12> > /* 7 ns - 12 ns; 2 ticks */ > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.381103] gpmc,oe-on-ns = <18> /* 13 > ns - 18 ns; 3 ticks */ > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.387237] gpmc,oe-off-ns = <96> /* > 91 ns - 96 ns; 16 ticks */ > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.393463] gpmc,we-on-ns = <18> /* 13 > ns - 18 ns; 3 ticks */ > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.399597] gpmc,we-off-ns = <96> /* > 91 ns - 96 ns; 16 ticks */ > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.405914] gpmc,rd-cycle-ns = <102> > /* 97 ns - 102 ns; 17 ticks */ > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.412536] gpmc,wr-cycle-ns = <102> > /* 97 ns - 102 ns; 17 ticks */ > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.419219] gpmc,access-ns = <90> /* > 85 ns - 90 ns; 15 ticks */ > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.425476] gpmc,page-burst-access-ns > = <6> /* 1 ns - 6 ns; 1 ticks */ > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.432403] gpmc,bus-turnaround-ns = > <0> /* 0 ns - 0 ns; 0 ticks */ > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.439086] gpmc,cycle2cycle-delay-ns > = <0> /* 0 ns - 0 ns; 0 ticks */ > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.446044] gpmc,wait-monitoring-ns = > <0> /* 0 ns - 0 ns; 0 ticks */ > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.452728] gpmc,clk-activation-ns = > <0> /* 0 ns - 0 ns; 0 ticks */ > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.459442] gpmc,wr-data-mux-bus-ns = > <18> /* 13 ns - 18 ns; 3 ticks */ > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.466491] gpmc,wr-access-ns = <90> > /* 85 ns - 90 ns; 15 ticks */ > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.473052] GPMC CS1: cs_on : 0 > ticks, 0 ns (was 1 ticks) 0 ns > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.481048] GPMC CS1: cs_rd_off : > 8 ticks, 48 ns (was 16 ticks) 48 ns > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.489044] GPMC CS1: cs_wr_off : > 4 ticks, 24 ns (was 16 ticks) 24 ns > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.496978] GPMC CS1: adv_on : > 0 ticks, 0 ns (was 1 ticks) 0 ns > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.504943] GPMC CS1: adv_rd_off > : 0 ticks, 0 ns (was 2 ticks) 0 ns > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.512878] GPMC CS1: adv_wr_off > : 0 ticks, 0 ns (was 2 ticks) 0 ns > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.520843] GPMC CS1: oe_on : 2 > ticks, 12 ns (was 3 ticks) 12 ns > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.528839] GPMC CS1: oe_off : > 8 ticks, 48 ns (was 16 ticks) 48 ns > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.536773] GPMC CS1: we_on : 2 > ticks, 12 ns (was 3 ticks) 12 ns > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.544708] GPMC CS1: we_off : > 3 ticks, 18 ns (was 16 ticks) 18 ns > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.552612] GPMC CS1: rd_cycle : > 30 ticks, 180 ns (was 17 ticks) 180 ns > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.560607] GPMC CS1: wr_cycle : > 30 ticks, 180 ns (was 17 ticks) 180 ns > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.568542] GPMC CS1: access : > 7 ticks, 42 ns (was 15 ticks) 42 ns > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.576477] GPMC CS1: > page_burst_access: 0 ticks, 0 ns (was 1 ticks) 0 ns > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.584472] GPMC CS1: bus_turnaround > : 0 ticks, 0 ns (was 0 ticks) 0 ns > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.592346] GPMC CS1: > cycle2cycle_delay: 0 ticks, 0 ns (was 0 ticks) 0 ns > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.600341] GPMC CS1: wr_data_mux_bus > : 2 ticks, 12 ns (was 3 ticks) 12 ns > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.608276] GPMC CS1: wr_access : > 0 ticks, 0 ns (was 15 ticks) 0 ns > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.616271] GPMC CS1: wait_monitoring > : 0 ticks, 0 ns (was 0 ticks) 0 ns > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.624267] GPMC CS1: clk_activation > : 0 ticks, 0 ns (was 0 ticks) 0 ns > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.632171] GPMC CS1 CLK period is 6 > ns (div 1) > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.637023] gpmc cs1 after > gpmc_cs_set_timings: > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.641815] cs1 GPMC_CS_CONFIG1: > 0x00001000 > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.646301] cs1 GPMC_CS_CONFIG2: > 0x00040800 > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.650726] cs1 GPMC_CS_CONFIG3: > 0x00000000 > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.655212] cs1 GPMC_CS_CONFIG4: > 0x03020802 > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.659606] cs1 GPMC_CS_CONFIG5: > 0x00071e1e > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.664093] cs1 GPMC_CS_CONFIG6: > 0x80020000 > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.668548] gpmc cs1 access > configuration: > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.672882] gpmc,mux-add-data = <0> > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.676635] gpmc,device-width = <1> > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.680328] gpmc,wait-pin = <0> > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.683685] gpmc,burst-length = <4> > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.687408] gpmc cs1 timings > configuration: > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.691833] gpmc,cs-on-ns = <0> /* 0 > ns - 0 ns; 0 ticks */ > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.697692] gpmc,cs-rd-off-ns = <48> > /* 43 ns - 48 ns; 8 ticks */ > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.704132] gpmc,cs-wr-off-ns = <24> > /* 19 ns - 24 ns; 4 ticks */ > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.710601] gpmc,adv-on-ns = <0> /* 0 > ns - 0 ns; 0 ticks */ > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.716552] gpmc,adv-rd-off-ns = <0> > /* 0 ns - 0 ns; 0 ticks */ > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.722808] gpmc,adv-wr-off-ns = <0> > /* 0 ns - 0 ns; 0 ticks */ > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.729125] gpmc,oe-on-ns = <12> /* 7 > ns - 12 ns; 2 ticks */ > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.735137] gpmc,oe-off-ns = <48> /* > 43 ns - 48 ns; 8 ticks */ > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.741333] gpmc,we-on-ns = <12> /* 7 > ns - 12 ns; 2 ticks */ > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.747375] gpmc,we-off-ns = <18> /* > 13 ns - 18 ns; 3 ticks */ > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.753509] gpmc,rd-cycle-ns = <180> > /* 175 ns - 180 ns; 30 ticks */ > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.760284] gpmc,wr-cycle-ns = <180> > /* 175 ns - 180 ns; 30 ticks */ > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.767059] gpmc,access-ns = <42> /* > 37 ns - 42 ns; 7 ticks */ > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.773254] gpmc,page-burst-access-ns > = <0> /* 0 ns - 0 ns; 0 ticks */ > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.780212] gpmc,bus-turnaround-ns = > <0> /* 0 ns - 0 ns; 0 ticks */ > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.786895] gpmc,cycle2cycle-delay-ns > = <0> /* 0 ns - 0 ns; 0 ticks */ > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.793853] gpmc,wait-monitoring-ns = > <0> /* 0 ns - 0 ns; 0 ticks */ > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.800628] gpmc,clk-activation-ns = > <0> /* 0 ns - 0 ns; 0 ticks */ > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.807312] gpmc,wr-data-mux-bus-ns = > <12> /* 7 ns - 12 ns; 2 ticks */ > Jan 6 10:34:16 Nokia-N900 kernel: [ 2.814270] gpmc,wr-access-ns = <0> /* > 0 ns - 0 ns; 0 ticks */ Just one note. In future, please do not send logs in format flowed emails as space on end of line has special meanings. And output is wrapped randomly and hard to read (like in my quoted text above). If you are unable to configure email client correctly (turn of format flowed) then rather attach logs as attachment (ideally marked with Content-Disposition: inline). See linux/Documentation/email-clients.txt where are very useful hints how to fix buggy email clients. -- Pali Roh?r pali.rohar at gmail.com