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=-16.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY,USER_AGENT_GIT 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 4D475C47082 for ; Wed, 26 May 2021 15:23:05 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 29D8D613D3 for ; Wed, 26 May 2021 15:23:05 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235438AbhEZPYe (ORCPT ); Wed, 26 May 2021 11:24:34 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45628 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232942AbhEZPY2 (ORCPT ); Wed, 26 May 2021 11:24:28 -0400 Received: from bhuna.collabora.co.uk (bhuna.collabora.co.uk [IPv6:2a00:1098:0:82:1000:25:2eeb:e3e3]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D8D73C061574; Wed, 26 May 2021 08:22:56 -0700 (PDT) Received: from [127.0.0.1] (localhost [127.0.0.1]) (Authenticated sender: sre) with ESMTPSA id 26C281F431D5 Received: by jupiter.universe (Postfix, from userid 1000) id D84534800E1; Wed, 26 May 2021 17:22:51 +0200 (CEST) From: Sebastian Reichel To: Sebastian Reichel , Shawn Guo Cc: Rob Herring , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kernel@collabora.com Subject: [PATCHv3 3/3] ARM: dts: imx6: Add GE B1x5v2 Date: Wed, 26 May 2021 17:22:43 +0200 Message-Id: <20210526152243.51059-4-sebastian.reichel@collabora.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210526152243.51059-1-sebastian.reichel@collabora.com> References: <20210526152243.51059-1-sebastian.reichel@collabora.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This adds device tree files for the General Electric Healthcare (GEHC) B1x5v2 series. All models make use of Congatec's QMX6 system on module, which is described in its own device tree include, so that it can also be used by other boards. Signed-off-by: Sebastian Reichel --- arch/arm/boot/dts/Makefile | 5 + arch/arm/boot/dts/imx6dl-b105pv2.dts | 32 ++ arch/arm/boot/dts/imx6dl-b105v2.dts | 32 ++ arch/arm/boot/dts/imx6dl-b125pv2.dts | 30 ++ arch/arm/boot/dts/imx6dl-b125v2.dts | 30 ++ arch/arm/boot/dts/imx6dl-b155v2.dts | 32 ++ arch/arm/boot/dts/imx6dl-b1x5pv2.dtsi | 413 +++++++++++++++++ arch/arm/boot/dts/imx6dl-b1x5v2.dtsi | 58 +++ arch/arm/boot/dts/imx6dl-qmx6.dtsi | 612 ++++++++++++++++++++++++++ 9 files changed, 1244 insertions(+) create mode 100644 arch/arm/boot/dts/imx6dl-b105pv2.dts create mode 100644 arch/arm/boot/dts/imx6dl-b105v2.dts create mode 100644 arch/arm/boot/dts/imx6dl-b125pv2.dts create mode 100644 arch/arm/boot/dts/imx6dl-b125v2.dts create mode 100644 arch/arm/boot/dts/imx6dl-b155v2.dts create mode 100644 arch/arm/boot/dts/imx6dl-b1x5pv2.dtsi create mode 100644 arch/arm/boot/dts/imx6dl-b1x5v2.dtsi create mode 100644 arch/arm/boot/dts/imx6dl-qmx6.dtsi diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index f8f09c5066e7..2b8810f29b27 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -515,6 +515,11 @@ dtb-$(CONFIG_SOC_IMX6Q) += \ imx6q-dms-ba16.dtb \ imx6q-emcon-avari.dtb \ imx6q-evi.dtb \ + imx6dl-b105pv2.dtb \ + imx6dl-b105v2.dtb \ + imx6dl-b125v2.dtb \ + imx6dl-b125pv2.dtb \ + imx6dl-b155v2.dtb \ imx6q-gk802.dtb \ imx6q-gw51xx.dtb \ imx6q-gw52xx.dtb \ diff --git a/arch/arm/boot/dts/imx6dl-b105pv2.dts b/arch/arm/boot/dts/imx6dl-b105pv2.dts new file mode 100644 index 000000000000..411aa72d344b --- /dev/null +++ b/arch/arm/boot/dts/imx6dl-b105pv2.dts @@ -0,0 +1,32 @@ +// SPDX-License-Identifier: GPL-2.0 or MIT +// +// Device Tree Source for General Electric B105Pv2 +// +// Copyright 2018-2021 General Electric Company +// Copyright 2018-2021 Collabora + +/dts-v1/; +#include "imx6dl-b1x5pv2.dtsi" + +/ { + model = "General Electric B105Pv2"; + compatible = "ge,imx6dl-b105pv2", "congatec,qmx6", "fsl,imx6dl"; + + panel { + compatible = "auo,g101evn010"; + }; +}; + +&i2c3 { + touchscreen@41 { + compatible = "ilitek,ili251x"; + reg = <0x41>; + pinctrl-names = "default"; + pinctrl-0 =<&pinctrl_q7_gpio0>; + interrupt-parent = <&gpio5>; + interrupts = <2 IRQ_TYPE_EDGE_FALLING>; + reset-gpios = <&tca6424a 21 GPIO_ACTIVE_LOW>; + touchscreen-size-x = <1280>; + touchscreen-size-y = <800>; + }; +}; diff --git a/arch/arm/boot/dts/imx6dl-b105v2.dts b/arch/arm/boot/dts/imx6dl-b105v2.dts new file mode 100644 index 000000000000..d011127c635b --- /dev/null +++ b/arch/arm/boot/dts/imx6dl-b105v2.dts @@ -0,0 +1,32 @@ +// SPDX-License-Identifier: GPL-2.0 or MIT +// +// Device Tree Source for General Electric B105v2 +// +// Copyright 2018-2021 General Electric Company +// Copyright 2018-2021 Collabora + +/dts-v1/; +#include "imx6dl-b1x5v2.dtsi" + +/ { + model = "General Electric B105v2"; + compatible = "ge,imx6dl-b105v2", "congatec,qmx6", "fsl,imx6dl"; + + panel { + compatible = "auo,g101evn010"; + }; +}; + +&i2c3 { + touchscreen@41 { + compatible = "ilitek,ili251x"; + reg = <0x41>; + pinctrl-names = "default"; + pinctrl-0 =<&pinctrl_q7_gpio0>; + interrupt-parent = <&gpio5>; + interrupts = <2 IRQ_TYPE_EDGE_FALLING>; + reset-gpios = <&tca6424a 21 GPIO_ACTIVE_LOW>; + touchscreen-size-x = <1280>; + touchscreen-size-y = <800>; + }; +}; diff --git a/arch/arm/boot/dts/imx6dl-b125pv2.dts b/arch/arm/boot/dts/imx6dl-b125pv2.dts new file mode 100644 index 000000000000..ca840fa84052 --- /dev/null +++ b/arch/arm/boot/dts/imx6dl-b125pv2.dts @@ -0,0 +1,30 @@ +// SPDX-License-Identifier: GPL-2.0 or MIT +// +// Device Tree Source for General Electric B125Pv2 +// +// Copyright 2018-2021 General Electric Company +// Copyright 2018-2021 Collabora + +/dts-v1/; +#include "imx6dl-b1x5pv2.dtsi" + +/ { + model = "General Electric B125Pv2"; + compatible = "ge,imx6dl-b125pv2", "congatec,qmx6", "fsl,imx6dl"; + + panel { + compatible = "auo,g121ean01"; + }; +}; + +&i2c3 { + touchscreen@2a { + compatible = "eeti,exc80h60"; + reg = <0x2a>; + pinctrl-names = "default"; + pinctrl-0 =<&pinctrl_q7_gpio0>; + interrupt-parent = <&gpio5>; + interrupts = <2 IRQ_TYPE_LEVEL_LOW>; + reset-gpios = <&tca6424a 21 GPIO_ACTIVE_HIGH>; + }; +}; diff --git a/arch/arm/boot/dts/imx6dl-b125v2.dts b/arch/arm/boot/dts/imx6dl-b125v2.dts new file mode 100644 index 000000000000..81e5a9cb8900 --- /dev/null +++ b/arch/arm/boot/dts/imx6dl-b125v2.dts @@ -0,0 +1,30 @@ +// SPDX-License-Identifier: GPL-2.0 or MIT +// +// Device Tree Source for General Electric B125v2 +// +// Copyright 2018-2021 General Electric Company +// Copyright 2018-2021 Collabora + +/dts-v1/; +#include "imx6dl-b1x5v2.dtsi" + +/ { + model = "General Electric B125v2"; + compatible = "ge,imx6dl-b125v2", "congatec,qmx6", "fsl,imx6dl"; + + panel { + compatible = "auo,g121ean01"; + }; +}; + +&i2c3 { + touchscreen@2a { + compatible = "eeti,exc80h60"; + reg = <0x2a>; + pinctrl-names = "default"; + pinctrl-0 =<&pinctrl_q7_gpio0>; + interrupt-parent = <&gpio5>; + interrupts = <2 IRQ_TYPE_LEVEL_LOW>; + reset-gpios = <&tca6424a 21 GPIO_ACTIVE_HIGH>; + }; +}; diff --git a/arch/arm/boot/dts/imx6dl-b155v2.dts b/arch/arm/boot/dts/imx6dl-b155v2.dts new file mode 100644 index 000000000000..c861937b30f6 --- /dev/null +++ b/arch/arm/boot/dts/imx6dl-b155v2.dts @@ -0,0 +1,32 @@ +// SPDX-License-Identifier: GPL-2.0 or MIT +// +// Device Tree Source for General Electric B155v2 +// +// Copyright 2018-2021 General Electric Company +// Copyright 2018-2021 Collabora + +/dts-v1/; +#include "imx6dl-b1x5v2.dtsi" + +/ { + model = "General Electric B155v2"; + compatible = "ge,imx6dl-b155v2", "congatec,qmx6", "fsl,imx6dl"; + + panel { + compatible = "auo,g156xtn01"; + }; +}; + +&i2c3 { + touchscreen@2a { + compatible = "eeti,exc80h84"; + reg = <0x2a>; + pinctrl-names = "default"; + pinctrl-0 =<&pinctrl_q7_gpio0>; + interrupt-parent = <&gpio5>; + interrupts = <2 IRQ_TYPE_LEVEL_LOW>; + touchscreen-inverted-x; + touchscreen-inverted-y; + reset-gpios = <&tca6424a 21 GPIO_ACTIVE_HIGH>; + }; +}; diff --git a/arch/arm/boot/dts/imx6dl-b1x5pv2.dtsi b/arch/arm/boot/dts/imx6dl-b1x5pv2.dtsi new file mode 100644 index 000000000000..ec5b66453156 --- /dev/null +++ b/arch/arm/boot/dts/imx6dl-b1x5pv2.dtsi @@ -0,0 +1,413 @@ +// SPDX-License-Identifier: GPL-2.0 or MIT +// +// Device Tree Source for General Electric B1x5Pv2 +// patient monitor series +// +// Copyright 2018-2021 General Electric Company +// Copyright 2018-2021 Collabora + +#include +#include "imx6dl-qmx6.dtsi" + +/ { + chosen { + stdout-path = &uart3; + }; + + /* Do not allow frequencies above 800MHz */ + cpus { + cpu@0 { + operating-points = < + /* kHz uV */ + 792000 1175000 + 396000 1150000 + >; + fsl,soc-operating-points = < + /* ARM kHz SOC-PU uV */ + 792000 1175000 + 396000 1175000 + >; + }; + + cpu@1 { + operating-points = < + /* kHz uV */ + 792000 1175000 + 396000 1150000 + >; + fsl,soc-operating-points = < + /* ARM kHz SOC-PU uV */ + 792000 1175000 + 396000 1175000 + >; + }; + }; + + reg_syspwr: regulator-12v { + compatible = "regulator-fixed"; + regulator-name = "SYS_PWR"; + regulator-min-microvolt = <12000000>; + regulator-max-microvolt = <12000000>; + }; + + reg_5v_pmc: regulator-5v-pmc { + compatible = "regulator-fixed"; + regulator-name = "5V PMC"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + vin-supply = <®_syspwr>; + }; + + reg_5v: regulator-5v { + compatible = "regulator-fixed"; + regulator-name = "5V"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + vin-supply = <®_syspwr>; + }; + + reg_3v3: regulator-3v3 { + compatible = "regulator-fixed"; + regulator-name = "3V3"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + vin-supply = <®_syspwr>; + }; + + reg_5v0_audio: regulator-5v0-audio { + compatible = "regulator-fixed"; + regulator-name = "5V0_AUDIO"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + vin-supply = <®_5v>; + gpio = <&tca6424a 16 GPIO_ACTIVE_HIGH>; + enable-active-high; + /* + * This must be always-on for da7212, which has some not + * properly documented dependencies for it's speaker supply + * pin. The issue manifests as speaker volume being very low. + */ + regulator-always-on; + }; + + + reg_3v3_audio: regulator-3v3-audio { + compatible = "regulator-fixed"; + regulator-name = "3V3_AUDIO"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + vin-supply = <®_3v3>; + pinctrl-0 = <&pinctrl_q7_hda_reset>; + pinctrl-names = "default"; + gpio = <&gpio6 8 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + reg_2v5_audio: regulator-2v5-audio { + compatible = "regulator-fixed"; + regulator-name = "2V5_AUDIO"; + regulator-min-microvolt = <2500000>; + regulator-max-microvolt = <2500000>; + regulator-always-on; + vin-supply = <®_3v3_audio>; + + }; + + reg_wlan: regulator-wlan { + compatible = "regulator-fixed"; + regulator-name = "WLAN"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + vin-supply = <®_3v3>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_q7_sdio_power>; + gpio = <&gpio4 30 GPIO_ACTIVE_HIGH>; + enable-active-high; + startup-delay-us = <70000>; + }; + + reg_bl: regulator-backlight { + compatible = "regulator-fixed"; + regulator-name = "LED_VCC"; + regulator-min-microvolt = <12000000>; + regulator-max-microvolt = <12000000>; + vin-supply = <®_syspwr>; + pinctrl-0 = <&pinctrl_q7_lcd_power>; + pinctrl-names = "default"; + gpio = <&gpio1 7 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + reg_lcd: regulator-lcd { + compatible = "regulator-fixed"; + regulator-name = "LCD_5V"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + vin-supply = <®_5v>; + }; + + usb_power: regulator-usb-power { + compatible = "regulator-fixed"; + regulator-name = "USB POWER"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + vin-supply = <®_5v>; + }; + + charger: battery-charger { + compatible = "gpio-charger"; /* ti,bq24172 */ + charger-type = "mains"; + gpios = <&tca6424a 3 GPIO_ACTIVE_LOW>; + charge-current-limit-gpios = <&tca6424a 11 GPIO_ACTIVE_HIGH>, + <&tca6424a 12 GPIO_ACTIVE_HIGH>; + charge-current-limit-mapping = <1300000 0x0>, + <700000 0x1>, + <0 0x2>; + charge-status-gpios = <&tca6424a 6 GPIO_ACTIVE_HIGH>; + }; + + poweroff { + compatible = "gpio-poweroff"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_q7_spi_cs1>; + gpios = <&gpio4 25 GPIO_ACTIVE_LOW>; + }; + + power-button-key { + compatible = "gpio-keys"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_q7_sleep_button>; + + power-button { + label = "power button"; + gpios = <&gpio4 7 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; + + rotary-encoder-key { + compatible = "gpio-keys"; + + rotary-encoder-press { + label = "rotary-encoder press"; + gpios = <&tca6424a 0 GPIO_ACTIVE_HIGH>; + linux,code = ; + linux,can-disable; + }; + }; + + rotary-encoder { + compatible = "rotary-encoder"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_q7_gpio2 &pinctrl_q7_gpio4>; + gpios = <&gpio4 26 GPIO_ACTIVE_LOW>, <&gpio1 0 GPIO_ACTIVE_LOW>; + rotary-encoder,relative-axis; + rotary-encoder,steps-per-period = <2>; + wakeup-source; + }; + + leds { + compatible = "gpio-leds"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_q7_gpio1 &pinctrl_q7_gpio3 &pinctrl_q7_gpio5>; + + alarm1 { + label = "alarm:red"; + gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>; + }; + + alarm2 { + label = "alarm:yellow"; + gpios = <&gpio4 27 GPIO_ACTIVE_HIGH>; + }; + + alarm3 { + label = "alarm:blue"; + gpios = <&gpio4 15 GPIO_ACTIVE_HIGH>; + }; + }; + + backlight: backlight { + compatible = "pwm-backlight"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_q7_backlight_enable>; + power-supply = <®_bl>; + pwms = <&pwm4 0 5000000 0>; + brightness-levels = <0 255>; + num-interpolated-steps = <255>; + default-brightness-level = <179>; + enable-gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>; + }; + + panel { + backlight = <&backlight>; + power-supply = <®_lcd>; + + port { + panel_in: endpoint { + remote-endpoint = <&lvds0_out>; + }; + }; + }; + + sound { + compatible = "simple-audio-card"; + simple-audio-card,name = "audio-card"; + simple-audio-card,format = "i2s"; + simple-audio-card,bitclock-master = <&dailink_master>; + simple-audio-card,frame-master = <&dailink_master>; + simple-audio-card,widgets = "Speaker", "Ext Spk"; + simple-audio-card,audio-routing = "Ext Spk", "LINE"; + + simple-audio-card,cpu { + sound-dai = <&ssi1>; + }; + + dailink_master: simple-audio-card,codec { + sound-dai = <&codec>; + }; + }; + + clk_ext_audio_codec: clock-codec { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <12288000>; + }; +}; + +&audmux { + status = "okay"; +}; + +&fec { + status = "okay"; +}; + +&hdmi { + status = "okay"; +}; + +&i2c1 { + battery: battery@b { + compatible = "ti,bq20z65", "sbs,sbs-battery"; + reg = <0x0b>; + sbs,battery-detect-gpios = <&tca6424a 5 GPIO_ACTIVE_LOW>; + sbs,i2c-retry-count = <5>; + power-supplies = <&charger>; + }; + + codec: audio-codec@1a { + compatible = "dlg,da7212"; + reg = <0x1a>; + #sound-dai-cells = <0>; + VDDA-supply = <®_2v5_audio>; + VDDSP-supply = <®_5v0_audio>; + VDDMIC-supply = <®_3v3_audio>; + VDDIO-supply = <®_3v3_audio>; + clocks = <&clk_ext_audio_codec>; + clock-names = "mclk"; + }; +}; + +&i2c5 { + tca6424a: gpio-controller@22 { + compatible = "ti,tca6424"; + reg = <0x22>; + gpio-controller; + #gpio-cells = <2>; + vcc-supply = <®_3v3>; + interrupt-parent = <&gpio7>; + interrupts = <11 IRQ_TYPE_LEVEL_LOW>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_q7_gpio6>; + interrupt-controller; + #interrupt-cells = <2>; + gpio-line-names = "GPIO_ROTOR#", "ACM_IO_INT", "TMP_SENSOR_IRQ", "AC_IN", + "TF_S", "BATT_T", "LED_INC_CHAR", "ACM1_OCF", + "ACM2_OCF", "ACM_IO_RST", "USB1_POWER_EN", "EGPIO_CC_CTL0", + "EGPIO_CC_CTL1", "12V_OEMNBP_EN", "CP2105_RST", "", + "SPEAKER_PA_EN", "ARM7_UPI_RESET", "ARM7_PWR_RST", "NURSE_CALL", + "MARKER_EN", "EGPIO_TOUCH_RST", "PRESSURE_INT1", "PRESSURE_INT2"; + + }; + + tmp75: temperature-sensor@48 { + compatible = "ti,tmp75"; + reg = <0x48>; + vs-supply = <®_3v3>; + interrupt-parent = <&tca6424a>; + interrupts = <2 IRQ_TYPE_EDGE_FALLING>; + }; +}; + +&ldb { + status = "okay"; + + lvds0: lvds-channel@0 { + status = "okay"; + fsl,data-mapping = "spwg"; + fsl,data-width = <24>; + + port@4 { + reg = <4>; + + lvds0_out: endpoint { + remote-endpoint = <&panel_in>; + }; + }; + }; +}; + +&pwm4 { + status = "okay"; +}; + +&ssi1 { + fsl,mode = "i2s-slave"; + status = "okay"; +}; + +&usbotg { + vbus-supply = <&usb_power>; + disable-over-current; + dr_mode = "host"; + status = "okay"; + + /* + * TPS2051BDGN fault-gpio is connected to Q7[86] USB_0_1_OC_N. + * On QMX6 this is not connceted to the i.MX6, but to the USB Hub + * from &usbh1. This means, that we cannot easily detect and handle + * over-current events. Fortunately the regulator limits the current + * automatically, so the hardware is still protected. + */ +}; + +&usdhc4 { + /* WiFi module */ + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_usdhc4>; + bus-width = <4>; + no-1-8-v; + non-removable; + wakeup-source; + keep-power-in-suspend; + cap-power-off-card; + max-frequency = <25000000>; + vmmc-supply = <®_wlan>; + #address-cells = <1>; + #size-cells = <0>; + status = "okay"; + + wlcore: wlcore@2 { + compatible = "ti,wl1837"; + reg = <2>; + + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_q7_gpio7>; + + interrupt-parent = <&gpio4>; + interrupts = <14 IRQ_TYPE_LEVEL_HIGH>; + + tcxo-clock-frequency = <26000000>; + }; +}; diff --git a/arch/arm/boot/dts/imx6dl-b1x5v2.dtsi b/arch/arm/boot/dts/imx6dl-b1x5v2.dtsi new file mode 100644 index 000000000000..a326a331508e --- /dev/null +++ b/arch/arm/boot/dts/imx6dl-b1x5v2.dtsi @@ -0,0 +1,58 @@ +// SPDX-License-Identifier: GPL-2.0 or MIT +// +// Device Tree Source for General Electric B1x5v2 +// patient monitor series +// +// Copyright 2018-2021 General Electric Company +// Copyright 2018-2021 Collabora + +#include +#include "imx6dl-b1x5pv2.dtsi" + +/ { + reg_3v3_acm: regulator-3v3-acm { + compatible = "regulator-fixed"; + regulator-name = "3V3 ACM"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + vin-supply = <®_3v3>; + }; +}; + +&i2c1 { + tca6416: gpio-controller@21 { + compatible = "ti,tca6416"; + reg = <0x21>; + gpio-controller; + #gpio-cells = <2>; + reset-gpios = <&tca6424a 9 GPIO_ACTIVE_LOW>; + vcc-supply = <®_3v3_acm>; + gpio-line-names = "ACM1_EN", "ACM1_CL0", "ACM1_CL1", "ACM1_CL2", + "", "ACM2_EN", "ACM2_CL0", "ACM2_CL1", + "ACM2_CL2", "", "", "", + "", "", "", ""; + + /* + * The interrupt pin is connected to &tca6424a pin 1, but the Linux + * TCA6424 driver cannot handle low type interrupts at the moment + * (and support cannot be added without some ugly hacks). Since this + * controller does not have any input type GPIOs, just pretend + * that the interrupt pin is unconnected. + */ + }; +}; + +&i2c5 { + mpl3115a2: pressure-sensor@60 { + compatible = "fsl,mpl3115"; + reg = <0x60>; + vcc-supply = <®_3v3_acm>; + + /* + * The MPL3115 interrupts are connected to pin 22 and 23 + * of &tca6424a, but the binding does not yet support + * interrupts. + */ + }; +}; diff --git a/arch/arm/boot/dts/imx6dl-qmx6.dtsi b/arch/arm/boot/dts/imx6dl-qmx6.dtsi new file mode 100644 index 000000000000..150d69858255 --- /dev/null +++ b/arch/arm/boot/dts/imx6dl-qmx6.dtsi @@ -0,0 +1,612 @@ +// SPDX-License-Identifier: GPL-2.0 or MIT +// +// Device Tree Source for i.MX6DL based congatec QMX6 +// System on Module +// +// Copyright 2018-2021 General Electric Company +// Copyright 2018-2021 Collabora +// Copyright 2016 congatec AG + +#include "imx6dl.dtsi" +#include +#include + +/ { + memory@10000000 { + reg = <0x10000000 0x40000000>; + }; + + reg_3p3v: 3p3v { + compatible = "regulator-fixed"; + regulator-name = "3P3V"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + }; + + i2cmux { + compatible = "i2c-mux-gpio"; + #address-cells = <1>; + #size-cells = <0>; + mux-gpios = <&gpio6 9 GPIO_ACTIVE_HIGH>; + i2c-parent = <&i2c2>; + + i2c5: i2c@0 { + reg = <0>; + #address-cells = <1>; + #size-cells = <0>; + }; + + i2c6: i2c@1 { + reg = <1>; + #address-cells = <1>; + #size-cells = <0>; + }; + }; +}; + +&audmux { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_audmux>; + + audmux_ssi1 { + fsl,audmux-port = ; + fsl,port-config = < + (IMX_AUDMUX_V2_PTCR_TFSDIR | + IMX_AUDMUX_V2_PTCR_TFSEL(MX51_AUDMUX_PORT6) | + IMX_AUDMUX_V2_PTCR_TCLKDIR | + IMX_AUDMUX_V2_PTCR_TCSEL(MX51_AUDMUX_PORT6) | + IMX_AUDMUX_V2_PTCR_SYN) + IMX_AUDMUX_V2_PDCR_RXDSEL(MX51_AUDMUX_PORT6) + >; + }; + + audmux_aud6 { + fsl,audmux-port = ; + fsl,port-config = < + IMX_AUDMUX_V2_PTCR_SYN + IMX_AUDMUX_V2_PDCR_RXDSEL(MX51_AUDMUX_PORT1_SSI0) + >; + }; +}; + +&clks { + clocks = <&rtc_sqw>; + clock-names = "ckil"; + assigned-clocks = <&clks IMX6QDL_CLK_LDB_DI0_SEL>, + <&clks IMX6QDL_CLK_LDB_DI1_SEL>; + assigned-clock-parents = <&clks IMX6QDL_CLK_PLL2_PFD0_352M>, + <&clks IMX6QDL_CLK_PLL2_PFD0_352M>; +}; + +&ecspi1 { + cs-gpios = <&gpio3 19 GPIO_ACTIVE_LOW>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_spi1>; + status = "okay"; + + flash@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "sst,sst25vf032b", "jedec,spi-nor"; + spi-max-frequency = <20000000>; + reg = <0>; + + partition@0 { + label = "bootloader"; + reg = <0x0000000 0x100000>; + }; + + partition@100000 { + label = "user"; + reg = <0x0100000 0x2fc000>; + }; + + partition@3fc000 { + label = "reserved"; + reg = <0x03fc000 0x4000>; + read-only; + }; + }; +}; + +&fec { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_enet &pinctrl_phy_reset>; + phy-mode = "rgmii-id"; + phy-reset-gpios = <&gpio3 23 GPIO_ACTIVE_LOW>; + fsl,magic-packet; + phy-handle = <&phy0>; + + mdio { + #address-cells = <1>; + #size-cells = <0>; + + phy0: ethernet-phy@6 { + reg = <6>; + qca,clk-out-frequency = <125000000>; + }; + }; +}; + +&i2c1 { + clock-frequency = <100000>; + pinctrl-names = "default", "gpio"; + pinctrl-0 = <&pinctrl_i2c1>; + pinctrl-1 = <&pinctrl_i2c1_gpio>; + scl-gpios = <&gpio3 21 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; + sda-gpios = <&gpio3 28 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; + status = "okay"; +}; + +&i2c2 { + clock-frequency = <100000>; + pinctrl-names = "default", "gpio"; + pinctrl-0 = <&pinctrl_i2c2>; + pinctrl-1 = <&pinctrl_i2c2_gpio>; + scl-gpios = <&gpio4 12 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; + sda-gpios = <&gpio4 13 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; + status = "okay"; +}; + +&i2c3 { + clock-frequency = <100000>; + pinctrl-names = "default", "gpio"; + pinctrl-0 = <&pinctrl_i2c3>; + pinctrl-1 = <&pinctrl_i2c3_gpio>; + scl-gpios = <&gpio1 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; + sda-gpios = <&gpio1 6 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; + status = "okay"; + + rtc: m41t62@68 { + compatible = "st,m41t62"; + reg = <0x68>; + + rtc_sqw: clock { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <32768>; + }; + }; +}; + +&i2c6 { + pmic@8 { + compatible = "fsl,pfuze100"; + reg = <0x08>; + + regulators { + sw1a_reg: sw1ab { + regulator-min-microvolt = <300000>; + regulator-max-microvolt = <1875000>; + regulator-boot-on; + regulator-always-on; + regulator-ramp-delay = <6250>; + }; + + sw1c_reg: sw1c { + regulator-min-microvolt = <300000>; + regulator-max-microvolt = <1875000>; + regulator-boot-on; + regulator-always-on; + regulator-ramp-delay = <6250>; + }; + + sw2_reg: sw2 { + regulator-min-microvolt = <800000>; + regulator-max-microvolt = <3300000>; + regulator-boot-on; + regulator-always-on; + }; + + sw3a_reg: sw3a { + regulator-min-microvolt = <400000>; + regulator-max-microvolt = <1975000>; + regulator-boot-on; + regulator-always-on; + }; + + sw3b_reg: sw3b { + regulator-min-microvolt = <400000>; + regulator-max-microvolt = <1975000>; + regulator-boot-on; + regulator-always-on; + }; + + sw4_reg: sw4 { + regulator-min-microvolt = <675000>; + regulator-max-microvolt = <3300000>; + regulator-boot-on; + regulator-always-on; + }; + + swbst_reg: swbst { + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5150000>; + }; + + snvs_reg: vsnvs { + regulator-min-microvolt = <1000000>; + regulator-max-microvolt = <3000000>; + regulator-boot-on; + regulator-always-on; + }; + + vref_reg: vrefddr { + regulator-boot-on; + regulator-always-on; + }; + + /* + * keep VGEN3, VGEN4 and VGEN5 enabled in order to + * maintain backward compatibility with hw-rev. A.0 + */ + vgen3_reg: vgen3 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + }; + + vgen4_reg: vgen4 { + regulator-min-microvolt = <2500000>; + regulator-max-microvolt = <2500000>; + regulator-always-on; + }; + + vgen5_reg: vgen5 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + }; + + /* supply voltage for eMMC */ + vgen6_reg: vgen6 { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-boot-on; + regulator-always-on; + }; + }; + }; +}; + +&pcie { + reset-gpio = <&gpio1 20 0>; +}; + +&pwm4 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_pwm4>; +}; + +®_arm { + vin-supply = <&sw1a_reg>; +}; + +®_pu { + vin-supply = <&sw1c_reg>; +}; + +®_soc { + vin-supply = <&sw1c_reg>; +}; + +&snvs_poweroff { + status = "okay"; +}; + +&uart2 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_uart2>; + status = "okay"; +}; + +&uart3 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_uart3>; + status = "okay"; +}; + +&usbh1 { + /* Connected to USB-Hub SMSC USB2514, provides P0, P2, P3, P4 on Qseven connector */ + vbus-supply = <®_5v>; + status = "okay"; +}; + +&usbotg { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_usbotg>; +}; + +&usdhc2 { + /* MicroSD card slot */ + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_usdhc2>; + cd-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>; + no-1-8-v; + keep-power-in-suspend; + wakeup-source; + vmmc-supply = <®_3p3v>; + status = "okay"; +}; + +&usdhc3 { + /* eMMC module */ + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_usdhc3>; + non-removable; + bus-width = <8>; + no-1-8-v; + keep-power-in-suspend; + wakeup-source; + vmmc-supply = <®_3p3v>; + status = "okay"; +}; + +&wdog1 { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_wdog>; + fsl,ext-reset-output; +}; + +&iomuxc { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_hog>; + + qmx6mux: imx6qdl-qmx6 { + pinctrl_audmux: audmuxgrp { + fsl,pins = < + MX6QDL_PAD_DI0_PIN2__AUD6_TXD 0x110b0 /* Q7[67] HDA_SDO */ + MX6QDL_PAD_DI0_PIN3__AUD6_TXFS 0x30b0 /* Q7[59] HDA_SYNC */ + MX6QDL_PAD_DI0_PIN4__AUD6_RXD 0x30b0 /* Q7[65] HDA_SDI */ + MX6QDL_PAD_DI0_PIN15__AUD6_TXC 0x30b0 /* Q7[63] HDA_BITCLK */ + >; + }; + + /* PHY is on System on Module, Q7[3-15] have Ethernet lines */ + pinctrl_enet: enet { + fsl,pins = < + MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0 + MX6QDL_PAD_ENET_MDC__ENET_MDC 0x1b0b0 + MX6QDL_PAD_RGMII_TXC__RGMII_TXC 0x1b030 + MX6QDL_PAD_RGMII_TD0__RGMII_TD0 0x1b030 + MX6QDL_PAD_RGMII_TD1__RGMII_TD1 0x1b030 + MX6QDL_PAD_RGMII_TD2__RGMII_TD2 0x1b030 + MX6QDL_PAD_RGMII_TD3__RGMII_TD3 0x1b030 + MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL 0x1b030 + MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK 0x1b0b0 + MX6QDL_PAD_RGMII_RXC__RGMII_RXC 0x1b030 + MX6QDL_PAD_RGMII_RD0__RGMII_RD0 0x1b030 + MX6QDL_PAD_RGMII_RD1__RGMII_RD1 0x1b030 + MX6QDL_PAD_RGMII_RD2__RGMII_RD2 0x1b030 + MX6QDL_PAD_RGMII_RD3__RGMII_RD3 0x1b030 + MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x1b030 + MX6QDL_PAD_ENET_TX_EN__ENET_TX_EN 0x1b0b0 + >; + }; + + pinctrl_hog: hoggrp { + fsl,pins = < + MX6QDL_PAD_GPIO_2__GPIO1_IO02 0x80000000 /* PCIE_WAKE_B */ + MX6QDL_PAD_NANDF_WP_B__GPIO6_IO09 0x80000000 /* I2C multiplexer */ + MX6QDL_PAD_NANDF_D6__GPIO2_IO06 0x80000000 /* SD4_CD# */ + MX6QDL_PAD_NANDF_D7__GPIO2_IO07 0x80000000 /* SD4_WP */ + MX6QDL_PAD_CSI0_MCLK__CCM_CLKO1 0x80000000 /* Camera MCLK */ + >; + }; + + pinctrl_i2c1: i2c1 { + fsl,pins = < + MX6QDL_PAD_EIM_D21__I2C1_SCL 0x4001b8b1 /* Q7[66] I2C_CLK */ + MX6QDL_PAD_EIM_D28__I2C1_SDA 0x4001b8b1 /* Q7[68] I2C_DAT */ + >; + }; + + pinctrl_i2c1_gpio: i2c1-gpio { + fsl,pins = < + MX6QDL_PAD_EIM_D21__GPIO3_IO21 0x1b0b0 /* Q7[66] I2C_CLK */ + MX6QDL_PAD_EIM_D28__GPIO3_IO28 0x1b0b0 /* Q7[68] I2C_DAT */ + >; + }; + + pinctrl_i2c2: i2c2 { + fsl,pins = < + MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1 /* Q7[152] SDVO_CTRL_CLK */ + MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1 /* Q7[150] SDVO_CTRL_DAT */ + >; + }; + + pinctrl_i2c2_gpio: i2c2-gpio { + fsl,pins = < + MX6QDL_PAD_KEY_COL3__GPIO4_IO12 0x1b0b0 /* Q7[152] SDVO_CTRL_CLK */ + MX6QDL_PAD_KEY_ROW3__GPIO4_IO13 0x1b0b0 /* Q7[150] SDVO_CTRL_DAT */ + >; + }; + + pinctrl_i2c3: i2c3 { + fsl,pins = < + MX6QDL_PAD_GPIO_3__I2C3_SCL 0x4001b8b1 /* Q7[60] SMB_CLK */ + MX6QDL_PAD_GPIO_6__I2C3_SDA 0x4001b8b1 /* Q7[62] SMB_DAT */ + >; + }; + + pinctrl_i2c3_gpio: i2c3-gpio { + fsl,pins = < + MX6QDL_PAD_GPIO_3__GPIO1_IO03 0x1b0b0 /* Q7[60] SMB_CLK */ + MX6QDL_PAD_GPIO_6__GPIO1_IO06 0x1b0b0 /* Q7[62] SMB_DAT */ + >; + }; + + pinctrl_phy_reset: phy-reset { + fsl,pins = < + MX6QDL_PAD_EIM_D23__GPIO3_IO23 0x1b0b0 /* RGMII Phy Reset */ + >; + }; + + pinctrl_pwm4: pwm4 { + fsl,pins = < + MX6QDL_PAD_SD1_CMD__PWM4_OUT 0x1b0b1 /* Q7[123] LVDS_BLT_CTRL */ + >; + }; + + pinctrl_q7_backlight_enable: q7-backlight-enable { + fsl,pins = < + MX6QDL_PAD_GPIO_9__GPIO1_IO09 0x1b0b0 /* Q7[112] LVDS_BLEN */ + >; + }; + + pinctrl_q7_gpio0: q7-gpio0 { + fsl,pins = < + MX6QDL_PAD_EIM_A25__GPIO5_IO02 0x1b0b0 /* Q7[185] GPIO0 */ + >; + }; + + pinctrl_q7_gpio1: q7-gpio1 { + fsl,pins = < + MX6QDL_PAD_GPIO_8__GPIO1_IO08 0x1b0b0 /* Q7[186] GPIO1 */ + >; + }; + + pinctrl_q7_gpio2: q7-gpio2 { + fsl,pins = < + MX6QDL_PAD_DISP0_DAT5__GPIO4_IO26 0x1b0b0 /* Q7[187] GPIO2 */ + >; + }; + + pinctrl_q7_gpio3: q7-gpio3 { + fsl,pins = < + MX6QDL_PAD_DISP0_DAT6__GPIO4_IO27 0x1b0b0 /* Q7[188] GPIO3 */ + >; + }; + + pinctrl_q7_gpio4: q7-gpio4 { + fsl,pins = < + MX6QDL_PAD_GPIO_0__GPIO1_IO00 0x1b0b0 /* Q7[189] GPIO4 */ + >; + }; + + pinctrl_q7_gpio5: q7-gpio5 { + fsl,pins = < + MX6QDL_PAD_KEY_ROW4__GPIO4_IO15 0x1b0b0 /* Q7[190] GPIO5 */ + >; + }; + + pinctrl_q7_gpio6: q7-gpio6 { + fsl,pins = < + MX6QDL_PAD_GPIO_16__GPIO7_IO11 0x1b0b0 /* Q7[191] GPIO6 */ + >; + }; + + pinctrl_q7_gpio7: q7-gpio7 { + fsl,pins = < + MX6QDL_PAD_KEY_COL4__GPIO4_IO14 0x1b0b0 /* Q7[192] GPIO7 */ + >; + }; + + pinctrl_q7_hda_reset: q7-hda-reset { + fsl,pins = < + MX6QDL_PAD_NANDF_ALE__GPIO6_IO08 0x1b0b0 /* Q7[61] HDA_RST_N */ + >; + }; + + pinctrl_q7_lcd_power: lcd-power { + fsl,pins = < + MX6QDL_PAD_GPIO_7__GPIO1_IO07 0x1b0b0 /* Q7[111] LVDS_PPEN */ + >; + }; + + pinctrl_q7_sdio_power: q7-sdio-power { + fsl,pins = < + MX6QDL_PAD_DISP0_DAT9__GPIO4_IO30 0x1b0b0 /* Q7[47] SDIO_PWR# */ + >; + }; + + pinctrl_q7_sleep_button: q7-sleep-button { + fsl,pins = < + MX6QDL_PAD_KEY_ROW0__GPIO4_IO07 0x1b0b0 /* Q7[21] SLP_BTN# */ + >; + }; + + pinctrl_q7_spi_cs1: spi-cs1 { + fsl,pins = < + MX6QDL_PAD_DISP0_DAT4__GPIO4_IO25 0x1b0b0 /* Q7[202] SPI_CS1# */ + >; + }; + + /* SPI1 bus does not leave System on Module */ + pinctrl_spi1: spi1 { + fsl,pins = < + MX6QDL_PAD_EIM_D16__ECSPI1_SCLK 0x100b1 + MX6QDL_PAD_EIM_D17__ECSPI1_MISO 0x100b1 + MX6QDL_PAD_EIM_D18__ECSPI1_MOSI 0x100b1 + MX6QDL_PAD_EIM_D19__GPIO3_IO19 0x1b0b0 + >; + }; + + /* Debug connector on Q7 module */ + pinctrl_uart2: uart2 { + fsl,pins = < + MX6QDL_PAD_EIM_D26__UART2_TX_DATA 0x1b0b1 + MX6QDL_PAD_EIM_D27__UART2_RX_DATA 0x1b0b1 + >; + }; + + pinctrl_uart3: uart3 { + fsl,pins = < + MX6QDL_PAD_EIM_D25__UART3_RX_DATA 0x1b0b1 /* Q7[177] UART0_RX */ + MX6QDL_PAD_EIM_D24__UART3_TX_DATA 0x1b0b1 /* Q7[171] UART0_TX */ + >; + }; + + pinctrl_usbotg: usbotg { + fsl,pins = < + MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x17059 /* Q7[92] USB_ID */ + >; + }; + + /* µSD card slot on Q7 module */ + pinctrl_usdhc2: usdhc2 { + fsl,pins = < + MX6QDL_PAD_SD2_CMD__SD2_CMD 0x17059 + MX6QDL_PAD_SD2_CLK__SD2_CLK 0x10059 + MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x17059 + MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x17059 + MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x17059 + MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x17059 + MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x1b0b0 /* SD2_CD */ + >; + }; + + /* eMMC module on Q7 module */ + pinctrl_usdhc3: usdhc3 { + fsl,pins = < + MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059 + MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10059 + MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059 + MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059 + MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059 + MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059 + MX6QDL_PAD_SD3_DAT4__SD3_DATA4 0x17059 + MX6QDL_PAD_SD3_DAT5__SD3_DATA5 0x17059 + MX6QDL_PAD_SD3_DAT6__SD3_DATA6 0x17059 + MX6QDL_PAD_SD3_DAT7__SD3_DATA7 0x17059 + >; + }; + + pinctrl_usdhc4: usdhc4 { + fsl,pins = < + MX6QDL_PAD_SD4_CMD__SD4_CMD 0x17059 /* Q7[45] SDIO_CMD */ + MX6QDL_PAD_SD4_CLK__SD4_CLK 0x17059 /* Q7[42] SDIO_CLK */ + MX6QDL_PAD_SD4_DAT1__SD4_DATA1 0x17059 /* Q7[48] SDIO_DAT1 */ + MX6QDL_PAD_SD4_DAT0__SD4_DATA0 0x17059 /* Q7[49] SDIO_DAT0 */ + MX6QDL_PAD_SD4_DAT3__SD4_DATA3 0x17059 /* Q7[50] SDIO_DAT3 */ + MX6QDL_PAD_SD4_DAT2__SD4_DATA2 0x17059 /* Q7[51] SDIO_DAT2 */ + >; + }; + + pinctrl_wdog: wdog { + fsl,pins = < + MX6QDL_PAD_DISP0_DAT8__WDOG1_B 0x1b0b0 /* Watchdog output signal */ + >; + }; + }; +}; -- 2.30.2 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=-17.1 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY, USER_AGENT_GIT 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 BDA59C47088 for ; Wed, 26 May 2021 16:42:55 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 7B22B61248 for ; Wed, 26 May 2021 16:42:55 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7B22B61248 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=collabora.com 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=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=eV6oA/wddCs6OqCFChN3sMjZS7MSlU6y9YXdK4i9K8E=; b=xnPCigCqVPtHho vlAiyIMaWbpA0ZDJr1FCE2TAtdVhJ2gBmuI0vF23X7e/Zn8r7BuKH3MZC8qPoln93Pdeygkem0h1T HE/tdFmnkWCkvA8lE43CCHRmQpyVKedTtb64DqnFtybwcXHct33d/+DToZNfS4MxrnZYDG9VknCbS nBjAF1WqAYq+v0mbIEYVj7BylNjrk+8UYMfmZLrsIYFrcI50GJ0YvFSnKqt+iFMsNsEg3e68LP+5t MPceYwPTN7bU/5OFxWZu0+C/Vb2eOTS//lrZzUkvkNphBF32ROqpNkhgl4lYMmwdrXYQhY/+u3baN DiBEAInVK1J3yQx1MWZA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1llwa6-00FoUH-Da; Wed, 26 May 2021 16:40:31 +0000 Received: from bhuna.collabora.co.uk ([2a00:1098:0:82:1000:25:2eeb:e3e3]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1llvN5-00FKD0-UU for linux-arm-kernel@lists.infradead.org; Wed, 26 May 2021 15:23:05 +0000 Received: from [127.0.0.1] (localhost [127.0.0.1]) (Authenticated sender: sre) with ESMTPSA id 26C281F431D5 Received: by jupiter.universe (Postfix, from userid 1000) id D84534800E1; Wed, 26 May 2021 17:22:51 +0200 (CEST) From: Sebastian Reichel To: Sebastian Reichel , Shawn Guo Cc: Rob Herring , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kernel@collabora.com Subject: [PATCHv3 3/3] ARM: dts: imx6: Add GE B1x5v2 Date: Wed, 26 May 2021 17:22:43 +0200 Message-Id: <20210526152243.51059-4-sebastian.reichel@collabora.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210526152243.51059-1-sebastian.reichel@collabora.com> References: <20210526152243.51059-1-sebastian.reichel@collabora.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210526_082300_349166_2FD5023C X-CRM114-Status: GOOD ( 16.67 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org VGhpcyBhZGRzIGRldmljZSB0cmVlIGZpbGVzIGZvciB0aGUgR2VuZXJhbCBFbGVjdHJpYyBIZWFs dGhjYXJlCihHRUhDKSBCMXg1djIgc2VyaWVzLiBBbGwgbW9kZWxzIG1ha2UgdXNlIG9mIENvbmdh dGVjJ3MgUU1YNgpzeXN0ZW0gb24gbW9kdWxlLCB3aGljaCBpcyBkZXNjcmliZWQgaW4gaXRzIG93 biBkZXZpY2UgdHJlZSBpbmNsdWRlLApzbyB0aGF0IGl0IGNhbiBhbHNvIGJlIHVzZWQgYnkgb3Ro ZXIgYm9hcmRzLgoKU2lnbmVkLW9mZi1ieTogU2ViYXN0aWFuIFJlaWNoZWwgPHNlYmFzdGlhbi5y ZWljaGVsQGNvbGxhYm9yYS5jb20+Ci0tLQogYXJjaC9hcm0vYm9vdC9kdHMvTWFrZWZpbGUgICAg ICAgICAgICB8ICAgNSArCiBhcmNoL2FybS9ib290L2R0cy9pbXg2ZGwtYjEwNXB2Mi5kdHMgIHwg IDMyICsrCiBhcmNoL2FybS9ib290L2R0cy9pbXg2ZGwtYjEwNXYyLmR0cyAgIHwgIDMyICsrCiBh cmNoL2FybS9ib290L2R0cy9pbXg2ZGwtYjEyNXB2Mi5kdHMgIHwgIDMwICsrCiBhcmNoL2FybS9i b290L2R0cy9pbXg2ZGwtYjEyNXYyLmR0cyAgIHwgIDMwICsrCiBhcmNoL2FybS9ib290L2R0cy9p bXg2ZGwtYjE1NXYyLmR0cyAgIHwgIDMyICsrCiBhcmNoL2FybS9ib290L2R0cy9pbXg2ZGwtYjF4 NXB2Mi5kdHNpIHwgNDEzICsrKysrKysrKysrKysrKysrCiBhcmNoL2FybS9ib290L2R0cy9pbXg2 ZGwtYjF4NXYyLmR0c2kgIHwgIDU4ICsrKwogYXJjaC9hcm0vYm9vdC9kdHMvaW14NmRsLXFteDYu ZHRzaSAgICB8IDYxMiArKysrKysrKysrKysrKysrKysrKysrKysrKwogOSBmaWxlcyBjaGFuZ2Vk LCAxMjQ0IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBhcmNoL2FybS9ib290L2R0 cy9pbXg2ZGwtYjEwNXB2Mi5kdHMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBhcmNoL2FybS9ib290L2R0 cy9pbXg2ZGwtYjEwNXYyLmR0cwogY3JlYXRlIG1vZGUgMTAwNjQ0IGFyY2gvYXJtL2Jvb3QvZHRz L2lteDZkbC1iMTI1cHYyLmR0cwogY3JlYXRlIG1vZGUgMTAwNjQ0IGFyY2gvYXJtL2Jvb3QvZHRz L2lteDZkbC1iMTI1djIuZHRzCiBjcmVhdGUgbW9kZSAxMDA2NDQgYXJjaC9hcm0vYm9vdC9kdHMv aW14NmRsLWIxNTV2Mi5kdHMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBhcmNoL2FybS9ib290L2R0cy9p bXg2ZGwtYjF4NXB2Mi5kdHNpCiBjcmVhdGUgbW9kZSAxMDA2NDQgYXJjaC9hcm0vYm9vdC9kdHMv aW14NmRsLWIxeDV2Mi5kdHNpCiBjcmVhdGUgbW9kZSAxMDA2NDQgYXJjaC9hcm0vYm9vdC9kdHMv aW14NmRsLXFteDYuZHRzaQoKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2Jvb3QvZHRzL01ha2VmaWxl IGIvYXJjaC9hcm0vYm9vdC9kdHMvTWFrZWZpbGUKaW5kZXggZjhmMDljNTA2NmU3Li4yYjg4MTBm MjliMjcgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2Jvb3QvZHRzL01ha2VmaWxlCisrKyBiL2FyY2gv YXJtL2Jvb3QvZHRzL01ha2VmaWxlCkBAIC01MTUsNiArNTE1LDExIEBAIGR0Yi0kKENPTkZJR19T T0NfSU1YNlEpICs9IFwKIAlpbXg2cS1kbXMtYmExNi5kdGIgXAogCWlteDZxLWVtY29uLWF2YXJp LmR0YiBcCiAJaW14NnEtZXZpLmR0YiBcCisJaW14NmRsLWIxMDVwdjIuZHRiIFwKKwlpbXg2ZGwt YjEwNXYyLmR0YiBcCisJaW14NmRsLWIxMjV2Mi5kdGIgXAorCWlteDZkbC1iMTI1cHYyLmR0YiBc CisJaW14NmRsLWIxNTV2Mi5kdGIgXAogCWlteDZxLWdrODAyLmR0YiBcCiAJaW14NnEtZ3c1MXh4 LmR0YiBcCiAJaW14NnEtZ3c1Mnh4LmR0YiBcCmRpZmYgLS1naXQgYS9hcmNoL2FybS9ib290L2R0 cy9pbXg2ZGwtYjEwNXB2Mi5kdHMgYi9hcmNoL2FybS9ib290L2R0cy9pbXg2ZGwtYjEwNXB2Mi5k dHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi40MTFhYTcyZDM0NGIK LS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9ib290L2R0cy9pbXg2ZGwtYjEwNXB2Mi5kdHMK QEAgLTAsMCArMSwzMiBAQAorLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAgb3Ig TUlUCisvLworLy8gRGV2aWNlIFRyZWUgU291cmNlIGZvciBHZW5lcmFsIEVsZWN0cmljIEIxMDVQ djIKKy8vCisvLyBDb3B5cmlnaHQgMjAxOC0yMDIxIEdlbmVyYWwgRWxlY3RyaWMgQ29tcGFueQor Ly8gQ29weXJpZ2h0IDIwMTgtMjAyMSBDb2xsYWJvcmEKKworL2R0cy12MS87CisjaW5jbHVkZSAi aW14NmRsLWIxeDVwdjIuZHRzaSIKKworLyB7CisJbW9kZWwgPSAiR2VuZXJhbCBFbGVjdHJpYyBC MTA1UHYyIjsKKwljb21wYXRpYmxlID0gImdlLGlteDZkbC1iMTA1cHYyIiwgImNvbmdhdGVjLHFt eDYiLCAiZnNsLGlteDZkbCI7CisKKwlwYW5lbCB7CisJCWNvbXBhdGlibGUgPSAiYXVvLGcxMDFl dm4wMTAiOworCX07Cit9OworCismaTJjMyB7CisJdG91Y2hzY3JlZW5ANDEgeworCQljb21wYXRp YmxlID0gImlsaXRlayxpbGkyNTF4IjsKKwkJcmVnID0gPDB4NDE+OworCQlwaW5jdHJsLW5hbWVz ID0gImRlZmF1bHQiOworCQlwaW5jdHJsLTAgPTwmcGluY3RybF9xN19ncGlvMD47CisJCWludGVy cnVwdC1wYXJlbnQgPSA8JmdwaW81PjsKKwkJaW50ZXJydXB0cyA9IDwyIElSUV9UWVBFX0VER0Vf RkFMTElORz47CisJCXJlc2V0LWdwaW9zID0gPCZ0Y2E2NDI0YSAyMSBHUElPX0FDVElWRV9MT1c+ OworCQl0b3VjaHNjcmVlbi1zaXplLXggPSA8MTI4MD47CisJCXRvdWNoc2NyZWVuLXNpemUteSA9 IDw4MDA+OworCX07Cit9OwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9vdC9kdHMvaW14NmRsLWIx MDV2Mi5kdHMgYi9hcmNoL2FybS9ib290L2R0cy9pbXg2ZGwtYjEwNXYyLmR0cwpuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmQwMTExMjdjNjM1YgotLS0gL2Rldi9udWxs CisrKyBiL2FyY2gvYXJtL2Jvb3QvZHRzL2lteDZkbC1iMTA1djIuZHRzCkBAIC0wLDAgKzEsMzIg QEAKKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wIG9yIE1JVAorLy8KKy8vIERl dmljZSBUcmVlIFNvdXJjZSBmb3IgR2VuZXJhbCBFbGVjdHJpYyBCMTA1djIKKy8vCisvLyBDb3B5 cmlnaHQgMjAxOC0yMDIxIEdlbmVyYWwgRWxlY3RyaWMgQ29tcGFueQorLy8gQ29weXJpZ2h0IDIw MTgtMjAyMSBDb2xsYWJvcmEKKworL2R0cy12MS87CisjaW5jbHVkZSAiaW14NmRsLWIxeDV2Mi5k dHNpIgorCisvIHsKKwltb2RlbCA9ICJHZW5lcmFsIEVsZWN0cmljIEIxMDV2MiI7CisJY29tcGF0 aWJsZSA9ICJnZSxpbXg2ZGwtYjEwNXYyIiwgImNvbmdhdGVjLHFteDYiLCAiZnNsLGlteDZkbCI7 CisKKwlwYW5lbCB7CisJCWNvbXBhdGlibGUgPSAiYXVvLGcxMDFldm4wMTAiOworCX07Cit9Owor CismaTJjMyB7CisJdG91Y2hzY3JlZW5ANDEgeworCQljb21wYXRpYmxlID0gImlsaXRlayxpbGky NTF4IjsKKwkJcmVnID0gPDB4NDE+OworCQlwaW5jdHJsLW5hbWVzID0gImRlZmF1bHQiOworCQlw aW5jdHJsLTAgPTwmcGluY3RybF9xN19ncGlvMD47CisJCWludGVycnVwdC1wYXJlbnQgPSA8Jmdw aW81PjsKKwkJaW50ZXJydXB0cyA9IDwyIElSUV9UWVBFX0VER0VfRkFMTElORz47CisJCXJlc2V0 LWdwaW9zID0gPCZ0Y2E2NDI0YSAyMSBHUElPX0FDVElWRV9MT1c+OworCQl0b3VjaHNjcmVlbi1z aXplLXggPSA8MTI4MD47CisJCXRvdWNoc2NyZWVuLXNpemUteSA9IDw4MDA+OworCX07Cit9Owpk aWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9vdC9kdHMvaW14NmRsLWIxMjVwdjIuZHRzIGIvYXJjaC9h cm0vYm9vdC9kdHMvaW14NmRsLWIxMjVwdjIuZHRzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAwMDAwMC4uY2E4NDBmYTg0MDUyCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0v Ym9vdC9kdHMvaW14NmRsLWIxMjVwdjIuZHRzCkBAIC0wLDAgKzEsMzAgQEAKKy8vIFNQRFgtTGlj ZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wIG9yIE1JVAorLy8KKy8vIERldmljZSBUcmVlIFNvdXJj ZSBmb3IgR2VuZXJhbCBFbGVjdHJpYyBCMTI1UHYyCisvLworLy8gQ29weXJpZ2h0IDIwMTgtMjAy MSBHZW5lcmFsIEVsZWN0cmljIENvbXBhbnkKKy8vIENvcHlyaWdodCAyMDE4LTIwMjEgQ29sbGFi b3JhCisKKy9kdHMtdjEvOworI2luY2x1ZGUgImlteDZkbC1iMXg1cHYyLmR0c2kiCisKKy8gewor CW1vZGVsID0gIkdlbmVyYWwgRWxlY3RyaWMgQjEyNVB2MiI7CisJY29tcGF0aWJsZSA9ICJnZSxp bXg2ZGwtYjEyNXB2MiIsICJjb25nYXRlYyxxbXg2IiwgImZzbCxpbXg2ZGwiOworCisJcGFuZWwg eworCQljb21wYXRpYmxlID0gImF1byxnMTIxZWFuMDEiOworCX07Cit9OworCismaTJjMyB7CisJ dG91Y2hzY3JlZW5AMmEgeworCQljb21wYXRpYmxlID0gImVldGksZXhjODBoNjAiOworCQlyZWcg PSA8MHgyYT47CisJCXBpbmN0cmwtbmFtZXMgPSAiZGVmYXVsdCI7CisJCXBpbmN0cmwtMCA9PCZw aW5jdHJsX3E3X2dwaW8wPjsKKwkJaW50ZXJydXB0LXBhcmVudCA9IDwmZ3BpbzU+OworCQlpbnRl cnJ1cHRzID0gPDIgSVJRX1RZUEVfTEVWRUxfTE9XPjsKKwkJcmVzZXQtZ3Bpb3MgPSA8JnRjYTY0 MjRhIDIxIEdQSU9fQUNUSVZFX0hJR0g+OworCX07Cit9OwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0v Ym9vdC9kdHMvaW14NmRsLWIxMjV2Mi5kdHMgYi9hcmNoL2FybS9ib290L2R0cy9pbXg2ZGwtYjEy NXYyLmR0cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjgxZTVhOWNi ODkwMAotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL2Jvb3QvZHRzL2lteDZkbC1iMTI1djIu ZHRzCkBAIC0wLDAgKzEsMzAgQEAKKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4w IG9yIE1JVAorLy8KKy8vIERldmljZSBUcmVlIFNvdXJjZSBmb3IgR2VuZXJhbCBFbGVjdHJpYyBC MTI1djIKKy8vCisvLyBDb3B5cmlnaHQgMjAxOC0yMDIxIEdlbmVyYWwgRWxlY3RyaWMgQ29tcGFu eQorLy8gQ29weXJpZ2h0IDIwMTgtMjAyMSBDb2xsYWJvcmEKKworL2R0cy12MS87CisjaW5jbHVk ZSAiaW14NmRsLWIxeDV2Mi5kdHNpIgorCisvIHsKKwltb2RlbCA9ICJHZW5lcmFsIEVsZWN0cmlj IEIxMjV2MiI7CisJY29tcGF0aWJsZSA9ICJnZSxpbXg2ZGwtYjEyNXYyIiwgImNvbmdhdGVjLHFt eDYiLCAiZnNsLGlteDZkbCI7CisKKwlwYW5lbCB7CisJCWNvbXBhdGlibGUgPSAiYXVvLGcxMjFl YW4wMSI7CisJfTsKK307CisKKyZpMmMzIHsKKwl0b3VjaHNjcmVlbkAyYSB7CisJCWNvbXBhdGli bGUgPSAiZWV0aSxleGM4MGg2MCI7CisJCXJlZyA9IDwweDJhPjsKKwkJcGluY3RybC1uYW1lcyA9 ICJkZWZhdWx0IjsKKwkJcGluY3RybC0wID08JnBpbmN0cmxfcTdfZ3BpbzA+OworCQlpbnRlcnJ1 cHQtcGFyZW50ID0gPCZncGlvNT47CisJCWludGVycnVwdHMgPSA8MiBJUlFfVFlQRV9MRVZFTF9M T1c+OworCQlyZXNldC1ncGlvcyA9IDwmdGNhNjQyNGEgMjEgR1BJT19BQ1RJVkVfSElHSD47CisJ fTsKK307CmRpZmYgLS1naXQgYS9hcmNoL2FybS9ib290L2R0cy9pbXg2ZGwtYjE1NXYyLmR0cyBi L2FyY2gvYXJtL2Jvb3QvZHRzL2lteDZkbC1iMTU1djIuZHRzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAwMDAwMC4uYzg2MTkzN2IzMGY2Ci0tLSAvZGV2L251bGwKKysrIGIvYXJj aC9hcm0vYm9vdC9kdHMvaW14NmRsLWIxNTV2Mi5kdHMKQEAgLTAsMCArMSwzMiBAQAorLy8gU1BE WC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAgb3IgTUlUCisvLworLy8gRGV2aWNlIFRyZWUg U291cmNlIGZvciBHZW5lcmFsIEVsZWN0cmljIEIxNTV2MgorLy8KKy8vIENvcHlyaWdodCAyMDE4 LTIwMjEgR2VuZXJhbCBFbGVjdHJpYyBDb21wYW55CisvLyBDb3B5cmlnaHQgMjAxOC0yMDIxIENv bGxhYm9yYQorCisvZHRzLXYxLzsKKyNpbmNsdWRlICJpbXg2ZGwtYjF4NXYyLmR0c2kiCisKKy8g eworCW1vZGVsID0gIkdlbmVyYWwgRWxlY3RyaWMgQjE1NXYyIjsKKwljb21wYXRpYmxlID0gImdl LGlteDZkbC1iMTU1djIiLCAiY29uZ2F0ZWMscW14NiIsICJmc2wsaW14NmRsIjsKKworCXBhbmVs IHsKKwkJY29tcGF0aWJsZSA9ICJhdW8sZzE1Nnh0bjAxIjsKKwl9OworfTsKKworJmkyYzMgewor CXRvdWNoc2NyZWVuQDJhIHsKKwkJY29tcGF0aWJsZSA9ICJlZXRpLGV4YzgwaDg0IjsKKwkJcmVn ID0gPDB4MmE+OworCQlwaW5jdHJsLW5hbWVzID0gImRlZmF1bHQiOworCQlwaW5jdHJsLTAgPTwm cGluY3RybF9xN19ncGlvMD47CisJCWludGVycnVwdC1wYXJlbnQgPSA8JmdwaW81PjsKKwkJaW50 ZXJydXB0cyA9IDwyIElSUV9UWVBFX0xFVkVMX0xPVz47CisJCXRvdWNoc2NyZWVuLWludmVydGVk LXg7CisJCXRvdWNoc2NyZWVuLWludmVydGVkLXk7CisJCXJlc2V0LWdwaW9zID0gPCZ0Y2E2NDI0 YSAyMSBHUElPX0FDVElWRV9ISUdIPjsKKwl9OworfTsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2Jv b3QvZHRzL2lteDZkbC1iMXg1cHYyLmR0c2kgYi9hcmNoL2FybS9ib290L2R0cy9pbXg2ZGwtYjF4 NXB2Mi5kdHNpCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZWM1YjY2 NDUzMTU2Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vYm9vdC9kdHMvaW14NmRsLWIxeDVw djIuZHRzaQpAQCAtMCwwICsxLDQxMyBAQAorLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQ TC0yLjAgb3IgTUlUCisvLworLy8gRGV2aWNlIFRyZWUgU291cmNlIGZvciBHZW5lcmFsIEVsZWN0 cmljIEIxeDVQdjIKKy8vIHBhdGllbnQgbW9uaXRvciBzZXJpZXMKKy8vCisvLyBDb3B5cmlnaHQg MjAxOC0yMDIxIEdlbmVyYWwgRWxlY3RyaWMgQ29tcGFueQorLy8gQ29weXJpZ2h0IDIwMTgtMjAy MSBDb2xsYWJvcmEKKworI2luY2x1ZGUgPGR0LWJpbmRpbmdzL2lucHV0L2lucHV0Lmg+CisjaW5j bHVkZSAiaW14NmRsLXFteDYuZHRzaSIKKworLyB7CisJY2hvc2VuIHsKKwkJc3Rkb3V0LXBhdGgg PSAmdWFydDM7CisJfTsKKworCS8qIERvIG5vdCBhbGxvdyBmcmVxdWVuY2llcyBhYm92ZSA4MDBN SHogKi8KKwljcHVzIHsKKwkJY3B1QDAgeworCQkJb3BlcmF0aW5nLXBvaW50cyA9IDwKKwkJCQkv KiBrSHogICAgdVYgKi8KKwkJCQk3OTIwMDAgIDExNzUwMDAKKwkJCQkzOTYwMDAgIDExNTAwMDAK KwkJCT47CisJCQlmc2wsc29jLW9wZXJhdGluZy1wb2ludHMgPSA8CisJCQkJLyogQVJNIGtIeglT T0MtUFUgdVYgKi8KKwkJCQk3OTIwMDAJMTE3NTAwMAorCQkJCTM5NjAwMAkxMTc1MDAwCisJCQk+ OworCQl9OworCisJCWNwdUAxIHsKKwkJCW9wZXJhdGluZy1wb2ludHMgPSA8CisJCQkJLyoga0h6 ICAgIHVWICovCisJCQkJNzkyMDAwICAxMTc1MDAwCisJCQkJMzk2MDAwICAxMTUwMDAwCisJCQk+ OworCQkJZnNsLHNvYy1vcGVyYXRpbmctcG9pbnRzID0gPAorCQkJCS8qIEFSTSBrSHoJU09DLVBV IHVWICovCisJCQkJNzkyMDAwCTExNzUwMDAKKwkJCQkzOTYwMDAJMTE3NTAwMAorCQkJPjsKKwkJ fTsKKwl9OworCisJcmVnX3N5c3B3cjogcmVndWxhdG9yLTEydiB7CisJCWNvbXBhdGlibGUgPSAi cmVndWxhdG9yLWZpeGVkIjsKKwkJcmVndWxhdG9yLW5hbWUgPSAiU1lTX1BXUiI7CisJCXJlZ3Vs YXRvci1taW4tbWljcm92b2x0ID0gPDEyMDAwMDAwPjsKKwkJcmVndWxhdG9yLW1heC1taWNyb3Zv bHQgPSA8MTIwMDAwMDA+OworCX07CisKKwlyZWdfNXZfcG1jOiByZWd1bGF0b3ItNXYtcG1jIHsK KwkJY29tcGF0aWJsZSA9ICJyZWd1bGF0b3ItZml4ZWQiOworCQlyZWd1bGF0b3ItbmFtZSA9ICI1 ViBQTUMiOworCQlyZWd1bGF0b3ItbWluLW1pY3Jvdm9sdCA9IDw1MDAwMDAwPjsKKwkJcmVndWxh dG9yLW1heC1taWNyb3ZvbHQgPSA8NTAwMDAwMD47CisJCXZpbi1zdXBwbHkgPSA8JnJlZ19zeXNw d3I+OworCX07CisKKwlyZWdfNXY6IHJlZ3VsYXRvci01diB7CisJCWNvbXBhdGlibGUgPSAicmVn dWxhdG9yLWZpeGVkIjsKKwkJcmVndWxhdG9yLW5hbWUgPSAiNVYiOworCQlyZWd1bGF0b3ItbWlu LW1pY3Jvdm9sdCA9IDw1MDAwMDAwPjsKKwkJcmVndWxhdG9yLW1heC1taWNyb3ZvbHQgPSA8NTAw MDAwMD47CisJCXZpbi1zdXBwbHkgPSA8JnJlZ19zeXNwd3I+OworCX07CisKKwlyZWdfM3YzOiBy ZWd1bGF0b3ItM3YzIHsKKwkJY29tcGF0aWJsZSA9ICJyZWd1bGF0b3ItZml4ZWQiOworCQlyZWd1 bGF0b3ItbmFtZSA9ICIzVjMiOworCQlyZWd1bGF0b3ItbWluLW1pY3Jvdm9sdCA9IDwzMzAwMDAw PjsKKwkJcmVndWxhdG9yLW1heC1taWNyb3ZvbHQgPSA8MzMwMDAwMD47CisJCXZpbi1zdXBwbHkg PSA8JnJlZ19zeXNwd3I+OworCX07CisKKwlyZWdfNXYwX2F1ZGlvOiByZWd1bGF0b3ItNXYwLWF1 ZGlvIHsKKwkJY29tcGF0aWJsZSA9ICJyZWd1bGF0b3ItZml4ZWQiOworCQlyZWd1bGF0b3ItbmFt ZSA9ICI1VjBfQVVESU8iOworCQlyZWd1bGF0b3ItbWluLW1pY3Jvdm9sdCA9IDw1MDAwMDAwPjsK KwkJcmVndWxhdG9yLW1heC1taWNyb3ZvbHQgPSA8NTAwMDAwMD47CisJCXZpbi1zdXBwbHkgPSA8 JnJlZ181dj47CisJCWdwaW8gPSA8JnRjYTY0MjRhIDE2IEdQSU9fQUNUSVZFX0hJR0g+OworCQll bmFibGUtYWN0aXZlLWhpZ2g7CisJCS8qCisJCSAqIFRoaXMgbXVzdCBiZSBhbHdheXMtb24gZm9y IGRhNzIxMiwgd2hpY2ggaGFzIHNvbWUgbm90CisJCSAqIHByb3Blcmx5IGRvY3VtZW50ZWQgZGVw ZW5kZW5jaWVzIGZvciBpdCdzIHNwZWFrZXIgc3VwcGx5CisJCSAqIHBpbi4gVGhlIGlzc3VlIG1h bmlmZXN0cyBhcyBzcGVha2VyIHZvbHVtZSBiZWluZyB2ZXJ5IGxvdy4KKwkJICovCisJCXJlZ3Vs YXRvci1hbHdheXMtb247CisJfTsKKworCisJcmVnXzN2M19hdWRpbzogcmVndWxhdG9yLTN2My1h dWRpbyB7CisJCWNvbXBhdGlibGUgPSAicmVndWxhdG9yLWZpeGVkIjsKKwkJcmVndWxhdG9yLW5h bWUgPSAiM1YzX0FVRElPIjsKKwkJcmVndWxhdG9yLW1pbi1taWNyb3ZvbHQgPSA8MzMwMDAwMD47 CisJCXJlZ3VsYXRvci1tYXgtbWljcm92b2x0ID0gPDMzMDAwMDA+OworCQl2aW4tc3VwcGx5ID0g PCZyZWdfM3YzPjsKKwkJcGluY3RybC0wID0gPCZwaW5jdHJsX3E3X2hkYV9yZXNldD47CisJCXBp bmN0cmwtbmFtZXMgPSAiZGVmYXVsdCI7CisJCWdwaW8gPSA8JmdwaW82IDggR1BJT19BQ1RJVkVf SElHSD47CisJCWVuYWJsZS1hY3RpdmUtaGlnaDsKKwl9OworCisJcmVnXzJ2NV9hdWRpbzogcmVn dWxhdG9yLTJ2NS1hdWRpbyB7CisJCWNvbXBhdGlibGUgPSAicmVndWxhdG9yLWZpeGVkIjsKKwkJ cmVndWxhdG9yLW5hbWUgPSAiMlY1X0FVRElPIjsKKwkJcmVndWxhdG9yLW1pbi1taWNyb3ZvbHQg PSA8MjUwMDAwMD47CisJCXJlZ3VsYXRvci1tYXgtbWljcm92b2x0ID0gPDI1MDAwMDA+OworCQly ZWd1bGF0b3ItYWx3YXlzLW9uOworCQl2aW4tc3VwcGx5ID0gPCZyZWdfM3YzX2F1ZGlvPjsKKwor CX07CisKKwlyZWdfd2xhbjogcmVndWxhdG9yLXdsYW4geworCQljb21wYXRpYmxlID0gInJlZ3Vs YXRvci1maXhlZCI7CisJCXJlZ3VsYXRvci1uYW1lID0gIldMQU4iOworCQlyZWd1bGF0b3ItbWlu LW1pY3Jvdm9sdCA9IDwzMzAwMDAwPjsKKwkJcmVndWxhdG9yLW1heC1taWNyb3ZvbHQgPSA8MzMw MDAwMD47CisJCXZpbi1zdXBwbHkgPSA8JnJlZ18zdjM+OworCQlwaW5jdHJsLW5hbWVzID0gImRl ZmF1bHQiOworCQlwaW5jdHJsLTAgPSA8JnBpbmN0cmxfcTdfc2Rpb19wb3dlcj47CisJCWdwaW8g PSA8JmdwaW80IDMwIEdQSU9fQUNUSVZFX0hJR0g+OworCQllbmFibGUtYWN0aXZlLWhpZ2g7CisJ CXN0YXJ0dXAtZGVsYXktdXMgPSA8NzAwMDA+OworCX07CisKKwlyZWdfYmw6IHJlZ3VsYXRvci1i YWNrbGlnaHQgeworCQljb21wYXRpYmxlID0gInJlZ3VsYXRvci1maXhlZCI7CisJCXJlZ3VsYXRv ci1uYW1lID0gIkxFRF9WQ0MiOworCQlyZWd1bGF0b3ItbWluLW1pY3Jvdm9sdCA9IDwxMjAwMDAw MD47CisJCXJlZ3VsYXRvci1tYXgtbWljcm92b2x0ID0gPDEyMDAwMDAwPjsKKwkJdmluLXN1cHBs eSA9IDwmcmVnX3N5c3B3cj47CisJCXBpbmN0cmwtMCA9IDwmcGluY3RybF9xN19sY2RfcG93ZXI+ OworCQlwaW5jdHJsLW5hbWVzID0gImRlZmF1bHQiOworCQlncGlvID0gPCZncGlvMSA3IEdQSU9f QUNUSVZFX0hJR0g+OworCQllbmFibGUtYWN0aXZlLWhpZ2g7CisJfTsKKworCXJlZ19sY2Q6IHJl Z3VsYXRvci1sY2QgeworCQljb21wYXRpYmxlID0gInJlZ3VsYXRvci1maXhlZCI7CisJCXJlZ3Vs YXRvci1uYW1lID0gIkxDRF81ViI7CisJCXJlZ3VsYXRvci1taW4tbWljcm92b2x0ID0gPDUwMDAw MDA+OworCQlyZWd1bGF0b3ItbWF4LW1pY3Jvdm9sdCA9IDw1MDAwMDAwPjsKKwkJdmluLXN1cHBs eSA9IDwmcmVnXzV2PjsKKwl9OworCisJdXNiX3Bvd2VyOiByZWd1bGF0b3ItdXNiLXBvd2VyIHsK KwkJY29tcGF0aWJsZSA9ICJyZWd1bGF0b3ItZml4ZWQiOworCQlyZWd1bGF0b3ItbmFtZSA9ICJV U0IgUE9XRVIiOworCQlyZWd1bGF0b3ItbWluLW1pY3Jvdm9sdCA9IDw1MDAwMDAwPjsKKwkJcmVn dWxhdG9yLW1heC1taWNyb3ZvbHQgPSA8NTAwMDAwMD47CisJCXZpbi1zdXBwbHkgPSA8JnJlZ181 dj47CisJfTsKKworCWNoYXJnZXI6IGJhdHRlcnktY2hhcmdlciB7CisJCWNvbXBhdGlibGUgPSAi Z3Bpby1jaGFyZ2VyIjsgLyogdGksYnEyNDE3MiAqLworCQljaGFyZ2VyLXR5cGUgPSAibWFpbnMi OworCQlncGlvcyA9IDwmdGNhNjQyNGEgMyBHUElPX0FDVElWRV9MT1c+OworCQljaGFyZ2UtY3Vy cmVudC1saW1pdC1ncGlvcyA9IDwmdGNhNjQyNGEgMTEgR1BJT19BQ1RJVkVfSElHSD4sCisJCQkJ CSAgICAgPCZ0Y2E2NDI0YSAxMiBHUElPX0FDVElWRV9ISUdIPjsKKwkJY2hhcmdlLWN1cnJlbnQt bGltaXQtbWFwcGluZyA9IDwxMzAwMDAwIDB4MD4sCisJCQkJCSAgICAgICA8NzAwMDAwIDB4MT4s CisJCQkJCSAgICAgICA8MCAweDI+OworCQljaGFyZ2Utc3RhdHVzLWdwaW9zID0gPCZ0Y2E2NDI0 YSA2IEdQSU9fQUNUSVZFX0hJR0g+OworCX07CisKKwlwb3dlcm9mZiB7CisJCWNvbXBhdGlibGUg PSAiZ3Bpby1wb3dlcm9mZiI7CisJCXBpbmN0cmwtbmFtZXMgPSAiZGVmYXVsdCI7CisJCXBpbmN0 cmwtMCA9IDwmcGluY3RybF9xN19zcGlfY3MxPjsKKwkJZ3Bpb3MgPSA8JmdwaW80IDI1IEdQSU9f QUNUSVZFX0xPVz47CisJfTsKKworCXBvd2VyLWJ1dHRvbi1rZXkgeworCQljb21wYXRpYmxlID0g ImdwaW8ta2V5cyI7CisJCXBpbmN0cmwtbmFtZXMgPSAiZGVmYXVsdCI7CisJCXBpbmN0cmwtMCA9 IDwmcGluY3RybF9xN19zbGVlcF9idXR0b24+OworCisJCXBvd2VyLWJ1dHRvbiB7CisJCQlsYWJl bCA9ICJwb3dlciBidXR0b24iOworCQkJZ3Bpb3MgPSA8JmdwaW80IDcgR1BJT19BQ1RJVkVfTE9X PjsKKwkJCWxpbnV4LGNvZGUgPSA8S0VZX1BPV0VSPjsKKwkJfTsKKwl9OworCisJcm90YXJ5LWVu Y29kZXIta2V5IHsKKwkJY29tcGF0aWJsZSA9ICJncGlvLWtleXMiOworCisJCXJvdGFyeS1lbmNv ZGVyLXByZXNzIHsKKwkJCWxhYmVsID0gInJvdGFyeS1lbmNvZGVyIHByZXNzIjsKKwkJCWdwaW9z ID0gPCZ0Y2E2NDI0YSAwIEdQSU9fQUNUSVZFX0hJR0g+OworCQkJbGludXgsY29kZSA9IDxLRVlf RU5URVI+OworCQkJbGludXgsY2FuLWRpc2FibGU7CisJCX07CisJfTsKKworCXJvdGFyeS1lbmNv ZGVyIHsKKwkJY29tcGF0aWJsZSA9ICJyb3RhcnktZW5jb2RlciI7CisJCXBpbmN0cmwtbmFtZXMg PSAiZGVmYXVsdCI7CisJCXBpbmN0cmwtMCA9IDwmcGluY3RybF9xN19ncGlvMiAmcGluY3RybF9x N19ncGlvND47CisJCWdwaW9zID0gPCZncGlvNCAyNiBHUElPX0FDVElWRV9MT1c+LCA8JmdwaW8x IDAgR1BJT19BQ1RJVkVfTE9XPjsKKwkJcm90YXJ5LWVuY29kZXIscmVsYXRpdmUtYXhpczsKKwkJ cm90YXJ5LWVuY29kZXIsc3RlcHMtcGVyLXBlcmlvZCA9IDwyPjsKKwkJd2FrZXVwLXNvdXJjZTsK Kwl9OworCisJbGVkcyB7CisJCWNvbXBhdGlibGUgPSAiZ3Bpby1sZWRzIjsKKwkJcGluY3RybC1u YW1lcyA9ICJkZWZhdWx0IjsKKwkJcGluY3RybC0wID0gPCZwaW5jdHJsX3E3X2dwaW8xICZwaW5j dHJsX3E3X2dwaW8zICZwaW5jdHJsX3E3X2dwaW81PjsKKworCQlhbGFybTEgeworCQkJbGFiZWwg PSAiYWxhcm06cmVkIjsKKwkJCWdwaW9zID0gPCZncGlvMSA4IEdQSU9fQUNUSVZFX0hJR0g+Owor CQl9OworCisJCWFsYXJtMiB7CisJCQlsYWJlbCA9ICJhbGFybTp5ZWxsb3ciOworCQkJZ3Bpb3Mg PSA8JmdwaW80IDI3IEdQSU9fQUNUSVZFX0hJR0g+OworCQl9OworCisJCWFsYXJtMyB7CisJCQls YWJlbCA9ICJhbGFybTpibHVlIjsKKwkJCWdwaW9zID0gPCZncGlvNCAxNSBHUElPX0FDVElWRV9I SUdIPjsKKwkJfTsKKwl9OworCisJYmFja2xpZ2h0OiBiYWNrbGlnaHQgeworCQljb21wYXRpYmxl ID0gInB3bS1iYWNrbGlnaHQiOworCQlwaW5jdHJsLW5hbWVzID0gImRlZmF1bHQiOworCQlwaW5j dHJsLTAgPSA8JnBpbmN0cmxfcTdfYmFja2xpZ2h0X2VuYWJsZT47CisJCXBvd2VyLXN1cHBseSA9 IDwmcmVnX2JsPjsKKwkJcHdtcyA9IDwmcHdtNCAwIDUwMDAwMDAgMD47CisJCWJyaWdodG5lc3Mt bGV2ZWxzID0gPDAgMjU1PjsKKwkJbnVtLWludGVycG9sYXRlZC1zdGVwcyA9IDwyNTU+OworCQlk ZWZhdWx0LWJyaWdodG5lc3MtbGV2ZWwgPSA8MTc5PjsKKwkJZW5hYmxlLWdwaW9zID0gPCZncGlv MSA5IEdQSU9fQUNUSVZFX0hJR0g+OworCX07CisKKwlwYW5lbCB7CisJCWJhY2tsaWdodCA9IDwm YmFja2xpZ2h0PjsKKwkJcG93ZXItc3VwcGx5ID0gPCZyZWdfbGNkPjsKKworCQlwb3J0IHsKKwkJ CXBhbmVsX2luOiBlbmRwb2ludCB7CisJCQkJcmVtb3RlLWVuZHBvaW50ID0gPCZsdmRzMF9vdXQ+ OworCQkJfTsKKwkJfTsKKwl9OworCisJc291bmQgeworCQljb21wYXRpYmxlID0gInNpbXBsZS1h dWRpby1jYXJkIjsKKwkJc2ltcGxlLWF1ZGlvLWNhcmQsbmFtZSA9ICJhdWRpby1jYXJkIjsKKwkJ c2ltcGxlLWF1ZGlvLWNhcmQsZm9ybWF0ID0gImkycyI7CisJCXNpbXBsZS1hdWRpby1jYXJkLGJp dGNsb2NrLW1hc3RlciA9IDwmZGFpbGlua19tYXN0ZXI+OworCQlzaW1wbGUtYXVkaW8tY2FyZCxm cmFtZS1tYXN0ZXIgPSA8JmRhaWxpbmtfbWFzdGVyPjsKKwkJc2ltcGxlLWF1ZGlvLWNhcmQsd2lk Z2V0cyA9ICJTcGVha2VyIiwgIkV4dCBTcGsiOworCQlzaW1wbGUtYXVkaW8tY2FyZCxhdWRpby1y b3V0aW5nID0gIkV4dCBTcGsiLCAiTElORSI7CisKKwkJc2ltcGxlLWF1ZGlvLWNhcmQsY3B1IHsK KwkJCXNvdW5kLWRhaSA9IDwmc3NpMT47CisJCX07CisKKwkJZGFpbGlua19tYXN0ZXI6IHNpbXBs ZS1hdWRpby1jYXJkLGNvZGVjIHsKKwkJCXNvdW5kLWRhaSA9IDwmY29kZWM+OworCQl9OworCX07 CisKKwljbGtfZXh0X2F1ZGlvX2NvZGVjOiBjbG9jay1jb2RlYyB7CisJCWNvbXBhdGlibGUgPSAi Zml4ZWQtY2xvY2siOworCQkjY2xvY2stY2VsbHMgPSA8MD47CisJCWNsb2NrLWZyZXF1ZW5jeSA9 IDwxMjI4ODAwMD47CisJfTsKK307CisKKyZhdWRtdXggeworCXN0YXR1cyA9ICJva2F5IjsKK307 CisKKyZmZWMgeworCXN0YXR1cyA9ICJva2F5IjsKK307CisKKyZoZG1pIHsKKwlzdGF0dXMgPSAi b2theSI7Cit9OworCismaTJjMSB7CisJYmF0dGVyeTogYmF0dGVyeUBiIHsKKwkJY29tcGF0aWJs ZSA9ICJ0aSxicTIwejY1IiwgInNicyxzYnMtYmF0dGVyeSI7CisJCXJlZyA9IDwweDBiPjsKKwkJ c2JzLGJhdHRlcnktZGV0ZWN0LWdwaW9zID0gPCZ0Y2E2NDI0YSA1IEdQSU9fQUNUSVZFX0xPVz47 CisJCXNicyxpMmMtcmV0cnktY291bnQgPSA8NT47CisJCXBvd2VyLXN1cHBsaWVzID0gPCZjaGFy Z2VyPjsKKwl9OworCisJY29kZWM6IGF1ZGlvLWNvZGVjQDFhIHsKKwkJY29tcGF0aWJsZSA9ICJk bGcsZGE3MjEyIjsKKwkJcmVnID0gPDB4MWE+OworCQkjc291bmQtZGFpLWNlbGxzID0gPDA+Owor CQlWRERBLXN1cHBseSA9IDwmcmVnXzJ2NV9hdWRpbz47CisJCVZERFNQLXN1cHBseSA9IDwmcmVn XzV2MF9hdWRpbz47CisJCVZERE1JQy1zdXBwbHkgPSA8JnJlZ18zdjNfYXVkaW8+OworCQlWRERJ Ty1zdXBwbHkgPSA8JnJlZ18zdjNfYXVkaW8+OworCQljbG9ja3MgPSA8JmNsa19leHRfYXVkaW9f Y29kZWM+OworCQljbG9jay1uYW1lcyA9ICJtY2xrIjsKKwl9OworfTsKKworJmkyYzUgeworCXRj YTY0MjRhOiBncGlvLWNvbnRyb2xsZXJAMjIgeworCQljb21wYXRpYmxlID0gInRpLHRjYTY0MjQi OworCQlyZWcgPSA8MHgyMj47CisJCWdwaW8tY29udHJvbGxlcjsKKwkJI2dwaW8tY2VsbHMgPSA8 Mj47CisJCXZjYy1zdXBwbHkgPSA8JnJlZ18zdjM+OworCQlpbnRlcnJ1cHQtcGFyZW50ID0gPCZn cGlvNz47CisJCWludGVycnVwdHMgPSA8MTEgSVJRX1RZUEVfTEVWRUxfTE9XPjsKKwkJcGluY3Ry bC1uYW1lcyA9ICJkZWZhdWx0IjsKKwkJcGluY3RybC0wID0gPCZwaW5jdHJsX3E3X2dwaW82PjsK KwkJaW50ZXJydXB0LWNvbnRyb2xsZXI7CisJCSNpbnRlcnJ1cHQtY2VsbHMgPSA8Mj47CisJCWdw aW8tbGluZS1uYW1lcyA9ICJHUElPX1JPVE9SIyIsICJBQ01fSU9fSU5UIiwgIlRNUF9TRU5TT1Jf SVJRIiwgIkFDX0lOIiwKKwkJCQkgICJURl9TIiwgIkJBVFRfVCIsICJMRURfSU5DX0NIQVIiLCAi QUNNMV9PQ0YiLAorCQkJCSAgIkFDTTJfT0NGIiwgIkFDTV9JT19SU1QiLCAiVVNCMV9QT1dFUl9F TiIsICJFR1BJT19DQ19DVEwwIiwKKwkJCQkgICJFR1BJT19DQ19DVEwxIiwgIjEyVl9PRU1OQlBf RU4iLCAiQ1AyMTA1X1JTVCIsICIiLAorCQkJCSAgIlNQRUFLRVJfUEFfRU4iLCAiQVJNN19VUElf UkVTRVQiLCAiQVJNN19QV1JfUlNUIiwgIk5VUlNFX0NBTEwiLAorCQkJCSAgIk1BUktFUl9FTiIs ICJFR1BJT19UT1VDSF9SU1QiLCAiUFJFU1NVUkVfSU5UMSIsICJQUkVTU1VSRV9JTlQyIjsKKwor CX07CisKKwl0bXA3NTogdGVtcGVyYXR1cmUtc2Vuc29yQDQ4IHsKKwkJY29tcGF0aWJsZSA9ICJ0 aSx0bXA3NSI7CisJCXJlZyA9IDwweDQ4PjsKKwkJdnMtc3VwcGx5ID0gPCZyZWdfM3YzPjsKKwkJ aW50ZXJydXB0LXBhcmVudCA9IDwmdGNhNjQyNGE+OworCQlpbnRlcnJ1cHRzID0gPDIgSVJRX1RZ UEVfRURHRV9GQUxMSU5HPjsKKwl9OworfTsKKworJmxkYiB7CisJc3RhdHVzID0gIm9rYXkiOwor CisJbHZkczA6IGx2ZHMtY2hhbm5lbEAwIHsKKwkJc3RhdHVzID0gIm9rYXkiOworCQlmc2wsZGF0 YS1tYXBwaW5nID0gInNwd2ciOworCQlmc2wsZGF0YS13aWR0aCA9IDwyND47CisKKwkJcG9ydEA0 IHsKKwkJCXJlZyA9IDw0PjsKKworCQkJbHZkczBfb3V0OiBlbmRwb2ludCB7CisJCQkJcmVtb3Rl LWVuZHBvaW50ID0gPCZwYW5lbF9pbj47CisJCQl9OworCQl9OworCX07Cit9OworCismcHdtNCB7 CisJc3RhdHVzID0gIm9rYXkiOworfTsKKworJnNzaTEgeworCWZzbCxtb2RlID0gImkycy1zbGF2 ZSI7CisJc3RhdHVzID0gIm9rYXkiOworfTsKKworJnVzYm90ZyB7CisJdmJ1cy1zdXBwbHkgPSA8 JnVzYl9wb3dlcj47CisJZGlzYWJsZS1vdmVyLWN1cnJlbnQ7CisJZHJfbW9kZSA9ICJob3N0IjsK KwlzdGF0dXMgPSAib2theSI7CisKKwkvKgorCSAqIFRQUzIwNTFCREdOIGZhdWx0LWdwaW8gaXMg Y29ubmVjdGVkIHRvIFE3Wzg2XSBVU0JfMF8xX09DX04uCisJICogT24gUU1YNiB0aGlzIGlzIG5v dCBjb25uY2V0ZWQgdG8gdGhlIGkuTVg2LCBidXQgdG8gdGhlIFVTQiBIdWIKKwkgKiBmcm9tICZ1 c2JoMS4gVGhpcyBtZWFucywgdGhhdCB3ZSBjYW5ub3QgZWFzaWx5IGRldGVjdCBhbmQgaGFuZGxl CisJICogb3Zlci1jdXJyZW50IGV2ZW50cy4gRm9ydHVuYXRlbHkgdGhlIHJlZ3VsYXRvciBsaW1p dHMgdGhlIGN1cnJlbnQKKwkgKiBhdXRvbWF0aWNhbGx5LCBzbyB0aGUgaGFyZHdhcmUgaXMgc3Rp bGwgcHJvdGVjdGVkLgorCSAqLworfTsKKworJnVzZGhjNCB7CisJLyogV2lGaSBtb2R1bGUgKi8K KwlwaW5jdHJsLW5hbWVzID0gImRlZmF1bHQiOworCXBpbmN0cmwtMCA9IDwmcGluY3RybF91c2Ro YzQ+OworCWJ1cy13aWR0aCA9IDw0PjsKKwluby0xLTgtdjsKKwlub24tcmVtb3ZhYmxlOworCXdh a2V1cC1zb3VyY2U7CisJa2VlcC1wb3dlci1pbi1zdXNwZW5kOworCWNhcC1wb3dlci1vZmYtY2Fy ZDsKKwltYXgtZnJlcXVlbmN5ID0gPDI1MDAwMDAwPjsKKwl2bW1jLXN1cHBseSA9IDwmcmVnX3ds YW4+OworCSNhZGRyZXNzLWNlbGxzID0gPDE+OworCSNzaXplLWNlbGxzID0gPDA+OworCXN0YXR1 cyA9ICJva2F5IjsKKworCXdsY29yZTogd2xjb3JlQDIgeworCQljb21wYXRpYmxlID0gInRpLHds MTgzNyI7CisJCXJlZyA9IDwyPjsKKworCQlwaW5jdHJsLW5hbWVzID0gImRlZmF1bHQiOworCQlw aW5jdHJsLTAgPSA8JnBpbmN0cmxfcTdfZ3Bpbzc+OworCisJCWludGVycnVwdC1wYXJlbnQgPSA8 JmdwaW80PjsKKwkJaW50ZXJydXB0cyA9IDwxNCBJUlFfVFlQRV9MRVZFTF9ISUdIPjsKKworCQl0 Y3hvLWNsb2NrLWZyZXF1ZW5jeSA9IDwyNjAwMDAwMD47CisJfTsKK307CmRpZmYgLS1naXQgYS9h cmNoL2FybS9ib290L2R0cy9pbXg2ZGwtYjF4NXYyLmR0c2kgYi9hcmNoL2FybS9ib290L2R0cy9p bXg2ZGwtYjF4NXYyLmR0c2kKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw Li5hMzI2YTMzMTUwOGUKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9ib290L2R0cy9pbXg2 ZGwtYjF4NXYyLmR0c2kKQEAgLTAsMCArMSw1OCBAQAorLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IEdQTC0yLjAgb3IgTUlUCisvLworLy8gRGV2aWNlIFRyZWUgU291cmNlIGZvciBHZW5lcmFs IEVsZWN0cmljIEIxeDV2MgorLy8gcGF0aWVudCBtb25pdG9yIHNlcmllcworLy8KKy8vIENvcHly aWdodCAyMDE4LTIwMjEgR2VuZXJhbCBFbGVjdHJpYyBDb21wYW55CisvLyBDb3B5cmlnaHQgMjAx OC0yMDIxIENvbGxhYm9yYQorCisjaW5jbHVkZSA8ZHQtYmluZGluZ3MvaW5wdXQvaW5wdXQuaD4K KyNpbmNsdWRlICJpbXg2ZGwtYjF4NXB2Mi5kdHNpIgorCisvIHsKKwlyZWdfM3YzX2FjbTogcmVn dWxhdG9yLTN2My1hY20geworCQljb21wYXRpYmxlID0gInJlZ3VsYXRvci1maXhlZCI7CisJCXJl Z3VsYXRvci1uYW1lID0gIjNWMyBBQ00iOworCQlyZWd1bGF0b3ItbWluLW1pY3Jvdm9sdCA9IDwz MzAwMDAwPjsKKwkJcmVndWxhdG9yLW1heC1taWNyb3ZvbHQgPSA8MzMwMDAwMD47CisJCXJlZ3Vs YXRvci1hbHdheXMtb247CisJCXZpbi1zdXBwbHkgPSA8JnJlZ18zdjM+OworCX07Cit9OworCism aTJjMSB7CisJdGNhNjQxNjogZ3Bpby1jb250cm9sbGVyQDIxIHsKKwkJY29tcGF0aWJsZSA9ICJ0 aSx0Y2E2NDE2IjsKKwkJcmVnID0gPDB4MjE+OworCQlncGlvLWNvbnRyb2xsZXI7CisJCSNncGlv LWNlbGxzID0gPDI+OworCQlyZXNldC1ncGlvcyA9IDwmdGNhNjQyNGEgOSBHUElPX0FDVElWRV9M T1c+OworCQl2Y2Mtc3VwcGx5ID0gPCZyZWdfM3YzX2FjbT47CisJCWdwaW8tbGluZS1uYW1lcyA9 ICJBQ00xX0VOIiwgIkFDTTFfQ0wwIiwgIkFDTTFfQ0wxIiwgIkFDTTFfQ0wyIiwKKwkJCQkgICIi LCAiQUNNMl9FTiIsICJBQ00yX0NMMCIsICJBQ00yX0NMMSIsCisJCQkJICAiQUNNMl9DTDIiLCAi IiwgIiIsICIiLAorCQkJCSAgIiIsICIiLCAiIiwgIiI7CisKKwkJLyoKKwkJICogVGhlIGludGVy cnVwdCBwaW4gaXMgY29ubmVjdGVkIHRvICZ0Y2E2NDI0YSBwaW4gMSwgYnV0IHRoZSBMaW51eAor CQkgKiBUQ0E2NDI0IGRyaXZlciBjYW5ub3QgaGFuZGxlIGxvdyB0eXBlIGludGVycnVwdHMgYXQg dGhlIG1vbWVudAorCQkgKiAoYW5kIHN1cHBvcnQgY2Fubm90IGJlIGFkZGVkIHdpdGhvdXQgc29t ZSB1Z2x5IGhhY2tzKS4gU2luY2UgdGhpcworCQkgKiBjb250cm9sbGVyIGRvZXMgbm90IGhhdmUg YW55IGlucHV0IHR5cGUgR1BJT3MsIGp1c3QgcHJldGVuZAorCQkgKiB0aGF0IHRoZSBpbnRlcnJ1 cHQgcGluIGlzIHVuY29ubmVjdGVkLgorCQkgKi8KKwl9OworfTsKKworJmkyYzUgeworCW1wbDMx MTVhMjogcHJlc3N1cmUtc2Vuc29yQDYwIHsKKwkJY29tcGF0aWJsZSA9ICJmc2wsbXBsMzExNSI7 CisJCXJlZyA9IDwweDYwPjsKKwkJdmNjLXN1cHBseSA9IDwmcmVnXzN2M19hY20+OworCisJCS8q CisJCSAqIFRoZSBNUEwzMTE1IGludGVycnVwdHMgYXJlIGNvbm5lY3RlZCB0byBwaW4gMjIgYW5k IDIzCisJCSAqIG9mICZ0Y2E2NDI0YSwgYnV0IHRoZSBiaW5kaW5nIGRvZXMgbm90IHlldCBzdXBw b3J0CisJCSAqIGludGVycnVwdHMuCisJCSAqLworCX07Cit9OwpkaWZmIC0tZ2l0IGEvYXJjaC9h cm0vYm9vdC9kdHMvaW14NmRsLXFteDYuZHRzaSBiL2FyY2gvYXJtL2Jvb3QvZHRzL2lteDZkbC1x bXg2LmR0c2kKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4xNTBkNjk4 NTgyNTUKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9ib290L2R0cy9pbXg2ZGwtcW14Ni5k dHNpCkBAIC0wLDAgKzEsNjEyIEBACisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIu MCBvciBNSVQKKy8vCisvLyBEZXZpY2UgVHJlZSBTb3VyY2UgZm9yIGkuTVg2REwgYmFzZWQgY29u Z2F0ZWMgUU1YNgorLy8gU3lzdGVtIG9uIE1vZHVsZQorLy8KKy8vIENvcHlyaWdodCAyMDE4LTIw MjEgR2VuZXJhbCBFbGVjdHJpYyBDb21wYW55CisvLyBDb3B5cmlnaHQgMjAxOC0yMDIxIENvbGxh Ym9yYQorLy8gQ29weXJpZ2h0IDIwMTYgY29uZ2F0ZWMgQUcKKworI2luY2x1ZGUgImlteDZkbC5k dHNpIgorI2luY2x1ZGUgPGR0LWJpbmRpbmdzL2dwaW8vZ3Bpby5oPgorI2luY2x1ZGUgPGR0LWJp bmRpbmdzL3NvdW5kL2ZzbC1pbXgtYXVkbXV4Lmg+CisKKy8geworCW1lbW9yeUAxMDAwMDAwMCB7 CisJCXJlZyA9IDwweDEwMDAwMDAwIDB4NDAwMDAwMDA+OworCX07CisKKwlyZWdfM3AzdjogM3Az diB7CisJCWNvbXBhdGlibGUgPSAicmVndWxhdG9yLWZpeGVkIjsKKwkJcmVndWxhdG9yLW5hbWUg PSAiM1AzViI7CisJCXJlZ3VsYXRvci1taW4tbWljcm92b2x0ID0gPDMzMDAwMDA+OworCQlyZWd1 bGF0b3ItbWF4LW1pY3Jvdm9sdCA9IDwzMzAwMDAwPjsKKwl9OworCisJaTJjbXV4IHsKKwkJY29t cGF0aWJsZSA9ICJpMmMtbXV4LWdwaW8iOworCQkjYWRkcmVzcy1jZWxscyA9IDwxPjsKKwkJI3Np emUtY2VsbHMgPSA8MD47CisJCW11eC1ncGlvcyA9IDwmZ3BpbzYgOSBHUElPX0FDVElWRV9ISUdI PjsKKwkJaTJjLXBhcmVudCA9IDwmaTJjMj47CisKKwkJaTJjNTogaTJjQDAgeworCQkJcmVnID0g PDA+OworCQkJI2FkZHJlc3MtY2VsbHMgPSA8MT47CisJCQkjc2l6ZS1jZWxscyA9IDwwPjsKKwkJ fTsKKworCQlpMmM2OiBpMmNAMSB7CisJCQlyZWcgPSA8MT47CisJCQkjYWRkcmVzcy1jZWxscyA9 IDwxPjsKKwkJCSNzaXplLWNlbGxzID0gPDA+OworCQl9OworCX07Cit9OworCismYXVkbXV4IHsK KwlwaW5jdHJsLW5hbWVzID0gImRlZmF1bHQiOworCXBpbmN0cmwtMCA9IDwmcGluY3RybF9hdWRt dXg+OworCisJYXVkbXV4X3NzaTEgeworCQlmc2wsYXVkbXV4LXBvcnQgPSA8TVg1MV9BVURNVVhf UE9SVDFfU1NJMD47CisJCWZzbCxwb3J0LWNvbmZpZyA9IDwKKwkJCShJTVhfQVVETVVYX1YyX1BU Q1JfVEZTRElSIHwKKwkJCUlNWF9BVURNVVhfVjJfUFRDUl9URlNFTChNWDUxX0FVRE1VWF9QT1JU NikgfAorCQkJSU1YX0FVRE1VWF9WMl9QVENSX1RDTEtESVIgfAorCQkJSU1YX0FVRE1VWF9WMl9Q VENSX1RDU0VMKE1YNTFfQVVETVVYX1BPUlQ2KSB8CisJCQlJTVhfQVVETVVYX1YyX1BUQ1JfU1lO KQorCQkJSU1YX0FVRE1VWF9WMl9QRENSX1JYRFNFTChNWDUxX0FVRE1VWF9QT1JUNikKKwkJPjsK Kwl9OworCisJYXVkbXV4X2F1ZDYgeworCQlmc2wsYXVkbXV4LXBvcnQgPSA8TVg1MV9BVURNVVhf UE9SVDY+OworCQlmc2wscG9ydC1jb25maWcgPSA8CisJCQlJTVhfQVVETVVYX1YyX1BUQ1JfU1lO CisJCQlJTVhfQVVETVVYX1YyX1BEQ1JfUlhEU0VMKE1YNTFfQVVETVVYX1BPUlQxX1NTSTApCisJ CT47CisJfTsKK307CisKKyZjbGtzIHsKKwljbG9ja3MgPSA8JnJ0Y19zcXc+OworCWNsb2NrLW5h bWVzID0gImNraWwiOworCWFzc2lnbmVkLWNsb2NrcyA9IDwmY2xrcyBJTVg2UURMX0NMS19MREJf REkwX1NFTD4sCisJCQkgIDwmY2xrcyBJTVg2UURMX0NMS19MREJfREkxX1NFTD47CisJYXNzaWdu ZWQtY2xvY2stcGFyZW50cyA9IDwmY2xrcyBJTVg2UURMX0NMS19QTEwyX1BGRDBfMzUyTT4sCisJ CQkJIDwmY2xrcyBJTVg2UURMX0NMS19QTEwyX1BGRDBfMzUyTT47Cit9OworCismZWNzcGkxIHsK Kwljcy1ncGlvcyA9IDwmZ3BpbzMgMTkgR1BJT19BQ1RJVkVfTE9XPjsKKwlwaW5jdHJsLW5hbWVz ID0gImRlZmF1bHQiOworCXBpbmN0cmwtMCA9IDwmcGluY3RybF9zcGkxPjsKKwlzdGF0dXMgPSAi b2theSI7CisKKwlmbGFzaEAwIHsKKwkJI2FkZHJlc3MtY2VsbHMgPSA8MT47CisJCSNzaXplLWNl bGxzID0gPDE+OworCQljb21wYXRpYmxlID0gInNzdCxzc3QyNXZmMDMyYiIsICJqZWRlYyxzcGkt bm9yIjsKKwkJc3BpLW1heC1mcmVxdWVuY3kgPSA8MjAwMDAwMDA+OworCQlyZWcgPSA8MD47CisK KwkJcGFydGl0aW9uQDAgeworCQkJbGFiZWwgPSAiYm9vdGxvYWRlciI7CisJCQlyZWcgPSA8MHgw MDAwMDAwIDB4MTAwMDAwPjsKKwkJfTsKKworCQlwYXJ0aXRpb25AMTAwMDAwIHsKKwkJCWxhYmVs ID0gInVzZXIiOworCQkJcmVnID0gPDB4MDEwMDAwMCAweDJmYzAwMD47CisJCX07CisKKwkJcGFy dGl0aW9uQDNmYzAwMCB7CisJCQlsYWJlbCA9ICJyZXNlcnZlZCI7CisJCQlyZWcgPSA8MHgwM2Zj MDAwIDB4NDAwMD47CisJCQlyZWFkLW9ubHk7CisJCX07CisJfTsKK307CisKKyZmZWMgeworCXBp bmN0cmwtbmFtZXMgPSAiZGVmYXVsdCI7CisJcGluY3RybC0wID0gPCZwaW5jdHJsX2VuZXQgJnBp bmN0cmxfcGh5X3Jlc2V0PjsKKwlwaHktbW9kZSA9ICJyZ21paS1pZCI7CisJcGh5LXJlc2V0LWdw aW9zID0gPCZncGlvMyAyMyBHUElPX0FDVElWRV9MT1c+OworCWZzbCxtYWdpYy1wYWNrZXQ7CisJ cGh5LWhhbmRsZSA9IDwmcGh5MD47CisKKwltZGlvIHsKKwkJI2FkZHJlc3MtY2VsbHMgPSA8MT47 CisJCSNzaXplLWNlbGxzID0gPDA+OworCisJCXBoeTA6IGV0aGVybmV0LXBoeUA2IHsKKwkJCXJl ZyA9IDw2PjsKKwkJCXFjYSxjbGstb3V0LWZyZXF1ZW5jeSA9IDwxMjUwMDAwMDA+OworCQl9Owor CX07Cit9OworCismaTJjMSB7CisJY2xvY2stZnJlcXVlbmN5ID0gPDEwMDAwMD47CisJcGluY3Ry bC1uYW1lcyA9ICJkZWZhdWx0IiwgImdwaW8iOworCXBpbmN0cmwtMCA9IDwmcGluY3RybF9pMmMx PjsKKwlwaW5jdHJsLTEgPSA8JnBpbmN0cmxfaTJjMV9ncGlvPjsKKwlzY2wtZ3Bpb3MgPSA8Jmdw aW8zIDIxIChHUElPX0FDVElWRV9ISUdIIHwgR1BJT19PUEVOX0RSQUlOKT47CisJc2RhLWdwaW9z ID0gPCZncGlvMyAyOCAoR1BJT19BQ1RJVkVfSElHSCB8IEdQSU9fT1BFTl9EUkFJTik+OworCXN0 YXR1cyA9ICJva2F5IjsKK307CisKKyZpMmMyIHsKKwljbG9jay1mcmVxdWVuY3kgPSA8MTAwMDAw PjsKKwlwaW5jdHJsLW5hbWVzID0gImRlZmF1bHQiLCAiZ3BpbyI7CisJcGluY3RybC0wID0gPCZw aW5jdHJsX2kyYzI+OworCXBpbmN0cmwtMSA9IDwmcGluY3RybF9pMmMyX2dwaW8+OworCXNjbC1n cGlvcyA9IDwmZ3BpbzQgMTIgKEdQSU9fQUNUSVZFX0hJR0ggfCBHUElPX09QRU5fRFJBSU4pPjsK KwlzZGEtZ3Bpb3MgPSA8JmdwaW80IDEzIChHUElPX0FDVElWRV9ISUdIIHwgR1BJT19PUEVOX0RS QUlOKT47CisJc3RhdHVzID0gIm9rYXkiOworfTsKKworJmkyYzMgeworCWNsb2NrLWZyZXF1ZW5j eSA9IDwxMDAwMDA+OworCXBpbmN0cmwtbmFtZXMgPSAiZGVmYXVsdCIsICJncGlvIjsKKwlwaW5j dHJsLTAgPSA8JnBpbmN0cmxfaTJjMz47CisJcGluY3RybC0xID0gPCZwaW5jdHJsX2kyYzNfZ3Bp bz47CisJc2NsLWdwaW9zID0gPCZncGlvMSAzIChHUElPX0FDVElWRV9ISUdIIHwgR1BJT19PUEVO X0RSQUlOKT47CisJc2RhLWdwaW9zID0gPCZncGlvMSA2IChHUElPX0FDVElWRV9ISUdIIHwgR1BJ T19PUEVOX0RSQUlOKT47CisJc3RhdHVzID0gIm9rYXkiOworCisJcnRjOiBtNDF0NjJANjggewor CQljb21wYXRpYmxlID0gInN0LG00MXQ2MiI7CisJCXJlZyA9IDwweDY4PjsKKworCQlydGNfc3F3 OiBjbG9jayB7CisJCQljb21wYXRpYmxlID0gImZpeGVkLWNsb2NrIjsKKwkJCSNjbG9jay1jZWxs cyA9IDwwPjsKKwkJCWNsb2NrLWZyZXF1ZW5jeSA9IDwzMjc2OD47CisJCX07CisJfTsKK307CisK KyZpMmM2IHsKKwlwbWljQDggeworCQljb21wYXRpYmxlID0gImZzbCxwZnV6ZTEwMCI7CisJCXJl ZyA9IDwweDA4PjsKKworCQlyZWd1bGF0b3JzIHsKKwkJCXN3MWFfcmVnOiBzdzFhYiB7CisJCQkJ cmVndWxhdG9yLW1pbi1taWNyb3ZvbHQgPSA8MzAwMDAwPjsKKwkJCQlyZWd1bGF0b3ItbWF4LW1p Y3Jvdm9sdCA9IDwxODc1MDAwPjsKKwkJCQlyZWd1bGF0b3ItYm9vdC1vbjsKKwkJCQlyZWd1bGF0 b3ItYWx3YXlzLW9uOworCQkJCXJlZ3VsYXRvci1yYW1wLWRlbGF5ID0gPDYyNTA+OworCQkJfTsK KworCQkJc3cxY19yZWc6IHN3MWMgeworCQkJCXJlZ3VsYXRvci1taW4tbWljcm92b2x0ID0gPDMw MDAwMD47CisJCQkJcmVndWxhdG9yLW1heC1taWNyb3ZvbHQgPSA8MTg3NTAwMD47CisJCQkJcmVn dWxhdG9yLWJvb3Qtb247CisJCQkJcmVndWxhdG9yLWFsd2F5cy1vbjsKKwkJCQlyZWd1bGF0b3It cmFtcC1kZWxheSA9IDw2MjUwPjsKKwkJCX07CisKKwkJCXN3Ml9yZWc6IHN3MiB7CisJCQkJcmVn dWxhdG9yLW1pbi1taWNyb3ZvbHQgPSA8ODAwMDAwPjsKKwkJCQlyZWd1bGF0b3ItbWF4LW1pY3Jv dm9sdCA9IDwzMzAwMDAwPjsKKwkJCQlyZWd1bGF0b3ItYm9vdC1vbjsKKwkJCQlyZWd1bGF0b3It YWx3YXlzLW9uOworCQkJfTsKKworCQkJc3czYV9yZWc6IHN3M2EgeworCQkJCXJlZ3VsYXRvci1t aW4tbWljcm92b2x0ID0gPDQwMDAwMD47CisJCQkJcmVndWxhdG9yLW1heC1taWNyb3ZvbHQgPSA8 MTk3NTAwMD47CisJCQkJcmVndWxhdG9yLWJvb3Qtb247CisJCQkJcmVndWxhdG9yLWFsd2F5cy1v bjsKKwkJCX07CisKKwkJCXN3M2JfcmVnOiBzdzNiIHsKKwkJCQlyZWd1bGF0b3ItbWluLW1pY3Jv dm9sdCA9IDw0MDAwMDA+OworCQkJCXJlZ3VsYXRvci1tYXgtbWljcm92b2x0ID0gPDE5NzUwMDA+ OworCQkJCXJlZ3VsYXRvci1ib290LW9uOworCQkJCXJlZ3VsYXRvci1hbHdheXMtb247CisJCQl9 OworCisJCQlzdzRfcmVnOiBzdzQgeworCQkJCXJlZ3VsYXRvci1taW4tbWljcm92b2x0ID0gPDY3 NTAwMD47CisJCQkJcmVndWxhdG9yLW1heC1taWNyb3ZvbHQgPSA8MzMwMDAwMD47CisJCQkJcmVn dWxhdG9yLWJvb3Qtb247CisJCQkJcmVndWxhdG9yLWFsd2F5cy1vbjsKKwkJCX07CisKKwkJCXN3 YnN0X3JlZzogc3dic3QgeworCQkJCXJlZ3VsYXRvci1taW4tbWljcm92b2x0ID0gPDUwMDAwMDA+ OworCQkJCXJlZ3VsYXRvci1tYXgtbWljcm92b2x0ID0gPDUxNTAwMDA+OworCQkJfTsKKworCQkJ c252c19yZWc6IHZzbnZzIHsKKwkJCQlyZWd1bGF0b3ItbWluLW1pY3Jvdm9sdCA9IDwxMDAwMDAw PjsKKwkJCQlyZWd1bGF0b3ItbWF4LW1pY3Jvdm9sdCA9IDwzMDAwMDAwPjsKKwkJCQlyZWd1bGF0 b3ItYm9vdC1vbjsKKwkJCQlyZWd1bGF0b3ItYWx3YXlzLW9uOworCQkJfTsKKworCQkJdnJlZl9y ZWc6IHZyZWZkZHIgeworCQkJCXJlZ3VsYXRvci1ib290LW9uOworCQkJCXJlZ3VsYXRvci1hbHdh eXMtb247CisJCQl9OworCisJCQkvKgorCQkJICoga2VlcCBWR0VOMywgVkdFTjQgYW5kIFZHRU41 IGVuYWJsZWQgaW4gb3JkZXIgdG8KKwkJCSAqIG1haW50YWluIGJhY2t3YXJkIGNvbXBhdGliaWxp dHkgd2l0aCBody1yZXYuIEEuMAorCQkJICovCisJCQl2Z2VuM19yZWc6IHZnZW4zIHsKKwkJCQly ZWd1bGF0b3ItbWluLW1pY3Jvdm9sdCA9IDwxODAwMDAwPjsKKwkJCQlyZWd1bGF0b3ItbWF4LW1p Y3Jvdm9sdCA9IDwzMzAwMDAwPjsKKwkJCQlyZWd1bGF0b3ItYWx3YXlzLW9uOworCQkJfTsKKwor CQkJdmdlbjRfcmVnOiB2Z2VuNCB7CisJCQkJcmVndWxhdG9yLW1pbi1taWNyb3ZvbHQgPSA8MjUw MDAwMD47CisJCQkJcmVndWxhdG9yLW1heC1taWNyb3ZvbHQgPSA8MjUwMDAwMD47CisJCQkJcmVn dWxhdG9yLWFsd2F5cy1vbjsKKwkJCX07CisKKwkJCXZnZW41X3JlZzogdmdlbjUgeworCQkJCXJl Z3VsYXRvci1taW4tbWljcm92b2x0ID0gPDE4MDAwMDA+OworCQkJCXJlZ3VsYXRvci1tYXgtbWlj cm92b2x0ID0gPDMzMDAwMDA+OworCQkJCXJlZ3VsYXRvci1hbHdheXMtb247CisJCQl9OworCisJ CQkvKiBzdXBwbHkgdm9sdGFnZSBmb3IgZU1NQyAqLworCQkJdmdlbjZfcmVnOiB2Z2VuNiB7CisJ CQkJcmVndWxhdG9yLW1pbi1taWNyb3ZvbHQgPSA8MTgwMDAwMD47CisJCQkJcmVndWxhdG9yLW1h eC1taWNyb3ZvbHQgPSA8MTgwMDAwMD47CisJCQkJcmVndWxhdG9yLWJvb3Qtb247CisJCQkJcmVn dWxhdG9yLWFsd2F5cy1vbjsKKwkJCX07CisJCX07CisJfTsKK307CisKKyZwY2llIHsKKwlyZXNl dC1ncGlvID0gPCZncGlvMSAyMCAwPjsKK307CisKKyZwd200IHsKKwlwaW5jdHJsLW5hbWVzID0g ImRlZmF1bHQiOworCXBpbmN0cmwtMCA9IDwmcGluY3RybF9wd200PjsKK307CisKKyZyZWdfYXJt IHsKKwl2aW4tc3VwcGx5ID0gPCZzdzFhX3JlZz47Cit9OworCismcmVnX3B1IHsKKwl2aW4tc3Vw cGx5ID0gPCZzdzFjX3JlZz47Cit9OworCismcmVnX3NvYyB7CisJdmluLXN1cHBseSA9IDwmc3cx Y19yZWc+OworfTsKKworJnNudnNfcG93ZXJvZmYgeworCXN0YXR1cyA9ICJva2F5IjsKK307CisK KyZ1YXJ0MiB7CisJcGluY3RybC1uYW1lcyA9ICJkZWZhdWx0IjsKKwlwaW5jdHJsLTAgPSA8JnBp bmN0cmxfdWFydDI+OworCXN0YXR1cyA9ICJva2F5IjsKK307CisKKyZ1YXJ0MyB7CisJcGluY3Ry bC1uYW1lcyA9ICJkZWZhdWx0IjsKKwlwaW5jdHJsLTAgPSA8JnBpbmN0cmxfdWFydDM+OworCXN0 YXR1cyA9ICJva2F5IjsKK307CisKKyZ1c2JoMSB7CisJLyogQ29ubmVjdGVkIHRvIFVTQi1IdWIg U01TQyBVU0IyNTE0LCBwcm92aWRlcyBQMCwgUDIsIFAzLCBQNCBvbiBRc2V2ZW4gY29ubmVjdG9y ICovCisJdmJ1cy1zdXBwbHkgPSA8JnJlZ181dj47CisJc3RhdHVzID0gIm9rYXkiOworfTsKKwor JnVzYm90ZyB7CisJcGluY3RybC1uYW1lcyA9ICJkZWZhdWx0IjsKKwlwaW5jdHJsLTAgPSA8JnBp bmN0cmxfdXNib3RnPjsKK307CisKKyZ1c2RoYzIgeworCS8qIE1pY3JvU0QgY2FyZCBzbG90ICov CisJcGluY3RybC1uYW1lcyA9ICJkZWZhdWx0IjsKKwlwaW5jdHJsLTAgPSA8JnBpbmN0cmxfdXNk aGMyPjsKKwljZC1ncGlvcyA9IDwmZ3BpbzEgNCBHUElPX0FDVElWRV9MT1c+OworCW5vLTEtOC12 OworCWtlZXAtcG93ZXItaW4tc3VzcGVuZDsKKwl3YWtldXAtc291cmNlOworCXZtbWMtc3VwcGx5 ID0gPCZyZWdfM3Azdj47CisJc3RhdHVzID0gIm9rYXkiOworfTsKKworJnVzZGhjMyB7CisJLyog ZU1NQyBtb2R1bGUgKi8KKwlwaW5jdHJsLW5hbWVzID0gImRlZmF1bHQiOworCXBpbmN0cmwtMCA9 IDwmcGluY3RybF91c2RoYzM+OworCW5vbi1yZW1vdmFibGU7CisJYnVzLXdpZHRoID0gPDg+Owor CW5vLTEtOC12OworCWtlZXAtcG93ZXItaW4tc3VzcGVuZDsKKwl3YWtldXAtc291cmNlOworCXZt bWMtc3VwcGx5ID0gPCZyZWdfM3Azdj47CisJc3RhdHVzID0gIm9rYXkiOworfTsKKworJndkb2cx IHsKKwlwaW5jdHJsLW5hbWVzID0gImRlZmF1bHQiOworCXBpbmN0cmwtMCA9IDwmcGluY3RybF93 ZG9nPjsKKwlmc2wsZXh0LXJlc2V0LW91dHB1dDsKK307CisKKyZpb211eGMgeworCXBpbmN0cmwt bmFtZXMgPSAiZGVmYXVsdCI7CisJcGluY3RybC0wID0gPCZwaW5jdHJsX2hvZz47CisKKwlxbXg2 bXV4OiBpbXg2cWRsLXFteDYgeworCQlwaW5jdHJsX2F1ZG11eDogYXVkbXV4Z3JwIHsKKwkJCWZz bCxwaW5zID0gPAorCQkJCU1YNlFETF9QQURfREkwX1BJTjJfX0FVRDZfVFhECQkweDExMGIwIC8q IFE3WzY3XSBIREFfU0RPICovCisJCQkJTVg2UURMX1BBRF9ESTBfUElOM19fQVVENl9UWEZTCQkw eDMwYjAgLyogUTdbNTldIEhEQV9TWU5DICovCisJCQkJTVg2UURMX1BBRF9ESTBfUElONF9fQVVE Nl9SWEQJCTB4MzBiMCAvKiBRN1s2NV0gSERBX1NESSAqLworCQkJCU1YNlFETF9QQURfREkwX1BJ TjE1X19BVUQ2X1RYQwkJMHgzMGIwIC8qIFE3WzYzXSBIREFfQklUQ0xLICovCisJCQk+OworCQl9 OworCisJCS8qIFBIWSBpcyBvbiBTeXN0ZW0gb24gTW9kdWxlLCBRN1szLTE1XSBoYXZlIEV0aGVy bmV0IGxpbmVzICovCisJCXBpbmN0cmxfZW5ldDogZW5ldCB7CisJCQlmc2wscGlucyA9IDwKKwkJ CQlNWDZRRExfUEFEX0VORVRfTURJT19fRU5FVF9NRElPCQkweDFiMGIwCisJCQkJTVg2UURMX1BB RF9FTkVUX01EQ19fRU5FVF9NREMJCTB4MWIwYjAKKwkJCQlNWDZRRExfUEFEX1JHTUlJX1RYQ19f UkdNSUlfVFhDCQkweDFiMDMwCisJCQkJTVg2UURMX1BBRF9SR01JSV9URDBfX1JHTUlJX1REMAkJ MHgxYjAzMAorCQkJCU1YNlFETF9QQURfUkdNSUlfVEQxX19SR01JSV9URDEJCTB4MWIwMzAKKwkJ CQlNWDZRRExfUEFEX1JHTUlJX1REMl9fUkdNSUlfVEQyCQkweDFiMDMwCisJCQkJTVg2UURMX1BB RF9SR01JSV9URDNfX1JHTUlJX1REMwkJMHgxYjAzMAorCQkJCU1YNlFETF9QQURfUkdNSUlfVFhf Q1RMX19SR01JSV9UWF9DVEwJMHgxYjAzMAorCQkJCU1YNlFETF9QQURfRU5FVF9SRUZfQ0xLX19F TkVUX1RYX0NMSwkweDFiMGIwCisJCQkJTVg2UURMX1BBRF9SR01JSV9SWENfX1JHTUlJX1JYQwkJ MHgxYjAzMAorCQkJCU1YNlFETF9QQURfUkdNSUlfUkQwX19SR01JSV9SRDAJCTB4MWIwMzAKKwkJ CQlNWDZRRExfUEFEX1JHTUlJX1JEMV9fUkdNSUlfUkQxCQkweDFiMDMwCisJCQkJTVg2UURMX1BB RF9SR01JSV9SRDJfX1JHTUlJX1JEMgkJMHgxYjAzMAorCQkJCU1YNlFETF9QQURfUkdNSUlfUkQz X19SR01JSV9SRDMJCTB4MWIwMzAKKwkJCQlNWDZRRExfUEFEX1JHTUlJX1JYX0NUTF9fUkdNSUlf UlhfQ1RMCTB4MWIwMzAKKwkJCQlNWDZRRExfUEFEX0VORVRfVFhfRU5fX0VORVRfVFhfRU4JMHgx YjBiMAorCQkJPjsKKwkJfTsKKworCQlwaW5jdHJsX2hvZzogaG9nZ3JwIHsKKwkJCWZzbCxwaW5z ID0gPAorCQkJCU1YNlFETF9QQURfR1BJT18yX19HUElPMV9JTzAyCQkweDgwMDAwMDAwIC8qIFBD SUVfV0FLRV9CICovCisJCQkJTVg2UURMX1BBRF9OQU5ERl9XUF9CX19HUElPNl9JTzA5CTB4ODAw MDAwMDAgLyogSTJDIG11bHRpcGxleGVyICovCisJCQkJTVg2UURMX1BBRF9OQU5ERl9ENl9fR1BJ TzJfSU8wNgkJMHg4MDAwMDAwMCAvKiBTRDRfQ0QjICovCisJCQkJTVg2UURMX1BBRF9OQU5ERl9E N19fR1BJTzJfSU8wNwkJMHg4MDAwMDAwMCAvKiBTRDRfV1AgKi8KKwkJCQlNWDZRRExfUEFEX0NT STBfTUNMS19fQ0NNX0NMS08xCQkweDgwMDAwMDAwIC8qIENhbWVyYSBNQ0xLICovCisJCQk+Owor CQl9OworCisJCXBpbmN0cmxfaTJjMTogaTJjMSB7CisJCQlmc2wscGlucyA9IDwKKwkJCQlNWDZR RExfUEFEX0VJTV9EMjFfX0kyQzFfU0NMCQkweDQwMDFiOGIxIC8qIFE3WzY2XSBJMkNfQ0xLICov CisJCQkJTVg2UURMX1BBRF9FSU1fRDI4X19JMkMxX1NEQQkJMHg0MDAxYjhiMSAvKiBRN1s2OF0g STJDX0RBVCAqLworCQkJPjsKKwkJfTsKKworCQlwaW5jdHJsX2kyYzFfZ3BpbzogaTJjMS1ncGlv IHsKKwkJCWZzbCxwaW5zID0gPAorCQkJCU1YNlFETF9QQURfRUlNX0QyMV9fR1BJTzNfSU8yMQkJ MHgxYjBiMCAvKiBRN1s2Nl0gSTJDX0NMSyAqLworCQkJCU1YNlFETF9QQURfRUlNX0QyOF9fR1BJ TzNfSU8yOAkJMHgxYjBiMCAvKiBRN1s2OF0gSTJDX0RBVCAqLworCQkJPjsKKwkJfTsKKworCQlw aW5jdHJsX2kyYzI6IGkyYzIgeworCQkJZnNsLHBpbnMgPSA8CisJCQkJTVg2UURMX1BBRF9LRVlf Q09MM19fSTJDMl9TQ0wJCTB4NDAwMWI4YjEgLyogUTdbMTUyXSBTRFZPX0NUUkxfQ0xLICovCisJ CQkJTVg2UURMX1BBRF9LRVlfUk9XM19fSTJDMl9TREEJCTB4NDAwMWI4YjEgLyogUTdbMTUwXSBT RFZPX0NUUkxfREFUICovCisJCQk+OworCQl9OworCisJCXBpbmN0cmxfaTJjMl9ncGlvOiBpMmMy LWdwaW8geworCQkJZnNsLHBpbnMgPSA8CisJCQkJTVg2UURMX1BBRF9LRVlfQ09MM19fR1BJTzRf SU8xMgkJMHgxYjBiMCAvKiBRN1sxNTJdIFNEVk9fQ1RSTF9DTEsgKi8KKwkJCQlNWDZRRExfUEFE X0tFWV9ST1czX19HUElPNF9JTzEzCQkweDFiMGIwIC8qIFE3WzE1MF0gU0RWT19DVFJMX0RBVCAq LworCQkJPjsKKwkJfTsKKworCQlwaW5jdHJsX2kyYzM6IGkyYzMgeworCQkJZnNsLHBpbnMgPSA8 CisJCQkJTVg2UURMX1BBRF9HUElPXzNfX0kyQzNfU0NMCQkweDQwMDFiOGIxIC8qIFE3WzYwXSBT TUJfQ0xLICovCisJCQkJTVg2UURMX1BBRF9HUElPXzZfX0kyQzNfU0RBCQkweDQwMDFiOGIxIC8q IFE3WzYyXSBTTUJfREFUICovCisJCQk+OworCQl9OworCisJCXBpbmN0cmxfaTJjM19ncGlvOiBp MmMzLWdwaW8geworCQkJZnNsLHBpbnMgPSA8CisJCQkJTVg2UURMX1BBRF9HUElPXzNfX0dQSU8x X0lPMDMJCTB4MWIwYjAgLyogUTdbNjBdIFNNQl9DTEsgKi8KKwkJCQlNWDZRRExfUEFEX0dQSU9f Nl9fR1BJTzFfSU8wNgkJMHgxYjBiMCAvKiBRN1s2Ml0gU01CX0RBVCAqLworCQkJPjsKKwkJfTsK KworCQlwaW5jdHJsX3BoeV9yZXNldDogcGh5LXJlc2V0IHsKKwkJCWZzbCxwaW5zID0gPAorCQkJ CU1YNlFETF9QQURfRUlNX0QyM19fR1BJTzNfSU8yMwkJMHgxYjBiMCAvKiBSR01JSSBQaHkgUmVz ZXQgKi8KKwkJCT47CisJCX07CisKKwkJcGluY3RybF9wd200OiBwd200IHsKKwkJCWZzbCxwaW5z ID0gPAorCQkJCU1YNlFETF9QQURfU0QxX0NNRF9fUFdNNF9PVVQJCTB4MWIwYjEgLyogUTdbMTIz XSBMVkRTX0JMVF9DVFJMICovCisJCQk+OworCQl9OworCisJCXBpbmN0cmxfcTdfYmFja2xpZ2h0 X2VuYWJsZTogcTctYmFja2xpZ2h0LWVuYWJsZSB7CisJCQlmc2wscGlucyA9IDwKKwkJCQlNWDZR RExfUEFEX0dQSU9fOV9fR1BJTzFfSU8wOQkJMHgxYjBiMCAvKiBRN1sxMTJdIExWRFNfQkxFTiAq LworCQkJPjsKKwkJfTsKKworCQlwaW5jdHJsX3E3X2dwaW8wOiBxNy1ncGlvMCB7CisJCQlmc2ws cGlucyA9IDwKKwkJCQlNWDZRRExfUEFEX0VJTV9BMjVfX0dQSU81X0lPMDIJCTB4MWIwYjAgLyog UTdbMTg1XSBHUElPMCAqLworCQkJPjsKKwkJfTsKKworCQlwaW5jdHJsX3E3X2dwaW8xOiBxNy1n cGlvMSB7CisJCQlmc2wscGlucyA9IDwKKwkJCQlNWDZRRExfUEFEX0dQSU9fOF9fR1BJTzFfSU8w OAkJMHgxYjBiMCAvKiBRN1sxODZdIEdQSU8xICovCisJCQk+OworCQl9OworCisJCXBpbmN0cmxf cTdfZ3BpbzI6IHE3LWdwaW8yIHsKKwkJCWZzbCxwaW5zID0gPAorCQkJCU1YNlFETF9QQURfRElT UDBfREFUNV9fR1BJTzRfSU8yNgkweDFiMGIwIC8qIFE3WzE4N10gR1BJTzIgKi8KKwkJCT47CisJ CX07CisKKwkJcGluY3RybF9xN19ncGlvMzogcTctZ3BpbzMgeworCQkJZnNsLHBpbnMgPSA8CisJ CQkJTVg2UURMX1BBRF9ESVNQMF9EQVQ2X19HUElPNF9JTzI3CTB4MWIwYjAgLyogUTdbMTg4XSBH UElPMyAqLworCQkJPjsKKwkJfTsKKworCQlwaW5jdHJsX3E3X2dwaW80OiBxNy1ncGlvNCB7CisJ CQlmc2wscGlucyA9IDwKKwkJCQlNWDZRRExfUEFEX0dQSU9fMF9fR1BJTzFfSU8wMAkJMHgxYjBi MCAvKiBRN1sxODldIEdQSU80ICovCisJCQk+OworCQl9OworCisJCXBpbmN0cmxfcTdfZ3BpbzU6 IHE3LWdwaW81IHsKKwkJCWZzbCxwaW5zID0gPAorCQkJCU1YNlFETF9QQURfS0VZX1JPVzRfX0dQ SU80X0lPMTUJCTB4MWIwYjAgLyogUTdbMTkwXSBHUElPNSAqLworCQkJPjsKKwkJfTsKKworCQlw aW5jdHJsX3E3X2dwaW82OiBxNy1ncGlvNiB7CisJCQlmc2wscGlucyA9IDwKKwkJCQlNWDZRRExf UEFEX0dQSU9fMTZfX0dQSU83X0lPMTEJCTB4MWIwYjAgLyogUTdbMTkxXSBHUElPNiAqLworCQkJ PjsKKwkJfTsKKworCQlwaW5jdHJsX3E3X2dwaW83OiBxNy1ncGlvNyB7CisJCQlmc2wscGlucyA9 IDwKKwkJCQlNWDZRRExfUEFEX0tFWV9DT0w0X19HUElPNF9JTzE0CQkweDFiMGIwIC8qIFE3WzE5 Ml0gR1BJTzcgKi8KKwkJCT47CisJCX07CisKKwkJcGluY3RybF9xN19oZGFfcmVzZXQ6IHE3LWhk YS1yZXNldCB7CisJCQlmc2wscGlucyA9IDwKKwkJCQlNWDZRRExfUEFEX05BTkRGX0FMRV9fR1BJ TzZfSU8wOAkweDFiMGIwIC8qIFE3WzYxXSBIREFfUlNUX04gKi8KKwkJCT47CisJCX07CisKKwkJ cGluY3RybF9xN19sY2RfcG93ZXI6IGxjZC1wb3dlciB7CisJCQlmc2wscGlucyA9IDwKKwkJCQlN WDZRRExfUEFEX0dQSU9fN19fR1BJTzFfSU8wNwkJMHgxYjBiMCAvKiBRN1sxMTFdIExWRFNfUFBF TiAqLworCQkJPjsKKwkJfTsKKworCQlwaW5jdHJsX3E3X3NkaW9fcG93ZXI6IHE3LXNkaW8tcG93 ZXIgeworCQkJZnNsLHBpbnMgPSA8CisJCQkJTVg2UURMX1BBRF9ESVNQMF9EQVQ5X19HUElPNF9J TzMwCTB4MWIwYjAgLyogUTdbNDddIFNESU9fUFdSIyAqLworCQkJPjsKKwkJfTsKKworCQlwaW5j dHJsX3E3X3NsZWVwX2J1dHRvbjogcTctc2xlZXAtYnV0dG9uIHsKKwkJCWZzbCxwaW5zID0gPAor CQkJCU1YNlFETF9QQURfS0VZX1JPVzBfX0dQSU80X0lPMDcJCTB4MWIwYjAgLyogUTdbMjFdIFNM UF9CVE4jICovCisJCQk+OworCQl9OworCisJCXBpbmN0cmxfcTdfc3BpX2NzMTogc3BpLWNzMSB7 CisJCQlmc2wscGlucyA9IDwKKwkJCQlNWDZRRExfUEFEX0RJU1AwX0RBVDRfX0dQSU80X0lPMjUJ MHgxYjBiMCAvKiBRN1syMDJdIFNQSV9DUzEjICovCisJCQk+OworCQl9OworCisJCS8qIFNQSTEg YnVzIGRvZXMgbm90IGxlYXZlIFN5c3RlbSBvbiBNb2R1bGUgKi8KKwkJcGluY3RybF9zcGkxOiBz cGkxIHsKKwkJCWZzbCxwaW5zID0gPAorCQkJCU1YNlFETF9QQURfRUlNX0QxNl9fRUNTUEkxX1ND TEsJCTB4MTAwYjEKKwkJCQlNWDZRRExfUEFEX0VJTV9EMTdfX0VDU1BJMV9NSVNPCQkweDEwMGIx CisJCQkJTVg2UURMX1BBRF9FSU1fRDE4X19FQ1NQSTFfTU9TSQkJMHgxMDBiMQorCQkJCU1YNlFE TF9QQURfRUlNX0QxOV9fR1BJTzNfSU8xOQkJMHgxYjBiMAorCQkJPjsKKwkJfTsKKworCQkvKiBE ZWJ1ZyBjb25uZWN0b3Igb24gUTcgbW9kdWxlICovCisJCXBpbmN0cmxfdWFydDI6IHVhcnQyIHsK KwkJCWZzbCxwaW5zID0gPAorCQkJCU1YNlFETF9QQURfRUlNX0QyNl9fVUFSVDJfVFhfREFUQQkw eDFiMGIxCisJCQkJTVg2UURMX1BBRF9FSU1fRDI3X19VQVJUMl9SWF9EQVRBCTB4MWIwYjEKKwkJ CT47CisJCX07CisKKwkJcGluY3RybF91YXJ0MzogdWFydDMgeworCQkJZnNsLHBpbnMgPSA8CisJ CQkJTVg2UURMX1BBRF9FSU1fRDI1X19VQVJUM19SWF9EQVRBCTB4MWIwYjEgLyogUTdbMTc3XSBV QVJUMF9SWCAqLworCQkJCU1YNlFETF9QQURfRUlNX0QyNF9fVUFSVDNfVFhfREFUQQkweDFiMGIx IC8qIFE3WzE3MV0gVUFSVDBfVFggKi8KKwkJCT47CisJCX07CisKKwkJcGluY3RybF91c2JvdGc6 IHVzYm90ZyB7CisJCQlmc2wscGlucyA9IDwKKwkJCQlNWDZRRExfUEFEX0dQSU9fMV9fVVNCX09U R19JRAkJMHgxNzA1OSAvKiBRN1s5Ml0gVVNCX0lEICovCisJCQk+OworCQl9OworCisJCS8qIMK1 U0QgY2FyZCBzbG90IG9uIFE3IG1vZHVsZSAqLworCQlwaW5jdHJsX3VzZGhjMjogdXNkaGMyIHsK KwkJCWZzbCxwaW5zID0gPAorCQkJCU1YNlFETF9QQURfU0QyX0NNRF9fU0QyX0NNRAkJMHgxNzA1 OQorCQkJCU1YNlFETF9QQURfU0QyX0NMS19fU0QyX0NMSwkJMHgxMDA1OQorCQkJCU1YNlFETF9Q QURfU0QyX0RBVDBfX1NEMl9EQVRBMAkJMHgxNzA1OQorCQkJCU1YNlFETF9QQURfU0QyX0RBVDFf X1NEMl9EQVRBMQkJMHgxNzA1OQorCQkJCU1YNlFETF9QQURfU0QyX0RBVDJfX1NEMl9EQVRBMgkJ MHgxNzA1OQorCQkJCU1YNlFETF9QQURfU0QyX0RBVDNfX1NEMl9EQVRBMwkJMHgxNzA1OQorCQkJ CU1YNlFETF9QQURfR1BJT180X19HUElPMV9JTzA0CQkweDFiMGIwIC8qIFNEMl9DRCAqLworCQkJ PjsKKwkJfTsKKworCQkvKiBlTU1DIG1vZHVsZSBvbiBRNyBtb2R1bGUgKi8KKwkJcGluY3RybF91 c2RoYzM6IHVzZGhjMyB7CisJCQlmc2wscGlucyA9IDwKKwkJCQlNWDZRRExfUEFEX1NEM19DTURf X1NEM19DTUQJCTB4MTcwNTkKKwkJCQlNWDZRRExfUEFEX1NEM19DTEtfX1NEM19DTEsJCTB4MTAw NTkKKwkJCQlNWDZRRExfUEFEX1NEM19EQVQwX19TRDNfREFUQTAJCTB4MTcwNTkKKwkJCQlNWDZR RExfUEFEX1NEM19EQVQxX19TRDNfREFUQTEJCTB4MTcwNTkKKwkJCQlNWDZRRExfUEFEX1NEM19E QVQyX19TRDNfREFUQTIJCTB4MTcwNTkKKwkJCQlNWDZRRExfUEFEX1NEM19EQVQzX19TRDNfREFU QTMJCTB4MTcwNTkKKwkJCQlNWDZRRExfUEFEX1NEM19EQVQ0X19TRDNfREFUQTQJCTB4MTcwNTkK KwkJCQlNWDZRRExfUEFEX1NEM19EQVQ1X19TRDNfREFUQTUJCTB4MTcwNTkKKwkJCQlNWDZRRExf UEFEX1NEM19EQVQ2X19TRDNfREFUQTYJCTB4MTcwNTkKKwkJCQlNWDZRRExfUEFEX1NEM19EQVQ3 X19TRDNfREFUQTcJCTB4MTcwNTkKKwkJCT47CisJCX07CisKKwkJcGluY3RybF91c2RoYzQ6IHVz ZGhjNCB7CisJCQlmc2wscGlucyA9IDwKKwkJCQlNWDZRRExfUEFEX1NENF9DTURfX1NENF9DTUQJ CTB4MTcwNTkgLyogUTdbNDVdIFNESU9fQ01EICovCisJCQkJTVg2UURMX1BBRF9TRDRfQ0xLX19T RDRfQ0xLCQkweDE3MDU5IC8qIFE3WzQyXSBTRElPX0NMSyAqLworCQkJCU1YNlFETF9QQURfU0Q0 X0RBVDFfX1NENF9EQVRBMQkJMHgxNzA1OSAvKiBRN1s0OF0gU0RJT19EQVQxICovCisJCQkJTVg2 UURMX1BBRF9TRDRfREFUMF9fU0Q0X0RBVEEwCQkweDE3MDU5IC8qIFE3WzQ5XSBTRElPX0RBVDAg Ki8KKwkJCQlNWDZRRExfUEFEX1NENF9EQVQzX19TRDRfREFUQTMJCTB4MTcwNTkgLyogUTdbNTBd IFNESU9fREFUMyAqLworCQkJCU1YNlFETF9QQURfU0Q0X0RBVDJfX1NENF9EQVRBMgkJMHgxNzA1 OSAvKiBRN1s1MV0gU0RJT19EQVQyICovCisJCQk+OworCQl9OworCisJCXBpbmN0cmxfd2RvZzog d2RvZyB7CisJCQlmc2wscGlucyA9IDwKKwkJCQlNWDZRRExfUEFEX0RJU1AwX0RBVDhfX1dET0cx X0IJCTB4MWIwYjAgLyogV2F0Y2hkb2cgb3V0cHV0IHNpZ25hbCAqLworCQkJPjsKKwkJfTsKKwl9 OworfTsKLS0gCjIuMzAuMgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxA bGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK