From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 2665DCCFA03 for ; Mon, 3 Nov 2025 17:18:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Transfer-Encoding: Content-Type: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=jUdUq6dY7s0NGGI44p39qDFRxYPyetZJzuMspsbeIH0=; b=SCjpvb21b1mdu7cbek9JcCkRRF Zd70DsQhxTIs7V+fYqGWdHBJrzPv7NpcIDgvPXsNvzwNXq13kHc+cU1naAi/6vfYTQkPrGINFczYQ YCSQYPlob7hrd70Shcu2R5kpPo/cudA5BJyfMLNu18dZeTIaYMSjne35CiujDdJ4Nl5dzcbsyHZSv eW0i+l+1OUpeVv80xWtw5iUdi8XvjVcANYxOOqlRoI4+v19CttpjHP3Spbi/Mg1jfvanv2ygGqYnC RKl3jYCc81w3EoaP/25TbdZT7cfQnlj4tKucIHimOXuJ2QhAM+QxCqAZl5548nng48LdocL6aJfgg 1nEkxGow==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1vFyBj-0000000AOmG-3jiy; Mon, 03 Nov 2025 17:17:51 +0000 Received: from mail-pf1-x441.google.com ([2607:f8b0:4864:20::441]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1vFyBf-0000000AOj7-3xr5 for linux-arm-kernel@lists.infradead.org; Mon, 03 Nov 2025 17:17:50 +0000 Received: by mail-pf1-x441.google.com with SMTP id d2e1a72fcca58-7a435a3fc57so4478921b3a.1 for ; Mon, 03 Nov 2025 09:17:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762190267; x=1762795067; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=jUdUq6dY7s0NGGI44p39qDFRxYPyetZJzuMspsbeIH0=; b=VuGDKhiCM6/Yq5O8zx1PPwucw5mYeoIjG0lAZZV8RizN69xcMhh7dGW5noucntHHXS KOPUajtSVnOU7qwIWG/dwCPf2ld9nV3HJ3cAT5zUwFl/grPwjp6mC5VrvLNtlZTxNJ+Q pRRl9embfTK9fu4FVwww6uB5Zkp3+1F6xqtuPWTDTuPE4tFHD66+eRQOt3+sbxGJPhoQ W++qoNjAtGoh0ZvOvVWEFU/Uh7iG7QgPC8rBHjJ5OnTHEMCi6u/NmtgATdXCdpP01Bbi Wvo6liCY0iBx5kRZe8tzWQeP1jbYxjQG8evgiLjMsJY4ha51/oHZWdZvlFtlCChveE8I O3uA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762190267; x=1762795067; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=jUdUq6dY7s0NGGI44p39qDFRxYPyetZJzuMspsbeIH0=; b=kwQMbuuD0LyGSJ/joYStIAxcQ9Qx59OZktK65es1NPzNv/aycVm26b5izERN2Avo9s 5f1ZRfwhzAql1Gg8hzBCnnZHxAYlXXRx9DYZMzeItLY4vk/h193Xy+H2ttm27lv610YR W6/r0/60GGlWuV77aqL/U8BOjtF8Dit4zx9vwJhyco+qnNUTGH3ggPyd+SEVNuaeTF+/ JRaVmk0r/ZqPh5vntNvxU40R830Z4emcGYFxeW3wSaA7wT6UBA0KhfLZFeVXsqXXrDOm epovn00C4kM3wsk+W7n8xmzEIqsS0D8vcPJtIrxcMcOltR08HCVFT+CHuXUm592hRHT7 h/Mg== X-Forwarded-Encrypted: i=1; AJvYcCUGNguTsMGYA0HDnnTXr7oid4lz7R6buuplvxLjJM1L3i4Vz1GpkkiSNRz+oxC5s5xCdT3E/NGtPXIBDMS0r1aw@lists.infradead.org X-Gm-Message-State: AOJu0YySix+/7hwNsYqa8ho4ogMjKQGCAp4M8IdunMDAK55GMXguJ2qB r00tCnJWzLFyDcaLJZJ71C4CDRZesd6UzWfjrK0GjWOSFRTj2oqDZTcS X-Gm-Gg: ASbGncv0kk236qc/QxGn9Df5qUPGVd1BG5RD235RyzU7qj36Jzh94H8UUBFR+7iV04U ZiqbMn7x25ny4e9mzb1E0W6k9zras6BvgG+Rmec0UomoqdinINYEFTkgNDQXho/VKGz0aWkpGFP NirI7MiL+j7b68VU2Z6oVOIQeqdAzxAGufOg2+qwAESLotDtGdLjC2ruX2T3FqDJ2La7rqfIJO8 6SiOkVJ9+c3UkB3zbH4dh+Csw11x51eadatMD4eUK/iclPCL/ZiUDzx6uAtoQRXVMrrXmnHrP3w OnTeWs0n4xnyiyTOZ6wyF7Wyqfzx4tK8+GlZ6dkpmwcma1iK6WX5pSZ0o/aBnUzxnxPKxSRN3mX dRX84s+3g5rznJM9X/ncywI3zkw2+Xm/jtoB3v+Boh2JgCYXVHKa7vzJA/AdCKbHxEOKFPfrwQa 99w3XeyxqeZGvLOmw8C9gf X-Google-Smtp-Source: AGHT+IF139ptzO1D+JGl4QJV64xw+SKVzmoNZXBNRA2YAbmxBnYUMcofj3KrbnFGKi5npw0qytTxAQ== X-Received: by 2002:a05:6a00:a8d:b0:76b:c9b9:a11b with SMTP id d2e1a72fcca58-7a777382affmr14543633b3a.3.1762190266934; Mon, 03 Nov 2025 09:17:46 -0800 (PST) Received: from server.lan ([150.230.217.250]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7a7db28d3fbsm12148112b3a.43.2025.11.03.09.17.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 Nov 2025 09:17:46 -0800 (PST) From: Coia Prant To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heiko Stuebner , Dragan Simic , Jonas Karlman Cc: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, Coia Prant Subject: [PATCH v5 3/3] arm64: dts: rockchip: Add devicetree for the 9Tripod X3568 v4 Date: Tue, 4 Nov 2025 01:17:02 +0800 Message-ID: <20251103171702.1518730-4-coiaprant@gmail.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251103171702.1518730-1-coiaprant@gmail.com> References: <20251103171702.1518730-1-coiaprant@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20251103_091748_120568_77F5E758 X-CRM114-Status: GOOD ( 17.56 ) 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: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org The 9Tripod X3568 v4 is an RK3568-based SBC, just like the RK3568-EVB. It always uses soldered connections between the X3568CV2/X3568CV3/X3568CV4 core board and the X3568bv4 I/O board. The differences between the core boards - PCB size, layout - CPU (RKK3568B2/RK3568J) - Memory type (DDR4/LPDDR4/LPDDR4X) and size - eMMC size - DSI/EDP resistor values Although the components vary, they maintain full compatibility. The X3568 board has multiple hardware revisions, and we currently support v4 (I/O board). Specification: - SoC: RockChip RK3568 ARM64 (4 cores) - eMMC: 16-128 GB - RAM: 2-16 GB - Power: DC 12V 2A - Ethernet: 2x YT8521SC RGMII (10/100/1000 Mbps) - Wireless radio: 802.11b/g/n/ac/ax dual-band - LED: Power: AlwaysOn User: GPIO - Button: VOL+: SARADC/0 <35k µV> VOL-: SARADC/0 <450k µV> Power/Reset: PMIC RK809 - CAN CAN/1: 4-pin (PH 2.0) - PWM PWM/4: Backlight DSI/0 DSI/1 PWM/7: IR Receiver [may not install] - UART: UART/2: Debug TTL - 1500000 8N1 (1.25mm) UART/3: TTL (PH 2.0) UART/4: TTL (PH 2.0) UART/8: AP6275S Bluetooth UART/9: TTL (PH 2.0) - I2C: I2C/0: PMIC RK809 I2C/1: Touchscreen DSI/0 DSI/1 I2C/4: Camera I2C/5: RTC@51 PCF8563 - I2S: I2S/0: miniHDMI Sound I2S/1: RK809 Audio Codec I2S/3: AP6275S Bluetooth Sound - SDMMC: SDMMC/0: microSD (TF) slot SDMMC/2: AP6275S SDIO WiFi card - Camera: 1x CSI - Video: miniHDMI / DSI0 (MIPI/LVDS) / DSI1 (MIPI/EDP) - Audio: miniHDMI / MIC on-board / Speaker / SPDIF / 3.5mm Headphones / AP6275S Bluetooth - USB: USB 2.0 HOST x2 USB 2.0 HOST x3 (4-pin) USB 2.0 OTG x1 (shared with USB 3.0 OTG/HOST) [slot may not install] USB 3.0 HOST x1 USB 3.0 OTG/HOST x1 - SATA: 1x SATA 3.0 with Power/4-pin [slot may not install] - PCIe: 1x PCIe 3.0 x2 (x4 connecter) [power/clock/slot may not install] Link: - https://appletsapi.52solution.com/media/X3568V4%E5%BC%80%E5%8F%91%E6%9D%BF%E7%A1%AC%E4%BB%B6%E6%89%8B%E5%86%8C.pdf - https://blog.gov.cooking/archives/research-ninetripod-x3568-v4-and-flash.html Signed-off-by: Coia Prant --- arch/arm64/boot/dts/rockchip/Makefile | 11 + .../rk3568-9tripod-x3568-v4-camera-demo.dtso | 84 ++ .../rk3568-9tripod-x3568-v4-video-demo.dtso | 154 +++ .../dts/rockchip/rk3568-9tripod-x3568-v4.dts | 887 ++++++++++++++++++ 4 files changed, 1136 insertions(+) create mode 100644 arch/arm64/boot/dts/rockchip/rk3568-9tripod-x3568-v4-camera-demo.dtso create mode 100644 arch/arm64/boot/dts/rockchip/rk3568-9tripod-x3568-v4-video-demo.dtso create mode 100644 arch/arm64/boot/dts/rockchip/rk3568-9tripod-x3568-v4.dts diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile index ad684e383..959a806a2 100644 --- a/arch/arm64/boot/dts/rockchip/Makefile +++ b/arch/arm64/boot/dts/rockchip/Makefile @@ -130,6 +130,9 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-lubancat-1.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-nanopi-r3s.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-bigtreetech-cb2-manta.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-bigtreetech-pi2.dtb +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-9tripod-x3568-v4.dtb +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-9tripod-x3568-v4-camera-demo.dtbo +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-9tripod-x3568-v4-video-demo.dtbo dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-bpi-r2-pro.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-evb1-v10.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-fastrhino-r66s.dtb @@ -252,6 +255,14 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3576-armsom-sige5-v1.2-wifibt.dtb rk3576-armsom-sige5-v1.2-wifibt-dtbs := rk3576-armsom-sige5.dtb \ rk3576-armsom-sige5-v1.2-wifibt.dtbo +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-9tripod-x3568-v4-camera-demo.dtb +rk3568-9tripod-x3568-v4-camera-demo-dtbs := rk3568-9tripod-x3568-v4.dtb \ + rk3568-9tripod-x3568-v4-camera-demo.dtbo + +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-9tripod-x3568-v4-video-demo.dtb +rk3568-9tripod-x3568-v4-video-demo-dtbs := rk3568-9tripod-x3568-v4.dtb \ + rk3568-9tripod-x3568-v4-video-demo.dtbo + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-edgeble-neu6a-wifi.dtb rk3588-edgeble-neu6a-wifi-dtbs := rk3588-edgeble-neu6a-io.dtb \ rk3588-edgeble-neu6a-wifi.dtbo diff --git a/arch/arm64/boot/dts/rockchip/rk3568-9tripod-x3568-v4-camera-demo.dtso b/arch/arm64/boot/dts/rockchip/rk3568-9tripod-x3568-v4-camera-demo.dtso new file mode 100644 index 000000000..2b428ca71 --- /dev/null +++ b/arch/arm64/boot/dts/rockchip/rk3568-9tripod-x3568-v4-camera-demo.dtso @@ -0,0 +1,84 @@ +// SPDX-License-Identifier: (GPL-2.0-or-later OR MIT) + +// This is a sample reference, due to lack of hardware can not be tested, at your own risk + +/dts-v1/; +/plugin/; + +#include +#include +#include + +&{/} { + vcc_cam: regulator-vcc-cam { + compatible = "regulator-fixed"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + enable-active-high; + gpio = <&gpio0 RK_PC1 GPIO_ACTIVE_HIGH>; + regulator-name = "vcc_cam"; + vin-supply = <&vcc3v3_sys>; + pinctrl-names = "default"; + pinctrl-0 = <&vcc_cam_en>; + + regulator-state-mem { + regulator-off-in-suspend; + }; + }; +}; + +&pinctrl { + cam { + vcc_cam_en: vcc_cam_en { + rockchip,pins = <0 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; +}; + +&csi_dphy { + status = "okay"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + #address-cells = <1>; + #size-cells = <0>; + + mipi_in_ucam: endpoint@2 { + reg = <2>; + remote-endpoint = <&ucam_out>; + data-lanes = <1 2 3 4>; + }; + }; + }; +}; + +&i2c4 { + #address-cells = <1>; + #size-cells = <0>; + status = "okay"; + + camera@37 { + compatible = "ovti,ov5695"; + reg = <0x37>; + clocks = <&cru CLK_CIF_OUT>; + clock-names = "xvclk"; + avdd-supply = <&vcc_cam>; + dvdd-supply = <&vcc_cam>; + dovdd-supply = <&vcc_cam>; + pinctrl-names = "default"; + pinctrl-0 = <&cif_clk>; + reset-gpios = <&gpio3 RK_PB6 GPIO_ACTIVE_LOW>; + pwdn-gpios = <&gpio4 RK_PB4 GPIO_ACTIVE_LOW>; + + port { + ucam_out: endpoint { + remote-endpoint = <&mipi_in_ucam>; + data-lanes = <1 2 3 4>; + }; + }; + }; +}; diff --git a/arch/arm64/boot/dts/rockchip/rk3568-9tripod-x3568-v4-video-demo.dtso b/arch/arm64/boot/dts/rockchip/rk3568-9tripod-x3568-v4-video-demo.dtso new file mode 100644 index 000000000..e7fa1ca48 --- /dev/null +++ b/arch/arm64/boot/dts/rockchip/rk3568-9tripod-x3568-v4-video-demo.dtso @@ -0,0 +1,154 @@ +// SPDX-License-Identifier: (GPL-2.0-or-later OR MIT) + +// This is a sample reference, due to lack of hardware can not be tested, at your own risk + +/dts-v1/; +/plugin/; + +#include +#include +#include +#include +#include + +&{/} { + backlight: backlight { + compatible = "pwm-backlight"; + brightness-levels = <20 220>; + default-brightness-level = <100>; + num-interpolated-steps = <200>; + power-supply = <&vcc3v3_sys>; + pwms = <&pwm4 0 25000 0>; + }; + + vcc3v3_lcd0_n: regulator-vcc3v3-lcd0-n { + compatible = "regulator-fixed"; + regulator-name = "vcc3v3_lcd0_n"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + enable-active-high; + gpio = <&gpio0 RK_PC7 GPIO_ACTIVE_HIGH>; + vin-supply = <&vcc3v3_sys>; + pinctrl-names = "default"; + pinctrl-0 = <&vcc3v3_lcd0_n_en>; + + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vcc3v3_lcd1_n: regulator-vcc3v3-lcd1-n { + compatible = "regulator-fixed"; + regulator-name = "vcc3v3_lcd1_n"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + enable-active-high; + gpio = <&gpio0 RK_PC5 GPIO_ACTIVE_HIGH>; + vin-supply = <&vcc3v3_sys>; + pinctrl-names = "default"; + pinctrl-0 = <&vcc3v3_lcd1_n_en>; + + regulator-state-mem { + regulator-off-in-suspend; + }; + }; +}; + +&pinctrl { + display { + vcc3v3_lcd0_n_en: vcc3v3_lcd0_n_en { + rockchip,pins = <0 RK_PC7 0 &pcfg_pull_none>; + }; + vcc3v3_lcd1_n_en: vcc3v3_lcd1_n_en { + rockchip,pins = <0 RK_PC5 0 &pcfg_pull_none>; + }; + }; + + touchscreen { + touch_int: touch_int { + rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>; + }; + touch_rst: touch_rst { + rockchip,pins = <0 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; +}; + +&dsi0 { + #address-cells = <1>; + #size-cells = <0>; + clock-master; + status = "okay"; + + panel@0 { + compatible = "wanchanglong,w552793baa", "raydium,rm67200"; + reg = <0>; + backlight = <&backlight>; + iovcc-supply = <&vcc3v3_lcd0_n>; + reset-gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_LOW>; + vdd-supply = <&vcc3v3_lcd0_n>; + vsn-supply = <&vcc5v0_sys>; + vsp-supply = <&vcc5v0_sys>; + + port { + panel_in_dsi: endpoint { + remote-endpoint = <&dsi0_out_panel>; + }; + }; + }; +}; + +&dsi0_in { + #address-cells = <1>; + #size-cells = <0>; + + dsi0_in_vp1: endpoint { + remote-endpoint = <&vp1_out_dsi0>; + }; +}; + +&dsi0_out { + #address-cells = <1>; + #size-cells = <0>; + + dsi0_out_panel: endpoint { + remote-endpoint = <&panel_in_dsi>; + }; +}; + +&dsi_dphy0 { + status = "okay"; +}; + +&pwm4 { + status = "okay"; +}; + +&i2c1 { + #address-cells = <1>; + #size-cells = <0>; + status = "okay"; + + touchscreen0: goodix@14 { + compatible = "goodix,gt1151"; + reg = <0x14>; + interrupt-parent = <&gpio0>; + interrupts = ; + AVDD28-supply = <&vcc3v3_lcd0_n>; + irq-gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_LOW>; + pinctrl-names = "default"; + pinctrl-0 = <&touch_int &touch_rst>; + reset-gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_LOW>; + VDDIO-supply = <&vcc3v3_lcd0_n>; + }; +}; + +&vp1 { + #address-cells = <1>; + #size-cells = <0>; + + vp1_out_dsi0: endpoint@ROCKCHIP_VOP2_EP_MIPI0 { + reg = ; + remote-endpoint = <&dsi0_in_vp1>; + }; +}; diff --git a/arch/arm64/boot/dts/rockchip/rk3568-9tripod-x3568-v4.dts b/arch/arm64/boot/dts/rockchip/rk3568-9tripod-x3568-v4.dts new file mode 100644 index 000000000..443ed7d4b --- /dev/null +++ b/arch/arm64/boot/dts/rockchip/rk3568-9tripod-x3568-v4.dts @@ -0,0 +1,887 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) + +/dts-v1/; +#include +#include +#include +#include +#include +#include "rk3568.dtsi" + +/ { + model = "9Tripod X3568 v4"; + compatible = "9tripod,x3568-v4", "rockchip,rk3568"; + + aliases { + ethernet0 = &gmac0; + ethernet1 = &gmac1; + mmc0 = &sdhci; + mmc1 = &sdmmc0; + mmc2 = &sdmmc2; + rtc0 = &rtc0; + }; + + chosen { + stdout-path = "serial2:1500000n8"; + }; + + adc-keys { + compatible = "adc-keys"; + io-channels = <&saradc 0>; + io-channel-names = "buttons"; + keyup-threshold-microvolt = <1800000>; + poll-interval = <100>; + + button-vol-up { + label = "volume up"; + linux,code = ; + press-threshold-microvolt = <50000>; + }; + + button-vol-down { + label = "volume down"; + linux,code = ; + press-threshold-microvolt = <500000>; + }; + }; + + hdmi-con { + compatible = "hdmi-connector"; + type = "a"; + + port { + hdmi_con_in: endpoint { + remote-endpoint = <&hdmi_out_con>; + }; + }; + }; + + leds { + compatible = "gpio-leds"; + + led_work: led-0 { + gpios = <&gpio0 RK_PC0 GPIO_ACTIVE_HIGH>; + function = LED_FUNCTION_HEARTBEAT; + color = ; + linux,default-trigger = "heartbeat"; + pinctrl-names = "default"; + pinctrl-0 = <&led_work_en>; + }; + }; + + rk809-sound { + compatible = "simple-audio-card"; + simple-audio-card,format = "i2s"; + simple-audio-card,name = "Analog RK809"; + simple-audio-card,mclk-fs = <256>; + + simple-audio-card,cpu { + sound-dai = <&i2s1_8ch>; + }; + simple-audio-card,codec { + sound-dai = <&rk809>; + }; + }; + + pdm_codec: pdm-codec { + compatible = "dmic-codec"; + num-channels = <2>; + #sound-dai-cells = <0>; + }; + + pdm_sound: pdm-sound { + compatible = "simple-audio-card"; + simple-audio-card,name = "microphone"; + + simple-audio-card,cpu { + sound-dai = <&pdm>; + }; + + simple-audio-card,codec { + sound-dai = <&pdm_codec>; + }; + }; + + spdif_dit: spdif-dit { + compatible = "linux,spdif-dit"; + #sound-dai-cells = <0>; + }; + + spdif_sound: spdif-sound { + compatible = "simple-audio-card"; + simple-audio-card,name = "SPDIF"; + + simple-audio-card,cpu { + sound-dai = <&spdif>; + }; + simple-audio-card,codec { + sound-dai = <&spdif_dit>; + }; + }; + + sdio_pwrseq: sdio-pwrseq { + compatible = "mmc-pwrseq-simple"; + clocks = <&rk809 1>; + clock-names = "ext_clock"; + pinctrl-names = "default"; + pinctrl-0 = <&wifi_enable>; + post-power-on-delay-ms = <100>; + power-off-delay-us = <300>; + reset-gpios = <&gpio3 RK_PD5 GPIO_ACTIVE_LOW>; + }; + + dc_12v: regulator-dc-12v { + compatible = "regulator-fixed"; + regulator-name = "dc_12v"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <12000000>; + regulator-max-microvolt = <12000000>; + }; + + pcie30_avdd0v9: regulator-pcie30-avdd0v9 { + compatible = "regulator-fixed"; + regulator-name = "pcie30_avdd0v9"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <900000>; + regulator-max-microvolt = <900000>; + vin-supply = <&vcc3v3_sys>; + }; + + pcie30_avdd1v8: regulator-pcie30-avdd1v8 { + compatible = "regulator-fixed"; + regulator-name = "pcie30_avdd1v8"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + vin-supply = <&vcc3v3_sys>; + }; + + vcc3v3_sys: regulator-vcc3v3-sys { + compatible = "regulator-fixed"; + regulator-name = "vcc3v3_sys"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + vin-supply = <&dc_12v>; + }; + + vcc3v3_pcie: regulator-vcc3v3-pcie { + compatible = "regulator-gpio"; + regulator-name = "vcc3v3_pcie"; + regulator-min-microvolt = <100000>; + regulator-max-microvolt = <3300000>; + pinctrl-names = "default"; + pinctrl-0 = <&vcc3v3_pcie_en_pin>; + gpios = <&gpio3 RK_PC3 GPIO_ACTIVE_HIGH>; + gpios-states = <1>; + states = <100000 0>, <3300000 1>; + startup-delay-us = <5000>; + }; + + vcc5v0_sys: regulator-vcc5v0-sys { + compatible = "regulator-fixed"; + regulator-name = "vcc5v0_sys"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + vin-supply = <&dc_12v>; + }; + + vcc5v0_usb: regulator-vcc5v0-usb { + compatible = "regulator-fixed"; + regulator-name = "vcc5v0_usb"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + vin-supply = <&dc_12v>; + }; + + vcc5v0_usb_host: regulator-vcc5v0-usb-host { + compatible = "regulator-fixed"; + enable-active-high; + gpio = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&vcc5v0_usb_host_en>; + regulator-name = "vcc5v0_usb_host"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + vin-supply = <&vcc5v0_usb>; + }; + + vcc5v0_usb_otg: regulator-vcc5v0-usb-otg { + compatible = "regulator-fixed"; + enable-active-high; + gpio = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&vcc5v0_usb_otg_en>; + regulator-name = "vcc5v0_usb_otg"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + vin-supply = <&vcc5v0_usb>; + }; +}; + +&can1 { + assigned-clocks = <&cru CLK_CAN1>; + assigned-clock-rates = <150000000>; + pinctrl-names = "default"; + pinctrl-0 = <&can1m1_pins>; + status = "okay"; +}; + +/* used for usb_host0_xhci */ +&combphy0 { + status = "okay"; +}; + +/* used for usb_host1_xhci */ +&combphy1 { + status = "okay"; +}; + +/* connected to sata2 */ +&combphy2 { + status = "okay"; +}; + +&cpu0 { + cpu-supply = <&vdd_cpu>; +}; + +&cpu1 { + cpu-supply = <&vdd_cpu>; +}; + +&cpu2 { + cpu-supply = <&vdd_cpu>; +}; + +&cpu3 { + cpu-supply = <&vdd_cpu>; +}; + +&gmac0 { + assigned-clocks = <&cru SCLK_GMAC0_RX_TX>, <&cru SCLK_GMAC0>; + assigned-clock-parents = <&cru SCLK_GMAC0_RGMII_SPEED>; + assigned-clock-rates = <0>, <125000000>; + clock_in_out = "output"; + pinctrl-names = "default"; + pinctrl-0 = <&gmac0_miim + &gmac0_tx_bus2 + &gmac0_rx_bus2 + &gmac0_rgmii_clk + &gmac0_rgmii_bus + &gmac0_clkinout>; + phy-handle = <&rgmii_phy0>; + phy-mode = "rgmii-id"; + status = "okay"; +}; + +&gmac1 { + assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1>; + assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>; + assigned-clock-rates = <0>, <125000000>; + clock_in_out = "output"; + pinctrl-names = "default"; + pinctrl-0 = <&gmac1m1_miim + &gmac1m1_tx_bus2 + &gmac1m1_rx_bus2 + &gmac1m1_rgmii_clk + &gmac1m1_rgmii_bus + &gmac1m1_clkinout>; + phy-handle = <&rgmii_phy1>; + phy-mode = "rgmii-id"; + status = "okay"; +}; + +&gpu { + mali-supply = <&vdd_gpu>; + status = "okay"; +}; + +&hdmi { + avdd-0v9-supply = <&vdda0v9_image>; + avdd-1v8-supply = <&vcca1v8_image>; + status = "okay"; +}; + +&hdmi_in { + hdmi_in_vp0: endpoint { + remote-endpoint = <&vp0_out_hdmi>; + }; +}; + +&hdmi_out { + hdmi_out_con: endpoint { + remote-endpoint = <&hdmi_con_in>; + }; +}; + +&hdmi_sound { + status = "okay"; +}; + +&i2c0 { + status = "okay"; + + vdd_cpu: regulator@1c { + compatible = "tcs,tcs4525"; + reg = <0x1c>; + fcs,suspend-voltage-selector = <1>; + regulator-name = "vdd_cpu"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <800000>; + regulator-max-microvolt = <1150000>; + regulator-ramp-delay = <2300>; + vin-supply = <&vcc5v0_sys>; + + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + rk809: pmic@20 { + compatible = "rockchip,rk809"; + reg = <0x20>; + interrupt-parent = <&gpio0>; + interrupts = ; + assigned-clocks = <&cru I2S1_MCLKOUT_TX>; + assigned-clock-parents = <&cru CLK_I2S1_8CH_TX>; + #clock-cells = <1>; + clock-names = "mclk"; + clocks = <&cru I2S1_MCLKOUT_TX>; + pinctrl-names = "default"; + pinctrl-0 = <&pmic_int>, <&i2s1m0_mclk>; + system-power-controller; + #sound-dai-cells = <0>; + vcc1-supply = <&vcc3v3_sys>; + vcc2-supply = <&vcc3v3_sys>; + vcc3-supply = <&vcc3v3_sys>; + vcc4-supply = <&vcc3v3_sys>; + vcc5-supply = <&vcc3v3_sys>; + vcc6-supply = <&vcc3v3_sys>; + vcc7-supply = <&vcc3v3_sys>; + vcc8-supply = <&vcc3v3_sys>; + vcc9-supply = <&vcc3v3_sys>; + wakeup-source; + + regulators { + vdd_logic: DCDC_REG1 { + regulator-name = "vdd_logic"; + regulator-always-on; + regulator-boot-on; + regulator-initial-mode = <0x2>; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <1350000>; + regulator-ramp-delay = <6001>; + + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vdd_gpu: DCDC_REG2 { + regulator-name = "vdd_gpu"; + regulator-always-on; + regulator-initial-mode = <0x2>; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <1350000>; + regulator-ramp-delay = <6001>; + + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vcc_ddr: DCDC_REG3 { + regulator-name = "vcc_ddr"; + regulator-always-on; + regulator-boot-on; + regulator-initial-mode = <0x2>; + + regulator-state-mem { + regulator-on-in-suspend; + }; + }; + + vdd_npu: DCDC_REG4 { + regulator-name = "vdd_npu"; + regulator-initial-mode = <0x2>; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <1350000>; + regulator-ramp-delay = <6001>; + + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vcc_1v8: DCDC_REG5 { + regulator-name = "vcc_1v8"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vdda0v9_image: LDO_REG1 { + regulator-name = "vdda0v9_image"; + regulator-min-microvolt = <900000>; + regulator-max-microvolt = <900000>; + + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vdda_0v9: LDO_REG2 { + regulator-name = "vdda_0v9"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <900000>; + regulator-max-microvolt = <900000>; + + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vdda0v9_pmu: LDO_REG3 { + regulator-name = "vdda0v9_pmu"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <900000>; + regulator-max-microvolt = <900000>; + + regulator-state-mem { + regulator-on-in-suspend; + regulator-suspend-microvolt = <900000>; + }; + }; + + vccio_acodec: LDO_REG4 { + regulator-name = "vccio_acodec"; + regulator-always-on; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vccio_sd: LDO_REG5 { + regulator-name = "vccio_sd"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3300000>; + + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vcc3v3_pmu: LDO_REG6 { + regulator-name = "vcc3v3_pmu"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + + regulator-state-mem { + regulator-on-in-suspend; + regulator-suspend-microvolt = <3300000>; + }; + }; + + vcca_1v8: LDO_REG7 { + regulator-name = "vcca_1v8"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vcca1v8_pmu: LDO_REG8 { + regulator-name = "vcca1v8_pmu"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + + regulator-state-mem { + regulator-on-in-suspend; + regulator-suspend-microvolt = <1800000>; + }; + }; + + vcca1v8_image: LDO_REG9 { + regulator-name = "vcca1v8_image"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vcc_3v3: SWITCH_REG1 { + regulator-name = "vcc_3v3"; + regulator-always-on; + regulator-boot-on; + + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vcc3v3_sd: SWITCH_REG2 { + regulator-name = "vcc3v3_sd"; + + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + }; + + codec { + rockchip,mic-in-differential; + }; + }; +}; + +&i2c5 { + status = "okay"; + + rtc0: rtc@51 { + compatible = "nxp,pcf8563"; + reg = <0x51>; + #clock-cells = <0>; + }; +}; + +&i2s0_8ch { + status = "okay"; +}; + +&i2s1_8ch { + pinctrl-0 = <&i2s1m0_sclktx &i2s1m0_lrcktx &i2s1m0_sdi0 &i2s1m0_sdo0>; + rockchip,trcm-sync-tx-only; + status = "okay"; +}; + +/* used for AP6275S Bluetooth Sound */ +&i2s3_2ch { + status = "okay"; +}; + +&mdio0 { + rgmii_phy0: ethernet-phy@3 { + compatible = "ethernet-phy-ieee802.3-c22"; + reg = <3>; + reset-assert-us = <20000>; + reset-deassert-us = <100000>; + reset-gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_LOW>; + + leds { + #address-cells = <1>; + #size-cells = <0>; + + led@1 { + reg = <1>; + color = ; + function = LED_FUNCTION_LAN; + default-state = "keep"; + }; + + /* Note: The LED polarity is inverted */ + led@2 { + reg = <2>; + color = ; + function = LED_FUNCTION_LAN; + default-state = "keep"; + }; + }; + }; +}; + +&mdio1 { + rgmii_phy1: ethernet-phy@2 { + compatible = "ethernet-phy-ieee802.3-c22"; + reg = <2>; + reset-assert-us = <20000>; + reset-deassert-us = <100000>; + reset-gpios = <&gpio2 RK_PD1 GPIO_ACTIVE_LOW>; + + leds { + #address-cells = <1>; + #size-cells = <0>; + + led@1 { + reg = <1>; + color = ; + function = LED_FUNCTION_LAN; + default-state = "keep"; + }; + + /* Note: The LED polarity is inverted */ + led@2 { + reg = <2>; + color = ; + function = LED_FUNCTION_LAN; + default-state = "keep"; + }; + }; + }; +}; + +&pcie30phy { + status = "okay"; +}; + +&pcie3x2 { + pinctrl-names = "default"; + pinctrl-0 = <&pcie_reset_pin>; + reset-gpios = <&gpio2 RK_PD6 GPIO_ACTIVE_HIGH>; + vpcie3v3-supply = <&vcc3v3_pcie>; + status = "okay"; +}; + +&pdm { + status = "okay"; +}; + +&pinctrl { + leds { + led_work_en: led_work_en { + rockchip,pins = <0 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; + + pmic { + pmic_int: pmic_int { + rockchip,pins = + <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; + }; + }; + + sdio-pwrseq { + wifi_enable: wifi-enable { + rockchip,pins = <3 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; + + usb { + vcc5v0_usb_host_en: vcc5v0_usb_host_en { + rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; + }; + vcc5v0_usb_otg_en: vcc5v0_usb_otg_en { + rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; + + pcie { + pcie_reset_pin: pcie-reset-pin { + rockchip,pins = <2 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none>; + }; + vcc3v3_pcie_en_pin: vcc3v3-pcie-en-pin { + rockchip,pins = <3 RK_PC3 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; +}; + +&pmu_io_domains { + pmuio1-supply = <&vcc3v3_pmu>; + pmuio2-supply = <&vcc3v3_pmu>; + vccio1-supply = <&vccio_acodec>; + vccio2-supply = <&vcc_1v8>; + vccio3-supply = <&vccio_sd>; + vccio4-supply = <&vcc_1v8>; + vccio5-supply = <&vcc_3v3>; + vccio6-supply = <&vcc_1v8>; + vccio7-supply = <&vcc_3v3>; + status = "okay"; +}; + +&pwm4 { + status = "okay"; +}; + +/* Required remotectl for IR receiver */ +&pwm7 { + status = "disabled"; +}; + +&saradc { + vref-supply = <&vcca_1v8>; + status = "okay"; +}; + +&sata2 { + status = "okay"; +}; + +/* used for eMMC */ +&sdhci { + bus-width = <8>; + max-frequency = <200000000>; + mmc-hs200-1_8v; + non-removable; + pinctrl-names = "default"; + pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd &emmc_datastrobe>; + status = "okay"; +}; + +/* used for microSD (TF) Slot */ +&sdmmc0 { + bus-width = <4>; + cap-sd-highspeed; + cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>; + disable-wp; + pinctrl-names = "default"; + pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>; + sd-uhs-sdr104; + vmmc-supply = <&vcc3v3_sd>; + vqmmc-supply = <&vccio_sd>; + status = "okay"; +}; + +/* used for AP6275S WiFi */ +&sdmmc2 { + bus-width = <4>; + disable-wp; + cap-sd-highspeed; + cap-sdio-irq; + keep-power-in-suspend; + mmc-pwrseq = <&sdio_pwrseq>; + non-removable; + pinctrl-names = "default"; + pinctrl-0 = <&sdmmc2m0_bus4 &sdmmc2m0_cmd &sdmmc2m0_clk>; + sd-uhs-sdr12; + sd-uhs-sdr25; + sd-uhs-sdr50; + sd-uhs-sdr104; + vmmc-supply = <&vcc3v3_sys>; + vqmmc-supply = <&vcc_1v8>; + status = "okay"; +}; + +&spdif { + status = "okay"; +}; + +&tsadc { + rockchip,hw-tshut-mode = <1>; + rockchip,hw-tshut-polarity = <0>; + status = "okay"; +}; + +/* used for Debug */ +&uart2 { + status = "okay"; +}; + +&uart3 { + pinctrl-0 = <&uart3m1_xfer>; + status = "okay"; +}; + +&uart4 { + pinctrl-0 = <&uart4m1_xfer>; + status = "okay"; +}; + +/* used for WiFi/BT AP6275S */ +&uart8 { + pinctrl-0 = <&uart8m0_xfer &uart8m0_ctsn>; + status = "okay"; +}; + +&uart9 { + pinctrl-0 = <&uart9m1_xfer>; + status = "okay"; +}; + +&usb_host0_ehci { + status = "okay"; +}; + +&usb_host0_ohci { + status = "okay"; +}; + +&usb_host0_xhci { + extcon = <&usb2phy0>; + status = "okay"; +}; + +&usb_host1_ehci { + status = "okay"; +}; + +&usb_host1_ohci { + status = "okay"; +}; + +&usb_host1_xhci { + status = "okay"; +}; + +&usb2phy0 { + status = "okay"; +}; + +&usb2phy0_host { + phy-supply = <&vcc5v0_usb_host>; + status = "okay"; +}; + +&usb2phy0_otg { + phy-supply = <&vcc5v0_usb_otg>; + status = "okay"; +}; + +&usb2phy1 { + status = "okay"; +}; + +&usb2phy1_host { + phy-supply = <&vcc5v0_usb_host>; + status = "okay"; +}; + +&usb2phy1_otg { + phy-supply = <&vcc5v0_usb_host>; + status = "okay"; +}; + +&vop { + assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>; + assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>; + status = "okay"; +}; + +&vop_mmu { + status = "okay"; +}; + +&vp0 { + vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 { + reg = ; + remote-endpoint = <&hdmi_in_vp0>; + }; +}; -- 2.47.3 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 6D47CCCF9F8 for ; Mon, 3 Nov 2025 17:17:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID: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=4OWAja6UcidaPt58yWtTNPiWWC+kGpIbNL5NGrjpL0M=; b=qxxKY9NY2JvpyD eHk0YyqgzE/Lg7m+xlkFqqaVqnUqC9/UoN5u3U+le4v9uogcU+npdyb1Va7hyx4Wonqyzrp/nuxNw CGugxF6j6yveedKQWBLo6aYcYArUhKrUA5JvHal7CQjGJluQgGWmkDdQ3f/zWkmrVIw/MsHqkV8hq TH/Y5ZOCVYn2tEadOm8bJmpHvgm4wNm3H4+01jXANCq7SiicNgmui4qevB0/z5NOw68Di84Hlet8I AQ3jshQCyO39Xjaf4ORFfqRCxjx1QApSHnmzAI83BImKrm/x6Oe898Tf2+mikajH2Gx4vOscJZEV0 UFNh4HLLzz1qitSHgtwQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1vFyBk-0000000AOmj-11Wd; Mon, 03 Nov 2025 17:17:52 +0000 Received: from mail-pf1-x441.google.com ([2607:f8b0:4864:20::441]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1vFyBf-0000000AOj8-3y0I for linux-rockchip@lists.infradead.org; Mon, 03 Nov 2025 17:17:50 +0000 Received: by mail-pf1-x441.google.com with SMTP id d2e1a72fcca58-780fc3b181aso3261020b3a.2 for ; Mon, 03 Nov 2025 09:17:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762190267; x=1762795067; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=jUdUq6dY7s0NGGI44p39qDFRxYPyetZJzuMspsbeIH0=; b=VuGDKhiCM6/Yq5O8zx1PPwucw5mYeoIjG0lAZZV8RizN69xcMhh7dGW5noucntHHXS KOPUajtSVnOU7qwIWG/dwCPf2ld9nV3HJ3cAT5zUwFl/grPwjp6mC5VrvLNtlZTxNJ+Q pRRl9embfTK9fu4FVwww6uB5Zkp3+1F6xqtuPWTDTuPE4tFHD66+eRQOt3+sbxGJPhoQ W++qoNjAtGoh0ZvOvVWEFU/Uh7iG7QgPC8rBHjJ5OnTHEMCi6u/NmtgATdXCdpP01Bbi Wvo6liCY0iBx5kRZe8tzWQeP1jbYxjQG8evgiLjMsJY4ha51/oHZWdZvlFtlCChveE8I O3uA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762190267; x=1762795067; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=jUdUq6dY7s0NGGI44p39qDFRxYPyetZJzuMspsbeIH0=; b=FfFmlCjdOy+dzEinhMQ/J1ieceCSbfyut7o0NVty9H2CSYIlHqPm1SbCRDEIzeQiV5 BLlFF+C3Mry1pSgEorP+b4Q64WYt8wZHyTw/shFQeVS1DFI1Hqt/kzHimTPlSvvYFtUF +8QhD0b9cOVGG3SbHLJ5AMN3vqaKoLuC6MzI3/yn/Cv6bTuOTcN6d+VFGnAueMsoDqit J5p6F6UUNQ3zyIXgJUaeqabuxeWRdnzzW8tvIgLOnmLi9ME3Aqwy3ZYbQHG+k/k1Rs1V PEkhbXJYI1NvFIXgAXM3FxmqET4LRI2xHsst+gj3Zd7AT4g6XNlit92NevJmmikzSmTA 1Rcw== X-Forwarded-Encrypted: i=1; AJvYcCXA+uRNKzZrOspcrI+LY3hn0+w0TBNKEcukWzCHFKq/wpEk3qUt6tJDyixpf7qq0wRbK5osWxGhOodGPYWBiQ==@lists.infradead.org X-Gm-Message-State: AOJu0Yx5nYSt0k3z2SeIaI1bHv5DVFo3mhiQ2rJfOWSXWbwB+cVWOJ3/ +qx6Br+JObXaH1uTXOQH7xt+bFbcocsDdVP/0Ec7P8qTBWZP3804kaHG X-Gm-Gg: ASbGncuMi2c/gC66NRLJ2HnI8GKG2TS4ocDExOvZjek2CbFg/B2fZwjqaUs/d+13rd7 YhBglnQ77p50npiGK4Pd5wvlhI3sbip7xSUHtjIjEMYBuuEs7AB/yg5I9KcIqXGo6fAiiMexbd/ 9ejTP3lDcexChcRZ2g2dM1zuLspt9N3Ly/SXIrAXvLpaTVxJH8PB7kE9DA3/ZkiWCj4BtSBrNPL jRo1N4aCgBY16l8yznF8qu6YAUQNl3eEUA2Mk/qyDlEbNnSsMe+5RUvO9owV9YnBHiEgdL78PGX PTdQxSZ5TotMIM08++HeaCrMG7jiN11XXeUVvS8v63+QvfPxacS+vPcxTerIrHVMlSZNjbJqvLr MatiAlRDQSTbf5cf8TzoFuJLnMY8r98IJa8kfhETcGOgv3l+ztDKUocY+4HhtVFlQrYv794tSVj d9r6jVxp7Ad4fWGlqT5K/X X-Google-Smtp-Source: AGHT+IF139ptzO1D+JGl4QJV64xw+SKVzmoNZXBNRA2YAbmxBnYUMcofj3KrbnFGKi5npw0qytTxAQ== X-Received: by 2002:a05:6a00:a8d:b0:76b:c9b9:a11b with SMTP id d2e1a72fcca58-7a777382affmr14543633b3a.3.1762190266934; Mon, 03 Nov 2025 09:17:46 -0800 (PST) Received: from server.lan ([150.230.217.250]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7a7db28d3fbsm12148112b3a.43.2025.11.03.09.17.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 Nov 2025 09:17:46 -0800 (PST) From: Coia Prant To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heiko Stuebner , Dragan Simic , Jonas Karlman Cc: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org, Coia Prant Subject: [PATCH v5 3/3] arm64: dts: rockchip: Add devicetree for the 9Tripod X3568 v4 Date: Tue, 4 Nov 2025 01:17:02 +0800 Message-ID: <20251103171702.1518730-4-coiaprant@gmail.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20251103171702.1518730-1-coiaprant@gmail.com> References: <20251103171702.1518730-1-coiaprant@gmail.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20251103_091748_118510_B09DAF8A X-CRM114-Status: GOOD ( 16.25 ) X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org VGhlIDlUcmlwb2QgWDM1NjggdjQgaXMgYW4gUkszNTY4LWJhc2VkIFNCQywganVzdCBsaWtlIHRo ZSBSSzM1NjgtRVZCLgpJdCBhbHdheXMgdXNlcyBzb2xkZXJlZCBjb25uZWN0aW9ucyBiZXR3ZWVu IHRoZSBYMzU2OENWMi9YMzU2OENWMy9YMzU2OENWNCBjb3JlIGJvYXJkCmFuZCB0aGUgWDM1Njhi djQgSS9PIGJvYXJkLgoKVGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlIGNvcmUgYm9hcmRzCi0g UENCIHNpemUsIGxheW91dAotIENQVSAoUktLMzU2OEIyL1JLMzU2OEopCi0gTWVtb3J5IHR5cGUg KEREUjQvTFBERFI0L0xQRERSNFgpIGFuZCBzaXplCi0gZU1NQyBzaXplCi0gRFNJL0VEUCByZXNp c3RvciB2YWx1ZXMKQWx0aG91Z2ggdGhlIGNvbXBvbmVudHMgdmFyeSwgdGhleSBtYWludGFpbiBm dWxsIGNvbXBhdGliaWxpdHkuCgpUaGUgWDM1NjggYm9hcmQgaGFzIG11bHRpcGxlIGhhcmR3YXJl IHJldmlzaW9ucywgYW5kIHdlIGN1cnJlbnRseSBzdXBwb3J0IHY0IChJL08gYm9hcmQpLgoKU3Bl Y2lmaWNhdGlvbjoKLSBTb0M6IFJvY2tDaGlwIFJLMzU2OCBBUk02NCAoNCBjb3JlcykKLSBlTU1D OiAxNi0xMjggR0IKLSBSQU06IDItMTYgR0IKLSBQb3dlcjogREMgMTJWIDJBCi0gRXRoZXJuZXQ6 IDJ4IFlUODUyMVNDIFJHTUlJICgxMC8xMDAvMTAwMCBNYnBzKQotIFdpcmVsZXNzIHJhZGlvOiA4 MDIuMTFiL2cvbi9hYy9heCBkdWFsLWJhbmQKLSBMRUQ6CiAgUG93ZXI6IEFsd2F5c09uCiAgVXNl cjogR1BJTwotIEJ1dHRvbjoKICBWT0wrOiBTQVJBREMvMCA8MzVrIMK1Vj4KICBWT0wtOiBTQVJB REMvMCA8NDUwayDCtVY+CiAgUG93ZXIvUmVzZXQ6IFBNSUMgUks4MDkKLSBDQU4KICBDQU4vMTog NC1waW4gKFBIIDIuMCkKLSBQV00KICBQV00vNDogQmFja2xpZ2h0IERTSS8wIERTSS8xCiAgUFdN Lzc6IElSIFJlY2VpdmVyIFttYXkgbm90IGluc3RhbGxdCi0gVUFSVDoKICBVQVJULzI6IERlYnVn IFRUTCAtIDE1MDAwMDAgOE4xICgxLjI1bW0pCiAgVUFSVC8zOiBUVEwgKFBIIDIuMCkKICBVQVJU LzQ6IFRUTCAoUEggMi4wKQogIFVBUlQvODogQVA2Mjc1UyBCbHVldG9vdGgKICBVQVJULzk6IFRU TCAoUEggMi4wKQotIEkyQzoKICBJMkMvMDogUE1JQyBSSzgwOQogIEkyQy8xOiBUb3VjaHNjcmVl biBEU0kvMCBEU0kvMQogIEkyQy80OiBDYW1lcmEKICBJMkMvNTogUlRDQDUxIFBDRjg1NjMKLSBJ MlM6CiAgSTJTLzA6IG1pbmlIRE1JIFNvdW5kCiAgSTJTLzE6IFJLODA5IEF1ZGlvIENvZGVjCiAg STJTLzM6IEFQNjI3NVMgQmx1ZXRvb3RoIFNvdW5kCi0gU0RNTUM6CiAgU0RNTUMvMDogbWljcm9T RCAoVEYpIHNsb3QKICBTRE1NQy8yOiBBUDYyNzVTIFNESU8gV2lGaSBjYXJkCi0gQ2FtZXJhOiAx eCBDU0kKLSBWaWRlbzogbWluaUhETUkgLyBEU0kwIChNSVBJL0xWRFMpIC8gRFNJMSAoTUlQSS9F RFApCi0gQXVkaW86IG1pbmlIRE1JIC8gTUlDIG9uLWJvYXJkIC8gU3BlYWtlciAvIFNQRElGIC8g My41bW0gSGVhZHBob25lcyAvIEFQNjI3NVMgQmx1ZXRvb3RoCi0gVVNCOgogIFVTQiAyLjAgSE9T VCB4MgogIFVTQiAyLjAgSE9TVCB4MyAoNC1waW4pCiAgVVNCIDIuMCBPVEcgeDEgKHNoYXJlZCB3 aXRoIFVTQiAzLjAgT1RHL0hPU1QpIFtzbG90IG1heSBub3QgaW5zdGFsbF0KICBVU0IgMy4wIEhP U1QgeDEKICBVU0IgMy4wIE9URy9IT1NUIHgxCi0gU0FUQTogMXggU0FUQSAzLjAgd2l0aCBQb3dl ci80LXBpbiBbc2xvdCBtYXkgbm90IGluc3RhbGxdCi0gUENJZTogMXggUENJZSAzLjAgeDIgKHg0 IGNvbm5lY3RlcikgW3Bvd2VyL2Nsb2NrL3Nsb3QgbWF5IG5vdCBpbnN0YWxsXQoKTGluazoKLSBo dHRwczovL2FwcGxldHNhcGkuNTJzb2x1dGlvbi5jb20vbWVkaWEvWDM1NjhWNCVFNSVCQyU4MCVF NSU4RiU5MSVFNiU5RCVCRiVFNyVBMSVBQyVFNCVCQiVCNiVFNiU4OSU4QiVFNSU4NiU4Qy5wZGYK LSBodHRwczovL2Jsb2cuZ292LmNvb2tpbmcvYXJjaGl2ZXMvcmVzZWFyY2gtbmluZXRyaXBvZC14 MzU2OC12NC1hbmQtZmxhc2guaHRtbAoKU2lnbmVkLW9mZi1ieTogQ29pYSBQcmFudCA8Y29pYXBy YW50QGdtYWlsLmNvbT4KLS0tCiBhcmNoL2FybTY0L2Jvb3QvZHRzL3JvY2tjaGlwL01ha2VmaWxl ICAgICAgICAgfCAgMTEgKwogLi4uL3JrMzU2OC05dHJpcG9kLXgzNTY4LXY0LWNhbWVyYS1kZW1v LmR0c28gIHwgIDg0ICsrCiAuLi4vcmszNTY4LTl0cmlwb2QteDM1NjgtdjQtdmlkZW8tZGVtby5k dHNvICAgfCAxNTQgKysrCiAuLi4vZHRzL3JvY2tjaGlwL3JrMzU2OC05dHJpcG9kLXgzNTY4LXY0 LmR0cyAgfCA4ODcgKysrKysrKysrKysrKysrKysrCiA0IGZpbGVzIGNoYW5nZWQsIDExMzYgaW5z ZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGFyY2gvYXJtNjQvYm9vdC9kdHMvcm9ja2No aXAvcmszNTY4LTl0cmlwb2QteDM1NjgtdjQtY2FtZXJhLWRlbW8uZHRzbwogY3JlYXRlIG1vZGUg MTAwNjQ0IGFyY2gvYXJtNjQvYm9vdC9kdHMvcm9ja2NoaXAvcmszNTY4LTl0cmlwb2QteDM1Njgt djQtdmlkZW8tZGVtby5kdHNvCiBjcmVhdGUgbW9kZSAxMDA2NDQgYXJjaC9hcm02NC9ib290L2R0 cy9yb2NrY2hpcC9yazM1NjgtOXRyaXBvZC14MzU2OC12NC5kdHMKCmRpZmYgLS1naXQgYS9hcmNo L2FybTY0L2Jvb3QvZHRzL3JvY2tjaGlwL01ha2VmaWxlIGIvYXJjaC9hcm02NC9ib290L2R0cy9y b2NrY2hpcC9NYWtlZmlsZQppbmRleCBhZDY4NGUzODMuLjk1OWE4MDZhMiAxMDA2NDQKLS0tIGEv YXJjaC9hcm02NC9ib290L2R0cy9yb2NrY2hpcC9NYWtlZmlsZQorKysgYi9hcmNoL2FybTY0L2Jv b3QvZHRzL3JvY2tjaGlwL01ha2VmaWxlCkBAIC0xMzAsNiArMTMwLDkgQEAgZHRiLSQoQ09ORklH X0FSQ0hfUk9DS0NISVApICs9IHJrMzU2Ni1sdWJhbmNhdC0xLmR0YgogZHRiLSQoQ09ORklHX0FS Q0hfUk9DS0NISVApICs9IHJrMzU2Ni1uYW5vcGktcjNzLmR0YgogZHRiLSQoQ09ORklHX0FSQ0hf Uk9DS0NISVApICs9IHJrMzU2Ni1iaWd0cmVldGVjaC1jYjItbWFudGEuZHRiCiBkdGItJChDT05G SUdfQVJDSF9ST0NLQ0hJUCkgKz0gcmszNTY2LWJpZ3RyZWV0ZWNoLXBpMi5kdGIKK2R0Yi0kKENP TkZJR19BUkNIX1JPQ0tDSElQKSArPSByazM1NjgtOXRyaXBvZC14MzU2OC12NC5kdGIKK2R0Yi0k KENPTkZJR19BUkNIX1JPQ0tDSElQKSArPSByazM1NjgtOXRyaXBvZC14MzU2OC12NC1jYW1lcmEt ZGVtby5kdGJvCitkdGItJChDT05GSUdfQVJDSF9ST0NLQ0hJUCkgKz0gcmszNTY4LTl0cmlwb2Qt eDM1NjgtdjQtdmlkZW8tZGVtby5kdGJvCiBkdGItJChDT05GSUdfQVJDSF9ST0NLQ0hJUCkgKz0g cmszNTY4LWJwaS1yMi1wcm8uZHRiCiBkdGItJChDT05GSUdfQVJDSF9ST0NLQ0hJUCkgKz0gcmsz NTY4LWV2YjEtdjEwLmR0YgogZHRiLSQoQ09ORklHX0FSQ0hfUk9DS0NISVApICs9IHJrMzU2OC1m YXN0cmhpbm8tcjY2cy5kdGIKQEAgLTI1Miw2ICsyNTUsMTQgQEAgZHRiLSQoQ09ORklHX0FSQ0hf Uk9DS0NISVApICs9IHJrMzU3Ni1hcm1zb20tc2lnZTUtdjEuMi13aWZpYnQuZHRiCiByazM1NzYt YXJtc29tLXNpZ2U1LXYxLjItd2lmaWJ0LWR0YnMgOj0gcmszNTc2LWFybXNvbS1zaWdlNS5kdGIg XAogCXJrMzU3Ni1hcm1zb20tc2lnZTUtdjEuMi13aWZpYnQuZHRibwogCitkdGItJChDT05GSUdf QVJDSF9ST0NLQ0hJUCkgKz0gcmszNTY4LTl0cmlwb2QteDM1NjgtdjQtY2FtZXJhLWRlbW8uZHRi CityazM1NjgtOXRyaXBvZC14MzU2OC12NC1jYW1lcmEtZGVtby1kdGJzIDo9IHJrMzU2OC05dHJp cG9kLXgzNTY4LXY0LmR0YiBcCisJcmszNTY4LTl0cmlwb2QteDM1NjgtdjQtY2FtZXJhLWRlbW8u ZHRibworCitkdGItJChDT05GSUdfQVJDSF9ST0NLQ0hJUCkgKz0gcmszNTY4LTl0cmlwb2QteDM1 NjgtdjQtdmlkZW8tZGVtby5kdGIKK3JrMzU2OC05dHJpcG9kLXgzNTY4LXY0LXZpZGVvLWRlbW8t ZHRicyA6PSByazM1NjgtOXRyaXBvZC14MzU2OC12NC5kdGIgXAorCXJrMzU2OC05dHJpcG9kLXgz NTY4LXY0LXZpZGVvLWRlbW8uZHRibworCiBkdGItJChDT05GSUdfQVJDSF9ST0NLQ0hJUCkgKz0g cmszNTg4LWVkZ2VibGUtbmV1NmEtd2lmaS5kdGIKIHJrMzU4OC1lZGdlYmxlLW5ldTZhLXdpZmkt ZHRicyA6PSByazM1ODgtZWRnZWJsZS1uZXU2YS1pby5kdGIgXAogCXJrMzU4OC1lZGdlYmxlLW5l dTZhLXdpZmkuZHRibwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm02NC9ib290L2R0cy9yb2NrY2hpcC9y azM1NjgtOXRyaXBvZC14MzU2OC12NC1jYW1lcmEtZGVtby5kdHNvIGIvYXJjaC9hcm02NC9ib290 L2R0cy9yb2NrY2hpcC9yazM1NjgtOXRyaXBvZC14MzU2OC12NC1jYW1lcmEtZGVtby5kdHNvCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uMmI0MjhjYTcxCi0tLSAvZGV2L251 bGwKKysrIGIvYXJjaC9hcm02NC9ib290L2R0cy9yb2NrY2hpcC9yazM1NjgtOXRyaXBvZC14MzU2 OC12NC1jYW1lcmEtZGVtby5kdHNvCkBAIC0wLDAgKzEsODQgQEAKKy8vIFNQRFgtTGljZW5zZS1J ZGVudGlmaWVyOiAoR1BMLTIuMC1vci1sYXRlciBPUiBNSVQpCisKKy8vIFRoaXMgaXMgYSBzYW1w bGUgcmVmZXJlbmNlLCBkdWUgdG8gbGFjayBvZiBoYXJkd2FyZSBjYW4gbm90IGJlIHRlc3RlZCwg YXQgeW91ciBvd24gcmlzaworCisvZHRzLXYxLzsKKy9wbHVnaW4vOworCisjaW5jbHVkZSA8ZHQt YmluZGluZ3MvY2xvY2svcmszNTY4LWNydS5oPgorI2luY2x1ZGUgPGR0LWJpbmRpbmdzL2dwaW8v Z3Bpby5oPgorI2luY2x1ZGUgPGR0LWJpbmRpbmdzL3BpbmN0cmwvcm9ja2NoaXAuaD4KKworJnsv fSB7CisJdmNjX2NhbTogcmVndWxhdG9yLXZjYy1jYW0geworCQljb21wYXRpYmxlID0gInJlZ3Vs YXRvci1maXhlZCI7CisJCXJlZ3VsYXRvci1taW4tbWljcm92b2x0ID0gPDMzMDAwMDA+OworCQly ZWd1bGF0b3ItbWF4LW1pY3Jvdm9sdCA9IDwzMzAwMDAwPjsKKwkJZW5hYmxlLWFjdGl2ZS1oaWdo OworCQlncGlvID0gPCZncGlvMCBSS19QQzEgR1BJT19BQ1RJVkVfSElHSD47CisJCXJlZ3VsYXRv ci1uYW1lID0gInZjY19jYW0iOworCQl2aW4tc3VwcGx5ID0gPCZ2Y2MzdjNfc3lzPjsKKwkJcGlu Y3RybC1uYW1lcyA9ICJkZWZhdWx0IjsKKwkJcGluY3RybC0wID0gPCZ2Y2NfY2FtX2VuPjsKKwor CQlyZWd1bGF0b3Itc3RhdGUtbWVtIHsKKwkJCXJlZ3VsYXRvci1vZmYtaW4tc3VzcGVuZDsKKwkJ fTsKKwl9OworfTsKKworJnBpbmN0cmwgeworCWNhbSB7CisJCXZjY19jYW1fZW46IHZjY19jYW1f ZW4geworCQkJcm9ja2NoaXAscGlucyA9CTwwIFJLX1BDMSBSS19GVU5DX0dQSU8gJnBjZmdfcHVs bF9ub25lPjsKKwkJfTsKKwl9OworfTsKKworJmNzaV9kcGh5IHsKKwlzdGF0dXMgPSAib2theSI7 CisKKwlwb3J0cyB7CisJCSNhZGRyZXNzLWNlbGxzID0gPDE+OworCQkjc2l6ZS1jZWxscyA9IDww PjsKKworCQlwb3J0QDAgeworCQkJcmVnID0gPDA+OworCQkJI2FkZHJlc3MtY2VsbHMgPSA8MT47 CisJCQkjc2l6ZS1jZWxscyA9IDwwPjsKKworCQkJbWlwaV9pbl91Y2FtOiBlbmRwb2ludEAyIHsK KwkJCQlyZWcgPSA8Mj47CisJCQkJcmVtb3RlLWVuZHBvaW50ID0gPCZ1Y2FtX291dD47CisJCQkJ ZGF0YS1sYW5lcyA9IDwxIDIgMyA0PjsKKwkJCX07CisJCX07CisJfTsKK307CisKKyZpMmM0IHsK KwkjYWRkcmVzcy1jZWxscyA9IDwxPjsKKwkjc2l6ZS1jZWxscyA9IDwwPjsKKwlzdGF0dXMgPSAi b2theSI7CisKKwljYW1lcmFAMzcgeworCQljb21wYXRpYmxlID0gIm92dGksb3Y1Njk1IjsKKwkJ cmVnID0gPDB4Mzc+OworCQljbG9ja3MgPSA8JmNydSBDTEtfQ0lGX09VVD47CisJCWNsb2NrLW5h bWVzID0gInh2Y2xrIjsKKwkJYXZkZC1zdXBwbHkgPSA8JnZjY19jYW0+OworCQlkdmRkLXN1cHBs eSA9IDwmdmNjX2NhbT47CisJCWRvdmRkLXN1cHBseSA9IDwmdmNjX2NhbT47CisJCXBpbmN0cmwt bmFtZXMgPSAiZGVmYXVsdCI7CisJCXBpbmN0cmwtMCA9IDwmY2lmX2Nsaz47CisJCXJlc2V0LWdw aW9zID0gPCZncGlvMyBSS19QQjYgR1BJT19BQ1RJVkVfTE9XPjsKKwkJcHdkbi1ncGlvcyA9IDwm Z3BpbzQgUktfUEI0IEdQSU9fQUNUSVZFX0xPVz47CisKKwkJcG9ydCB7CisJCQl1Y2FtX291dDog ZW5kcG9pbnQgeworCQkJCXJlbW90ZS1lbmRwb2ludCA9IDwmbWlwaV9pbl91Y2FtPjsKKwkJCQlk YXRhLWxhbmVzID0gPDEgMiAzIDQ+OworCQkJfTsKKwkJfTsKKwl9OworfTsKZGlmZiAtLWdpdCBh L2FyY2gvYXJtNjQvYm9vdC9kdHMvcm9ja2NoaXAvcmszNTY4LTl0cmlwb2QteDM1NjgtdjQtdmlk ZW8tZGVtby5kdHNvIGIvYXJjaC9hcm02NC9ib290L2R0cy9yb2NrY2hpcC9yazM1NjgtOXRyaXBv ZC14MzU2OC12NC12aWRlby1kZW1vLmR0c28KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwLi5lN2ZhMWNhNDgKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybTY0L2Jvb3QvZHRz L3JvY2tjaGlwL3JrMzU2OC05dHJpcG9kLXgzNTY4LXY0LXZpZGVvLWRlbW8uZHRzbwpAQCAtMCww ICsxLDE1NCBAQAorLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IChHUEwtMi4wLW9yLWxhdGVy IE9SIE1JVCkKKworLy8gVGhpcyBpcyBhIHNhbXBsZSByZWZlcmVuY2UsIGR1ZSB0byBsYWNrIG9m IGhhcmR3YXJlIGNhbiBub3QgYmUgdGVzdGVkLCBhdCB5b3VyIG93biByaXNrCisKKy9kdHMtdjEv OworL3BsdWdpbi87CisKKyNpbmNsdWRlIDxkdC1iaW5kaW5ncy9jbG9jay9yazM1NjgtY3J1Lmg+ CisjaW5jbHVkZSA8ZHQtYmluZGluZ3MvZ3Bpby9ncGlvLmg+CisjaW5jbHVkZSA8ZHQtYmluZGlu Z3MvaW50ZXJydXB0LWNvbnRyb2xsZXIvaXJxLmg+CisjaW5jbHVkZSA8ZHQtYmluZGluZ3MvcGlu Y3RybC9yb2NrY2hpcC5oPgorI2luY2x1ZGUgPGR0LWJpbmRpbmdzL3NvYy9yb2NrY2hpcCx2b3Ay Lmg+CisKKyZ7L30gewkKKwliYWNrbGlnaHQ6IGJhY2tsaWdodCB7CisJCWNvbXBhdGlibGUgPSAi cHdtLWJhY2tsaWdodCI7CisJCWJyaWdodG5lc3MtbGV2ZWxzID0gPDIwIDIyMD47CisJCWRlZmF1 bHQtYnJpZ2h0bmVzcy1sZXZlbCA9IDwxMDA+OworCQludW0taW50ZXJwb2xhdGVkLXN0ZXBzID0g PDIwMD47CisJCXBvd2VyLXN1cHBseSA9IDwmdmNjM3YzX3N5cz47CisJCXB3bXMgPSA8JnB3bTQg MCAyNTAwMCAwPjsKKwl9OworCisJdmNjM3YzX2xjZDBfbjogcmVndWxhdG9yLXZjYzN2My1sY2Qw LW4geworCQljb21wYXRpYmxlID0gInJlZ3VsYXRvci1maXhlZCI7CisJCXJlZ3VsYXRvci1uYW1l ID0gInZjYzN2M19sY2QwX24iOworCQlyZWd1bGF0b3ItbWluLW1pY3Jvdm9sdCA9IDwzMzAwMDAw PjsKKwkJcmVndWxhdG9yLW1heC1taWNyb3ZvbHQgPSA8MzMwMDAwMD47CisJCWVuYWJsZS1hY3Rp dmUtaGlnaDsKKwkJZ3BpbyA9IDwmZ3BpbzAgUktfUEM3IEdQSU9fQUNUSVZFX0hJR0g+OworCQl2 aW4tc3VwcGx5ID0gPCZ2Y2MzdjNfc3lzPjsKKwkJcGluY3RybC1uYW1lcyA9ICJkZWZhdWx0IjsK KwkJcGluY3RybC0wID0gPCZ2Y2MzdjNfbGNkMF9uX2VuPjsKKworCQlyZWd1bGF0b3Itc3RhdGUt bWVtIHsKKwkJCXJlZ3VsYXRvci1vZmYtaW4tc3VzcGVuZDsKKwkJfTsKKwl9OworCisJdmNjM3Yz X2xjZDFfbjogcmVndWxhdG9yLXZjYzN2My1sY2QxLW4geworCQljb21wYXRpYmxlID0gInJlZ3Vs YXRvci1maXhlZCI7CisJCXJlZ3VsYXRvci1uYW1lID0gInZjYzN2M19sY2QxX24iOworCQlyZWd1 bGF0b3ItbWluLW1pY3Jvdm9sdCA9IDwzMzAwMDAwPjsKKwkJcmVndWxhdG9yLW1heC1taWNyb3Zv bHQgPSA8MzMwMDAwMD47CisJCWVuYWJsZS1hY3RpdmUtaGlnaDsKKwkJZ3BpbyA9IDwmZ3BpbzAg UktfUEM1IEdQSU9fQUNUSVZFX0hJR0g+OworCQl2aW4tc3VwcGx5ID0gPCZ2Y2MzdjNfc3lzPjsK KwkJcGluY3RybC1uYW1lcyA9ICJkZWZhdWx0IjsKKwkJcGluY3RybC0wID0gPCZ2Y2MzdjNfbGNk MV9uX2VuPjsKKworCQlyZWd1bGF0b3Itc3RhdGUtbWVtIHsKKwkJCXJlZ3VsYXRvci1vZmYtaW4t c3VzcGVuZDsKKwkJfTsKKwl9OworfTsKKworJnBpbmN0cmwgeworCWRpc3BsYXkgeworCQl2Y2Mz djNfbGNkMF9uX2VuOiB2Y2MzdjNfbGNkMF9uX2VuIHsKKwkJCXJvY2tjaGlwLHBpbnMgPSA8MCBS S19QQzcgMCAmcGNmZ19wdWxsX25vbmU+OworCQl9OworCQl2Y2MzdjNfbGNkMV9uX2VuOiB2Y2Mz djNfbGNkMV9uX2VuIHsKKwkJCXJvY2tjaGlwLHBpbnMgPSA8MCBSS19QQzUgMCAmcGNmZ19wdWxs X25vbmU+OworCQl9OworCX07CisKKwl0b3VjaHNjcmVlbiB7CisJCXRvdWNoX2ludDogdG91Y2hf aW50IHsKKwkJCXJvY2tjaGlwLHBpbnMgPSA8MCBSS19QQjUgUktfRlVOQ19HUElPICZwY2ZnX3B1 bGxfdXA+OworCQl9OworCQl0b3VjaF9yc3Q6IHRvdWNoX3JzdCB7CisJCQlyb2NrY2hpcCxwaW5z ID0gPDAgUktfUEI2IFJLX0ZVTkNfR1BJTyAmcGNmZ19wdWxsX25vbmU+OworCQl9OworCX07Cit9 OworCismZHNpMCB7CisJI2FkZHJlc3MtY2VsbHMgPSA8MT47CisJI3NpemUtY2VsbHMgPSA8MD47 CisJY2xvY2stbWFzdGVyOworCXN0YXR1cyA9ICJva2F5IjsKKworCXBhbmVsQDAgeworCQljb21w YXRpYmxlID0gIndhbmNoYW5nbG9uZyx3NTUyNzkzYmFhIiwgInJheWRpdW0scm02NzIwMCI7CisJ CXJlZyA9IDwwPjsKKwkJYmFja2xpZ2h0ID0gPCZiYWNrbGlnaHQ+OworCQlpb3ZjYy1zdXBwbHkg PSA8JnZjYzN2M19sY2QwX24+OworCQlyZXNldC1ncGlvcyA9IDwmZ3BpbzAgUktfUEE2IEdQSU9f QUNUSVZFX0xPVz47CisJCXZkZC1zdXBwbHkgPSA8JnZjYzN2M19sY2QwX24+OworCQl2c24tc3Vw cGx5ID0gPCZ2Y2M1djBfc3lzPjsKKwkJdnNwLXN1cHBseSA9IDwmdmNjNXYwX3N5cz47CisKKwkJ cG9ydCB7CisJCQlwYW5lbF9pbl9kc2k6IGVuZHBvaW50IHsKKwkJCQlyZW1vdGUtZW5kcG9pbnQg PSA8JmRzaTBfb3V0X3BhbmVsPjsKKwkJCX07CisJCX07CisJfTsKK307CisKKyZkc2kwX2luIHsK KwkjYWRkcmVzcy1jZWxscyA9IDwxPjsKKwkjc2l6ZS1jZWxscyA9IDwwPjsKKworCWRzaTBfaW5f dnAxOiBlbmRwb2ludCB7CisJCXJlbW90ZS1lbmRwb2ludCA9IDwmdnAxX291dF9kc2kwPjsKKwl9 OworfTsKKworJmRzaTBfb3V0IHsKKwkjYWRkcmVzcy1jZWxscyA9IDwxPjsKKwkjc2l6ZS1jZWxs cyA9IDwwPjsKKworCWRzaTBfb3V0X3BhbmVsOiBlbmRwb2ludCB7CisJCXJlbW90ZS1lbmRwb2lu dCA9IDwmcGFuZWxfaW5fZHNpPjsKKwl9OworfTsKKworJmRzaV9kcGh5MCB7CisJc3RhdHVzID0g Im9rYXkiOworfTsKKworJnB3bTQgeworCXN0YXR1cyA9ICJva2F5IjsKK307CisKKyZpMmMxIHsK KwkjYWRkcmVzcy1jZWxscyA9IDwxPjsKKwkjc2l6ZS1jZWxscyA9IDwwPjsKKwlzdGF0dXMgPSAi b2theSI7CisKKwl0b3VjaHNjcmVlbjA6IGdvb2RpeEAxNCB7CisJCWNvbXBhdGlibGUgPSAiZ29v ZGl4LGd0MTE1MSI7CisJCXJlZyA9IDwweDE0PjsKKwkJaW50ZXJydXB0LXBhcmVudCA9IDwmZ3Bp bzA+OworCQlpbnRlcnJ1cHRzID0gPFJLX1BCNSBJUlFfVFlQRV9FREdFX0ZBTExJTkc+OworCQlB VkREMjgtc3VwcGx5ID0gPCZ2Y2MzdjNfbGNkMF9uPjsKKwkJaXJxLWdwaW9zID0gPCZncGlvMCBS S19QQjUgR1BJT19BQ1RJVkVfTE9XPjsKKwkJcGluY3RybC1uYW1lcyA9ICJkZWZhdWx0IjsKKwkJ cGluY3RybC0wID0gPCZ0b3VjaF9pbnQgJnRvdWNoX3JzdD47CisJCXJlc2V0LWdwaW9zID0gPCZn cGlvMCBSS19QQjYgR1BJT19BQ1RJVkVfTE9XPjsKKwkJVkRESU8tc3VwcGx5ID0gPCZ2Y2MzdjNf bGNkMF9uPjsKKwl9OworfTsKKworJnZwMSB7CisJI2FkZHJlc3MtY2VsbHMgPSA8MT47CisJI3Np emUtY2VsbHMgPSA8MD47CisKKwl2cDFfb3V0X2RzaTA6IGVuZHBvaW50QFJPQ0tDSElQX1ZPUDJf RVBfTUlQSTAgeworCQlyZWcgPSA8Uk9DS0NISVBfVk9QMl9FUF9NSVBJMD47CisJCXJlbW90ZS1l bmRwb2ludCA9IDwmZHNpMF9pbl92cDE+OworCX07Cit9OwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm02 NC9ib290L2R0cy9yb2NrY2hpcC9yazM1NjgtOXRyaXBvZC14MzU2OC12NC5kdHMgYi9hcmNoL2Fy bTY0L2Jvb3QvZHRzL3JvY2tjaGlwL3JrMzU2OC05dHJpcG9kLXgzNTY4LXY0LmR0cwpuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjQ0M2VkN2Q0YgotLS0gL2Rldi9udWxsCisr KyBiL2FyY2gvYXJtNjQvYm9vdC9kdHMvcm9ja2NoaXAvcmszNTY4LTl0cmlwb2QteDM1NjgtdjQu ZHRzCkBAIC0wLDAgKzEsODg3IEBACisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogKEdQTC0y LjArIE9SIE1JVCkKKworL2R0cy12MS87CisjaW5jbHVkZSA8ZHQtYmluZGluZ3MvZ3Bpby9ncGlv Lmg+CisjaW5jbHVkZSA8ZHQtYmluZGluZ3MvaW5wdXQvaW5wdXQuaD4KKyNpbmNsdWRlIDxkdC1i aW5kaW5ncy9sZWRzL2NvbW1vbi5oPgorI2luY2x1ZGUgPGR0LWJpbmRpbmdzL3BpbmN0cmwvcm9j a2NoaXAuaD4KKyNpbmNsdWRlIDxkdC1iaW5kaW5ncy9zb2Mvcm9ja2NoaXAsdm9wMi5oPgorI2lu Y2x1ZGUgInJrMzU2OC5kdHNpIgorCisvIHsKKwltb2RlbCA9ICI5VHJpcG9kIFgzNTY4IHY0IjsK Kwljb21wYXRpYmxlID0gIjl0cmlwb2QseDM1NjgtdjQiLCAicm9ja2NoaXAscmszNTY4IjsKKwor CWFsaWFzZXMgeworCQlldGhlcm5ldDAgPSAmZ21hYzA7CisJCWV0aGVybmV0MSA9ICZnbWFjMTsK KwkJbW1jMCA9ICZzZGhjaTsKKwkJbW1jMSA9ICZzZG1tYzA7CisJCW1tYzIgPSAmc2RtbWMyOwor CQlydGMwID0gJnJ0YzA7CisJfTsKKworCWNob3NlbiB7CisJCXN0ZG91dC1wYXRoID0gInNlcmlh bDI6MTUwMDAwMG44IjsKKwl9OworCisJYWRjLWtleXMgeworCQljb21wYXRpYmxlID0gImFkYy1r ZXlzIjsKKwkJaW8tY2hhbm5lbHMgPSA8JnNhcmFkYyAwPjsKKwkJaW8tY2hhbm5lbC1uYW1lcyA9 ICJidXR0b25zIjsKKwkJa2V5dXAtdGhyZXNob2xkLW1pY3Jvdm9sdCA9IDwxODAwMDAwPjsKKwkJ cG9sbC1pbnRlcnZhbCA9IDwxMDA+OworCisJCWJ1dHRvbi12b2wtdXAgeworCQkJbGFiZWwgPSAi dm9sdW1lIHVwIjsKKwkJCWxpbnV4LGNvZGUgPSA8S0VZX1ZPTFVNRVVQPjsKKwkJCXByZXNzLXRo cmVzaG9sZC1taWNyb3ZvbHQgPSA8NTAwMDA+OworCQl9OworCisJCWJ1dHRvbi12b2wtZG93biB7 CisJCQlsYWJlbCA9ICJ2b2x1bWUgZG93biI7CisJCQlsaW51eCxjb2RlID0gPEtFWV9WT0xVTUVE T1dOPjsKKwkJCXByZXNzLXRocmVzaG9sZC1taWNyb3ZvbHQgPSA8NTAwMDAwPjsKKwkJfTsKKwl9 OworCisJaGRtaS1jb24geworCQljb21wYXRpYmxlID0gImhkbWktY29ubmVjdG9yIjsKKwkJdHlw ZSA9ICJhIjsKKworCQlwb3J0IHsKKwkJCWhkbWlfY29uX2luOiBlbmRwb2ludCB7CisJCQkJcmVt b3RlLWVuZHBvaW50ID0gPCZoZG1pX291dF9jb24+OworCQkJfTsKKwkJfTsKKwl9OworCisJbGVk cyB7CisJCWNvbXBhdGlibGUgPSAiZ3Bpby1sZWRzIjsKKworCQlsZWRfd29yazogbGVkLTAgewor CQkJZ3Bpb3MgPSA8JmdwaW8wIFJLX1BDMCBHUElPX0FDVElWRV9ISUdIPjsKKwkJCWZ1bmN0aW9u ID0gTEVEX0ZVTkNUSU9OX0hFQVJUQkVBVDsKKwkJCWNvbG9yID0gPExFRF9DT0xPUl9JRF9CTFVF PjsKKwkJCWxpbnV4LGRlZmF1bHQtdHJpZ2dlciA9ICJoZWFydGJlYXQiOworCQkJcGluY3RybC1u YW1lcyA9ICJkZWZhdWx0IjsKKwkJCXBpbmN0cmwtMCA9IDwmbGVkX3dvcmtfZW4+OworCQl9Owor CX07CisKKwlyazgwOS1zb3VuZCB7CisJCWNvbXBhdGlibGUgPSAic2ltcGxlLWF1ZGlvLWNhcmQi OworCQlzaW1wbGUtYXVkaW8tY2FyZCxmb3JtYXQgPSAiaTJzIjsKKwkJc2ltcGxlLWF1ZGlvLWNh cmQsbmFtZSA9ICJBbmFsb2cgUks4MDkiOworCQlzaW1wbGUtYXVkaW8tY2FyZCxtY2xrLWZzID0g PDI1Nj47CisKKwkJc2ltcGxlLWF1ZGlvLWNhcmQsY3B1IHsKKwkJCXNvdW5kLWRhaSA9IDwmaTJz MV84Y2g+OworCQl9OworCQlzaW1wbGUtYXVkaW8tY2FyZCxjb2RlYyB7CisJCQlzb3VuZC1kYWkg PSA8JnJrODA5PjsKKwkJfTsKKwl9OworCisJcGRtX2NvZGVjOiBwZG0tY29kZWMgeworCQljb21w YXRpYmxlID0gImRtaWMtY29kZWMiOworCQludW0tY2hhbm5lbHMgPSA8Mj47CisJCSNzb3VuZC1k YWktY2VsbHMgPSA8MD47CisJfTsKKworCXBkbV9zb3VuZDogcGRtLXNvdW5kIHsKKwkJY29tcGF0 aWJsZSA9ICJzaW1wbGUtYXVkaW8tY2FyZCI7CisJCXNpbXBsZS1hdWRpby1jYXJkLG5hbWUgPSAi bWljcm9waG9uZSI7CisKKwkJc2ltcGxlLWF1ZGlvLWNhcmQsY3B1IHsKKwkJCXNvdW5kLWRhaSA9 IDwmcGRtPjsKKwkJfTsKKworCQlzaW1wbGUtYXVkaW8tY2FyZCxjb2RlYyB7CisJCQlzb3VuZC1k YWkgPSA8JnBkbV9jb2RlYz47CisJCX07CisJfTsKKworCXNwZGlmX2RpdDogc3BkaWYtZGl0IHsK KwkJY29tcGF0aWJsZSA9ICJsaW51eCxzcGRpZi1kaXQiOworCQkjc291bmQtZGFpLWNlbGxzID0g PDA+OworCX07CisKKwlzcGRpZl9zb3VuZDogc3BkaWYtc291bmQgeworCQljb21wYXRpYmxlID0g InNpbXBsZS1hdWRpby1jYXJkIjsKKwkJc2ltcGxlLWF1ZGlvLWNhcmQsbmFtZSA9ICJTUERJRiI7 CisKKwkJc2ltcGxlLWF1ZGlvLWNhcmQsY3B1IHsKKwkJCXNvdW5kLWRhaSA9IDwmc3BkaWY+Owor CQl9OworCQlzaW1wbGUtYXVkaW8tY2FyZCxjb2RlYyB7CisJCQlzb3VuZC1kYWkgPSA8JnNwZGlm X2RpdD47CisJCX07CisJfTsKKworCXNkaW9fcHdyc2VxOiBzZGlvLXB3cnNlcSB7CisJCWNvbXBh dGlibGUgPSAibW1jLXB3cnNlcS1zaW1wbGUiOworCQljbG9ja3MgPSA8JnJrODA5IDE+OworCQlj bG9jay1uYW1lcyA9ICJleHRfY2xvY2siOworCQlwaW5jdHJsLW5hbWVzID0gImRlZmF1bHQiOwor CQlwaW5jdHJsLTAgPSA8JndpZmlfZW5hYmxlPjsKKwkJcG9zdC1wb3dlci1vbi1kZWxheS1tcyA9 IDwxMDA+OworCQlwb3dlci1vZmYtZGVsYXktdXMgPSA8MzAwPjsKKwkJcmVzZXQtZ3Bpb3MgPSA8 JmdwaW8zIFJLX1BENSBHUElPX0FDVElWRV9MT1c+OworCX07CisKKwlkY18xMnY6IHJlZ3VsYXRv ci1kYy0xMnYgeworCQljb21wYXRpYmxlID0gInJlZ3VsYXRvci1maXhlZCI7CisJCXJlZ3VsYXRv ci1uYW1lID0gImRjXzEydiI7CisJCXJlZ3VsYXRvci1hbHdheXMtb247CisJCXJlZ3VsYXRvci1i b290LW9uOworCQlyZWd1bGF0b3ItbWluLW1pY3Jvdm9sdCA9IDwxMjAwMDAwMD47CisJCXJlZ3Vs YXRvci1tYXgtbWljcm92b2x0ID0gPDEyMDAwMDAwPjsKKwl9OworCisJcGNpZTMwX2F2ZGQwdjk6 IHJlZ3VsYXRvci1wY2llMzAtYXZkZDB2OSB7CisJCWNvbXBhdGlibGUgPSAicmVndWxhdG9yLWZp eGVkIjsKKwkJcmVndWxhdG9yLW5hbWUgPSAicGNpZTMwX2F2ZGQwdjkiOworCQlyZWd1bGF0b3It YWx3YXlzLW9uOworCQlyZWd1bGF0b3ItYm9vdC1vbjsKKwkJcmVndWxhdG9yLW1pbi1taWNyb3Zv bHQgPSA8OTAwMDAwPjsKKwkJcmVndWxhdG9yLW1heC1taWNyb3ZvbHQgPSA8OTAwMDAwPjsKKwkJ dmluLXN1cHBseSA9IDwmdmNjM3YzX3N5cz47CisJfTsKKworCXBjaWUzMF9hdmRkMXY4OiByZWd1 bGF0b3ItcGNpZTMwLWF2ZGQxdjggeworCQljb21wYXRpYmxlID0gInJlZ3VsYXRvci1maXhlZCI7 CisJCXJlZ3VsYXRvci1uYW1lID0gInBjaWUzMF9hdmRkMXY4IjsKKwkJcmVndWxhdG9yLWFsd2F5 cy1vbjsKKwkJcmVndWxhdG9yLWJvb3Qtb247CisJCXJlZ3VsYXRvci1taW4tbWljcm92b2x0ID0g PDE4MDAwMDA+OworCQlyZWd1bGF0b3ItbWF4LW1pY3Jvdm9sdCA9IDwxODAwMDAwPjsKKwkJdmlu LXN1cHBseSA9IDwmdmNjM3YzX3N5cz47CisJfTsKKworCXZjYzN2M19zeXM6IHJlZ3VsYXRvci12 Y2MzdjMtc3lzIHsKKwkJY29tcGF0aWJsZSA9ICJyZWd1bGF0b3ItZml4ZWQiOworCQlyZWd1bGF0 b3ItbmFtZSA9ICJ2Y2MzdjNfc3lzIjsKKwkJcmVndWxhdG9yLWFsd2F5cy1vbjsKKwkJcmVndWxh dG9yLWJvb3Qtb247CisJCXJlZ3VsYXRvci1taW4tbWljcm92b2x0ID0gPDMzMDAwMDA+OworCQly ZWd1bGF0b3ItbWF4LW1pY3Jvdm9sdCA9IDwzMzAwMDAwPjsKKwkJdmluLXN1cHBseSA9IDwmZGNf MTJ2PjsKKwl9OworCisJdmNjM3YzX3BjaWU6IHJlZ3VsYXRvci12Y2MzdjMtcGNpZSB7CisJCWNv bXBhdGlibGUgPSAicmVndWxhdG9yLWdwaW8iOworCQlyZWd1bGF0b3ItbmFtZSA9ICJ2Y2MzdjNf cGNpZSI7CisJCXJlZ3VsYXRvci1taW4tbWljcm92b2x0ID0gPDEwMDAwMD47CisJCXJlZ3VsYXRv ci1tYXgtbWljcm92b2x0ID0gPDMzMDAwMDA+OworCQlwaW5jdHJsLW5hbWVzID0gImRlZmF1bHQi OworCQlwaW5jdHJsLTAgPSA8JnZjYzN2M19wY2llX2VuX3Bpbj47CisJCWdwaW9zID0gPCZncGlv MyBSS19QQzMgR1BJT19BQ1RJVkVfSElHSD47CisJCWdwaW9zLXN0YXRlcyA9IDwxPjsKKwkJc3Rh dGVzID0gPDEwMDAwMCAwPiwgPDMzMDAwMDAgMT47CisJCXN0YXJ0dXAtZGVsYXktdXMgPSA8NTAw MD47CisJfTsKKworCXZjYzV2MF9zeXM6IHJlZ3VsYXRvci12Y2M1djAtc3lzIHsKKwkJY29tcGF0 aWJsZSA9ICJyZWd1bGF0b3ItZml4ZWQiOworCQlyZWd1bGF0b3ItbmFtZSA9ICJ2Y2M1djBfc3lz IjsKKwkJcmVndWxhdG9yLWFsd2F5cy1vbjsKKwkJcmVndWxhdG9yLWJvb3Qtb247CisJCXJlZ3Vs YXRvci1taW4tbWljcm92b2x0ID0gPDUwMDAwMDA+OworCQlyZWd1bGF0b3ItbWF4LW1pY3Jvdm9s dCA9IDw1MDAwMDAwPjsKKwkJdmluLXN1cHBseSA9IDwmZGNfMTJ2PjsKKwl9OworCisJdmNjNXYw X3VzYjogcmVndWxhdG9yLXZjYzV2MC11c2IgeworCQljb21wYXRpYmxlID0gInJlZ3VsYXRvci1m aXhlZCI7CisJCXJlZ3VsYXRvci1uYW1lID0gInZjYzV2MF91c2IiOworCQlyZWd1bGF0b3ItYWx3 YXlzLW9uOworCQlyZWd1bGF0b3ItYm9vdC1vbjsKKwkJcmVndWxhdG9yLW1pbi1taWNyb3ZvbHQg PSA8NTAwMDAwMD47CisJCXJlZ3VsYXRvci1tYXgtbWljcm92b2x0ID0gPDUwMDAwMDA+OworCQl2 aW4tc3VwcGx5ID0gPCZkY18xMnY+OworCX07CisKKwl2Y2M1djBfdXNiX2hvc3Q6IHJlZ3VsYXRv ci12Y2M1djAtdXNiLWhvc3QgeworCQljb21wYXRpYmxlID0gInJlZ3VsYXRvci1maXhlZCI7CisJ CWVuYWJsZS1hY3RpdmUtaGlnaDsKKwkJZ3BpbyA9IDwmZ3BpbzAgUktfUEE2IEdQSU9fQUNUSVZF X0hJR0g+OworCQlwaW5jdHJsLW5hbWVzID0gImRlZmF1bHQiOworCQlwaW5jdHJsLTAgPSA8JnZj YzV2MF91c2JfaG9zdF9lbj47CisJCXJlZ3VsYXRvci1uYW1lID0gInZjYzV2MF91c2JfaG9zdCI7 CisJCXJlZ3VsYXRvci1taW4tbWljcm92b2x0ID0gPDUwMDAwMDA+OworCQlyZWd1bGF0b3ItbWF4 LW1pY3Jvdm9sdCA9IDw1MDAwMDAwPjsKKwkJdmluLXN1cHBseSA9IDwmdmNjNXYwX3VzYj47CisJ fTsKKworCXZjYzV2MF91c2Jfb3RnOiByZWd1bGF0b3ItdmNjNXYwLXVzYi1vdGcgeworCQljb21w YXRpYmxlID0gInJlZ3VsYXRvci1maXhlZCI7CisJCWVuYWJsZS1hY3RpdmUtaGlnaDsKKwkJZ3Bp byA9IDwmZ3BpbzAgUktfUEE1IEdQSU9fQUNUSVZFX0hJR0g+OworCQlwaW5jdHJsLW5hbWVzID0g ImRlZmF1bHQiOworCQlwaW5jdHJsLTAgPSA8JnZjYzV2MF91c2Jfb3RnX2VuPjsKKwkJcmVndWxh dG9yLW5hbWUgPSAidmNjNXYwX3VzYl9vdGciOworCQlyZWd1bGF0b3ItbWluLW1pY3Jvdm9sdCA9 IDw1MDAwMDAwPjsKKwkJcmVndWxhdG9yLW1heC1taWNyb3ZvbHQgPSA8NTAwMDAwMD47CisJCXZp bi1zdXBwbHkgPSA8JnZjYzV2MF91c2I+OworCX07Cit9OworCismY2FuMSB7CisJYXNzaWduZWQt Y2xvY2tzID0gPCZjcnUgQ0xLX0NBTjE+OworCWFzc2lnbmVkLWNsb2NrLXJhdGVzID0gPDE1MDAw MDAwMD47CisJcGluY3RybC1uYW1lcyA9ICJkZWZhdWx0IjsKKwlwaW5jdHJsLTAgPSA8JmNhbjFt MV9waW5zPjsKKwlzdGF0dXMgPSAib2theSI7Cit9OworCisvKiB1c2VkIGZvciB1c2JfaG9zdDBf eGhjaSAqLworJmNvbWJwaHkwIHsKKwlzdGF0dXMgPSAib2theSI7Cit9OworCisvKiB1c2VkIGZv ciB1c2JfaG9zdDFfeGhjaSAqLworJmNvbWJwaHkxIHsKKwlzdGF0dXMgPSAib2theSI7Cit9Owor CisvKiBjb25uZWN0ZWQgdG8gc2F0YTIgKi8KKyZjb21icGh5MiB7CisJc3RhdHVzID0gIm9rYXki OworfTsKKworJmNwdTAgeworCWNwdS1zdXBwbHkgPSA8JnZkZF9jcHU+OworfTsKKworJmNwdTEg eworCWNwdS1zdXBwbHkgPSA8JnZkZF9jcHU+OworfTsKKworJmNwdTIgeworCWNwdS1zdXBwbHkg PSA8JnZkZF9jcHU+OworfTsKKworJmNwdTMgeworCWNwdS1zdXBwbHkgPSA8JnZkZF9jcHU+Owor fTsKKworJmdtYWMwIHsKKwlhc3NpZ25lZC1jbG9ja3MgPSA8JmNydSBTQ0xLX0dNQUMwX1JYX1RY PiwgPCZjcnUgU0NMS19HTUFDMD47CisJYXNzaWduZWQtY2xvY2stcGFyZW50cyA9IDwmY3J1IFND TEtfR01BQzBfUkdNSUlfU1BFRUQ+OworCWFzc2lnbmVkLWNsb2NrLXJhdGVzID0gPDA+LCA8MTI1 MDAwMDAwPjsKKwljbG9ja19pbl9vdXQgPSAib3V0cHV0IjsKKwlwaW5jdHJsLW5hbWVzID0gImRl ZmF1bHQiOworCXBpbmN0cmwtMCA9IDwmZ21hYzBfbWlpbQorCQkJJmdtYWMwX3R4X2J1czIKKwkJ CSZnbWFjMF9yeF9idXMyCisJCQkmZ21hYzBfcmdtaWlfY2xrCisJCQkmZ21hYzBfcmdtaWlfYnVz CisJCQkmZ21hYzBfY2xraW5vdXQ+OworCXBoeS1oYW5kbGUgPSA8JnJnbWlpX3BoeTA+OworCXBo eS1tb2RlID0gInJnbWlpLWlkIjsKKwlzdGF0dXMgPSAib2theSI7Cit9OworCismZ21hYzEgewor CWFzc2lnbmVkLWNsb2NrcyA9IDwmY3J1IFNDTEtfR01BQzFfUlhfVFg+LCA8JmNydSBTQ0xLX0dN QUMxPjsKKwlhc3NpZ25lZC1jbG9jay1wYXJlbnRzID0gPCZjcnUgU0NMS19HTUFDMV9SR01JSV9T UEVFRD47CisJYXNzaWduZWQtY2xvY2stcmF0ZXMgPSA8MD4sIDwxMjUwMDAwMDA+OworCWNsb2Nr X2luX291dCA9ICJvdXRwdXQiOworCXBpbmN0cmwtbmFtZXMgPSAiZGVmYXVsdCI7CisJcGluY3Ry bC0wID0gPCZnbWFjMW0xX21paW0KKwkJCSZnbWFjMW0xX3R4X2J1czIKKwkJCSZnbWFjMW0xX3J4 X2J1czIKKwkJCSZnbWFjMW0xX3JnbWlpX2NsaworCQkJJmdtYWMxbTFfcmdtaWlfYnVzCisJCQkm Z21hYzFtMV9jbGtpbm91dD47CisJcGh5LWhhbmRsZSA9IDwmcmdtaWlfcGh5MT47CisJcGh5LW1v ZGUgPSAicmdtaWktaWQiOworCXN0YXR1cyA9ICJva2F5IjsKK307CisKKyZncHUgeworCW1hbGkt c3VwcGx5ID0gPCZ2ZGRfZ3B1PjsKKwlzdGF0dXMgPSAib2theSI7Cit9OworCismaGRtaSB7CisJ YXZkZC0wdjktc3VwcGx5ID0gPCZ2ZGRhMHY5X2ltYWdlPjsKKwlhdmRkLTF2OC1zdXBwbHkgPSA8 JnZjY2ExdjhfaW1hZ2U+OworCXN0YXR1cyA9ICJva2F5IjsKK307CisKKyZoZG1pX2luIHsKKwlo ZG1pX2luX3ZwMDogZW5kcG9pbnQgeworCQlyZW1vdGUtZW5kcG9pbnQgPSA8JnZwMF9vdXRfaGRt aT47CisJfTsKK307CisKKyZoZG1pX291dCB7CisJaGRtaV9vdXRfY29uOiBlbmRwb2ludCB7CisJ CXJlbW90ZS1lbmRwb2ludCA9IDwmaGRtaV9jb25faW4+OworCX07Cit9OworCismaGRtaV9zb3Vu ZCB7CisJc3RhdHVzID0gIm9rYXkiOworfTsKKworJmkyYzAgeworCXN0YXR1cyA9ICJva2F5IjsK KworCXZkZF9jcHU6IHJlZ3VsYXRvckAxYyB7CisJCWNvbXBhdGlibGUgPSAidGNzLHRjczQ1MjUi OworCQlyZWcgPSA8MHgxYz47CisJCWZjcyxzdXNwZW5kLXZvbHRhZ2Utc2VsZWN0b3IgPSA8MT47 CisJCXJlZ3VsYXRvci1uYW1lID0gInZkZF9jcHUiOworCQlyZWd1bGF0b3ItYWx3YXlzLW9uOwor CQlyZWd1bGF0b3ItYm9vdC1vbjsKKwkJcmVndWxhdG9yLW1pbi1taWNyb3ZvbHQgPSA8ODAwMDAw PjsKKwkJcmVndWxhdG9yLW1heC1taWNyb3ZvbHQgPSA8MTE1MDAwMD47CisJCXJlZ3VsYXRvci1y YW1wLWRlbGF5ID0gPDIzMDA+OworCQl2aW4tc3VwcGx5ID0gPCZ2Y2M1djBfc3lzPjsKKworCQly ZWd1bGF0b3Itc3RhdGUtbWVtIHsKKwkJCXJlZ3VsYXRvci1vZmYtaW4tc3VzcGVuZDsKKwkJfTsK Kwl9OworCisJcms4MDk6IHBtaWNAMjAgeworCQljb21wYXRpYmxlID0gInJvY2tjaGlwLHJrODA5 IjsKKwkJcmVnID0gPDB4MjA+OworCQlpbnRlcnJ1cHQtcGFyZW50ID0gPCZncGlvMD47CisJCWlu dGVycnVwdHMgPSA8UktfUEEzIElSUV9UWVBFX0xFVkVMX0xPVz47CisJCWFzc2lnbmVkLWNsb2Nr cyA9IDwmY3J1IEkyUzFfTUNMS09VVF9UWD47CisJCWFzc2lnbmVkLWNsb2NrLXBhcmVudHMgPSA8 JmNydSBDTEtfSTJTMV84Q0hfVFg+OworCQkjY2xvY2stY2VsbHMgPSA8MT47CisJCWNsb2NrLW5h bWVzID0gIm1jbGsiOworCQljbG9ja3MgPSA8JmNydSBJMlMxX01DTEtPVVRfVFg+OworCQlwaW5j dHJsLW5hbWVzID0gImRlZmF1bHQiOworCQlwaW5jdHJsLTAgPSA8JnBtaWNfaW50PiwgPCZpMnMx bTBfbWNsaz47CisJCXN5c3RlbS1wb3dlci1jb250cm9sbGVyOworCQkjc291bmQtZGFpLWNlbGxz ID0gPDA+OworCQl2Y2MxLXN1cHBseSA9IDwmdmNjM3YzX3N5cz47CisJCXZjYzItc3VwcGx5ID0g PCZ2Y2MzdjNfc3lzPjsKKwkJdmNjMy1zdXBwbHkgPSA8JnZjYzN2M19zeXM+OworCQl2Y2M0LXN1 cHBseSA9IDwmdmNjM3YzX3N5cz47CisJCXZjYzUtc3VwcGx5ID0gPCZ2Y2MzdjNfc3lzPjsKKwkJ dmNjNi1zdXBwbHkgPSA8JnZjYzN2M19zeXM+OworCQl2Y2M3LXN1cHBseSA9IDwmdmNjM3YzX3N5 cz47CisJCXZjYzgtc3VwcGx5ID0gPCZ2Y2MzdjNfc3lzPjsKKwkJdmNjOS1zdXBwbHkgPSA8JnZj YzN2M19zeXM+OworCQl3YWtldXAtc291cmNlOworCisJCXJlZ3VsYXRvcnMgeworCQkJdmRkX2xv Z2ljOiBEQ0RDX1JFRzEgeworCQkJCXJlZ3VsYXRvci1uYW1lID0gInZkZF9sb2dpYyI7CisJCQkJ cmVndWxhdG9yLWFsd2F5cy1vbjsKKwkJCQlyZWd1bGF0b3ItYm9vdC1vbjsKKwkJCQlyZWd1bGF0 b3ItaW5pdGlhbC1tb2RlID0gPDB4Mj47CisJCQkJcmVndWxhdG9yLW1pbi1taWNyb3ZvbHQgPSA8 NTAwMDAwPjsKKwkJCQlyZWd1bGF0b3ItbWF4LW1pY3Jvdm9sdCA9IDwxMzUwMDAwPjsKKwkJCQly ZWd1bGF0b3ItcmFtcC1kZWxheSA9IDw2MDAxPjsKKworCQkJCXJlZ3VsYXRvci1zdGF0ZS1tZW0g eworCQkJCQlyZWd1bGF0b3Itb2ZmLWluLXN1c3BlbmQ7CisJCQkJfTsKKwkJCX07CisKKwkJCXZk ZF9ncHU6IERDRENfUkVHMiB7CisJCQkJcmVndWxhdG9yLW5hbWUgPSAidmRkX2dwdSI7CisJCQkJ cmVndWxhdG9yLWFsd2F5cy1vbjsKKwkJCQlyZWd1bGF0b3ItaW5pdGlhbC1tb2RlID0gPDB4Mj47 CisJCQkJcmVndWxhdG9yLW1pbi1taWNyb3ZvbHQgPSA8NTAwMDAwPjsKKwkJCQlyZWd1bGF0b3It bWF4LW1pY3Jvdm9sdCA9IDwxMzUwMDAwPjsKKwkJCQlyZWd1bGF0b3ItcmFtcC1kZWxheSA9IDw2 MDAxPjsKKworCQkJCXJlZ3VsYXRvci1zdGF0ZS1tZW0geworCQkJCQlyZWd1bGF0b3Itb2ZmLWlu LXN1c3BlbmQ7CisJCQkJfTsKKwkJCX07CisKKwkJCXZjY19kZHI6IERDRENfUkVHMyB7CisJCQkJ cmVndWxhdG9yLW5hbWUgPSAidmNjX2RkciI7CisJCQkJcmVndWxhdG9yLWFsd2F5cy1vbjsKKwkJ CQlyZWd1bGF0b3ItYm9vdC1vbjsKKwkJCQlyZWd1bGF0b3ItaW5pdGlhbC1tb2RlID0gPDB4Mj47 CisKKwkJCQlyZWd1bGF0b3Itc3RhdGUtbWVtIHsKKwkJCQkJcmVndWxhdG9yLW9uLWluLXN1c3Bl bmQ7CisJCQkJfTsKKwkJCX07CisKKwkJCXZkZF9ucHU6IERDRENfUkVHNCB7CisJCQkJcmVndWxh dG9yLW5hbWUgPSAidmRkX25wdSI7CisJCQkJcmVndWxhdG9yLWluaXRpYWwtbW9kZSA9IDwweDI+ OworCQkJCXJlZ3VsYXRvci1taW4tbWljcm92b2x0ID0gPDUwMDAwMD47CisJCQkJcmVndWxhdG9y LW1heC1taWNyb3ZvbHQgPSA8MTM1MDAwMD47CisJCQkJcmVndWxhdG9yLXJhbXAtZGVsYXkgPSA8 NjAwMT47CisKKwkJCQlyZWd1bGF0b3Itc3RhdGUtbWVtIHsKKwkJCQkJcmVndWxhdG9yLW9mZi1p bi1zdXNwZW5kOworCQkJCX07CisJCQl9OworCisJCQl2Y2NfMXY4OiBEQ0RDX1JFRzUgeworCQkJ CXJlZ3VsYXRvci1uYW1lID0gInZjY18xdjgiOworCQkJCXJlZ3VsYXRvci1hbHdheXMtb247CisJ CQkJcmVndWxhdG9yLWJvb3Qtb247CisJCQkJcmVndWxhdG9yLW1pbi1taWNyb3ZvbHQgPSA8MTgw MDAwMD47CisJCQkJcmVndWxhdG9yLW1heC1taWNyb3ZvbHQgPSA8MTgwMDAwMD47CisKKwkJCQly ZWd1bGF0b3Itc3RhdGUtbWVtIHsKKwkJCQkJcmVndWxhdG9yLW9mZi1pbi1zdXNwZW5kOworCQkJ CX07CisJCQl9OworCisJCQl2ZGRhMHY5X2ltYWdlOiBMRE9fUkVHMSB7CisJCQkJcmVndWxhdG9y LW5hbWUgPSAidmRkYTB2OV9pbWFnZSI7CisJCQkJcmVndWxhdG9yLW1pbi1taWNyb3ZvbHQgPSA8 OTAwMDAwPjsKKwkJCQlyZWd1bGF0b3ItbWF4LW1pY3Jvdm9sdCA9IDw5MDAwMDA+OworCisJCQkJ cmVndWxhdG9yLXN0YXRlLW1lbSB7CisJCQkJCXJlZ3VsYXRvci1vZmYtaW4tc3VzcGVuZDsKKwkJ CQl9OworCQkJfTsKKworCQkJdmRkYV8wdjk6IExET19SRUcyIHsKKwkJCQlyZWd1bGF0b3ItbmFt ZSA9ICJ2ZGRhXzB2OSI7CisJCQkJcmVndWxhdG9yLWFsd2F5cy1vbjsKKwkJCQlyZWd1bGF0b3It Ym9vdC1vbjsKKwkJCQlyZWd1bGF0b3ItbWluLW1pY3Jvdm9sdCA9IDw5MDAwMDA+OworCQkJCXJl Z3VsYXRvci1tYXgtbWljcm92b2x0ID0gPDkwMDAwMD47CisKKwkJCQlyZWd1bGF0b3Itc3RhdGUt bWVtIHsKKwkJCQkJcmVndWxhdG9yLW9mZi1pbi1zdXNwZW5kOworCQkJCX07CisJCQl9OworCisJ CQl2ZGRhMHY5X3BtdTogTERPX1JFRzMgeworCQkJCXJlZ3VsYXRvci1uYW1lID0gInZkZGEwdjlf cG11IjsKKwkJCQlyZWd1bGF0b3ItYWx3YXlzLW9uOworCQkJCXJlZ3VsYXRvci1ib290LW9uOwor CQkJCXJlZ3VsYXRvci1taW4tbWljcm92b2x0ID0gPDkwMDAwMD47CisJCQkJcmVndWxhdG9yLW1h eC1taWNyb3ZvbHQgPSA8OTAwMDAwPjsKKworCQkJCXJlZ3VsYXRvci1zdGF0ZS1tZW0geworCQkJ CQlyZWd1bGF0b3Itb24taW4tc3VzcGVuZDsKKwkJCQkJcmVndWxhdG9yLXN1c3BlbmQtbWljcm92 b2x0ID0gPDkwMDAwMD47CisJCQkJfTsKKwkJCX07CisKKwkJCXZjY2lvX2Fjb2RlYzogTERPX1JF RzQgeworCQkJCXJlZ3VsYXRvci1uYW1lID0gInZjY2lvX2Fjb2RlYyI7CisJCQkJcmVndWxhdG9y LWFsd2F5cy1vbjsKKwkJCQlyZWd1bGF0b3ItbWluLW1pY3Jvdm9sdCA9IDwzMzAwMDAwPjsKKwkJ CQlyZWd1bGF0b3ItbWF4LW1pY3Jvdm9sdCA9IDwzMzAwMDAwPjsKKworCQkJCXJlZ3VsYXRvci1z dGF0ZS1tZW0geworCQkJCQlyZWd1bGF0b3Itb2ZmLWluLXN1c3BlbmQ7CisJCQkJfTsKKwkJCX07 CisKKwkJCXZjY2lvX3NkOiBMRE9fUkVHNSB7CisJCQkJcmVndWxhdG9yLW5hbWUgPSAidmNjaW9f c2QiOworCQkJCXJlZ3VsYXRvci1taW4tbWljcm92b2x0ID0gPDE4MDAwMDA+OworCQkJCXJlZ3Vs YXRvci1tYXgtbWljcm92b2x0ID0gPDMzMDAwMDA+OworCisJCQkJcmVndWxhdG9yLXN0YXRlLW1l bSB7CisJCQkJCXJlZ3VsYXRvci1vZmYtaW4tc3VzcGVuZDsKKwkJCQl9OworCQkJfTsKKworCQkJ dmNjM3YzX3BtdTogTERPX1JFRzYgeworCQkJCXJlZ3VsYXRvci1uYW1lID0gInZjYzN2M19wbXUi OworCQkJCXJlZ3VsYXRvci1hbHdheXMtb247CisJCQkJcmVndWxhdG9yLWJvb3Qtb247CisJCQkJ cmVndWxhdG9yLW1pbi1taWNyb3ZvbHQgPSA8MzMwMDAwMD47CisJCQkJcmVndWxhdG9yLW1heC1t aWNyb3ZvbHQgPSA8MzMwMDAwMD47CisKKwkJCQlyZWd1bGF0b3Itc3RhdGUtbWVtIHsKKwkJCQkJ cmVndWxhdG9yLW9uLWluLXN1c3BlbmQ7CisJCQkJCXJlZ3VsYXRvci1zdXNwZW5kLW1pY3Jvdm9s dCA9IDwzMzAwMDAwPjsKKwkJCQl9OworCQkJfTsKKworCQkJdmNjYV8xdjg6IExET19SRUc3IHsK KwkJCQlyZWd1bGF0b3ItbmFtZSA9ICJ2Y2NhXzF2OCI7CisJCQkJcmVndWxhdG9yLWFsd2F5cy1v bjsKKwkJCQlyZWd1bGF0b3ItYm9vdC1vbjsKKwkJCQlyZWd1bGF0b3ItbWluLW1pY3Jvdm9sdCA9 IDwxODAwMDAwPjsKKwkJCQlyZWd1bGF0b3ItbWF4LW1pY3Jvdm9sdCA9IDwxODAwMDAwPjsKKwor CQkJCXJlZ3VsYXRvci1zdGF0ZS1tZW0geworCQkJCQlyZWd1bGF0b3Itb2ZmLWluLXN1c3BlbmQ7 CisJCQkJfTsKKwkJCX07CisKKwkJCXZjY2ExdjhfcG11OiBMRE9fUkVHOCB7CisJCQkJcmVndWxh dG9yLW5hbWUgPSAidmNjYTF2OF9wbXUiOworCQkJCXJlZ3VsYXRvci1hbHdheXMtb247CisJCQkJ cmVndWxhdG9yLWJvb3Qtb247CisJCQkJcmVndWxhdG9yLW1pbi1taWNyb3ZvbHQgPSA8MTgwMDAw MD47CisJCQkJcmVndWxhdG9yLW1heC1taWNyb3ZvbHQgPSA8MTgwMDAwMD47CisKKwkJCQlyZWd1 bGF0b3Itc3RhdGUtbWVtIHsKKwkJCQkJcmVndWxhdG9yLW9uLWluLXN1c3BlbmQ7CisJCQkJCXJl Z3VsYXRvci1zdXNwZW5kLW1pY3Jvdm9sdCA9IDwxODAwMDAwPjsKKwkJCQl9OworCQkJfTsKKwor CQkJdmNjYTF2OF9pbWFnZTogTERPX1JFRzkgeworCQkJCXJlZ3VsYXRvci1uYW1lID0gInZjY2Ex djhfaW1hZ2UiOworCQkJCXJlZ3VsYXRvci1taW4tbWljcm92b2x0ID0gPDE4MDAwMDA+OworCQkJ CXJlZ3VsYXRvci1tYXgtbWljcm92b2x0ID0gPDE4MDAwMDA+OworCisJCQkJcmVndWxhdG9yLXN0 YXRlLW1lbSB7CisJCQkJCXJlZ3VsYXRvci1vZmYtaW4tc3VzcGVuZDsKKwkJCQl9OworCQkJfTsK KworCQkJdmNjXzN2MzogU1dJVENIX1JFRzEgeworCQkJCXJlZ3VsYXRvci1uYW1lID0gInZjY18z djMiOworCQkJCXJlZ3VsYXRvci1hbHdheXMtb247CisJCQkJcmVndWxhdG9yLWJvb3Qtb247CisK KwkJCQlyZWd1bGF0b3Itc3RhdGUtbWVtIHsKKwkJCQkJcmVndWxhdG9yLW9mZi1pbi1zdXNwZW5k OworCQkJCX07CisJCQl9OworCisJCQl2Y2MzdjNfc2Q6IFNXSVRDSF9SRUcyIHsKKwkJCQlyZWd1 bGF0b3ItbmFtZSA9ICJ2Y2MzdjNfc2QiOworCisJCQkJcmVndWxhdG9yLXN0YXRlLW1lbSB7CisJ CQkJCXJlZ3VsYXRvci1vZmYtaW4tc3VzcGVuZDsKKwkJCQl9OworCQkJfTsKKwkJfTsKKworCQlj b2RlYyB7CisJCQlyb2NrY2hpcCxtaWMtaW4tZGlmZmVyZW50aWFsOworCQl9OworCX07Cit9Owor CismaTJjNSB7CisJc3RhdHVzID0gIm9rYXkiOworCisJcnRjMDogcnRjQDUxIHsKKwkJY29tcGF0 aWJsZSA9ICJueHAscGNmODU2MyI7CisJCXJlZyA9IDwweDUxPjsKKwkJI2Nsb2NrLWNlbGxzID0g PDA+OworCX07Cit9OworCismaTJzMF84Y2ggeworCXN0YXR1cyA9ICJva2F5IjsKK307CisKKyZp MnMxXzhjaCB7CisJcGluY3RybC0wID0gPCZpMnMxbTBfc2Nsa3R4ICZpMnMxbTBfbHJja3R4ICZp MnMxbTBfc2RpMCAmaTJzMW0wX3NkbzA+OworCXJvY2tjaGlwLHRyY20tc3luYy10eC1vbmx5Owor CXN0YXR1cyA9ICJva2F5IjsKK307CisKKy8qIHVzZWQgZm9yIEFQNjI3NVMgQmx1ZXRvb3RoIFNv dW5kICovCismaTJzM18yY2ggeworCXN0YXR1cyA9ICJva2F5IjsKK307CisKKyZtZGlvMCB7CisJ cmdtaWlfcGh5MDogZXRoZXJuZXQtcGh5QDMgeworCQljb21wYXRpYmxlID0gImV0aGVybmV0LXBo eS1pZWVlODAyLjMtYzIyIjsKKwkJcmVnID0gPDM+OworCQlyZXNldC1hc3NlcnQtdXMgPSA8MjAw MDA+OworCQlyZXNldC1kZWFzc2VydC11cyA9IDwxMDAwMDA+OworCQlyZXNldC1ncGlvcyA9IDwm Z3BpbzIgUktfUEQzIEdQSU9fQUNUSVZFX0xPVz47CisKKwkJbGVkcyB7CisJCQkjYWRkcmVzcy1j ZWxscyA9IDwxPjsKKwkJCSNzaXplLWNlbGxzID0gPDA+OworCisJCQlsZWRAMSB7CisJCQkJcmVn ID0gPDE+OworCQkJCWNvbG9yID0gPExFRF9DT0xPUl9JRF9HUkVFTj47CisJCQkJZnVuY3Rpb24g PSBMRURfRlVOQ1RJT05fTEFOOworCQkJCWRlZmF1bHQtc3RhdGUgPSAia2VlcCI7CisJCQl9Owor CisJCQkvKiBOb3RlOiBUaGUgTEVEIHBvbGFyaXR5IGlzIGludmVydGVkICovCisJCQlsZWRAMiB7 CisJCQkJcmVnID0gPDI+OworCQkJCWNvbG9yID0gPExFRF9DT0xPUl9JRF9BTUJFUj47CisJCQkJ ZnVuY3Rpb24gPSBMRURfRlVOQ1RJT05fTEFOOworCQkJCWRlZmF1bHQtc3RhdGUgPSAia2VlcCI7 CisJCQl9OworCQl9OworCX07Cit9OworCismbWRpbzEgeworCXJnbWlpX3BoeTE6IGV0aGVybmV0 LXBoeUAyIHsKKwkJY29tcGF0aWJsZSA9ICJldGhlcm5ldC1waHktaWVlZTgwMi4zLWMyMiI7CisJ CXJlZyA9IDwyPjsKKwkJcmVzZXQtYXNzZXJ0LXVzID0gPDIwMDAwPjsKKwkJcmVzZXQtZGVhc3Nl cnQtdXMgPSA8MTAwMDAwPjsKKwkJcmVzZXQtZ3Bpb3MgPSA8JmdwaW8yIFJLX1BEMSBHUElPX0FD VElWRV9MT1c+OworCisJCWxlZHMgeworCQkJI2FkZHJlc3MtY2VsbHMgPSA8MT47CisJCQkjc2l6 ZS1jZWxscyA9IDwwPjsKKworCQkJbGVkQDEgeworCQkJCXJlZyA9IDwxPjsKKwkJCQljb2xvciA9 IDxMRURfQ09MT1JfSURfR1JFRU4+OworCQkJCWZ1bmN0aW9uID0gTEVEX0ZVTkNUSU9OX0xBTjsK KwkJCQlkZWZhdWx0LXN0YXRlID0gImtlZXAiOworCQkJfTsKKworCQkJLyogTm90ZTogVGhlIExF RCBwb2xhcml0eSBpcyBpbnZlcnRlZCAqLworCQkJbGVkQDIgeworCQkJCXJlZyA9IDwyPjsKKwkJ CQljb2xvciA9IDxMRURfQ09MT1JfSURfQU1CRVI+OworCQkJCWZ1bmN0aW9uID0gTEVEX0ZVTkNU SU9OX0xBTjsKKwkJCQlkZWZhdWx0LXN0YXRlID0gImtlZXAiOworCQkJfTsKKwkJfTsKKwl9Owor fTsKKworJnBjaWUzMHBoeSB7CisJc3RhdHVzID0gIm9rYXkiOworfTsKKworJnBjaWUzeDIgewor CXBpbmN0cmwtbmFtZXMgPSAiZGVmYXVsdCI7CisJcGluY3RybC0wID0gPCZwY2llX3Jlc2V0X3Bp bj47CisJcmVzZXQtZ3Bpb3MgPSA8JmdwaW8yIFJLX1BENiBHUElPX0FDVElWRV9ISUdIPjsKKwl2 cGNpZTN2My1zdXBwbHkgPSA8JnZjYzN2M19wY2llPjsKKwlzdGF0dXMgPSAib2theSI7Cit9Owor CismcGRtIHsKKwlzdGF0dXMgPSAib2theSI7Cit9OworCismcGluY3RybCB7CisJbGVkcyB7CisJ CWxlZF93b3JrX2VuOiBsZWRfd29ya19lbiB7CisJCQlyb2NrY2hpcCxwaW5zID0gPDAgUktfUEMw IFJLX0ZVTkNfR1BJTyAmcGNmZ19wdWxsX25vbmU+OworCQl9OworCX07CisKKwlwbWljIHsKKwkJ cG1pY19pbnQ6IHBtaWNfaW50IHsKKwkJCXJvY2tjaGlwLHBpbnMgPQorCQkJCTwwIFJLX1BBMyBS S19GVU5DX0dQSU8gJnBjZmdfcHVsbF91cD47CisJCX07CisJfTsKKworCXNkaW8tcHdyc2VxIHsK KwkJd2lmaV9lbmFibGU6IHdpZmktZW5hYmxlIHsKKwkJCXJvY2tjaGlwLHBpbnMgPSA8MyBSS19Q RDUgUktfRlVOQ19HUElPICZwY2ZnX3B1bGxfbm9uZT47CisJCX07CisJfTsKKworCXVzYiB7CisJ CXZjYzV2MF91c2JfaG9zdF9lbjogdmNjNXYwX3VzYl9ob3N0X2VuIHsKKwkJCXJvY2tjaGlwLHBp bnMgPSA8MCBSS19QQTYgUktfRlVOQ19HUElPICZwY2ZnX3B1bGxfbm9uZT47CisJCX07CisJCXZj YzV2MF91c2Jfb3RnX2VuOiB2Y2M1djBfdXNiX290Z19lbiB7CisJCQlyb2NrY2hpcCxwaW5zID0g PDAgUktfUEE1IFJLX0ZVTkNfR1BJTyAmcGNmZ19wdWxsX25vbmU+OworCQl9OworCX07CisKKwlw Y2llIHsKKwkJcGNpZV9yZXNldF9waW46IHBjaWUtcmVzZXQtcGluIHsKKwkJCXJvY2tjaGlwLHBp bnMgPSA8MiBSS19QRDYgUktfRlVOQ19HUElPICZwY2ZnX3B1bGxfbm9uZT47CisJCX07CisJCXZj YzN2M19wY2llX2VuX3BpbjogdmNjM3YzLXBjaWUtZW4tcGluIHsKKwkJCXJvY2tjaGlwLHBpbnMg PSA8MyBSS19QQzMgUktfRlVOQ19HUElPICZwY2ZnX3B1bGxfbm9uZT47CisJCX07CisJfTsKK307 CisKKyZwbXVfaW9fZG9tYWlucyB7CisJcG11aW8xLXN1cHBseSA9IDwmdmNjM3YzX3BtdT47CisJ cG11aW8yLXN1cHBseSA9IDwmdmNjM3YzX3BtdT47CisJdmNjaW8xLXN1cHBseSA9IDwmdmNjaW9f YWNvZGVjPjsKKwl2Y2NpbzItc3VwcGx5ID0gPCZ2Y2NfMXY4PjsKKwl2Y2NpbzMtc3VwcGx5ID0g PCZ2Y2Npb19zZD47CisJdmNjaW80LXN1cHBseSA9IDwmdmNjXzF2OD47CisJdmNjaW81LXN1cHBs eSA9IDwmdmNjXzN2Mz47CisJdmNjaW82LXN1cHBseSA9IDwmdmNjXzF2OD47CisJdmNjaW83LXN1 cHBseSA9IDwmdmNjXzN2Mz47CisJc3RhdHVzID0gIm9rYXkiOworfTsKKworJnB3bTQgeworCXN0 YXR1cyA9ICJva2F5IjsKK307CisKKy8qIFJlcXVpcmVkIHJlbW90ZWN0bCBmb3IgSVIgcmVjZWl2 ZXIgKi8KKyZwd203IHsKKwlzdGF0dXMgPSAiZGlzYWJsZWQiOworfTsKKworJnNhcmFkYyB7CisJ dnJlZi1zdXBwbHkgPSA8JnZjY2FfMXY4PjsKKwlzdGF0dXMgPSAib2theSI7Cit9OworCismc2F0 YTIgeworCXN0YXR1cyA9ICJva2F5IjsKK307CisKKy8qIHVzZWQgZm9yIGVNTUMgKi8KKyZzZGhj aSB7CisJYnVzLXdpZHRoID0gPDg+OworCW1heC1mcmVxdWVuY3kgPSA8MjAwMDAwMDAwPjsKKwlt bWMtaHMyMDAtMV84djsKKwlub24tcmVtb3ZhYmxlOworCXBpbmN0cmwtbmFtZXMgPSAiZGVmYXVs dCI7CisJcGluY3RybC0wID0gPCZlbW1jX2J1czggJmVtbWNfY2xrICZlbW1jX2NtZCAmZW1tY19k YXRhc3Ryb2JlPjsKKwlzdGF0dXMgPSAib2theSI7Cit9OworCisvKiB1c2VkIGZvciBtaWNyb1NE IChURikgU2xvdCAqLworJnNkbW1jMCB7CisJYnVzLXdpZHRoID0gPDQ+OworCWNhcC1zZC1oaWdo c3BlZWQ7CisJY2QtZ3Bpb3MgPSA8JmdwaW8wIFJLX1BBNCBHUElPX0FDVElWRV9MT1c+OworCWRp c2FibGUtd3A7CisJcGluY3RybC1uYW1lcyA9ICJkZWZhdWx0IjsKKwlwaW5jdHJsLTAgPSA8JnNk bW1jMF9idXM0ICZzZG1tYzBfY2xrICZzZG1tYzBfY21kICZzZG1tYzBfZGV0PjsKKwlzZC11aHMt c2RyMTA0OworCXZtbWMtc3VwcGx5ID0gPCZ2Y2MzdjNfc2Q+OworCXZxbW1jLXN1cHBseSA9IDwm dmNjaW9fc2Q+OworCXN0YXR1cyA9ICJva2F5IjsKK307CisKKy8qIHVzZWQgZm9yIEFQNjI3NVMg V2lGaSAqLworJnNkbW1jMiB7CisJYnVzLXdpZHRoID0gPDQ+OworCWRpc2FibGUtd3A7CisJY2Fw LXNkLWhpZ2hzcGVlZDsKKwljYXAtc2Rpby1pcnE7CisJa2VlcC1wb3dlci1pbi1zdXNwZW5kOwor CW1tYy1wd3JzZXEgPSA8JnNkaW9fcHdyc2VxPjsKKwlub24tcmVtb3ZhYmxlOworCXBpbmN0cmwt bmFtZXMgPSAiZGVmYXVsdCI7CisJcGluY3RybC0wID0gPCZzZG1tYzJtMF9idXM0ICZzZG1tYzJt MF9jbWQgJnNkbW1jMm0wX2Nsaz47CisJc2QtdWhzLXNkcjEyOworCXNkLXVocy1zZHIyNTsKKwlz ZC11aHMtc2RyNTA7CisJc2QtdWhzLXNkcjEwNDsKKwl2bW1jLXN1cHBseSA9IDwmdmNjM3YzX3N5 cz47CisJdnFtbWMtc3VwcGx5ID0gPCZ2Y2NfMXY4PjsKKwlzdGF0dXMgPSAib2theSI7Cit9Owor Cismc3BkaWYgeworCXN0YXR1cyA9ICJva2F5IjsKK307CisKKyZ0c2FkYyB7CisJcm9ja2NoaXAs aHctdHNodXQtbW9kZSA9IDwxPjsKKwlyb2NrY2hpcCxody10c2h1dC1wb2xhcml0eSA9IDwwPjsK KwlzdGF0dXMgPSAib2theSI7Cit9OworCisvKiB1c2VkIGZvciBEZWJ1ZyAqLworJnVhcnQyIHsK KwlzdGF0dXMgPSAib2theSI7Cit9OworCismdWFydDMgeworCXBpbmN0cmwtMCA9IDwmdWFydDNt MV94ZmVyPjsKKwlzdGF0dXMgPSAib2theSI7Cit9OworCismdWFydDQgeworCXBpbmN0cmwtMCA9 IDwmdWFydDRtMV94ZmVyPjsKKwlzdGF0dXMgPSAib2theSI7Cit9OworCisvKiB1c2VkIGZvciBX aUZpL0JUIEFQNjI3NVMgKi8KKyZ1YXJ0OCB7CisJcGluY3RybC0wID0gPCZ1YXJ0OG0wX3hmZXIg JnVhcnQ4bTBfY3Rzbj47CisJc3RhdHVzID0gIm9rYXkiOworfTsKKworJnVhcnQ5IHsKKwlwaW5j dHJsLTAgPSA8JnVhcnQ5bTFfeGZlcj47CisJc3RhdHVzID0gIm9rYXkiOworfTsKKworJnVzYl9o b3N0MF9laGNpIHsKKwlzdGF0dXMgPSAib2theSI7Cit9OworCismdXNiX2hvc3QwX29oY2kgewor CXN0YXR1cyA9ICJva2F5IjsKK307CisKKyZ1c2JfaG9zdDBfeGhjaSB7CisJZXh0Y29uID0gPCZ1 c2IycGh5MD47CisJc3RhdHVzID0gIm9rYXkiOworfTsKKworJnVzYl9ob3N0MV9laGNpIHsKKwlz dGF0dXMgPSAib2theSI7Cit9OworCismdXNiX2hvc3QxX29oY2kgeworCXN0YXR1cyA9ICJva2F5 IjsKK307CisKKyZ1c2JfaG9zdDFfeGhjaSB7CisJc3RhdHVzID0gIm9rYXkiOworfTsKKworJnVz YjJwaHkwIHsKKwlzdGF0dXMgPSAib2theSI7Cit9OworCismdXNiMnBoeTBfaG9zdCB7CisJcGh5 LXN1cHBseSA9IDwmdmNjNXYwX3VzYl9ob3N0PjsKKwlzdGF0dXMgPSAib2theSI7Cit9OworCism dXNiMnBoeTBfb3RnIHsKKwlwaHktc3VwcGx5ID0gPCZ2Y2M1djBfdXNiX290Zz47CisJc3RhdHVz ID0gIm9rYXkiOworfTsKKworJnVzYjJwaHkxIHsKKwlzdGF0dXMgPSAib2theSI7Cit9OworCism dXNiMnBoeTFfaG9zdCB7CisJcGh5LXN1cHBseSA9IDwmdmNjNXYwX3VzYl9ob3N0PjsKKwlzdGF0 dXMgPSAib2theSI7Cit9OworCismdXNiMnBoeTFfb3RnIHsKKwlwaHktc3VwcGx5ID0gPCZ2Y2M1 djBfdXNiX2hvc3Q+OworCXN0YXR1cyA9ICJva2F5IjsKK307CisKKyZ2b3AgeworCWFzc2lnbmVk LWNsb2NrcyA9IDwmY3J1IERDTEtfVk9QMD4sIDwmY3J1IERDTEtfVk9QMT47CisJYXNzaWduZWQt Y2xvY2stcGFyZW50cyA9IDwmcG11Y3J1IFBMTF9IUExMPiwgPCZjcnUgUExMX1ZQTEw+OworCXN0 YXR1cyA9ICJva2F5IjsKK307CisKKyZ2b3BfbW11IHsKKwlzdGF0dXMgPSAib2theSI7Cit9Owor CismdnAwIHsKKwl2cDBfb3V0X2hkbWk6IGVuZHBvaW50QFJPQ0tDSElQX1ZPUDJfRVBfSERNSTAg eworCQlyZWcgPSA8Uk9DS0NISVBfVk9QMl9FUF9IRE1JMD47CisJCXJlbW90ZS1lbmRwb2ludCA9 IDwmaGRtaV9pbl92cDA+OworCX07Cit9OwotLSAKMi40Ny4zCgoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTGludXgtcm9ja2NoaXAgbWFpbGluZyBsaXN0 CkxpbnV4LXJvY2tjaGlwQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVh ZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1yb2NrY2hpcAo=