From mboxrd@z Thu Jan 1 00:00:00 1970 From: mpa@pengutronix.de (Markus Pargmann) Date: Sun, 23 Jun 2013 10:17:50 +0200 Subject: [PATCH 6/6] ARM: dts: Add device tree support for phycard pca100 In-Reply-To: <20130621034604.GC24268@S2101-09.ap.freescale.net> References: <1371739815-6666-1-git-send-email-mpa@pengutronix.de> <1371739815-6666-7-git-send-email-mpa@pengutronix.de> <20130621034604.GC24268@S2101-09.ap.freescale.net> Message-ID: <20130623081701.GA13104@s25.your-server.de> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Fri, Jun 21, 2013 at 11:46:05AM +0800, Shawn Guo wrote: > On Thu, Jun 20, 2013 at 04:50:15PM +0200, Markus Pargmann wrote: > > Based on patches from: > > > > Steffen Trumtrar : > > - Original patch > > - ARM: dts: Set partition offsets for phycard > > - ARM: dts: Use CSPI1 instead of CSPI2 on phycard pca100 > > - ARM: imx27-phytec-phycard-S.dts: resize nand partitions > > > > Jan Luebbe : > > - ARM: dts: Enable bad block table in NAND > > > > Cc: Steffen Trumtrar > > Cc: Jan Luebbe > > Signed-off-by: Markus Pargmann > > --- > > arch/arm/boot/dts/Makefile | 1 + > > arch/arm/boot/dts/imx27-phytec-phycard-S.dts | 195 +++++++++++++++++++++++++++ > > arch/arm/mach-imx/Kconfig | 1 + > > 3 files changed, 197 insertions(+) > > create mode 100644 arch/arm/boot/dts/imx27-phytec-phycard-S.dts > > > > diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile > > index b3a8661..e8fb0bc 100644 > > --- a/arch/arm/boot/dts/Makefile > > +++ b/arch/arm/boot/dts/Makefile > > @@ -105,6 +105,7 @@ dtb-$(CONFIG_ARCH_MXC) += \ > > imx27-pdk.dtb \ > > imx27-phytec-phycore-som.dtb \ > > imx27-phytec-phycore-rdk.dtb \ > > + imx27-phytec-phycard-S.dtb \ > > imx31-bug.dtb \ > > imx51-apf51.dtb \ > > imx51-apf51dev.dtb \ > > diff --git a/arch/arm/boot/dts/imx27-phytec-phycard-S.dts b/arch/arm/boot/dts/imx27-phytec-phycard-S.dts > > new file mode 100644 > > index 0000000..dc3a93b > > --- /dev/null > > +++ b/arch/arm/boot/dts/imx27-phytec-phycard-S.dts > > @@ -0,0 +1,195 @@ > > +/* > > + * Copyright 2012 Sascha Hauer, Uwe Kleine-K?nig and Steffen Trumtrar, Pengutronix > > + * > > + * The code contained herein is licensed under the GNU General Public > > + * License. You may obtain a copy of the GNU General Public License > > + * Version 2 or later at the following locations: > > + * > > + * http://www.opensource.org/licenses/gpl-license.html > > + * http://www.gnu.org/copyleft/gpl.html > > + */ > > + > > +/dts-v1/; > > +#include "imx27.dtsi" > > + > > +/ { > > + model = "Phytec pca100"; > > + compatible = "phytec,imx27-pca100", "fsl,imx27"; > > + > > + memory { > > + device_type = "memory"; > > It's been covered by skeleton.dtsi. > > > + #address-cells = <1>; > > + #size-cells = <1>; > > They are only needed if there are child nodes with "reg" property. Removed > > > + reg = <0x0 0x08000000>; // 128MB > > + }; > > + > > + soc { > > + aipi at 10000000 { /* aipi */ > > + wdog at 10002000 { > > + status = "okay"; > > + }; > > We now use node label in board dts files to refer to the nodes defined > in soc dts. I replaced all node identifiers with their labels. > > > + > > + owire at 10009000 { > > + status = "okay"; > > + }; > > + > > + serial at 1000a000 { > > + fsl,uart-has-rtscts; > > + status = "okay"; > > + }; > > + > > + serial at 1000b000 { > > + fsl,uart-has-rtscts; > > + status = "okay"; > > + }; > > + > > + serial at 1000c000 { > > + fsl,uart-has-rtscts; > > + status = "okay"; > > + }; > > + > > + cspi at 1000e000 { > > + fsl,spi-num-chipselects = <2>; > > + cs-gpios = <&gpio4 28 0>, > > + <&gpio4 27 0>; > > + status = "okay"; > > + }; > > + > > + i2c at 10012000 { > > + status = "okay"; > > + ioexpander at 41 { > > + compatible = "nxp,pca9536"; > > + reg = <0x41>; > > + }; > > Please put blank line before and after node. Fixed > > > + rtc at 51 { > > + compatible = "nxp,pcf8563"; > > + reg = <0x51>; > > + }; > > + dimmer at 60 { > > + compatible = "nxp,pca9530"; > > + reg = <0x60>; > > > + pwm = <1 1>; > > + psc = <1 1>; > > + leds = <&led0 &led1>; > > Are these documented/accepted bindings? No, sorry, I forgot to remove them. > > > + led0: led0 { > > + label = "pba-lcd_brightness"; > > + default-state = "off"; > > + type = "led"; > > What is this "type" property used for? Is it documented? > > > + }; > > + led1: led1 { > > + label = "pba-free_use"; > > + default-state = "off"; > > + type = "led"; > > + }; > > + }; > > + }; > > + > > + sdhci at 10014000 { > > + cd-gpios = <&gpio3 29 0>; > > + status = "okay"; > > + }; > > + > > + gpio at 10015000 { > > + status = "okay"; > > + }; > > + > > + gpio at 10015100 { > > + status = "okay"; > > + }; > > + > > + gpio at 10015200 { > > + status = "okay"; > > + }; > > + > > + gpio at 10015300 { > > + status = "okay"; > > + }; > > + > > + gpio at 10015400 { > > + status = "okay"; > > + }; > > + > > + gpio at 10015500 { > > + status = "okay"; > > + }; > > + > > + i2c at 1001d000 { > > + status = "okay"; > > + > > + lm75 at 4a { > > + compatible = "national,lm75"; > > + reg = <0x4a>; > > + }; > > + > > + rtc at 51 { > > + compatible = "nxp,pcf8563"; > > + reg = <0x51>; > > + }; > > + > > + at24 at 52 { > > + compatible = "at,24c32"; > > + pagesize = <32>; > > + reg = <0x52>; > > + }; > > + }; > > + }; > > + > > + aipi at 10020000 { /* AIPI2 */ > > + fb at 10021000 { > > + status = "okay"; > > Please let it be the last property in the node. Fixed. > > > + display = <&display0>; > > + }; > > + > > + ethernet at 1002b000 { > > + status = "okay"; > > + }; > > + }; /* AIPI */ > > + > > + nand at d8000000 { > > + status = "okay"; > > Ditto > > > + nand-bus-width = <8>; > > + nand-ecc-mode = "hw"; > > + nand-on-flash-bbt; > > + > > + barebox at 0 { > > + label = "barebox"; > > + reg = <0x0 0x80000>; > > + }; > > + > > + bareboxenv at 80000 { > > + label = "bareboxenv"; > > + reg = <0x80000 0x80000>; > > + }; > > + > > + kernel at 100000 { > > + label = "kernel"; > > + reg = <0x100000 0x500000>; > > + }; > > + > > + rootfs at 500000 { > > + label = "rootfs"; > > + reg = <0x500000 0x7b00000>; > > + }; > > People are against the idea of putting partition layout in device tree. Removed. > > > + }; > > + }; > > + > > + display0: display0 { > > + model = "Primeview-PD050VL1"; > > + native-mode = <&timing_disp0>; > > + bits-per-pixel = <16>; /* non-standard but required */ > > + fsl,pcr = <0xf0c88080>; /* non-standard but required */ > > Has the code/document for these non-standard properties been accepted? Yes, it was accepted: https://patchwork.kernel.org/patch/2614951/ Thank you, Markus > > Shawn > > > + display-timings { > > + timing_disp0: 640x480 { > > + hactive = <640>; > > + vactive = <480>; > > + hback-porch = <112>; > > + hfront-porch = <36>; > > + hsync-len = <32>; > > + vback-porch = <33>; > > + vfront-porch = <33>; > > + vsync-len = <2>; > > + clock-frequency = <25000000>; > > + }; > > + }; > > + }; > > +}; > > diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig > > index f25cf88..5372337 100644 > > --- a/arch/arm/mach-imx/Kconfig > > +++ b/arch/arm/mach-imx/Kconfig > > @@ -441,6 +441,7 @@ config MACH_IMX27IPCAM > > config MACH_IMX27_DT > > bool "Support i.MX27 platforms from device tree" > > select SOC_IMX27 > > + select IMX_HAVE_PLATFORM_MXC_NAND > > help > > Include support for Freescale i.MX27 based platforms > > using the device tree for discovery > > -- > > 1.8.2.1 > > > > -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | From mboxrd@z Thu Jan 1 00:00:00 1970 From: Markus Pargmann Subject: Re: [PATCH 6/6] ARM: dts: Add device tree support for phycard pca100 Date: Sun, 23 Jun 2013 10:17:50 +0200 Message-ID: <20130623081701.GA13104@s25.your-server.de> References: <1371739815-6666-1-git-send-email-mpa@pengutronix.de> <1371739815-6666-7-git-send-email-mpa@pengutronix.de> <20130621034604.GC24268@S2101-09.ap.freescale.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20130621034604.GC24268@S2101-09.ap.freescale.net> 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: Shawn Guo Cc: Fabio Estevam , Jan Luebbe , Alexander Shiyan , devicetree-discuss@lists.ozlabs.org, Sascha Hauer , Steffen Trumtrar , linux-arm-kernel@lists.infradead.org List-Id: devicetree@vger.kernel.org T24gRnJpLCBKdW4gMjEsIDIwMTMgYXQgMTE6NDY6MDVBTSArMDgwMCwgU2hhd24gR3VvIHdyb3Rl Ogo+IE9uIFRodSwgSnVuIDIwLCAyMDEzIGF0IDA0OjUwOjE1UE0gKzAyMDAsIE1hcmt1cyBQYXJn bWFubiB3cm90ZToKPiA+IEJhc2VkIG9uIHBhdGNoZXMgZnJvbToKPiA+IAo+ID4gU3RlZmZlbiBU cnVtdHJhciA8cy50cnVtdHJhckBwZW5ndXRyb25peC5kZT46Cj4gPiAgLSBPcmlnaW5hbCBwYXRj aAo+ID4gIC0gQVJNOiBkdHM6IFNldCBwYXJ0aXRpb24gb2Zmc2V0cyBmb3IgcGh5Y2FyZAo+ID4g IC0gQVJNOiBkdHM6IFVzZSBDU1BJMSBpbnN0ZWFkIG9mIENTUEkyIG9uIHBoeWNhcmQgcGNhMTAw Cj4gPiAgLSBBUk06IGlteDI3LXBoeXRlYy1waHljYXJkLVMuZHRzOiByZXNpemUgbmFuZCBwYXJ0 aXRpb25zCj4gPiAKPiA+IEphbiBMdWViYmUgPGpsdUBwZW5ndXRyb25peC5kZT46Cj4gPiAgLSBB Uk06IGR0czogRW5hYmxlIGJhZCBibG9jayB0YWJsZSBpbiBOQU5ECj4gPiAKPiA+IENjOiBTdGVm ZmVuIFRydW10cmFyIDxzLnRydW10cmFyQHBlbmd1dHJvbml4LmRlPgo+ID4gQ2M6IEphbiBMdWVi YmUgPGpsdUBwZW5ndXRyb25peC5kZT4KPiA+IFNpZ25lZC1vZmYtYnk6IE1hcmt1cyBQYXJnbWFu biA8bXBhQHBlbmd1dHJvbml4LmRlPgo+ID4gLS0tCj4gPiAgYXJjaC9hcm0vYm9vdC9kdHMvTWFr ZWZpbGUgICAgICAgICAgICAgICAgICAgfCAgIDEgKwo+ID4gIGFyY2gvYXJtL2Jvb3QvZHRzL2lt eDI3LXBoeXRlYy1waHljYXJkLVMuZHRzIHwgMTk1ICsrKysrKysrKysrKysrKysrKysrKysrKysr Kwo+ID4gIGFyY2gvYXJtL21hY2gtaW14L0tjb25maWcgICAgICAgICAgICAgICAgICAgIHwgICAx ICsKPiA+ICAzIGZpbGVzIGNoYW5nZWQsIDE5NyBpbnNlcnRpb25zKCspCj4gPiAgY3JlYXRlIG1v ZGUgMTAwNjQ0IGFyY2gvYXJtL2Jvb3QvZHRzL2lteDI3LXBoeXRlYy1waHljYXJkLVMuZHRzCj4g PiAKPiA+IGRpZmYgLS1naXQgYS9hcmNoL2FybS9ib290L2R0cy9NYWtlZmlsZSBiL2FyY2gvYXJt L2Jvb3QvZHRzL01ha2VmaWxlCj4gPiBpbmRleCBiM2E4NjYxLi5lOGZiMGJjIDEwMDY0NAo+ID4g LS0tIGEvYXJjaC9hcm0vYm9vdC9kdHMvTWFrZWZpbGUKPiA+ICsrKyBiL2FyY2gvYXJtL2Jvb3Qv ZHRzL01ha2VmaWxlCj4gPiBAQCAtMTA1LDYgKzEwNSw3IEBAIGR0Yi0kKENPTkZJR19BUkNIX01Y QykgKz0gXAo+ID4gIAlpbXgyNy1wZGsuZHRiIFwKPiA+ICAJaW14MjctcGh5dGVjLXBoeWNvcmUt c29tLmR0YiBcCj4gPiAgCWlteDI3LXBoeXRlYy1waHljb3JlLXJkay5kdGIgXAo+ID4gKwlpbXgy Ny1waHl0ZWMtcGh5Y2FyZC1TLmR0YiBcCj4gPiAgCWlteDMxLWJ1Zy5kdGIgXAo+ID4gIAlpbXg1 MS1hcGY1MS5kdGIgXAo+ID4gIAlpbXg1MS1hcGY1MWRldi5kdGIgXAo+ID4gZGlmZiAtLWdpdCBh L2FyY2gvYXJtL2Jvb3QvZHRzL2lteDI3LXBoeXRlYy1waHljYXJkLVMuZHRzIGIvYXJjaC9hcm0v Ym9vdC9kdHMvaW14MjctcGh5dGVjLXBoeWNhcmQtUy5kdHMKPiA+IG5ldyBmaWxlIG1vZGUgMTAw NjQ0Cj4gPiBpbmRleCAwMDAwMDAwLi5kYzNhOTNiCj4gPiAtLS0gL2Rldi9udWxsCj4gPiArKysg Yi9hcmNoL2FybS9ib290L2R0cy9pbXgyNy1waHl0ZWMtcGh5Y2FyZC1TLmR0cwo+ID4gQEAgLTAs MCArMSwxOTUgQEAKPiA+ICsvKgo+ID4gKyAqIENvcHlyaWdodCAyMDEyIFNhc2NoYSBIYXVlciwg VXdlIEtsZWluZS1Lw7ZuaWcgYW5kIFN0ZWZmZW4gVHJ1bXRyYXIsIFBlbmd1dHJvbml4Cj4gPiAr ICoKPiA+ICsgKiBUaGUgY29kZSBjb250YWluZWQgaGVyZWluIGlzIGxpY2Vuc2VkIHVuZGVyIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMKPiA+ICsgKiBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNv cHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCj4gPiArICogVmVyc2lvbiAyIG9y IGxhdGVyIGF0IHRoZSBmb2xsb3dpbmcgbG9jYXRpb25zOgo+ID4gKyAqCj4gPiArICogaHR0cDov L3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9ncGwtbGljZW5zZS5odG1sCj4gPiArICogaHR0 cDovL3d3dy5nbnUub3JnL2NvcHlsZWZ0L2dwbC5odG1sCj4gPiArICovCj4gPiArCj4gPiArL2R0 cy12MS87Cj4gPiArI2luY2x1ZGUgImlteDI3LmR0c2kiCj4gPiArCj4gPiArLyB7Cj4gPiArCW1v ZGVsID0gIlBoeXRlYyBwY2ExMDAiOwo+ID4gKwljb21wYXRpYmxlID0gInBoeXRlYyxpbXgyNy1w Y2ExMDAiLCAiZnNsLGlteDI3IjsKPiA+ICsKPiA+ICsJbWVtb3J5IHsKPiA+ICsJCWRldmljZV90 eXBlID0gIm1lbW9yeSI7Cj4gCj4gSXQncyBiZWVuIGNvdmVyZWQgYnkgc2tlbGV0b24uZHRzaS4K PiAKPiA+ICsJCSNhZGRyZXNzLWNlbGxzID0gPDE+Owo+ID4gKwkJI3NpemUtY2VsbHMgPSA8MT47 Cj4gCj4gVGhleSBhcmUgb25seSBuZWVkZWQgaWYgdGhlcmUgYXJlIGNoaWxkIG5vZGVzIHdpdGgg InJlZyIgcHJvcGVydHkuCgpSZW1vdmVkCgo+IAo+ID4gKwkJcmVnID0gPDB4MCAweDA4MDAwMDAw PjsgICAvLyAxMjhNQgo+ID4gKwl9Owo+ID4gKwo+ID4gKwlzb2Mgewo+ID4gKwkJYWlwaUAxMDAw MDAwMCB7IC8qIGFpcGkgKi8KPiA+ICsJCQl3ZG9nQDEwMDAyMDAwIHsKPiA+ICsJCQkJc3RhdHVz ID0gIm9rYXkiOwo+ID4gKwkJCX07Cj4gCj4gV2Ugbm93IHVzZSBub2RlIGxhYmVsIGluIGJvYXJk IGR0cyBmaWxlcyB0byByZWZlciB0byB0aGUgbm9kZXMgZGVmaW5lZAo+IGluIHNvYyBkdHMuCgpJ IHJlcGxhY2VkIGFsbCBub2RlIGlkZW50aWZpZXJzIHdpdGggdGhlaXIgbGFiZWxzLgoKPiAKPiA+ ICsKPiA+ICsJCQlvd2lyZUAxMDAwOTAwMCB7Cj4gPiArCQkJCXN0YXR1cyA9ICJva2F5IjsKPiA+ ICsJCQl9Owo+ID4gKwo+ID4gKwkJCXNlcmlhbEAxMDAwYTAwMCB7Cj4gPiArCQkJCWZzbCx1YXJ0 LWhhcy1ydHNjdHM7Cj4gPiArCQkJCXN0YXR1cyA9ICJva2F5IjsKPiA+ICsJCQl9Owo+ID4gKwo+ ID4gKwkJCXNlcmlhbEAxMDAwYjAwMCB7Cj4gPiArCQkJCWZzbCx1YXJ0LWhhcy1ydHNjdHM7Cj4g PiArCQkJCXN0YXR1cyA9ICJva2F5IjsKPiA+ICsJCQl9Owo+ID4gKwo+ID4gKwkJCXNlcmlhbEAx MDAwYzAwMCB7Cj4gPiArCQkJCWZzbCx1YXJ0LWhhcy1ydHNjdHM7Cj4gPiArCQkJCXN0YXR1cyA9 ICJva2F5IjsKPiA+ICsJCQl9Owo+ID4gKwo+ID4gKwkJCWNzcGlAMTAwMGUwMDAgewo+ID4gKwkJ CQlmc2wsc3BpLW51bS1jaGlwc2VsZWN0cyA9IDwyPjsKPiA+ICsJCQkJY3MtZ3Bpb3MgPSA8Jmdw aW80IDI4IDA+LAo+ID4gKwkJCQkJPCZncGlvNCAyNyAwPjsKPiA+ICsJCQkJc3RhdHVzID0gIm9r YXkiOwo+ID4gKwkJCX07Cj4gPiArCj4gPiArCQkJaTJjQDEwMDEyMDAwIHsKPiA+ICsJCQkJc3Rh dHVzID0gIm9rYXkiOwo+ID4gKwkJCQlpb2V4cGFuZGVyQDQxIHsKPiA+ICsJCQkJCWNvbXBhdGli bGUgPSAibnhwLHBjYTk1MzYiOwo+ID4gKwkJCQkJcmVnID0gPDB4NDE+Owo+ID4gKwkJCQl9Owo+ IAo+IFBsZWFzZSBwdXQgYmxhbmsgbGluZSBiZWZvcmUgYW5kIGFmdGVyIG5vZGUuCgpGaXhlZAoK PiAKPiA+ICsJCQkJcnRjQDUxIHsKPiA+ICsJCQkJCWNvbXBhdGlibGUgPSAibnhwLHBjZjg1NjMi Owo+ID4gKwkJCQkJcmVnID0gPDB4NTE+Owo+ID4gKwkJCQl9Owo+ID4gKwkJCQlkaW1tZXJANjAg ewo+ID4gKwkJCQkJY29tcGF0aWJsZSA9ICJueHAscGNhOTUzMCI7Cj4gPiArCQkJCQlyZWcgPSA8 MHg2MD47Cj4gCj4gPiArCQkJCQlwd20gPSA8MSAxPjsKPiA+ICsJCQkJCXBzYyA9IDwxIDE+Owo+ ID4gKwkJCQkJbGVkcyA9IDwmbGVkMCAmbGVkMT47Cj4gCj4gQXJlIHRoZXNlIGRvY3VtZW50ZWQv YWNjZXB0ZWQgYmluZGluZ3M/CgpObywgc29ycnksIEkgZm9yZ290IHRvIHJlbW92ZSB0aGVtLgoK PiAKPiA+ICsJCQkJCWxlZDA6IGxlZDAgewo+ID4gKwkJCQkJCWxhYmVsID0gInBiYS1sY2RfYnJp Z2h0bmVzcyI7Cj4gPiArCQkJCQkJZGVmYXVsdC1zdGF0ZSA9ICJvZmYiOwo+ID4gKwkJCQkJCXR5 cGUgPSAibGVkIjsKPiAKPiBXaGF0IGlzIHRoaXMgInR5cGUiIHByb3BlcnR5IHVzZWQgZm9yPyAg SXMgaXQgZG9jdW1lbnRlZD8KPiAKPiA+ICsJCQkJCX07Cj4gPiArCQkJCQlsZWQxOiBsZWQxIHsK PiA+ICsJCQkJCQlsYWJlbCA9ICJwYmEtZnJlZV91c2UiOwo+ID4gKwkJCQkJCWRlZmF1bHQtc3Rh dGUgPSAib2ZmIjsKPiA+ICsJCQkJCQl0eXBlID0gImxlZCI7Cj4gPiArCQkJCQl9Owo+ID4gKwkJ CQl9Owo+ID4gKwkJCX07Cj4gPiArCj4gPiArCQkJc2RoY2lAMTAwMTQwMDAgewo+ID4gKwkJCQlj ZC1ncGlvcyA9IDwmZ3BpbzMgMjkgMD47Cj4gPiArCQkJCXN0YXR1cyA9ICJva2F5IjsKPiA+ICsJ CQl9Owo+ID4gKwo+ID4gKwkJCWdwaW9AMTAwMTUwMDAgewo+ID4gKwkJCQlzdGF0dXMgPSAib2th eSI7Cj4gPiArCQkJfTsKPiA+ICsKPiA+ICsJCQlncGlvQDEwMDE1MTAwIHsKPiA+ICsJCQkJc3Rh dHVzID0gIm9rYXkiOwo+ID4gKwkJCX07Cj4gPiArCj4gPiArCQkJZ3Bpb0AxMDAxNTIwMCB7Cj4g PiArCQkJCXN0YXR1cyA9ICJva2F5IjsKPiA+ICsJCQl9Owo+ID4gKwo+ID4gKwkJCWdwaW9AMTAw MTUzMDAgewo+ID4gKwkJCQlzdGF0dXMgPSAib2theSI7Cj4gPiArCQkJfTsKPiA+ICsKPiA+ICsJ CQlncGlvQDEwMDE1NDAwIHsKPiA+ICsJCQkJc3RhdHVzID0gIm9rYXkiOwo+ID4gKwkJCX07Cj4g PiArCj4gPiArCQkJZ3Bpb0AxMDAxNTUwMCB7Cj4gPiArCQkJCXN0YXR1cyA9ICJva2F5IjsKPiA+ ICsJCQl9Owo+ID4gKwo+ID4gKwkJCWkyY0AxMDAxZDAwMCB7Cj4gPiArCQkJCXN0YXR1cyA9ICJv a2F5IjsKPiA+ICsKPiA+ICsJCQkJbG03NUA0YSB7Cj4gPiArCQkJCQljb21wYXRpYmxlID0gIm5h dGlvbmFsLGxtNzUiOwo+ID4gKwkJCQkJcmVnID0gPDB4NGE+Owo+ID4gKwkJCQl9Owo+ID4gKwo+ ID4gKwkJCQlydGNANTEgewo+ID4gKwkJCQkJY29tcGF0aWJsZSA9ICJueHAscGNmODU2MyI7Cj4g PiArCQkJCQlyZWcgPSA8MHg1MT47Cj4gPiArCQkJCX07Cj4gPiArCj4gPiArCQkJCWF0MjRANTIg ewo+ID4gKwkJCQkJY29tcGF0aWJsZSA9ICJhdCwyNGMzMiI7Cj4gPiArCQkJCQlwYWdlc2l6ZSA9 IDwzMj47Cj4gPiArCQkJCQlyZWcgPSA8MHg1Mj47Cj4gPiArCQkJCX07Cj4gPiArCQkJfTsKPiA+ ICsJCX07Cj4gPiArCj4gPiArCQlhaXBpQDEwMDIwMDAwIHsgLyogQUlQSTIgKi8KPiA+ICsJCQlm YkAxMDAyMTAwMCB7Cj4gPiArCQkJCXN0YXR1cyA9ICJva2F5IjsKPiAKPiBQbGVhc2UgbGV0IGl0 IGJlIHRoZSBsYXN0IHByb3BlcnR5IGluIHRoZSBub2RlLgoKRml4ZWQuCgo+IAo+ID4gKwkJCQlk aXNwbGF5ID0gPCZkaXNwbGF5MD47Cj4gPiArCQkJfTsKPiA+ICsKPiA+ICsJCQlldGhlcm5ldEAx MDAyYjAwMCB7Cj4gPiArCQkJCXN0YXR1cyA9ICJva2F5IjsKPiA+ICsJCQl9Owo+ID4gKwkJfTsg LyogQUlQSSAqLwo+ID4gKwo+ID4gKwkJbmFuZEBkODAwMDAwMCB7Cj4gPiArCQkJc3RhdHVzID0g Im9rYXkiOwo+IAo+IERpdHRvCj4gCj4gPiArCQkJbmFuZC1idXMtd2lkdGggPSA8OD47Cj4gPiAr CQkJbmFuZC1lY2MtbW9kZSA9ICJodyI7Cj4gPiArCQkJbmFuZC1vbi1mbGFzaC1iYnQ7Cj4gPiAr Cj4gPiArCQkJYmFyZWJveEAwIHsKPiA+ICsJCQkJbGFiZWwgPSAiYmFyZWJveCI7Cj4gPiArCQkJ CXJlZyA9IDwweDAgMHg4MDAwMD47Cj4gPiArCQkJfTsKPiA+ICsKPiA+ICsJCQliYXJlYm94ZW52 QDgwMDAwIHsKPiA+ICsJCQkJbGFiZWwgPSAiYmFyZWJveGVudiI7Cj4gPiArCQkJCXJlZyA9IDww eDgwMDAwIDB4ODAwMDA+Owo+ID4gKwkJCX07Cj4gPiArCj4gPiArCQkJa2VybmVsQDEwMDAwMCB7 Cj4gPiArCQkJCWxhYmVsID0gImtlcm5lbCI7Cj4gPiArCQkJCXJlZyA9IDwweDEwMDAwMCAweDUw MDAwMD47Cj4gPiArCQkJfTsKPiA+ICsKPiA+ICsJCQlyb290ZnNANTAwMDAwIHsKPiA+ICsJCQkJ bGFiZWwgPSAicm9vdGZzIjsKPiA+ICsJCQkJcmVnID0gPDB4NTAwMDAwIDB4N2IwMDAwMD47Cj4g PiArCQkJfTsKPiAKPiBQZW9wbGUgYXJlIGFnYWluc3QgdGhlIGlkZWEgb2YgcHV0dGluZyBwYXJ0 aXRpb24gbGF5b3V0IGluIGRldmljZSB0cmVlLgoKUmVtb3ZlZC4KCj4gCj4gPiArCQl9Owo+ID4g Kwl9Owo+ID4gKwo+ID4gKwlkaXNwbGF5MDogZGlzcGxheTAgewo+ID4gKwkJbW9kZWwgPSAiUHJp bWV2aWV3LVBEMDUwVkwxIjsKPiA+ICsJCW5hdGl2ZS1tb2RlID0gPCZ0aW1pbmdfZGlzcDA+Owo+ ID4gKwkJYml0cy1wZXItcGl4ZWwgPSA8MTY+OwkJLyogbm9uLXN0YW5kYXJkIGJ1dCByZXF1aXJl ZCAqLwo+ID4gKwkJZnNsLHBjciA9IDwweGYwYzg4MDgwPjsJLyogbm9uLXN0YW5kYXJkIGJ1dCBy ZXF1aXJlZCAqLwo+IAo+IEhhcyB0aGUgY29kZS9kb2N1bWVudCBmb3IgdGhlc2Ugbm9uLXN0YW5k YXJkIHByb3BlcnRpZXMgYmVlbiBhY2NlcHRlZD8KClllcywgaXQgd2FzIGFjY2VwdGVkOgpodHRw czovL3BhdGNod29yay5rZXJuZWwub3JnL3BhdGNoLzI2MTQ5NTEvCgpUaGFuayB5b3UsCgpNYXJr dXMKCj4gCj4gU2hhd24KPiAKPiA+ICsJCWRpc3BsYXktdGltaW5ncyB7Cj4gPiArCQkJdGltaW5n X2Rpc3AwOiA2NDB4NDgwIHsKPiA+ICsJCQkJaGFjdGl2ZSA9IDw2NDA+Owo+ID4gKwkJCQl2YWN0 aXZlID0gPDQ4MD47Cj4gPiArCQkJCWhiYWNrLXBvcmNoID0gPDExMj47Cj4gPiArCQkJCWhmcm9u dC1wb3JjaCA9IDwzNj47Cj4gPiArCQkJCWhzeW5jLWxlbiA9IDwzMj47Cj4gPiArCQkJCXZiYWNr LXBvcmNoID0gPDMzPjsKPiA+ICsJCQkJdmZyb250LXBvcmNoID0gPDMzPjsKPiA+ICsJCQkJdnN5 bmMtbGVuID0gPDI+Owo+ID4gKwkJCQljbG9jay1mcmVxdWVuY3kgPSA8MjUwMDAwMDA+Owo+ID4g KwkJCX07Cj4gPiArCQl9Owo+ID4gKwl9Owo+ID4gK307Cj4gPiBkaWZmIC0tZ2l0IGEvYXJjaC9h cm0vbWFjaC1pbXgvS2NvbmZpZyBiL2FyY2gvYXJtL21hY2gtaW14L0tjb25maWcKPiA+IGluZGV4 IGYyNWNmODguLjUzNzIzMzcgMTAwNjQ0Cj4gPiAtLS0gYS9hcmNoL2FybS9tYWNoLWlteC9LY29u ZmlnCj4gPiArKysgYi9hcmNoL2FybS9tYWNoLWlteC9LY29uZmlnCj4gPiBAQCAtNDQxLDYgKzQ0 MSw3IEBAIGNvbmZpZyBNQUNIX0lNWDI3SVBDQU0KPiA+ICBjb25maWcgTUFDSF9JTVgyN19EVAo+ ID4gIAlib29sICJTdXBwb3J0IGkuTVgyNyBwbGF0Zm9ybXMgZnJvbSBkZXZpY2UgdHJlZSIKPiA+ ICAJc2VsZWN0IFNPQ19JTVgyNwo+ID4gKwlzZWxlY3QgSU1YX0hBVkVfUExBVEZPUk1fTVhDX05B TkQKPiA+ICAJaGVscAo+ID4gIAkgIEluY2x1ZGUgc3VwcG9ydCBmb3IgRnJlZXNjYWxlIGkuTVgy NyBiYXNlZCBwbGF0Zm9ybXMKPiA+ICAJICB1c2luZyB0aGUgZGV2aWNlIHRyZWUgZm9yIGRpc2Nv dmVyeQo+ID4gLS0gCj4gPiAxLjguMi4xCj4gPiAKPiAKPiAKCi0tIApQZW5ndXRyb25peCBlLksu ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fApJbmR1c3RyaWFsIExpbnV4IFNvbHV0aW9ucyAgICAgICAgICAgICAgICAgfCBodHRwOi8vd3d3 LnBlbmd1dHJvbml4LmRlLyAgfApQZWluZXIgU3RyLiA2LTgsIDMxMTM3IEhpbGRlc2hlaW0sIEdl cm1hbnkgfCBQaG9uZTogKzQ5LTUxMjEtMjA2OTE3LTAgICAgfApBbXRzZ2VyaWNodCBIaWxkZXNo ZWltLCBIUkEgMjY4NiAgICAgICAgICAgfCBGYXg6ICAgKzQ5LTUxMjEtMjA2OTE3LTU1NTUgfAoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJt LWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3Jn Cmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtl cm5lbAo=