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 X-Spam-Level: X-Spam-Status: No, score=-8.1 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_2 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4F6C2C433DF for ; Wed, 26 Aug 2020 06:24:48 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 280D52076C for ; Wed, 26 Aug 2020 06:24:48 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=kemnade.info header.i=@kemnade.info header.b="hWxt+jlZ" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726186AbgHZGYr (ORCPT ); Wed, 26 Aug 2020 02:24:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39912 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725880AbgHZGYn (ORCPT ); Wed, 26 Aug 2020 02:24:43 -0400 Received: from mail.andi.de1.cc (mail.andi.de1.cc [IPv6:2a01:238:4321:8900:456f:ecd6:43e:202c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1C9A6C061574; Tue, 25 Aug 2020 23:24:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=kemnade.info; s=20180802; h=Content-Transfer-Encoding:Content-Type: MIME-Version:References:In-Reply-To:Message-ID:Subject:Cc:To:From:Date:Sender :Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=I82j6H9k82ao43czQe8LTe540Te4tbOROzYysGGKyDQ=; b=hWxt+jlZbe0ByW+y6QJjZJodVY 2FLGMuMy2S6R0No77t44A8cSZoE3btVzprEDmbn0UpXcOT7YCndSBqfPMMGiXn4dw8N6hXgERfybY f4XTefvESCA+N/TD5JlJe7Bw4AmjCrCNJXfRSjdbnWNngn5yYv/5BLYwD+mxg8/06ZVo=; Received: from p200300ccff0d72001a3da2fffebfd33a.dip0.t-ipconnect.de ([2003:cc:ff0d:7200:1a3d:a2ff:febf:d33a] helo=aktux) by mail.andi.de1.cc with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1kAorB-0002Cy-9i; Wed, 26 Aug 2020 08:24:25 +0200 Date: Wed, 26 Aug 2020 08:24:23 +0200 From: Andreas Kemnade To: Jonathan =?UTF-8?B?TmV1c2Now6RmZXI=?= Cc: robh+dt@kernel.org, shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, linux-imx@nxp.com, Anson.Huang@nxp.com, marcel.ziswiler@toradex.com, sebastien.szymanski@armadeus.com, rjones@gateworks.com, leoyang.li@nxp.com, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, letux-kernel@openphoenux.org Subject: Re: [PATCH RFC 2/2] ARM: dts: imx: add devicetree for Tolino Shine 2 HD Message-ID: <20200826082423.6e756fbb@aktux> In-Reply-To: <20200816125247.GA103070@latitude> References: <20200815193336.21598-1-andreas@kemnade.info> <20200815193336.21598-3-andreas@kemnade.info> <20200816125247.GA103070@latitude> X-Mailer: Claws Mail 3.17.3 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sun, 16 Aug 2020 14:54:41 +0200 Jonathan Neusch=C3=A4fer wrote: > On Sat, Aug 15, 2020 at 09:33:36PM +0200, Andreas Kemnade wrote: > > This adds a devicetree for the Tolino Shine 2 HD Ebook reader. It is ba= sed > > on boards marked with "37NB-E60QF0+4A2". It is equipped with an i.MX6SL > > SoC. > >=20 > > Expected to work: > > - Buttons > > - Wifi > > - Touchscreen > > - LED > > - uSD > > - USB > > - RTC > >=20 > > Not working due to missing drivers: > > - Backlight (requires NTXEC driver) > > - EPD > >=20 > > Not working due to unknown reasons: > > - deep sleep (echo standby >/sys/power/state works), > > wakeup fails when imx_gpc_pre_suspend(true) was called. > >=20 > > Signed-off-by: Andreas Kemnade > > --- > > Reason for RFC: The suspend trouble might be caused by bad devicetree. > > But as the devicetree is already useful I decided to submit it. =20 > [...] > > +++ b/arch/arm/boot/dts/imx6sl-tolino-shine2hd.dts > > @@ -0,0 +1,582 @@ > > +// SPDX-License-Identifier: (GPL-2.0) =20 >=20 > I don't think the parentheses are required when you don't have a logical > operator (OR) in the SPDX expression. >=20 > > +&i2c1 { > > + pinctrl-names =3D "default","sleep"; > > + pinctrl-0 =3D <&pinctrl_i2c1>; > > + pinctrl-1 =3D <&pinctrl_i2c1_sleep>; > > + status =3D "okay"; > > + > > + /* TODO: embedded controller at 0x43 (driver missing) */ =20 >=20 > Sorry for the delay, BTW. I'm still (slowly) working on v2. >=20 > > + ricoh619: pmic@32 { > > + compatible =3D "ricoh,rc5t619"; > > + pinctrl-names =3D "default"; > > + pinctrl-0 =3D <&pinctrl_ricoh_gpio>; > > + reg =3D <0x32>; > > + interrupt-parent =3D <&gpio5>; > > + interrupts =3D <11 IRQ_TYPE_EDGE_FALLING>; > > + system-power-controller; > > + > > + regulators { =20 >=20 > How did you derive the regulator voltages? >=20 Several sources: - deriving from the existing device trees, - looking for board specific variances in board-mx6sl_ntx.c of the Tolino kernel,=20 - looking for comments in the file. I compared a register dump of the PMIC from both the vendor kernel and my devicetree and found no significant differences. > > + pinctrl_hog: hoggrp { > > + fsl,pins =3D < > > + MX6SL_PAD_LCD_DAT0__GPIO2_IO20 0x79 > > + MX6SL_PAD_LCD_DAT1__GPIO2_IO21 0x79 > > + MX6SL_PAD_LCD_DAT2__GPIO2_IO22 0x79 > > + MX6SL_PAD_LCD_DAT3__GPIO2_IO23 0x79 > > + MX6SL_PAD_LCD_DAT4__GPIO2_IO24 0x79 > > + MX6SL_PAD_LCD_DAT5__GPIO2_IO25 0x79 > > + MX6SL_PAD_LCD_DAT6__GPIO2_IO26 0x79 > > + MX6SL_PAD_LCD_DAT7__GPIO2_IO27 0x79 > > + MX6SL_PAD_LCD_DAT8__GPIO2_IO28 0x79 > > + MX6SL_PAD_LCD_DAT9__GPIO2_IO29 0x79 > > + MX6SL_PAD_LCD_DAT10__GPIO2_IO30 0x79 > > + MX6SL_PAD_LCD_DAT11__GPIO2_IO31 0x79 > > + MX6SL_PAD_LCD_DAT12__GPIO3_IO00 0x79 > > + MX6SL_PAD_LCD_DAT13__GPIO3_IO01 0x79 > > + MX6SL_PAD_LCD_DAT14__GPIO3_IO02 0x79 > > + MX6SL_PAD_LCD_DAT15__GPIO3_IO03 0x79 > > + MX6SL_PAD_LCD_DAT16__GPIO3_IO04 0x79 > > + MX6SL_PAD_LCD_DAT17__GPIO3_IO05 0x79 > > + MX6SL_PAD_LCD_DAT18__GPIO3_IO06 0x79 > > + MX6SL_PAD_LCD_DAT19__GPIO3_IO07 0x79 > > + MX6SL_PAD_LCD_DAT20__GPIO3_IO08 0x79 > > + MX6SL_PAD_LCD_DAT21__GPIO3_IO09 0x79 > > + MX6SL_PAD_LCD_DAT22__GPIO3_IO10 0x79 > > + MX6SL_PAD_LCD_DAT23__GPIO3_IO11 0x79 > > + MX6SL_PAD_LCD_CLK__GPIO2_IO15 0x79 > > + MX6SL_PAD_LCD_ENABLE__GPIO2_IO16 0x79 > > + MX6SL_PAD_LCD_HSYNC__GPIO2_IO17 0x79 > > + MX6SL_PAD_LCD_VSYNC__GPIO2_IO18 0x79 > > + MX6SL_PAD_LCD_RESET__GPIO2_IO19 0x79 > > + MX6SL_PAD_KEY_COL3__GPIO3_IO30 0x79 > > + MX6SL_PAD_KEY_ROW7__GPIO4_IO07 0x79 > > + MX6SL_PAD_ECSPI2_MOSI__GPIO4_IO13 0x79 > > + MX6SL_PAD_KEY_COL5__GPIO4_IO02 0x79 > > + MX6SL_PAD_KEY_ROW6__GPIO4_IO05 0x79 > > + >; > > + }; =20 >=20 > Why are there so many hogged pins? Will some of them receive a proper > configuration once the EPDC driver is implemented? >=20 I copied them over and found no hints in the Tolino kernel that it is a bad idea. Regards, Andreas 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 X-Spam-Level: X-Spam-Status: No, score=-9.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_2 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6485FC433E1 for ; Wed, 26 Aug 2020 06:25:59 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 2E82C2076C for ; Wed, 26 Aug 2020 06:25:59 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="bNDI3MNR"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=kemnade.info header.i=@kemnade.info header.b="hWxt+jlZ" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2E82C2076C Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=kemnade.info Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Message-ID: Subject: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=kpH/hEbXSQV6zI0y6R+8TPCL4cx9/FCfbyXpadUUmB0=; b=bNDI3MNRbVenr9yLi61qLrBnm bgGvyC2oKcKGKGl74V+S/hmgLAGunh9+cYyYF2fo3HlOrZmThTZAJcZx5LKlhQhOse5d3uMZB+MIs B7VNXzwOtkAm+fE91itZ52CHPAOKf0o8uxLXodarBAgZI8tFUYkH+1pMmrb9oGhSHiqCcTvIDthS7 volFIPX4ha/hg7LTHPgSQakuBP6LakONe+5+H6F7BjBFoVXVaVZdHQmaehPv091nmEFnzhBdA0vrN 474p/vYX3oS/W3TMv5brkk0zmOtLwQivZoqk+GGKDNPmDxpgjegAFBaGFnJ2lgE43xmj7e+bOjCEm MqBYixFZw==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kAorU-0001RG-F1; Wed, 26 Aug 2020 06:24:44 +0000 Received: from mail.andi.de1.cc ([2a01:238:4321:8900:456f:ecd6:43e:202c]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kAorQ-0001PR-U2 for linux-arm-kernel@lists.infradead.org; Wed, 26 Aug 2020 06:24:42 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=kemnade.info; s=20180802; h=Content-Transfer-Encoding:Content-Type: MIME-Version:References:In-Reply-To:Message-ID:Subject:Cc:To:From:Date:Sender :Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=I82j6H9k82ao43czQe8LTe540Te4tbOROzYysGGKyDQ=; b=hWxt+jlZbe0ByW+y6QJjZJodVY 2FLGMuMy2S6R0No77t44A8cSZoE3btVzprEDmbn0UpXcOT7YCndSBqfPMMGiXn4dw8N6hXgERfybY f4XTefvESCA+N/TD5JlJe7Bw4AmjCrCNJXfRSjdbnWNngn5yYv/5BLYwD+mxg8/06ZVo=; Received: from p200300ccff0d72001a3da2fffebfd33a.dip0.t-ipconnect.de ([2003:cc:ff0d:7200:1a3d:a2ff:febf:d33a] helo=aktux) by mail.andi.de1.cc with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1kAorB-0002Cy-9i; Wed, 26 Aug 2020 08:24:25 +0200 Date: Wed, 26 Aug 2020 08:24:23 +0200 From: Andreas Kemnade To: Jonathan =?UTF-8?B?TmV1c2Now6RmZXI=?= Subject: Re: [PATCH RFC 2/2] ARM: dts: imx: add devicetree for Tolino Shine 2 HD Message-ID: <20200826082423.6e756fbb@aktux> In-Reply-To: <20200816125247.GA103070@latitude> References: <20200815193336.21598-1-andreas@kemnade.info> <20200815193336.21598-3-andreas@kemnade.info> <20200816125247.GA103070@latitude> X-Mailer: Claws Mail 3.17.3 (GTK+ 2.24.32; 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-20200826_022441_223261_90FA16F1 X-CRM114-Status: GOOD ( 21.79 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, rjones@gateworks.com, Anson.Huang@nxp.com, marcel.ziswiler@toradex.com, shawnguo@kernel.org, s.hauer@pengutronix.de, linux-kernel@vger.kernel.org, leoyang.li@nxp.com, robh+dt@kernel.org, linux-imx@nxp.com, kernel@pengutronix.de, sebastien.szymanski@armadeus.com, letux-kernel@openphoenux.org, festevam@gmail.com, linux-arm-kernel@lists.infradead.org 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 T24gU3VuLCAxNiBBdWcgMjAyMCAxNDo1NDo0MSArMDIwMApKb25hdGhhbiBOZXVzY2jDpGZlciA8 ai5uZXVzY2hhZWZlckBnbXgubmV0PiB3cm90ZToKCj4gT24gU2F0LCBBdWcgMTUsIDIwMjAgYXQg MDk6MzM6MzZQTSArMDIwMCwgQW5kcmVhcyBLZW1uYWRlIHdyb3RlOgo+ID4gVGhpcyBhZGRzIGEg ZGV2aWNldHJlZSBmb3IgdGhlIFRvbGlubyBTaGluZSAyIEhEIEVib29rIHJlYWRlci4gSXQgaXMg YmFzZWQKPiA+IG9uIGJvYXJkcyBtYXJrZWQgd2l0aCAiMzdOQi1FNjBRRjArNEEyIi4gSXQgaXMg ZXF1aXBwZWQgd2l0aCBhbiBpLk1YNlNMCj4gPiBTb0MuCj4gPiAKPiA+IEV4cGVjdGVkIHRvIHdv cms6Cj4gPiAtIEJ1dHRvbnMKPiA+IC0gV2lmaQo+ID4gLSBUb3VjaHNjcmVlbgo+ID4gLSBMRUQK PiA+IC0gdVNECj4gPiAtIFVTQgo+ID4gLSBSVEMKPiA+IAo+ID4gTm90IHdvcmtpbmcgZHVlIHRv IG1pc3NpbmcgZHJpdmVyczoKPiA+IC0gQmFja2xpZ2h0IChyZXF1aXJlcyBOVFhFQyBkcml2ZXIp Cj4gPiAtIEVQRAo+ID4gCj4gPiBOb3Qgd29ya2luZyBkdWUgdG8gdW5rbm93biByZWFzb25zOgo+ ID4gLSBkZWVwIHNsZWVwIChlY2hvIHN0YW5kYnkgPi9zeXMvcG93ZXIvc3RhdGUgd29ya3MpLAo+ ID4gICB3YWtldXAgZmFpbHMgd2hlbiBpbXhfZ3BjX3ByZV9zdXNwZW5kKHRydWUpIHdhcyBjYWxs ZWQuCj4gPiAKPiA+IFNpZ25lZC1vZmYtYnk6IEFuZHJlYXMgS2VtbmFkZSA8YW5kcmVhc0BrZW1u YWRlLmluZm8+Cj4gPiAtLS0KPiA+IFJlYXNvbiBmb3IgUkZDOiBUaGUgc3VzcGVuZCB0cm91Ymxl IG1pZ2h0IGJlIGNhdXNlZCBieSBiYWQgZGV2aWNldHJlZS4KPiA+IEJ1dCBhcyB0aGUgZGV2aWNl dHJlZSBpcyBhbHJlYWR5IHVzZWZ1bCBJIGRlY2lkZWQgdG8gc3VibWl0IGl0LiAgCj4gWy4uLl0K PiA+ICsrKyBiL2FyY2gvYXJtL2Jvb3QvZHRzL2lteDZzbC10b2xpbm8tc2hpbmUyaGQuZHRzCj4g PiBAQCAtMCwwICsxLDU4MiBAQAo+ID4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiAoR1BM LTIuMCkgIAo+IAo+IEkgZG9uJ3QgdGhpbmsgdGhlIHBhcmVudGhlc2VzIGFyZSByZXF1aXJlZCB3 aGVuIHlvdSBkb24ndCBoYXZlIGEgbG9naWNhbAo+IG9wZXJhdG9yIChPUikgaW4gdGhlIFNQRFgg ZXhwcmVzc2lvbi4KPiAKPiA+ICsmaTJjMSB7Cj4gPiArCXBpbmN0cmwtbmFtZXMgPSAiZGVmYXVs dCIsInNsZWVwIjsKPiA+ICsJcGluY3RybC0wID0gPCZwaW5jdHJsX2kyYzE+Owo+ID4gKwlwaW5j dHJsLTEgPSA8JnBpbmN0cmxfaTJjMV9zbGVlcD47Cj4gPiArCXN0YXR1cyA9ICJva2F5IjsKPiA+ ICsKPiA+ICsJLyogVE9ETzogZW1iZWRkZWQgY29udHJvbGxlciBhdCAweDQzIChkcml2ZXIgbWlz c2luZykgKi8gIAo+IAo+IFNvcnJ5IGZvciB0aGUgZGVsYXksIEJUVy4gSSdtIHN0aWxsIChzbG93 bHkpIHdvcmtpbmcgb24gdjIuCj4gCj4gPiArCXJpY29oNjE5OiBwbWljQDMyIHsKPiA+ICsJCWNv bXBhdGlibGUgPSAicmljb2gscmM1dDYxOSI7Cj4gPiArCQlwaW5jdHJsLW5hbWVzID0gImRlZmF1 bHQiOwo+ID4gKwkJcGluY3RybC0wID0gPCZwaW5jdHJsX3JpY29oX2dwaW8+Owo+ID4gKwkJcmVn ID0gPDB4MzI+Owo+ID4gKwkJaW50ZXJydXB0LXBhcmVudCA9IDwmZ3BpbzU+Owo+ID4gKwkJaW50 ZXJydXB0cyA9IDwxMSBJUlFfVFlQRV9FREdFX0ZBTExJTkc+Owo+ID4gKwkJc3lzdGVtLXBvd2Vy LWNvbnRyb2xsZXI7Cj4gPiArCj4gPiArCQlyZWd1bGF0b3JzIHsgIAo+IAo+IEhvdyBkaWQgeW91 IGRlcml2ZSB0aGUgcmVndWxhdG9yIHZvbHRhZ2VzPwo+IApTZXZlcmFsIHNvdXJjZXM6Ci0gZGVy aXZpbmcgZnJvbSB0aGUgZXhpc3RpbmcgZGV2aWNlIHRyZWVzLAotIGxvb2tpbmcgZm9yIGJvYXJk IHNwZWNpZmljIHZhcmlhbmNlcyBpbgpib2FyZC1teDZzbF9udHguYyBvZiB0aGUgVG9saW5vIGtl cm5lbCwgCi0gbG9va2luZyBmb3IgY29tbWVudHMgaW4gdGhlIGZpbGUuCgpJIGNvbXBhcmVkIGEg cmVnaXN0ZXIgZHVtcCBvZiB0aGUgUE1JQyBmcm9tIGJvdGggdGhlIHZlbmRvciBrZXJuZWwKYW5k IG15IGRldmljZXRyZWUgYW5kIGZvdW5kIG5vIHNpZ25pZmljYW50IGRpZmZlcmVuY2VzLgoKCj4g PiArCXBpbmN0cmxfaG9nOiBob2dncnAgewo+ID4gKwkJZnNsLHBpbnMgPSA8Cj4gPiArCQkJTVg2 U0xfUEFEX0xDRF9EQVQwX19HUElPMl9JTzIwCTB4NzkKPiA+ICsJCQlNWDZTTF9QQURfTENEX0RB VDFfX0dQSU8yX0lPMjEJMHg3OQo+ID4gKwkJCU1YNlNMX1BBRF9MQ0RfREFUMl9fR1BJTzJfSU8y MgkweDc5Cj4gPiArCQkJTVg2U0xfUEFEX0xDRF9EQVQzX19HUElPMl9JTzIzCTB4NzkKPiA+ICsJ CQlNWDZTTF9QQURfTENEX0RBVDRfX0dQSU8yX0lPMjQJMHg3OQo+ID4gKwkJCU1YNlNMX1BBRF9M Q0RfREFUNV9fR1BJTzJfSU8yNQkweDc5Cj4gPiArCQkJTVg2U0xfUEFEX0xDRF9EQVQ2X19HUElP Ml9JTzI2CTB4NzkKPiA+ICsJCQlNWDZTTF9QQURfTENEX0RBVDdfX0dQSU8yX0lPMjcJMHg3OQo+ ID4gKwkJCU1YNlNMX1BBRF9MQ0RfREFUOF9fR1BJTzJfSU8yOAkweDc5Cj4gPiArCQkJTVg2U0xf UEFEX0xDRF9EQVQ5X19HUElPMl9JTzI5CTB4NzkKPiA+ICsJCQlNWDZTTF9QQURfTENEX0RBVDEw X19HUElPMl9JTzMwCTB4NzkKPiA+ICsJCQlNWDZTTF9QQURfTENEX0RBVDExX19HUElPMl9JTzMx CTB4NzkKPiA+ICsJCQlNWDZTTF9QQURfTENEX0RBVDEyX19HUElPM19JTzAwCTB4NzkKPiA+ICsJ CQlNWDZTTF9QQURfTENEX0RBVDEzX19HUElPM19JTzAxCTB4NzkKPiA+ICsJCQlNWDZTTF9QQURf TENEX0RBVDE0X19HUElPM19JTzAyCTB4NzkKPiA+ICsJCQlNWDZTTF9QQURfTENEX0RBVDE1X19H UElPM19JTzAzCTB4NzkKPiA+ICsJCQlNWDZTTF9QQURfTENEX0RBVDE2X19HUElPM19JTzA0CTB4 NzkKPiA+ICsJCQlNWDZTTF9QQURfTENEX0RBVDE3X19HUElPM19JTzA1CTB4NzkKPiA+ICsJCQlN WDZTTF9QQURfTENEX0RBVDE4X19HUElPM19JTzA2CTB4NzkKPiA+ICsJCQlNWDZTTF9QQURfTENE X0RBVDE5X19HUElPM19JTzA3CTB4NzkKPiA+ICsJCQlNWDZTTF9QQURfTENEX0RBVDIwX19HUElP M19JTzA4CTB4NzkKPiA+ICsJCQlNWDZTTF9QQURfTENEX0RBVDIxX19HUElPM19JTzA5CTB4NzkK PiA+ICsJCQlNWDZTTF9QQURfTENEX0RBVDIyX19HUElPM19JTzEwCTB4NzkKPiA+ICsJCQlNWDZT TF9QQURfTENEX0RBVDIzX19HUElPM19JTzExCTB4NzkKPiA+ICsJCQlNWDZTTF9QQURfTENEX0NM S19fR1BJTzJfSU8xNQkJMHg3OQo+ID4gKwkJCU1YNlNMX1BBRF9MQ0RfRU5BQkxFX19HUElPMl9J TzE2CTB4NzkKPiA+ICsJCQlNWDZTTF9QQURfTENEX0hTWU5DX19HUElPMl9JTzE3CTB4NzkKPiA+ ICsJCQlNWDZTTF9QQURfTENEX1ZTWU5DX19HUElPMl9JTzE4CTB4NzkKPiA+ICsJCQlNWDZTTF9Q QURfTENEX1JFU0VUX19HUElPMl9JTzE5CTB4NzkKPiA+ICsJCQlNWDZTTF9QQURfS0VZX0NPTDNf X0dQSU8zX0lPMzAJCTB4NzkKPiA+ICsJCQlNWDZTTF9QQURfS0VZX1JPVzdfX0dQSU80X0lPMDcJ CTB4NzkKPiA+ICsJCQlNWDZTTF9QQURfRUNTUEkyX01PU0lfX0dQSU80X0lPMTMJMHg3OQo+ID4g KwkJCU1YNlNMX1BBRF9LRVlfQ09MNV9fR1BJTzRfSU8wMgkJMHg3OQo+ID4gKwkJCU1YNlNMX1BB RF9LRVlfUk9XNl9fR1BJTzRfSU8wNQkJMHg3OQo+ID4gKwkJPjsKPiA+ICsJfTsgIAo+IAo+IFdo eSBhcmUgdGhlcmUgc28gbWFueSBob2dnZWQgcGlucz8gV2lsbCBzb21lIG9mIHRoZW0gcmVjZWl2 ZSBhIHByb3Blcgo+IGNvbmZpZ3VyYXRpb24gb25jZSB0aGUgRVBEQyBkcml2ZXIgaXMgaW1wbGVt ZW50ZWQ/Cj4gCkkgY29waWVkIHRoZW0gb3ZlciBhbmQgZm91bmQgbm8gaGludHMgaW4gdGhlClRv bGlubyBrZXJuZWwgdGhhdCBpdCBpcyBhIGJhZCBpZGVhLgoKUmVnYXJkcywKQW5kcmVhcwoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtl cm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0 dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5l bAo=