From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Krzysztof Kozlowski To: Kukjin Kim , Krzysztof Kozlowski , Rob Herring , Mark Rutland , Tejun Heo , Sylwester Nawrocki , Tomasz Figa , Chanwoo Choi , Michael Turquette , Stephen Boyd , "Rafael J. Wysocki" , Viresh Kumar , Zhang Rui , Eduardo Valentin , Russell King , Hans de Goede , Linus Walleij , Andi Shyti , Mark Brown , Bartlomiej Zolnierkiewicz , Alan Stern , Greg Kroah-Hartman , linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-ide@vger.kernel.org, linux-clk@vger.kernel.org, linux-pm@vger.kernel.org, linux-i2c@vger.kernel.org, linux-gpio@vger.kernel.org, linux-spi@vger.kernel.org, linux-usb@vger.kernel.org Cc: Marek Szyprowski , Arnd Bergmann , Olof Johansson , Jaehoon Chung Subject: [RFC 01/10] ARM: dts: exynos: Remove Exynos5440 Date: Tue, 24 Apr 2018 22:32:30 +0200 Message-Id: <20180424203239.21885-2-krzk@kernel.org> In-Reply-To: <20180424203239.21885-1-krzk@kernel.org> References: <20180424203239.21885-1-krzk@kernel.org> List-ID: The Exynos5440 (quad-core A15 with GMAC, PCIe, SATA) was targeting server platforms but it did not make it to the market really. There are no development boards with it and probably there are no real products neither. The development for Exynos5440 ended in 2013 and since then the platform is in maintenance mode. Remove all Device Tree sources for Exynos5440, as first step of removal of the platform to simplify the code and drivers. Signed-off-by: Krzysztof Kozlowski --- .../bindings/arm/samsung/samsung-boards.txt | 2 - arch/arm/boot/dts/Makefile | 2 - arch/arm/boot/dts/exynos5440-sd5v1.dts | 42 --- arch/arm/boot/dts/exynos5440-ssdk5440.dts | 81 ----- arch/arm/boot/dts/exynos5440-tmu-sensor-conf.dtsi | 20 -- arch/arm/boot/dts/exynos5440-trip-points.dtsi | 21 -- arch/arm/boot/dts/exynos5440.dtsi | 355 --------------------- 7 files changed, 523 deletions(-) delete mode 100644 arch/arm/boot/dts/exynos5440-sd5v1.dts delete mode 100644 arch/arm/boot/dts/exynos5440-ssdk5440.dts delete mode 100644 arch/arm/boot/dts/exynos5440-tmu-sensor-conf.dtsi delete mode 100644 arch/arm/boot/dts/exynos5440-trip-points.dtsi delete mode 100644 arch/arm/boot/dts/exynos5440.dtsi diff --git a/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt b/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt index 14510b215480..bdadc3da9556 100644 --- a/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt +++ b/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt @@ -21,8 +21,6 @@ Required root node properties: - "samsung,smdk5420" - for Exynos5420-based Samsung SMDK5420 eval board. - "samsung,tm2" - for Exynos5433-based Samsung TM2 board. - "samsung,tm2e" - for Exynos5433-based Samsung TM2E board. - - "samsung,sd5v1" - for Exynos5440-based Samsung board. - - "samsung,ssdk5440" - for Exynos5440-based Samsung board. * Other companies Exynos SoC based * FriendlyARM diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 9ea57f8ebc4e..bf098f59fd0a 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -191,8 +191,6 @@ dtb-$(CONFIG_ARCH_EXYNOS5) += \ exynos5422-odroidxu3.dtb \ exynos5422-odroidxu3-lite.dtb \ exynos5422-odroidxu4.dtb \ - exynos5440-sd5v1.dtb \ - exynos5440-ssdk5440.dtb \ exynos5800-peach-pi.dtb dtb-$(CONFIG_ARCH_GEMINI) += \ gemini-dlink-dir-685.dtb \ diff --git a/arch/arm/boot/dts/exynos5440-sd5v1.dts b/arch/arm/boot/dts/exynos5440-sd5v1.dts deleted file mode 100644 index c4b8392d1ae1..000000000000 --- a/arch/arm/boot/dts/exynos5440-sd5v1.dts +++ /dev/null @@ -1,42 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 -/* - * SAMSUNG SD5v1 board device tree source - * - * Copyright (c) 2013 Samsung Electronics Co., Ltd. - * http://www.samsung.com - */ - -/dts-v1/; -#include "exynos5440.dtsi" - -/ { - model = "SAMSUNG SD5v1 board based on EXYNOS5440"; - compatible = "samsung,sd5v1", "samsung,exynos5440", "samsung,exynos5"; - - chosen { - bootargs = "root=/dev/sda2 rw rootwait ignore_loglevel earlyprintk no_console_suspend mem=2048M@0x80000000 mem=6144M@0x100000000 console=ttySAC0,115200"; - }; - - /* FIXME: set reg property with correct start address and size */ - memory@0 { - device_type = "memory"; - reg = <0 0>; - }; - - fixed-rate-clocks { - xtal { - compatible = "samsung,clock-xtal"; - clock-frequency = <50000000>; - }; - }; - - spi { - status = "disabled"; - }; - -}; - -&gmac { - fixed_phy; - phy_addr = <1>; -}; diff --git a/arch/arm/boot/dts/exynos5440-ssdk5440.dts b/arch/arm/boot/dts/exynos5440-ssdk5440.dts deleted file mode 100644 index a33c4fc29ae5..000000000000 --- a/arch/arm/boot/dts/exynos5440-ssdk5440.dts +++ /dev/null @@ -1,81 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 -/* - * SAMSUNG SSDK5440 board device tree source - * - * Copyright (c) 2012 Samsung Electronics Co., Ltd. - * http://www.samsung.com - */ - -/dts-v1/; -#include "exynos5440.dtsi" -#include - -/ { - model = "SAMSUNG SSDK5440 board based on EXYNOS5440"; - compatible = "samsung,ssdk5440", "samsung,exynos5440", "samsung,exynos5"; - - chosen { - bootargs = "root=/dev/sda2 rw rootwait ignore_loglevel earlyprintk no_console_suspend mem=2048M@0x80000000 mem=6144M@0x100000000 console=ttySAC0,115200"; - }; - - /* FIXME: set reg property with correct start address and size */ - memory@0 { - device_type = "memory"; - reg = <0 0>; - }; - - fixed-rate-clocks { - xtal { - compatible = "samsung,clock-xtal"; - clock-frequency = <50000000>; - }; - }; -}; - -&pcie_0 { - reset-gpio = <&pin_ctrl 5 GPIO_ACTIVE_HIGH>; - status = "okay"; -}; - -&pcie_1 { - reset-gpio = <&pin_ctrl 22 GPIO_ACTIVE_HIGH>; - status = "okay"; -}; - -&spi_0 { - flash: w25q128@0 { - #address-cells = <1>; - #size-cells = <1>; - compatible = "winbond,w25q128"; - spi-max-frequency = <15625000>; - reg = <0>; - controller-data { - samsung,spi-feedback-delay = <0>; - }; - - partition@0 { - label = "BootLoader"; - reg = <0x60000 0x80000>; - read-only; - }; - - partition@e0000 { - label = "Recovery-Kernel"; - reg = <0xe0000 0x300000>; - read-only; - }; - - partition@3e0000 { - label = "CRAM-FS"; - reg = <0x3e0000 0x700000>; - read-only; - }; - - partition@ae0000 { - label = "User-Data"; - reg = <0xae0000 0x520000>; - }; - - }; - -}; diff --git a/arch/arm/boot/dts/exynos5440-tmu-sensor-conf.dtsi b/arch/arm/boot/dts/exynos5440-tmu-sensor-conf.dtsi deleted file mode 100644 index 0421c3d42905..000000000000 --- a/arch/arm/boot/dts/exynos5440-tmu-sensor-conf.dtsi +++ /dev/null @@ -1,20 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 -/* - * Device tree sources for Exynos5440 TMU sensor configuration - * - * Copyright (c) 2014 Lukasz Majewski - */ - -#include - -#thermal-sensor-cells = <0>; -samsung,tmu_gain = <5>; -samsung,tmu_reference_voltage = <16>; -samsung,tmu_noise_cancel_mode = <4>; -samsung,tmu_efuse_value = <0x5d2d>; -samsung,tmu_min_efuse_value = <16>; -samsung,tmu_max_efuse_value = <76>; -samsung,tmu_first_point_trim = <25>; -samsung,tmu_second_point_trim = <70>; -samsung,tmu_default_temp_offset = <25>; -samsung,tmu_cal_type = ; diff --git a/arch/arm/boot/dts/exynos5440-trip-points.dtsi b/arch/arm/boot/dts/exynos5440-trip-points.dtsi deleted file mode 100644 index a2b04fed7d0b..000000000000 --- a/arch/arm/boot/dts/exynos5440-trip-points.dtsi +++ /dev/null @@ -1,21 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 -/* - * Device tree sources for default Exynos5440 thermal zone definition - * - * Copyright (c) 2014 Lukasz Majewski - */ - -polling-delay-passive = <0>; -polling-delay = <0>; -trips { - cpu-alert-0 { - temperature = <100000>; /* millicelsius */ - hysteresis = <0>; /* millicelsius */ - type = "active"; - }; - cpu-crit-0 { - temperature = <105000>; /* millicelsius */ - hysteresis = <0>; /* millicelsius */ - type = "critical"; - }; -}; diff --git a/arch/arm/boot/dts/exynos5440.dtsi b/arch/arm/boot/dts/exynos5440.dtsi deleted file mode 100644 index f3abecc44657..000000000000 --- a/arch/arm/boot/dts/exynos5440.dtsi +++ /dev/null @@ -1,355 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 -/* - * SAMSUNG EXYNOS5440 SoC device tree source - * - * Copyright (c) 2012 Samsung Electronics Co., Ltd. - * http://www.samsung.com - */ - -#include -#include -#include - -/ { - compatible = "samsung,exynos5440", "samsung,exynos5"; - - interrupt-parent = <&gic>; - #address-cells = <1>; - #size-cells = <1>; - - aliases { - serial0 = &serial_0; - serial1 = &serial_1; - spi0 = &spi_0; - tmuctrl0 = &tmuctrl_0; - tmuctrl1 = &tmuctrl_1; - tmuctrl2 = &tmuctrl_2; - }; - - cpus { - #address-cells = <1>; - #size-cells = <0>; - - cpu@0 { - device_type = "cpu"; - compatible = "arm,cortex-a15"; - reg = <0>; - }; - cpu@1 { - device_type = "cpu"; - compatible = "arm,cortex-a15"; - reg = <1>; - }; - cpu@2 { - device_type = "cpu"; - compatible = "arm,cortex-a15"; - reg = <2>; - }; - cpu@3 { - device_type = "cpu"; - compatible = "arm,cortex-a15"; - reg = <3>; - }; - }; - - soc: soc { - compatible = "simple-bus"; - #address-cells = <1>; - #size-cells = <1>; - ranges; - - clock: clock-controller@160000 { - compatible = "samsung,exynos5440-clock"; - reg = <0x160000 0x1000>; - #clock-cells = <1>; - }; - - gic: interrupt-controller@2e0000 { - compatible = "arm,cortex-a15-gic"; - #interrupt-cells = <3>; - interrupt-controller; - reg = <0x2E1000 0x1000>, - <0x2E2000 0x2000>, - <0x2E4000 0x2000>, - <0x2E6000 0x2000>; - interrupts = ; - }; - - - arm-pmu { - compatible = "arm,cortex-a15-pmu", "arm,cortex-a9-pmu"; - interrupts = , - , - , - ; - }; - - timer { - compatible = "arm,cortex-a15-timer", - "arm,armv7-timer"; - interrupts = , - , - , - ; - clock-frequency = <50000000>; - }; - - cpufreq@160000 { - compatible = "samsung,exynos5440-cpufreq"; - reg = <0x160000 0x1000>; - interrupts = ; - operating-points = < - /* KHz uV */ - 1500000 1100000 - 1400000 1075000 - 1300000 1050000 - 1200000 1025000 - 1100000 1000000 - 1000000 975000 - 900000 950000 - 800000 925000 - >; - }; - - serial_0: serial@b0000 { - compatible = "samsung,exynos4210-uart"; - reg = <0xB0000 0x1000>; - interrupts = ; - clocks = <&clock CLK_B_125>, <&clock CLK_B_125>; - clock-names = "uart", "clk_uart_baud0"; - }; - - serial_1: serial@c0000 { - compatible = "samsung,exynos4210-uart"; - reg = <0xC0000 0x1000>; - interrupts = ; - clocks = <&clock CLK_B_125>, <&clock CLK_B_125>; - clock-names = "uart", "clk_uart_baud0"; - }; - - spi_0: spi@d0000 { - compatible = "samsung,exynos5440-spi"; - reg = <0xD0000 0x100>; - interrupts = ; - #address-cells = <1>; - #size-cells = <0>; - samsung,spi-src-clk = <0>; - num-cs = <1>; - clocks = <&clock CLK_B_125>, <&clock CLK_SPI_BAUD>; - clock-names = "spi", "spi_busclk0"; - }; - - pin_ctrl: pinctrl@e0000 { - compatible = "samsung,exynos5440-pinctrl"; - reg = <0xE0000 0x1000>; - interrupts = , - , - , - , - , - , - , - ; - interrupt-controller; - #interrupt-cells = <2>; - #gpio-cells = <2>; - - fan: fan { - samsung,exynos5440-pin-function = <1>; - }; - - hdd_led0: hdd_led0 { - samsung,exynos5440-pin-function = <2>; - }; - - hdd_led1: hdd_led1 { - samsung,exynos5440-pin-function = <3>; - }; - - uart1: uart1 { - samsung,exynos5440-pin-function = <4>; - }; - }; - - i2c@f0000 { - compatible = "samsung,exynos5440-i2c"; - reg = <0xF0000 0x1000>; - interrupts = ; - #address-cells = <1>; - #size-cells = <0>; - clocks = <&clock CLK_B_125>; - clock-names = "i2c"; - }; - - i2c@100000 { - compatible = "samsung,exynos5440-i2c"; - reg = <0x100000 0x1000>; - interrupts = ; - #address-cells = <1>; - #size-cells = <0>; - clocks = <&clock CLK_B_125>; - clock-names = "i2c"; - }; - - watchdog@110000 { - compatible = "samsung,s3c6410-wdt"; - reg = <0x110000 0x1000>; - interrupts = ; - clocks = <&clock CLK_B_125>; - clock-names = "watchdog"; - }; - - gmac: ethernet@230000 { - compatible = "snps,dwmac-3.70a", "snps,dwmac"; - reg = <0x00230000 0x8000>; - interrupt-parent = <&gic>; - interrupts = ; - interrupt-names = "macirq"; - phy-mode = "sgmii"; - clocks = <&clock CLK_GMAC0>; - clock-names = "stmmaceth"; - }; - - amba { - #address-cells = <1>; - #size-cells = <1>; - compatible = "simple-bus"; - interrupt-parent = <&gic>; - ranges; - }; - - rtc@130000 { - compatible = "samsung,s3c6410-rtc"; - reg = <0x130000 0x1000>; - interrupts = , - ; - clocks = <&clock CLK_B_125>; - clock-names = "rtc"; - }; - - tmuctrl_0: tmuctrl@160118 { - compatible = "samsung,exynos5440-tmu"; - reg = <0x160118 0x230>, <0x160368 0x10>; - interrupts = ; - clocks = <&clock CLK_B_125>; - clock-names = "tmu_apbif"; - #include "exynos5440-tmu-sensor-conf.dtsi" - }; - - tmuctrl_1: tmuctrl@16011c { - compatible = "samsung,exynos5440-tmu"; - reg = <0x16011C 0x230>, <0x160368 0x10>; - interrupts = ; - clocks = <&clock CLK_B_125>; - clock-names = "tmu_apbif"; - #include "exynos5440-tmu-sensor-conf.dtsi" - }; - - tmuctrl_2: tmuctrl@160120 { - compatible = "samsung,exynos5440-tmu"; - reg = <0x160120 0x230>, <0x160368 0x10>; - interrupts = ; - clocks = <&clock CLK_B_125>; - clock-names = "tmu_apbif"; - #include "exynos5440-tmu-sensor-conf.dtsi" - }; - - sata@210000 { - compatible = "snps,exynos5440-ahci"; - reg = <0x210000 0x10000>; - interrupts = ; - clocks = <&clock CLK_SATA>; - clock-names = "sata"; - }; - - ohci@220000 { - compatible = "samsung,exynos5440-ohci"; - reg = <0x220000 0x1000>; - interrupts = ; - clocks = <&clock CLK_USB>; - clock-names = "usbhost"; - }; - - ehci@221000 { - compatible = "samsung,exynos5440-ehci"; - reg = <0x221000 0x1000>; - interrupts = ; - clocks = <&clock CLK_USB>; - clock-names = "usbhost"; - }; - - pcie_phy0: pcie-phy@270000 { - #phy-cells = <0>; - compatible = "samsung,exynos5440-pcie-phy"; - reg = <0x270000 0x1000>, <0x271000 0x40>; - }; - - pcie_phy1: pcie-phy@272000 { - #phy-cells = <0>; - compatible = "samsung,exynos5440-pcie-phy"; - reg = <0x272000 0x1000>, <0x271040 0x40>; - }; - - pcie_0: pcie@290000 { - compatible = "samsung,exynos5440-pcie", "snps,dw-pcie"; - reg = <0x290000 0x1000>, <0x40000000 0x1000>; - reg-names = "elbi", "config"; - interrupts = , - , - ; - clocks = <&clock CLK_PR0_250_O>, <&clock CLK_PB0_250_O>; - clock-names = "pcie", "pcie_bus"; - #address-cells = <3>; - #size-cells = <2>; - device_type = "pci"; - phys = <&pcie_phy0>; - ranges = <0x81000000 0 0 0x40001000 0 0x00010000 /* downstream I/O */ - 0x82000000 0 0x40011000 0x40011000 0 0x1ffef000>; /* non-prefetchable memory */ - bus-range = <0x00 0xff>; - #interrupt-cells = <1>; - interrupt-map-mask = <0 0 0 0>; - interrupt-map = <0x0 0 &gic 53>; - num-lanes = <4>; - status = "disabled"; - }; - - pcie_1: pcie@2a0000 { - compatible = "samsung,exynos5440-pcie", "snps,dw-pcie"; - reg = <0x2a0000 0x1000>, <0x60000000 0x1000>; - reg-names = "elbi", "config"; - interrupts = , - , - ; - clocks = <&clock CLK_PR1_250_O>, <&clock CLK_PB0_250_O>; - clock-names = "pcie", "pcie_bus"; - #address-cells = <3>; - #size-cells = <2>; - device_type = "pci"; - phys = <&pcie_phy1>; - ranges = <0x81000000 0 0 0x60001000 0 0x00010000 /* downstream I/O */ - 0x82000000 0 0x60011000 0x60011000 0 0x1ffef000>; /* non-prefetchable memory */ - bus-range = <0x00 0xff>; - #interrupt-cells = <1>; - interrupt-map-mask = <0 0 0 0>; - interrupt-map = <0x0 0 &gic 56>; - num-lanes = <4>; - status = "disabled"; - }; - }; - - thermal-zones { - cpu0_thermal: cpu0-thermal { - thermal-sensors = <&tmuctrl_0>; - #include "exynos5440-trip-points.dtsi" - }; - cpu1_thermal: cpu1-thermal { - thermal-sensors = <&tmuctrl_1>; - #include "exynos5440-trip-points.dtsi" - }; - cpu2_thermal: cpu2-thermal { - thermal-sensors = <&tmuctrl_2>; - #include "exynos5440-trip-points.dtsi" - }; - }; -}; -- 2.14.1 From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [RFC,01/10] ARM: dts: exynos: Remove Exynos5440 From: Krzysztof Kozlowski Message-Id: <20180424203239.21885-2-krzk@kernel.org> Date: Tue, 24 Apr 2018 22:32:30 +0200 To: Kukjin Kim , Krzysztof Kozlowski , Rob Herring , Mark Rutland , Tejun Heo , Sylwester Nawrocki , Tomasz Figa , Chanwoo Choi , Michael Turquette , Stephen Boyd , "Rafael J. Wysocki" , Viresh Kumar , Zhang Rui , Eduardo Valentin , Russell King , Hans de Goede , Linus Walleij , Andi Shyti , Mark Brown , Bartlomiej Zolnierkiewicz , Alan Stern , Greg Kroah-Hartman , linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-ide@vger.kernel.org, linux-clk@vger.kernel.org, linux-pm@vger.kernel.org, linux-i2c@vger.kernel.org, linux-gpio@vger.kernel.org, linux-spi@vger.kernel.org, linux-usb@vger.kernel.org Cc: Marek Szyprowski , Arnd Bergmann , Olof Johansson , Jaehoon Chung List-ID: VGhlIEV4eW5vczU0NDAgKHF1YWQtY29yZSBBMTUgd2l0aCBHTUFDLCBQQ0llLCBTQVRBKSB3YXMg dGFyZ2V0aW5nCnNlcnZlciBwbGF0Zm9ybXMgYnV0IGl0IGRpZCBub3QgbWFrZSBpdCB0byB0aGUg bWFya2V0IHJlYWxseS4gIFRoZXJlIGFyZQpubyBkZXZlbG9wbWVudCBib2FyZHMgd2l0aCBpdCBh bmQgcHJvYmFibHkgdGhlcmUgYXJlIG5vIHJlYWwgcHJvZHVjdHMKbmVpdGhlci4gIFRoZSBkZXZl bG9wbWVudCBmb3IgRXh5bm9zNTQ0MCBlbmRlZCBpbiAyMDEzIGFuZCBzaW5jZSB0aGVuCnRoZSBw bGF0Zm9ybSBpcyBpbiBtYWludGVuYW5jZSBtb2RlLgoKUmVtb3ZlIGFsbCBEZXZpY2UgVHJlZSBz b3VyY2VzIGZvciBFeHlub3M1NDQwLCBhcyBmaXJzdCBzdGVwIG9mIHJlbW92YWwKb2YgdGhlIHBs YXRmb3JtIHRvIHNpbXBsaWZ5IHRoZSBjb2RlIGFuZCBkcml2ZXJzLgoKU2lnbmVkLW9mZi1ieTog S3J6eXN6dG9mIEtvemxvd3NraSA8a3J6a0BrZXJuZWwub3JnPgotLS0KIC4uLi9iaW5kaW5ncy9h cm0vc2Ftc3VuZy9zYW1zdW5nLWJvYXJkcy50eHQgICAgICAgIHwgICAyIC0KIGFyY2gvYXJtL2Jv b3QvZHRzL01ha2VmaWxlICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAyIC0KIGFyY2gvYXJt L2Jvb3QvZHRzL2V4eW5vczU0NDAtc2Q1djEuZHRzICAgICAgICAgICAgIHwgIDQyIC0tLQogYXJj aC9hcm0vYm9vdC9kdHMvZXh5bm9zNTQ0MC1zc2RrNTQ0MC5kdHMgICAgICAgICAgfCAgODEgLS0t LS0KIGFyY2gvYXJtL2Jvb3QvZHRzL2V4eW5vczU0NDAtdG11LXNlbnNvci1jb25mLmR0c2kgIHwg IDIwIC0tCiBhcmNoL2FybS9ib290L2R0cy9leHlub3M1NDQwLXRyaXAtcG9pbnRzLmR0c2kgICAg ICB8ICAyMSAtLQogYXJjaC9hcm0vYm9vdC9kdHMvZXh5bm9zNTQ0MC5kdHNpICAgICAgICAgICAg ICAgICAgfCAzNTUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiA3IGZpbGVzIGNoYW5nZWQsIDUyMyBk ZWxldGlvbnMoLSkKIGRlbGV0ZSBtb2RlIDEwMDY0NCBhcmNoL2FybS9ib290L2R0cy9leHlub3M1 NDQwLXNkNXYxLmR0cwogZGVsZXRlIG1vZGUgMTAwNjQ0IGFyY2gvYXJtL2Jvb3QvZHRzL2V4eW5v czU0NDAtc3NkazU0NDAuZHRzCiBkZWxldGUgbW9kZSAxMDA2NDQgYXJjaC9hcm0vYm9vdC9kdHMv ZXh5bm9zNTQ0MC10bXUtc2Vuc29yLWNvbmYuZHRzaQogZGVsZXRlIG1vZGUgMTAwNjQ0IGFyY2gv YXJtL2Jvb3QvZHRzL2V4eW5vczU0NDAtdHJpcC1wb2ludHMuZHRzaQogZGVsZXRlIG1vZGUgMTAw NjQ0IGFyY2gvYXJtL2Jvb3QvZHRzL2V4eW5vczU0NDAuZHRzaQoKZGlmZiAtLWdpdCBhL0RvY3Vt ZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9hcm0vc2Ftc3VuZy9zYW1zdW5nLWJvYXJkcy50 eHQgYi9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvYXJtL3NhbXN1bmcvc2Ftc3Vu Zy1ib2FyZHMudHh0CmluZGV4IDE0NTEwYjIxNTQ4MC4uYmRhZGMzZGE5NTU2IDEwMDY0NAotLS0g YS9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvYXJtL3NhbXN1bmcvc2Ftc3VuZy1i b2FyZHMudHh0CisrKyBiL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9hcm0vc2Ft c3VuZy9zYW1zdW5nLWJvYXJkcy50eHQKQEAgLTIxLDggKzIxLDYgQEAgUmVxdWlyZWQgcm9vdCBu b2RlIHByb3BlcnRpZXM6CiAJLSAic2Ftc3VuZyxzbWRrNTQyMCIJLSBmb3IgRXh5bm9zNTQyMC1i YXNlZCBTYW1zdW5nIFNNREs1NDIwIGV2YWwgYm9hcmQuCiAJLSAic2Ftc3VuZyx0bTIiCQktIGZv ciBFeHlub3M1NDMzLWJhc2VkIFNhbXN1bmcgVE0yIGJvYXJkLgogCS0gInNhbXN1bmcsdG0yZSIJ LSBmb3IgRXh5bm9zNTQzMy1iYXNlZCBTYW1zdW5nIFRNMkUgYm9hcmQuCi0JLSAic2Ftc3VuZyxz ZDV2MSIJLSBmb3IgRXh5bm9zNTQ0MC1iYXNlZCBTYW1zdW5nIGJvYXJkLgotCS0gInNhbXN1bmcs c3NkazU0NDAiCS0gZm9yIEV4eW5vczU0NDAtYmFzZWQgU2Ftc3VuZyBib2FyZC4KIAogKiBPdGhl ciBjb21wYW5pZXMgRXh5bm9zIFNvQyBiYXNlZAogICAqIEZyaWVuZGx5QVJNCmRpZmYgLS1naXQg YS9hcmNoL2FybS9ib290L2R0cy9NYWtlZmlsZSBiL2FyY2gvYXJtL2Jvb3QvZHRzL01ha2VmaWxl CmluZGV4IDllYTU3ZjhlYmM0ZS4uYmYwOThmNTlmZDBhIDEwMDY0NAotLS0gYS9hcmNoL2FybS9i b290L2R0cy9NYWtlZmlsZQorKysgYi9hcmNoL2FybS9ib290L2R0cy9NYWtlZmlsZQpAQCAtMTkx LDggKzE5MSw2IEBAIGR0Yi0kKENPTkZJR19BUkNIX0VYWU5PUzUpICs9IFwKIAlleHlub3M1NDIy LW9kcm9pZHh1My5kdGIgXAogCWV4eW5vczU0MjItb2Ryb2lkeHUzLWxpdGUuZHRiIFwKIAlleHlu b3M1NDIyLW9kcm9pZHh1NC5kdGIgXAotCWV4eW5vczU0NDAtc2Q1djEuZHRiIFwKLQlleHlub3M1 NDQwLXNzZGs1NDQwLmR0YiBcCiAJZXh5bm9zNTgwMC1wZWFjaC1waS5kdGIKIGR0Yi0kKENPTkZJ R19BUkNIX0dFTUlOSSkgKz0gXAogCWdlbWluaS1kbGluay1kaXItNjg1LmR0YiBcCmRpZmYgLS1n aXQgYS9hcmNoL2FybS9ib290L2R0cy9leHlub3M1NDQwLXNkNXYxLmR0cyBiL2FyY2gvYXJtL2Jv b3QvZHRzL2V4eW5vczU0NDAtc2Q1djEuZHRzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCBjNGI4MzkyZDFhZTEuLjAwMDAwMDAwMDAwMAotLS0gYS9hcmNoL2FybS9ib290L2R0cy9leHlu b3M1NDQwLXNkNXYxLmR0cworKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLS8vIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wCi0vKgotICogU0FNU1VORyBTRDV2MSBib2FyZCBk ZXZpY2UgdHJlZSBzb3VyY2UKLSAqCi0gKiBDb3B5cmlnaHQgKGMpIDIwMTMgU2Ftc3VuZyBFbGVj dHJvbmljcyBDby4sIEx0ZC4KLSAqCQlodHRwOi8vd3d3LnNhbXN1bmcuY29tCi0gKi8KLQotL2R0 cy12MS87Ci0jaW5jbHVkZSAiZXh5bm9zNTQ0MC5kdHNpIgotCi0vIHsKLQltb2RlbCA9ICJTQU1T VU5HIFNENXYxIGJvYXJkIGJhc2VkIG9uIEVYWU5PUzU0NDAiOwotCWNvbXBhdGlibGUgPSAic2Ft c3VuZyxzZDV2MSIsICJzYW1zdW5nLGV4eW5vczU0NDAiLCAic2Ftc3VuZyxleHlub3M1IjsKLQot CWNob3NlbiB7Ci0JCWJvb3RhcmdzID0gInJvb3Q9L2Rldi9zZGEyIHJ3IHJvb3R3YWl0IGlnbm9y ZV9sb2dsZXZlbCBlYXJseXByaW50ayBub19jb25zb2xlX3N1c3BlbmQgbWVtPTIwNDhNQDB4ODAw MDAwMDAgbWVtPTYxNDRNQDB4MTAwMDAwMDAwIGNvbnNvbGU9dHR5U0FDMCwxMTUyMDAiOwotCX07 Ci0KLQkvKiBGSVhNRTogc2V0IHJlZyBwcm9wZXJ0eSB3aXRoIGNvcnJlY3Qgc3RhcnQgYWRkcmVz cyBhbmQgc2l6ZSAqLwotCW1lbW9yeUAwIHsKLQkJZGV2aWNlX3R5cGUgPSAibWVtb3J5IjsKLQkJ cmVnID0gPDAgMD47Ci0JfTsKLQotCWZpeGVkLXJhdGUtY2xvY2tzIHsKLQkJeHRhbCB7Ci0JCQlj b21wYXRpYmxlID0gInNhbXN1bmcsY2xvY2steHRhbCI7Ci0JCQljbG9jay1mcmVxdWVuY3kgPSA8 NTAwMDAwMDA+OwotCQl9OwotCX07Ci0KLQlzcGkgewotCQlzdGF0dXMgPSAiZGlzYWJsZWQiOwot CX07Ci0KLX07Ci0KLSZnbWFjIHsKLQlmaXhlZF9waHk7Ci0JcGh5X2FkZHIgPSA8MT47Ci19Owpk aWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9vdC9kdHMvZXh5bm9zNTQ0MC1zc2RrNTQ0MC5kdHMgYi9h cmNoL2FybS9ib290L2R0cy9leHlub3M1NDQwLXNzZGs1NDQwLmR0cwpkZWxldGVkIGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggYTMzYzRmYzI5YWU1Li4wMDAwMDAwMDAwMDAKLS0tIGEvYXJjaC9hcm0v Ym9vdC9kdHMvZXh5bm9zNTQ0MC1zc2RrNTQ0MC5kdHMKKysrIC9kZXYvbnVsbApAQCAtMSw4MSAr MCwwIEBACi0vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAotLyoKLSAqIFNBTVNV TkcgU1NESzU0NDAgYm9hcmQgZGV2aWNlIHRyZWUgc291cmNlCi0gKgotICogQ29weXJpZ2h0IChj KSAyMDEyIFNhbXN1bmcgRWxlY3Ryb25pY3MgQ28uLCBMdGQuCi0gKgkJaHR0cDovL3d3dy5zYW1z dW5nLmNvbQotICovCi0KLS9kdHMtdjEvOwotI2luY2x1ZGUgImV4eW5vczU0NDAuZHRzaSIKLSNp bmNsdWRlIDxkdC1iaW5kaW5ncy9ncGlvL2dwaW8uaD4KLQotLyB7Ci0JbW9kZWwgPSAiU0FNU1VO RyBTU0RLNTQ0MCBib2FyZCBiYXNlZCBvbiBFWFlOT1M1NDQwIjsKLQljb21wYXRpYmxlID0gInNh bXN1bmcsc3NkazU0NDAiLCAic2Ftc3VuZyxleHlub3M1NDQwIiwgInNhbXN1bmcsZXh5bm9zNSI7 Ci0KLQljaG9zZW4gewotCQlib290YXJncyA9ICJyb290PS9kZXYvc2RhMiBydyByb290d2FpdCBp Z25vcmVfbG9nbGV2ZWwgZWFybHlwcmludGsgbm9fY29uc29sZV9zdXNwZW5kIG1lbT0yMDQ4TUAw eDgwMDAwMDAwIG1lbT02MTQ0TUAweDEwMDAwMDAwMCBjb25zb2xlPXR0eVNBQzAsMTE1MjAwIjsK LQl9OwotCi0JLyogRklYTUU6IHNldCByZWcgcHJvcGVydHkgd2l0aCBjb3JyZWN0IHN0YXJ0IGFk ZHJlc3MgYW5kIHNpemUgKi8KLQltZW1vcnlAMCB7Ci0JCWRldmljZV90eXBlID0gIm1lbW9yeSI7 Ci0JCXJlZyA9IDwwIDA+OwotCX07Ci0KLQlmaXhlZC1yYXRlLWNsb2NrcyB7Ci0JCXh0YWwgewot CQkJY29tcGF0aWJsZSA9ICJzYW1zdW5nLGNsb2NrLXh0YWwiOwotCQkJY2xvY2stZnJlcXVlbmN5 ID0gPDUwMDAwMDAwPjsKLQkJfTsKLQl9OwotfTsKLQotJnBjaWVfMCB7Ci0JcmVzZXQtZ3BpbyA9 IDwmcGluX2N0cmwgNSBHUElPX0FDVElWRV9ISUdIPjsKLQlzdGF0dXMgPSAib2theSI7Ci19Owot Ci0mcGNpZV8xIHsKLQlyZXNldC1ncGlvID0gPCZwaW5fY3RybCAyMiBHUElPX0FDVElWRV9ISUdI PjsKLQlzdGF0dXMgPSAib2theSI7Ci19OwotCi0mc3BpXzAgewotCWZsYXNoOiB3MjVxMTI4QDAg ewotCQkjYWRkcmVzcy1jZWxscyA9IDwxPjsKLQkJI3NpemUtY2VsbHMgPSA8MT47Ci0JCWNvbXBh dGlibGUgPSAid2luYm9uZCx3MjVxMTI4IjsKLQkJc3BpLW1heC1mcmVxdWVuY3kgPSA8MTU2MjUw MDA+OwotCQlyZWcgPSA8MD47Ci0JCWNvbnRyb2xsZXItZGF0YSB7Ci0JCQlzYW1zdW5nLHNwaS1m ZWVkYmFjay1kZWxheSA9IDwwPjsKLQkJfTsKLQotCQlwYXJ0aXRpb25AMCB7Ci0JCQlsYWJlbCA9 ICJCb290TG9hZGVyIjsKLQkJCXJlZyA9IDwweDYwMDAwIDB4ODAwMDA+OwotCQkJcmVhZC1vbmx5 OwotCQl9OwotCi0JCXBhcnRpdGlvbkBlMDAwMCB7Ci0JCQlsYWJlbCA9ICJSZWNvdmVyeS1LZXJu ZWwiOwotCQkJcmVnID0gPDB4ZTAwMDAgMHgzMDAwMDA+OwotCQkJcmVhZC1vbmx5OwotCQl9Owot Ci0JCXBhcnRpdGlvbkAzZTAwMDAgewotCQkJbGFiZWwgPSAiQ1JBTS1GUyI7Ci0JCQlyZWcgPSA8 MHgzZTAwMDAgMHg3MDAwMDA+OwotCQkJcmVhZC1vbmx5OwotCQl9OwotCi0JCXBhcnRpdGlvbkBh ZTAwMDAgewotCQkJbGFiZWwgPSAiVXNlci1EYXRhIjsKLQkJCXJlZyA9IDwweGFlMDAwMCAweDUy MDAwMD47Ci0JCX07Ci0KLQl9OwotCi19OwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9vdC9kdHMv ZXh5bm9zNTQ0MC10bXUtc2Vuc29yLWNvbmYuZHRzaSBiL2FyY2gvYXJtL2Jvb3QvZHRzL2V4eW5v czU0NDAtdG11LXNlbnNvci1jb25mLmR0c2kKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDA0MjFjM2Q0MjkwNS4uMDAwMDAwMDAwMDAwCi0tLSBhL2FyY2gvYXJtL2Jvb3QvZHRzL2V4eW5v czU0NDAtdG11LXNlbnNvci1jb25mLmR0c2kKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBA Ci0vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAotLyoKLSAqIERldmljZSB0cmVl IHNvdXJjZXMgZm9yIEV4eW5vczU0NDAgVE1VIHNlbnNvciBjb25maWd1cmF0aW9uCi0gKgotICog Q29weXJpZ2h0IChjKSAyMDE0IEx1a2FzeiBNYWpld3NraSA8bC5tYWpld3NraUBzYW1zdW5nLmNv bT4KLSAqLwotCi0jaW5jbHVkZSA8ZHQtYmluZGluZ3MvdGhlcm1hbC90aGVybWFsX2V4eW5vcy5o PgotCi0jdGhlcm1hbC1zZW5zb3ItY2VsbHMgPSA8MD47Ci1zYW1zdW5nLHRtdV9nYWluID0gPDU+ Owotc2Ftc3VuZyx0bXVfcmVmZXJlbmNlX3ZvbHRhZ2UgPSA8MTY+Owotc2Ftc3VuZyx0bXVfbm9p c2VfY2FuY2VsX21vZGUgPSA8ND47Ci1zYW1zdW5nLHRtdV9lZnVzZV92YWx1ZSA9IDwweDVkMmQ+ Owotc2Ftc3VuZyx0bXVfbWluX2VmdXNlX3ZhbHVlID0gPDE2PjsKLXNhbXN1bmcsdG11X21heF9l ZnVzZV92YWx1ZSA9IDw3Nj47Ci1zYW1zdW5nLHRtdV9maXJzdF9wb2ludF90cmltID0gPDI1PjsK LXNhbXN1bmcsdG11X3NlY29uZF9wb2ludF90cmltID0gPDcwPjsKLXNhbXN1bmcsdG11X2RlZmF1 bHRfdGVtcF9vZmZzZXQgPSA8MjU+Owotc2Ftc3VuZyx0bXVfY2FsX3R5cGUgPSA8VFlQRV9PTkVf UE9JTlRfVFJJTU1JTkc+OwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9vdC9kdHMvZXh5bm9zNTQ0 MC10cmlwLXBvaW50cy5kdHNpIGIvYXJjaC9hcm0vYm9vdC9kdHMvZXh5bm9zNTQ0MC10cmlwLXBv aW50cy5kdHNpCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhMmIwNGZlZDdkMGIuLjAw MDAwMDAwMDAwMAotLS0gYS9hcmNoL2FybS9ib290L2R0cy9leHlub3M1NDQwLXRyaXAtcG9pbnRz LmR0c2kKKysrIC9kZXYvbnVsbApAQCAtMSwyMSArMCwwIEBACi0vLyBTUERYLUxpY2Vuc2UtSWRl bnRpZmllcjogR1BMLTIuMAotLyoKLSAqIERldmljZSB0cmVlIHNvdXJjZXMgZm9yIGRlZmF1bHQg RXh5bm9zNTQ0MCB0aGVybWFsIHpvbmUgZGVmaW5pdGlvbgotICoKLSAqIENvcHlyaWdodCAoYykg MjAxNCBMdWthc3ogTWFqZXdza2kgPGwubWFqZXdza2lAc2Ftc3VuZy5jb20+Ci0gKi8KLQotcG9s bGluZy1kZWxheS1wYXNzaXZlID0gPDA+OwotcG9sbGluZy1kZWxheSA9IDwwPjsKLXRyaXBzIHsK LQljcHUtYWxlcnQtMCB7Ci0JCXRlbXBlcmF0dXJlID0gPDEwMDAwMD47IC8qIG1pbGxpY2Vsc2l1 cyAqLwotCQloeXN0ZXJlc2lzID0gPDA+OyAvKiBtaWxsaWNlbHNpdXMgKi8KLQkJdHlwZSA9ICJh Y3RpdmUiOwotCX07Ci0JY3B1LWNyaXQtMCB7Ci0JCXRlbXBlcmF0dXJlID0gPDEwNTAwMD47IC8q IG1pbGxpY2Vsc2l1cyAqLwotCQloeXN0ZXJlc2lzID0gPDA+OyAvKiBtaWxsaWNlbHNpdXMgKi8K LQkJdHlwZSA9ICJjcml0aWNhbCI7Ci0JfTsKLX07CmRpZmYgLS1naXQgYS9hcmNoL2FybS9ib290 L2R0cy9leHlub3M1NDQwLmR0c2kgYi9hcmNoL2FybS9ib290L2R0cy9leHlub3M1NDQwLmR0c2kK ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGYzYWJlY2M0NDY1Ny4uMDAwMDAwMDAwMDAw Ci0tLSBhL2FyY2gvYXJtL2Jvb3QvZHRzL2V4eW5vczU0NDAuZHRzaQorKysgL2Rldi9udWxsCkBA IC0xLDM1NSArMCwwIEBACi0vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAotLyoK LSAqIFNBTVNVTkcgRVhZTk9TNTQ0MCBTb0MgZGV2aWNlIHRyZWUgc291cmNlCi0gKgotICogQ29w eXJpZ2h0IChjKSAyMDEyIFNhbXN1bmcgRWxlY3Ryb25pY3MgQ28uLCBMdGQuCi0gKgkJaHR0cDov L3d3dy5zYW1zdW5nLmNvbQotICovCi0KLSNpbmNsdWRlIDxkdC1iaW5kaW5ncy9jbG9jay9leHlu b3M1NDQwLmg+Ci0jaW5jbHVkZSA8ZHQtYmluZGluZ3MvaW50ZXJydXB0LWNvbnRyb2xsZXIvYXJt LWdpYy5oPgotI2luY2x1ZGUgPGR0LWJpbmRpbmdzL2ludGVycnVwdC1jb250cm9sbGVyL2lycS5o PgotCi0vIHsKLQljb21wYXRpYmxlID0gInNhbXN1bmcsZXh5bm9zNTQ0MCIsICJzYW1zdW5nLGV4 eW5vczUiOwotCi0JaW50ZXJydXB0LXBhcmVudCA9IDwmZ2ljPjsKLQkjYWRkcmVzcy1jZWxscyA9 IDwxPjsKLQkjc2l6ZS1jZWxscyA9IDwxPjsKLQotCWFsaWFzZXMgewotCQlzZXJpYWwwID0gJnNl cmlhbF8wOwotCQlzZXJpYWwxID0gJnNlcmlhbF8xOwotCQlzcGkwID0gJnNwaV8wOwotCQl0bXVj dHJsMCA9ICZ0bXVjdHJsXzA7Ci0JCXRtdWN0cmwxID0gJnRtdWN0cmxfMTsKLQkJdG11Y3RybDIg PSAmdG11Y3RybF8yOwotCX07Ci0KLQljcHVzIHsKLQkJI2FkZHJlc3MtY2VsbHMgPSA8MT47Ci0J CSNzaXplLWNlbGxzID0gPDA+OwotCi0JCWNwdUAwIHsKLQkJCWRldmljZV90eXBlID0gImNwdSI7 Ci0JCQljb21wYXRpYmxlID0gImFybSxjb3J0ZXgtYTE1IjsKLQkJCXJlZyA9IDwwPjsKLQkJfTsK LQkJY3B1QDEgewotCQkJZGV2aWNlX3R5cGUgPSAiY3B1IjsKLQkJCWNvbXBhdGlibGUgPSAiYXJt LGNvcnRleC1hMTUiOwotCQkJcmVnID0gPDE+OwotCQl9OwotCQljcHVAMiB7Ci0JCQlkZXZpY2Vf dHlwZSA9ICJjcHUiOwotCQkJY29tcGF0aWJsZSA9ICJhcm0sY29ydGV4LWExNSI7Ci0JCQlyZWcg PSA8Mj47Ci0JCX07Ci0JCWNwdUAzIHsKLQkJCWRldmljZV90eXBlID0gImNwdSI7Ci0JCQljb21w YXRpYmxlID0gImFybSxjb3J0ZXgtYTE1IjsKLQkJCXJlZyA9IDwzPjsKLQkJfTsKLQl9OwotCi0J c29jOiBzb2MgewotCQljb21wYXRpYmxlID0gInNpbXBsZS1idXMiOwotCQkjYWRkcmVzcy1jZWxs cyA9IDwxPjsKLQkJI3NpemUtY2VsbHMgPSA8MT47Ci0JCXJhbmdlczsKLQotCQljbG9jazogY2xv Y2stY29udHJvbGxlckAxNjAwMDAgewotCQkJY29tcGF0aWJsZSA9ICJzYW1zdW5nLGV4eW5vczU0 NDAtY2xvY2siOwotCQkJcmVnID0gPDB4MTYwMDAwIDB4MTAwMD47Ci0JCQkjY2xvY2stY2VsbHMg PSA8MT47Ci0JCX07Ci0KLQkJZ2ljOiBpbnRlcnJ1cHQtY29udHJvbGxlckAyZTAwMDAgewotCQkJ Y29tcGF0aWJsZSA9ICJhcm0sY29ydGV4LWExNS1naWMiOwotCQkJI2ludGVycnVwdC1jZWxscyA9 IDwzPjsKLQkJCWludGVycnVwdC1jb250cm9sbGVyOwotCQkJcmVnID0JPDB4MkUxMDAwIDB4MTAw MD4sCi0JCQkJPDB4MkUyMDAwIDB4MjAwMD4sCi0JCQkJPDB4MkU0MDAwIDB4MjAwMD4sCi0JCQkJ PDB4MkU2MDAwIDB4MjAwMD47Ci0JCQlpbnRlcnJ1cHRzID0gPEdJQ19QUEkgOQotCQkJCQkoR0lD X0NQVV9NQVNLX1NJTVBMRSg0KSB8IElSUV9UWVBFX0xFVkVMX0hJR0gpPjsKLQkJfTsKLQotCi0J CWFybS1wbXUgewotCQkJY29tcGF0aWJsZSA9ICJhcm0sY29ydGV4LWExNS1wbXUiLCAiYXJtLGNv cnRleC1hOS1wbXUiOwotCQkJaW50ZXJydXB0cyA9IDxHSUNfU1BJIDUyIElSUV9UWVBFX0xFVkVM X0hJR0g+LAotCQkJCSAgICAgPEdJQ19TUEkgNTMgSVJRX1RZUEVfTEVWRUxfSElHSD4sCi0JCQkJ ICAgICA8R0lDX1NQSSA1NCBJUlFfVFlQRV9MRVZFTF9ISUdIPiwKLQkJCQkgICAgIDxHSUNfU1BJ IDU1IElSUV9UWVBFX0xFVkVMX0hJR0g+OwotCQl9OwotCi0JCXRpbWVyIHsKLQkJCWNvbXBhdGli bGUgPSAiYXJtLGNvcnRleC1hMTUtdGltZXIiLAotCQkJCSAgICAgImFybSxhcm12Ny10aW1lciI7 Ci0JCQlpbnRlcnJ1cHRzID0gPEdJQ19QUEkgMTMgKEdJQ19DUFVfTUFTS19TSU1QTEUoNCkgfCBJ UlFfVFlQRV9MRVZFTF9MT1cpPiwKLQkJCQkgICAgIDxHSUNfUFBJIDE0IChHSUNfQ1BVX01BU0tf U0lNUExFKDQpIHwgSVJRX1RZUEVfTEVWRUxfTE9XKT4sCi0JCQkJICAgICA8R0lDX1BQSSAxMSAo R0lDX0NQVV9NQVNLX1NJTVBMRSg0KSB8IElSUV9UWVBFX0xFVkVMX0xPVyk+LAotCQkJCSAgICAg PEdJQ19QUEkgMTAgKEdJQ19DUFVfTUFTS19TSU1QTEUoNCkgfCBJUlFfVFlQRV9MRVZFTF9MT1cp PjsKLQkJCWNsb2NrLWZyZXF1ZW5jeSA9IDw1MDAwMDAwMD47Ci0JCX07Ci0KLQkJY3B1ZnJlcUAx NjAwMDAgewotCQkJY29tcGF0aWJsZSA9ICJzYW1zdW5nLGV4eW5vczU0NDAtY3B1ZnJlcSI7Ci0J CQlyZWcgPSA8MHgxNjAwMDAgMHgxMDAwPjsKLQkJCWludGVycnVwdHMgPSA8R0lDX1NQSSA1NyBJ UlFfVFlQRV9MRVZFTF9ISUdIPjsKLQkJCW9wZXJhdGluZy1wb2ludHMgPSA8Ci0JCQkJCS8qIEtI egkgIHVWICovCi0JCQkJCTE1MDAwMDAgMTEwMDAwMAotCQkJCQkxNDAwMDAwIDEwNzUwMDAKLQkJ CQkJMTMwMDAwMCAxMDUwMDAwCi0JCQkJCTEyMDAwMDAgMTAyNTAwMAotCQkJCQkxMTAwMDAwIDEw MDAwMDAKLQkJCQkJMTAwMDAwMCA5NzUwMDAKLQkJCQkJOTAwMDAwICA5NTAwMDAKLQkJCQkJODAw MDAwICA5MjUwMDAKLQkJCT47Ci0JCX07Ci0KLQkJc2VyaWFsXzA6IHNlcmlhbEBiMDAwMCB7Ci0J CQljb21wYXRpYmxlID0gInNhbXN1bmcsZXh5bm9zNDIxMC11YXJ0IjsKLQkJCXJlZyA9IDwweEIw MDAwIDB4MTAwMD47Ci0JCQlpbnRlcnJ1cHRzID0gPEdJQ19TUEkgMiBJUlFfVFlQRV9MRVZFTF9I SUdIPjsKLQkJCWNsb2NrcyA9IDwmY2xvY2sgQ0xLX0JfMTI1PiwgPCZjbG9jayBDTEtfQl8xMjU+ OwotCQkJY2xvY2stbmFtZXMgPSAidWFydCIsICJjbGtfdWFydF9iYXVkMCI7Ci0JCX07Ci0KLQkJ c2VyaWFsXzE6IHNlcmlhbEBjMDAwMCB7Ci0JCQljb21wYXRpYmxlID0gInNhbXN1bmcsZXh5bm9z NDIxMC11YXJ0IjsKLQkJCXJlZyA9IDwweEMwMDAwIDB4MTAwMD47Ci0JCQlpbnRlcnJ1cHRzID0g PEdJQ19TUEkgMyBJUlFfVFlQRV9MRVZFTF9ISUdIPjsKLQkJCWNsb2NrcyA9IDwmY2xvY2sgQ0xL X0JfMTI1PiwgPCZjbG9jayBDTEtfQl8xMjU+OwotCQkJY2xvY2stbmFtZXMgPSAidWFydCIsICJj bGtfdWFydF9iYXVkMCI7Ci0JCX07Ci0KLQkJc3BpXzA6IHNwaUBkMDAwMCB7Ci0JCQljb21wYXRp YmxlID0gInNhbXN1bmcsZXh5bm9zNTQ0MC1zcGkiOwotCQkJcmVnID0gPDB4RDAwMDAgMHgxMDA+ OwotCQkJaW50ZXJydXB0cyA9IDxHSUNfU1BJIDQgSVJRX1RZUEVfTEVWRUxfSElHSD47Ci0JCQkj YWRkcmVzcy1jZWxscyA9IDwxPjsKLQkJCSNzaXplLWNlbGxzID0gPDA+OwotCQkJc2Ftc3VuZyxz cGktc3JjLWNsayA9IDwwPjsKLQkJCW51bS1jcyA9IDwxPjsKLQkJCWNsb2NrcyA9IDwmY2xvY2sg Q0xLX0JfMTI1PiwgPCZjbG9jayBDTEtfU1BJX0JBVUQ+OwotCQkJY2xvY2stbmFtZXMgPSAic3Bp IiwgInNwaV9idXNjbGswIjsKLQkJfTsKLQotCQlwaW5fY3RybDogcGluY3RybEBlMDAwMCB7Ci0J CQljb21wYXRpYmxlID0gInNhbXN1bmcsZXh5bm9zNTQ0MC1waW5jdHJsIjsKLQkJCXJlZyA9IDww eEUwMDAwIDB4MTAwMD47Ci0JCQlpbnRlcnJ1cHRzID0gPEdJQ19TUEkgMzcgSVJRX1RZUEVfTEVW RUxfSElHSD4sCi0JCQkJICAgICA8R0lDX1NQSSAzOCBJUlFfVFlQRV9MRVZFTF9ISUdIPiwKLQkJ CQkgICAgIDxHSUNfU1BJIDM5IElSUV9UWVBFX0xFVkVMX0hJR0g+LAotCQkJCSAgICAgPEdJQ19T UEkgNDAgSVJRX1RZUEVfTEVWRUxfSElHSD4sCi0JCQkJICAgICA8R0lDX1NQSSA0MSBJUlFfVFlQ RV9MRVZFTF9ISUdIPiwKLQkJCQkgICAgIDxHSUNfU1BJIDQyIElSUV9UWVBFX0xFVkVMX0hJR0g+ LAotCQkJCSAgICAgPEdJQ19TUEkgNDMgSVJRX1RZUEVfTEVWRUxfSElHSD4sCi0JCQkJICAgICA8 R0lDX1NQSSA0NCBJUlFfVFlQRV9MRVZFTF9ISUdIPjsKLQkJCWludGVycnVwdC1jb250cm9sbGVy OwotCQkJI2ludGVycnVwdC1jZWxscyA9IDwyPjsKLQkJCSNncGlvLWNlbGxzID0gPDI+OwotCi0J CQlmYW46IGZhbiB7Ci0JCQkJc2Ftc3VuZyxleHlub3M1NDQwLXBpbi1mdW5jdGlvbiA9IDwxPjsK LQkJCX07Ci0KLQkJCWhkZF9sZWQwOiBoZGRfbGVkMCB7Ci0JCQkJc2Ftc3VuZyxleHlub3M1NDQw LXBpbi1mdW5jdGlvbiA9IDwyPjsKLQkJCX07Ci0KLQkJCWhkZF9sZWQxOiBoZGRfbGVkMSB7Ci0J CQkJc2Ftc3VuZyxleHlub3M1NDQwLXBpbi1mdW5jdGlvbiA9IDwzPjsKLQkJCX07Ci0KLQkJCXVh cnQxOiB1YXJ0MSB7Ci0JCQkJc2Ftc3VuZyxleHlub3M1NDQwLXBpbi1mdW5jdGlvbiA9IDw0PjsK LQkJCX07Ci0JCX07Ci0KLQkJaTJjQGYwMDAwIHsKLQkJCWNvbXBhdGlibGUgPSAic2Ftc3VuZyxl eHlub3M1NDQwLWkyYyI7Ci0JCQlyZWcgPSA8MHhGMDAwMCAweDEwMDA+OwotCQkJaW50ZXJydXB0 cyA9IDxHSUNfU1BJIDUgSVJRX1RZUEVfTEVWRUxfSElHSD47Ci0JCQkjYWRkcmVzcy1jZWxscyA9 IDwxPjsKLQkJCSNzaXplLWNlbGxzID0gPDA+OwotCQkJY2xvY2tzID0gPCZjbG9jayBDTEtfQl8x MjU+OwotCQkJY2xvY2stbmFtZXMgPSAiaTJjIjsKLQkJfTsKLQotCQlpMmNAMTAwMDAwIHsKLQkJ CWNvbXBhdGlibGUgPSAic2Ftc3VuZyxleHlub3M1NDQwLWkyYyI7Ci0JCQlyZWcgPSA8MHgxMDAw MDAgMHgxMDAwPjsKLQkJCWludGVycnVwdHMgPSA8R0lDX1NQSSA2IElSUV9UWVBFX0xFVkVMX0hJ R0g+OwotCQkJI2FkZHJlc3MtY2VsbHMgPSA8MT47Ci0JCQkjc2l6ZS1jZWxscyA9IDwwPjsKLQkJ CWNsb2NrcyA9IDwmY2xvY2sgQ0xLX0JfMTI1PjsKLQkJCWNsb2NrLW5hbWVzID0gImkyYyI7Ci0J CX07Ci0KLQkJd2F0Y2hkb2dAMTEwMDAwIHsKLQkJCWNvbXBhdGlibGUgPSAic2Ftc3VuZyxzM2M2 NDEwLXdkdCI7Ci0JCQlyZWcgPSA8MHgxMTAwMDAgMHgxMDAwPjsKLQkJCWludGVycnVwdHMgPSA8 R0lDX1NQSSAxIElSUV9UWVBFX0xFVkVMX0hJR0g+OwotCQkJY2xvY2tzID0gPCZjbG9jayBDTEtf Ql8xMjU+OwotCQkJY2xvY2stbmFtZXMgPSAid2F0Y2hkb2ciOwotCQl9OwotCi0JCWdtYWM6IGV0 aGVybmV0QDIzMDAwMCB7Ci0JCQljb21wYXRpYmxlID0gInNucHMsZHdtYWMtMy43MGEiLCAic25w cyxkd21hYyI7Ci0JCQlyZWcgPSA8MHgwMDIzMDAwMCAweDgwMDA+OwotCQkJaW50ZXJydXB0LXBh cmVudCA9IDwmZ2ljPjsKLQkJCWludGVycnVwdHMgPSA8R0lDX1NQSSAzMSBJUlFfVFlQRV9MRVZF TF9ISUdIPjsKLQkJCWludGVycnVwdC1uYW1lcyA9ICJtYWNpcnEiOwotCQkJcGh5LW1vZGUgPSAi c2dtaWkiOwotCQkJY2xvY2tzID0gPCZjbG9jayBDTEtfR01BQzA+OwotCQkJY2xvY2stbmFtZXMg PSAic3RtbWFjZXRoIjsKLQkJfTsKLQotCQlhbWJhIHsKLQkJCSNhZGRyZXNzLWNlbGxzID0gPDE+ OwotCQkJI3NpemUtY2VsbHMgPSA8MT47Ci0JCQljb21wYXRpYmxlID0gInNpbXBsZS1idXMiOwot CQkJaW50ZXJydXB0LXBhcmVudCA9IDwmZ2ljPjsKLQkJCXJhbmdlczsKLQkJfTsKLQotCQlydGNA MTMwMDAwIHsKLQkJCWNvbXBhdGlibGUgPSAic2Ftc3VuZyxzM2M2NDEwLXJ0YyI7Ci0JCQlyZWcg PSA8MHgxMzAwMDAgMHgxMDAwPjsKLQkJCWludGVycnVwdHMgPSA8R0lDX1NQSSAxNyBJUlFfVFlQ RV9MRVZFTF9ISUdIPiwKLQkJCQkgICAgIDxHSUNfU1BJIDE2IElSUV9UWVBFX0xFVkVMX0hJR0g+ OwotCQkJY2xvY2tzID0gPCZjbG9jayBDTEtfQl8xMjU+OwotCQkJY2xvY2stbmFtZXMgPSAicnRj IjsKLQkJfTsKLQotCQl0bXVjdHJsXzA6IHRtdWN0cmxAMTYwMTE4IHsKLQkJCWNvbXBhdGlibGUg PSAic2Ftc3VuZyxleHlub3M1NDQwLXRtdSI7Ci0JCQlyZWcgPSA8MHgxNjAxMTggMHgyMzA+LCA8 MHgxNjAzNjggMHgxMD47Ci0JCQlpbnRlcnJ1cHRzID0gPEdJQ19TUEkgNTggSVJRX1RZUEVfTEVW RUxfSElHSD47Ci0JCQljbG9ja3MgPSA8JmNsb2NrIENMS19CXzEyNT47Ci0JCQljbG9jay1uYW1l cyA9ICJ0bXVfYXBiaWYiOwotCQkJI2luY2x1ZGUgImV4eW5vczU0NDAtdG11LXNlbnNvci1jb25m LmR0c2kiCi0JCX07Ci0KLQkJdG11Y3RybF8xOiB0bXVjdHJsQDE2MDExYyB7Ci0JCQljb21wYXRp YmxlID0gInNhbXN1bmcsZXh5bm9zNTQ0MC10bXUiOwotCQkJcmVnID0gPDB4MTYwMTFDIDB4MjMw PiwgPDB4MTYwMzY4IDB4MTA+OwotCQkJaW50ZXJydXB0cyA9IDxHSUNfU1BJIDU4IElSUV9UWVBF X0xFVkVMX0hJR0g+OwotCQkJY2xvY2tzID0gPCZjbG9jayBDTEtfQl8xMjU+OwotCQkJY2xvY2st bmFtZXMgPSAidG11X2FwYmlmIjsKLQkJCSNpbmNsdWRlICJleHlub3M1NDQwLXRtdS1zZW5zb3It Y29uZi5kdHNpIgotCQl9OwotCi0JCXRtdWN0cmxfMjogdG11Y3RybEAxNjAxMjAgewotCQkJY29t cGF0aWJsZSA9ICJzYW1zdW5nLGV4eW5vczU0NDAtdG11IjsKLQkJCXJlZyA9IDwweDE2MDEyMCAw eDIzMD4sIDwweDE2MDM2OCAweDEwPjsKLQkJCWludGVycnVwdHMgPSA8R0lDX1NQSSA1OCBJUlFf VFlQRV9MRVZFTF9ISUdIPjsKLQkJCWNsb2NrcyA9IDwmY2xvY2sgQ0xLX0JfMTI1PjsKLQkJCWNs b2NrLW5hbWVzID0gInRtdV9hcGJpZiI7Ci0JCQkjaW5jbHVkZSAiZXh5bm9zNTQ0MC10bXUtc2Vu c29yLWNvbmYuZHRzaSIKLQkJfTsKLQotCQlzYXRhQDIxMDAwMCB7Ci0JCQljb21wYXRpYmxlID0g InNucHMsZXh5bm9zNTQ0MC1haGNpIjsKLQkJCXJlZyA9IDwweDIxMDAwMCAweDEwMDAwPjsKLQkJ CWludGVycnVwdHMgPSA8R0lDX1NQSSAzMCBJUlFfVFlQRV9MRVZFTF9ISUdIPjsKLQkJCWNsb2Nr cyA9IDwmY2xvY2sgQ0xLX1NBVEE+OwotCQkJY2xvY2stbmFtZXMgPSAic2F0YSI7Ci0JCX07Ci0K LQkJb2hjaUAyMjAwMDAgewotCQkJY29tcGF0aWJsZSA9ICJzYW1zdW5nLGV4eW5vczU0NDAtb2hj aSI7Ci0JCQlyZWcgPSA8MHgyMjAwMDAgMHgxMDAwPjsKLQkJCWludGVycnVwdHMgPSA8R0lDX1NQ SSAyOSBJUlFfVFlQRV9MRVZFTF9ISUdIPjsKLQkJCWNsb2NrcyA9IDwmY2xvY2sgQ0xLX1VTQj47 Ci0JCQljbG9jay1uYW1lcyA9ICJ1c2Job3N0IjsKLQkJfTsKLQotCQllaGNpQDIyMTAwMCB7Ci0J CQljb21wYXRpYmxlID0gInNhbXN1bmcsZXh5bm9zNTQ0MC1laGNpIjsKLQkJCXJlZyA9IDwweDIy MTAwMCAweDEwMDA+OwotCQkJaW50ZXJydXB0cyA9IDxHSUNfU1BJIDI5IElSUV9UWVBFX0xFVkVM X0hJR0g+OwotCQkJY2xvY2tzID0gPCZjbG9jayBDTEtfVVNCPjsKLQkJCWNsb2NrLW5hbWVzID0g InVzYmhvc3QiOwotCQl9OwotCi0JCXBjaWVfcGh5MDogcGNpZS1waHlAMjcwMDAwIHsKLQkJCSNw aHktY2VsbHMgPSA8MD47Ci0JCQljb21wYXRpYmxlID0gInNhbXN1bmcsZXh5bm9zNTQ0MC1wY2ll LXBoeSI7Ci0JCQlyZWcgPSA8MHgyNzAwMDAgMHgxMDAwPiwgPDB4MjcxMDAwIDB4NDA+OwotCQl9 OwotCi0JCXBjaWVfcGh5MTogcGNpZS1waHlAMjcyMDAwIHsKLQkJCSNwaHktY2VsbHMgPSA8MD47 Ci0JCQljb21wYXRpYmxlID0gInNhbXN1bmcsZXh5bm9zNTQ0MC1wY2llLXBoeSI7Ci0JCQlyZWcg PSA8MHgyNzIwMDAgMHgxMDAwPiwgPDB4MjcxMDQwIDB4NDA+OwotCQl9OwotCi0JCXBjaWVfMDog cGNpZUAyOTAwMDAgewotCQkJY29tcGF0aWJsZSA9ICJzYW1zdW5nLGV4eW5vczU0NDAtcGNpZSIs ICJzbnBzLGR3LXBjaWUiOwotCQkJcmVnID0gPDB4MjkwMDAwIDB4MTAwMD4sIDwweDQwMDAwMDAw IDB4MTAwMD47Ci0JCQlyZWctbmFtZXMgPSAiZWxiaSIsICJjb25maWciOwotCQkJaW50ZXJydXB0 cyA9IDxHSUNfU1BJIDIwIElSUV9UWVBFX0xFVkVMX0hJR0g+LAotCQkJCSAgICAgPEdJQ19TUEkg MjEgSVJRX1RZUEVfTEVWRUxfSElHSD4sCi0JCQkJICAgICA8R0lDX1NQSSAyMiBJUlFfVFlQRV9M RVZFTF9ISUdIPjsKLQkJCWNsb2NrcyA9IDwmY2xvY2sgQ0xLX1BSMF8yNTBfTz4sIDwmY2xvY2sg Q0xLX1BCMF8yNTBfTz47Ci0JCQljbG9jay1uYW1lcyA9ICJwY2llIiwgInBjaWVfYnVzIjsKLQkJ CSNhZGRyZXNzLWNlbGxzID0gPDM+OwotCQkJI3NpemUtY2VsbHMgPSA8Mj47Ci0JCQlkZXZpY2Vf dHlwZSA9ICJwY2kiOwotCQkJcGh5cyA9IDwmcGNpZV9waHkwPjsKLQkJCXJhbmdlcyA9IDwweDgx MDAwMDAwIDAgMAkgIDB4NDAwMDEwMDAgMCAweDAwMDEwMDAwICAgLyogZG93bnN0cmVhbSBJL08g Ki8KLQkJCQkgIDB4ODIwMDAwMDAgMCAweDQwMDExMDAwIDB4NDAwMTEwMDAgMCAweDFmZmVmMDAw PjsgLyogbm9uLXByZWZldGNoYWJsZSBtZW1vcnkgKi8KLQkJCWJ1cy1yYW5nZSA9IDwweDAwIDB4 ZmY+OwotCQkJI2ludGVycnVwdC1jZWxscyA9IDwxPjsKLQkJCWludGVycnVwdC1tYXAtbWFzayA9 IDwwIDAgMCAwPjsKLQkJCWludGVycnVwdC1tYXAgPSA8MHgwIDAgJmdpYyA1Mz47Ci0JCQludW0t bGFuZXMgPSA8ND47Ci0JCQlzdGF0dXMgPSAiZGlzYWJsZWQiOwotCQl9OwotCi0JCXBjaWVfMTog cGNpZUAyYTAwMDAgewotCQkJY29tcGF0aWJsZSA9ICJzYW1zdW5nLGV4eW5vczU0NDAtcGNpZSIs ICJzbnBzLGR3LXBjaWUiOwotCQkJcmVnID0gPDB4MmEwMDAwIDB4MTAwMD4sIDwweDYwMDAwMDAw IDB4MTAwMD47Ci0JCQlyZWctbmFtZXMgPSAiZWxiaSIsICJjb25maWciOwotCQkJaW50ZXJydXB0 cyA9IDxHSUNfU1BJIDIzIElSUV9UWVBFX0xFVkVMX0hJR0g+LAotCQkJCSAgICAgPEdJQ19TUEkg MjQgSVJRX1RZUEVfTEVWRUxfSElHSD4sCi0JCQkJICAgICA8R0lDX1NQSSAyNSBJUlFfVFlQRV9M RVZFTF9ISUdIPjsKLQkJCWNsb2NrcyA9IDwmY2xvY2sgQ0xLX1BSMV8yNTBfTz4sIDwmY2xvY2sg Q0xLX1BCMF8yNTBfTz47Ci0JCQljbG9jay1uYW1lcyA9ICJwY2llIiwgInBjaWVfYnVzIjsKLQkJ CSNhZGRyZXNzLWNlbGxzID0gPDM+OwotCQkJI3NpemUtY2VsbHMgPSA8Mj47Ci0JCQlkZXZpY2Vf dHlwZSA9ICJwY2kiOwotCQkJcGh5cyA9IDwmcGNpZV9waHkxPjsKLQkJCXJhbmdlcyA9IDwweDgx MDAwMDAwIDAgMAkgIDB4NjAwMDEwMDAgMCAweDAwMDEwMDAwICAgLyogZG93bnN0cmVhbSBJL08g Ki8KLQkJCQkgIDB4ODIwMDAwMDAgMCAweDYwMDExMDAwIDB4NjAwMTEwMDAgMCAweDFmZmVmMDAw PjsgLyogbm9uLXByZWZldGNoYWJsZSBtZW1vcnkgKi8KLQkJCWJ1cy1yYW5nZSA9IDwweDAwIDB4 ZmY+OwotCQkJI2ludGVycnVwdC1jZWxscyA9IDwxPjsKLQkJCWludGVycnVwdC1tYXAtbWFzayA9 IDwwIDAgMCAwPjsKLQkJCWludGVycnVwdC1tYXAgPSA8MHgwIDAgJmdpYyA1Nj47Ci0JCQludW0t bGFuZXMgPSA8ND47Ci0JCQlzdGF0dXMgPSAiZGlzYWJsZWQiOwotCQl9OwotCX07Ci0KLQl0aGVy bWFsLXpvbmVzIHsKLQkJY3B1MF90aGVybWFsOiBjcHUwLXRoZXJtYWwgewotCQkJdGhlcm1hbC1z ZW5zb3JzID0gPCZ0bXVjdHJsXzA+OwotCQkJI2luY2x1ZGUgImV4eW5vczU0NDAtdHJpcC1wb2lu dHMuZHRzaSIKLQkJfTsKLQkJY3B1MV90aGVybWFsOiBjcHUxLXRoZXJtYWwgewotCQkgICAgICAg dGhlcm1hbC1zZW5zb3JzID0gPCZ0bXVjdHJsXzE+OwotCQkgICAgICAgI2luY2x1ZGUgImV4eW5v czU0NDAtdHJpcC1wb2ludHMuZHRzaSIKLQkJfTsKLQkJY3B1Ml90aGVybWFsOiBjcHUyLXRoZXJt YWwgewotCQkgICAgICAgdGhlcm1hbC1zZW5zb3JzID0gPCZ0bXVjdHJsXzI+OwotCQkgICAgICAg I2luY2x1ZGUgImV4eW5vczU0NDAtdHJpcC1wb2ludHMuZHRzaSIKLQkJfTsKLQl9OwotfTsK From mboxrd@z Thu Jan 1 00:00:00 1970 From: krzk@kernel.org (Krzysztof Kozlowski) Date: Tue, 24 Apr 2018 22:32:30 +0200 Subject: [RFC 01/10] ARM: dts: exynos: Remove Exynos5440 In-Reply-To: <20180424203239.21885-1-krzk@kernel.org> References: <20180424203239.21885-1-krzk@kernel.org> Message-ID: <20180424203239.21885-2-krzk@kernel.org> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org The Exynos5440 (quad-core A15 with GMAC, PCIe, SATA) was targeting server platforms but it did not make it to the market really. There are no development boards with it and probably there are no real products neither. The development for Exynos5440 ended in 2013 and since then the platform is in maintenance mode. Remove all Device Tree sources for Exynos5440, as first step of removal of the platform to simplify the code and drivers. Signed-off-by: Krzysztof Kozlowski --- .../bindings/arm/samsung/samsung-boards.txt | 2 - arch/arm/boot/dts/Makefile | 2 - arch/arm/boot/dts/exynos5440-sd5v1.dts | 42 --- arch/arm/boot/dts/exynos5440-ssdk5440.dts | 81 ----- arch/arm/boot/dts/exynos5440-tmu-sensor-conf.dtsi | 20 -- arch/arm/boot/dts/exynos5440-trip-points.dtsi | 21 -- arch/arm/boot/dts/exynos5440.dtsi | 355 --------------------- 7 files changed, 523 deletions(-) delete mode 100644 arch/arm/boot/dts/exynos5440-sd5v1.dts delete mode 100644 arch/arm/boot/dts/exynos5440-ssdk5440.dts delete mode 100644 arch/arm/boot/dts/exynos5440-tmu-sensor-conf.dtsi delete mode 100644 arch/arm/boot/dts/exynos5440-trip-points.dtsi delete mode 100644 arch/arm/boot/dts/exynos5440.dtsi diff --git a/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt b/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt index 14510b215480..bdadc3da9556 100644 --- a/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt +++ b/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt @@ -21,8 +21,6 @@ Required root node properties: - "samsung,smdk5420" - for Exynos5420-based Samsung SMDK5420 eval board. - "samsung,tm2" - for Exynos5433-based Samsung TM2 board. - "samsung,tm2e" - for Exynos5433-based Samsung TM2E board. - - "samsung,sd5v1" - for Exynos5440-based Samsung board. - - "samsung,ssdk5440" - for Exynos5440-based Samsung board. * Other companies Exynos SoC based * FriendlyARM diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 9ea57f8ebc4e..bf098f59fd0a 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -191,8 +191,6 @@ dtb-$(CONFIG_ARCH_EXYNOS5) += \ exynos5422-odroidxu3.dtb \ exynos5422-odroidxu3-lite.dtb \ exynos5422-odroidxu4.dtb \ - exynos5440-sd5v1.dtb \ - exynos5440-ssdk5440.dtb \ exynos5800-peach-pi.dtb dtb-$(CONFIG_ARCH_GEMINI) += \ gemini-dlink-dir-685.dtb \ diff --git a/arch/arm/boot/dts/exynos5440-sd5v1.dts b/arch/arm/boot/dts/exynos5440-sd5v1.dts deleted file mode 100644 index c4b8392d1ae1..000000000000 --- a/arch/arm/boot/dts/exynos5440-sd5v1.dts +++ /dev/null @@ -1,42 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 -/* - * SAMSUNG SD5v1 board device tree source - * - * Copyright (c) 2013 Samsung Electronics Co., Ltd. - * http://www.samsung.com - */ - -/dts-v1/; -#include "exynos5440.dtsi" - -/ { - model = "SAMSUNG SD5v1 board based on EXYNOS5440"; - compatible = "samsung,sd5v1", "samsung,exynos5440", "samsung,exynos5"; - - chosen { - bootargs = "root=/dev/sda2 rw rootwait ignore_loglevel earlyprintk no_console_suspend mem=2048M at 0x80000000 mem=6144M at 0x100000000 console=ttySAC0,115200"; - }; - - /* FIXME: set reg property with correct start address and size */ - memory at 0 { - device_type = "memory"; - reg = <0 0>; - }; - - fixed-rate-clocks { - xtal { - compatible = "samsung,clock-xtal"; - clock-frequency = <50000000>; - }; - }; - - spi { - status = "disabled"; - }; - -}; - -&gmac { - fixed_phy; - phy_addr = <1>; -}; diff --git a/arch/arm/boot/dts/exynos5440-ssdk5440.dts b/arch/arm/boot/dts/exynos5440-ssdk5440.dts deleted file mode 100644 index a33c4fc29ae5..000000000000 --- a/arch/arm/boot/dts/exynos5440-ssdk5440.dts +++ /dev/null @@ -1,81 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 -/* - * SAMSUNG SSDK5440 board device tree source - * - * Copyright (c) 2012 Samsung Electronics Co., Ltd. - * http://www.samsung.com - */ - -/dts-v1/; -#include "exynos5440.dtsi" -#include - -/ { - model = "SAMSUNG SSDK5440 board based on EXYNOS5440"; - compatible = "samsung,ssdk5440", "samsung,exynos5440", "samsung,exynos5"; - - chosen { - bootargs = "root=/dev/sda2 rw rootwait ignore_loglevel earlyprintk no_console_suspend mem=2048M at 0x80000000 mem=6144M at 0x100000000 console=ttySAC0,115200"; - }; - - /* FIXME: set reg property with correct start address and size */ - memory at 0 { - device_type = "memory"; - reg = <0 0>; - }; - - fixed-rate-clocks { - xtal { - compatible = "samsung,clock-xtal"; - clock-frequency = <50000000>; - }; - }; -}; - -&pcie_0 { - reset-gpio = <&pin_ctrl 5 GPIO_ACTIVE_HIGH>; - status = "okay"; -}; - -&pcie_1 { - reset-gpio = <&pin_ctrl 22 GPIO_ACTIVE_HIGH>; - status = "okay"; -}; - -&spi_0 { - flash: w25q128 at 0 { - #address-cells = <1>; - #size-cells = <1>; - compatible = "winbond,w25q128"; - spi-max-frequency = <15625000>; - reg = <0>; - controller-data { - samsung,spi-feedback-delay = <0>; - }; - - partition at 0 { - label = "BootLoader"; - reg = <0x60000 0x80000>; - read-only; - }; - - partition at e0000 { - label = "Recovery-Kernel"; - reg = <0xe0000 0x300000>; - read-only; - }; - - partition at 3e0000 { - label = "CRAM-FS"; - reg = <0x3e0000 0x700000>; - read-only; - }; - - partition at ae0000 { - label = "User-Data"; - reg = <0xae0000 0x520000>; - }; - - }; - -}; diff --git a/arch/arm/boot/dts/exynos5440-tmu-sensor-conf.dtsi b/arch/arm/boot/dts/exynos5440-tmu-sensor-conf.dtsi deleted file mode 100644 index 0421c3d42905..000000000000 --- a/arch/arm/boot/dts/exynos5440-tmu-sensor-conf.dtsi +++ /dev/null @@ -1,20 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 -/* - * Device tree sources for Exynos5440 TMU sensor configuration - * - * Copyright (c) 2014 Lukasz Majewski - */ - -#include - -#thermal-sensor-cells = <0>; -samsung,tmu_gain = <5>; -samsung,tmu_reference_voltage = <16>; -samsung,tmu_noise_cancel_mode = <4>; -samsung,tmu_efuse_value = <0x5d2d>; -samsung,tmu_min_efuse_value = <16>; -samsung,tmu_max_efuse_value = <76>; -samsung,tmu_first_point_trim = <25>; -samsung,tmu_second_point_trim = <70>; -samsung,tmu_default_temp_offset = <25>; -samsung,tmu_cal_type = ; diff --git a/arch/arm/boot/dts/exynos5440-trip-points.dtsi b/arch/arm/boot/dts/exynos5440-trip-points.dtsi deleted file mode 100644 index a2b04fed7d0b..000000000000 --- a/arch/arm/boot/dts/exynos5440-trip-points.dtsi +++ /dev/null @@ -1,21 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 -/* - * Device tree sources for default Exynos5440 thermal zone definition - * - * Copyright (c) 2014 Lukasz Majewski - */ - -polling-delay-passive = <0>; -polling-delay = <0>; -trips { - cpu-alert-0 { - temperature = <100000>; /* millicelsius */ - hysteresis = <0>; /* millicelsius */ - type = "active"; - }; - cpu-crit-0 { - temperature = <105000>; /* millicelsius */ - hysteresis = <0>; /* millicelsius */ - type = "critical"; - }; -}; diff --git a/arch/arm/boot/dts/exynos5440.dtsi b/arch/arm/boot/dts/exynos5440.dtsi deleted file mode 100644 index f3abecc44657..000000000000 --- a/arch/arm/boot/dts/exynos5440.dtsi +++ /dev/null @@ -1,355 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 -/* - * SAMSUNG EXYNOS5440 SoC device tree source - * - * Copyright (c) 2012 Samsung Electronics Co., Ltd. - * http://www.samsung.com - */ - -#include -#include -#include - -/ { - compatible = "samsung,exynos5440", "samsung,exynos5"; - - interrupt-parent = <&gic>; - #address-cells = <1>; - #size-cells = <1>; - - aliases { - serial0 = &serial_0; - serial1 = &serial_1; - spi0 = &spi_0; - tmuctrl0 = &tmuctrl_0; - tmuctrl1 = &tmuctrl_1; - tmuctrl2 = &tmuctrl_2; - }; - - cpus { - #address-cells = <1>; - #size-cells = <0>; - - cpu at 0 { - device_type = "cpu"; - compatible = "arm,cortex-a15"; - reg = <0>; - }; - cpu at 1 { - device_type = "cpu"; - compatible = "arm,cortex-a15"; - reg = <1>; - }; - cpu at 2 { - device_type = "cpu"; - compatible = "arm,cortex-a15"; - reg = <2>; - }; - cpu at 3 { - device_type = "cpu"; - compatible = "arm,cortex-a15"; - reg = <3>; - }; - }; - - soc: soc { - compatible = "simple-bus"; - #address-cells = <1>; - #size-cells = <1>; - ranges; - - clock: clock-controller at 160000 { - compatible = "samsung,exynos5440-clock"; - reg = <0x160000 0x1000>; - #clock-cells = <1>; - }; - - gic: interrupt-controller at 2e0000 { - compatible = "arm,cortex-a15-gic"; - #interrupt-cells = <3>; - interrupt-controller; - reg = <0x2E1000 0x1000>, - <0x2E2000 0x2000>, - <0x2E4000 0x2000>, - <0x2E6000 0x2000>; - interrupts = ; - }; - - - arm-pmu { - compatible = "arm,cortex-a15-pmu", "arm,cortex-a9-pmu"; - interrupts = , - , - , - ; - }; - - timer { - compatible = "arm,cortex-a15-timer", - "arm,armv7-timer"; - interrupts = , - , - , - ; - clock-frequency = <50000000>; - }; - - cpufreq at 160000 { - compatible = "samsung,exynos5440-cpufreq"; - reg = <0x160000 0x1000>; - interrupts = ; - operating-points = < - /* KHz uV */ - 1500000 1100000 - 1400000 1075000 - 1300000 1050000 - 1200000 1025000 - 1100000 1000000 - 1000000 975000 - 900000 950000 - 800000 925000 - >; - }; - - serial_0: serial at b0000 { - compatible = "samsung,exynos4210-uart"; - reg = <0xB0000 0x1000>; - interrupts = ; - clocks = <&clock CLK_B_125>, <&clock CLK_B_125>; - clock-names = "uart", "clk_uart_baud0"; - }; - - serial_1: serial at c0000 { - compatible = "samsung,exynos4210-uart"; - reg = <0xC0000 0x1000>; - interrupts = ; - clocks = <&clock CLK_B_125>, <&clock CLK_B_125>; - clock-names = "uart", "clk_uart_baud0"; - }; - - spi_0: spi at d0000 { - compatible = "samsung,exynos5440-spi"; - reg = <0xD0000 0x100>; - interrupts = ; - #address-cells = <1>; - #size-cells = <0>; - samsung,spi-src-clk = <0>; - num-cs = <1>; - clocks = <&clock CLK_B_125>, <&clock CLK_SPI_BAUD>; - clock-names = "spi", "spi_busclk0"; - }; - - pin_ctrl: pinctrl at e0000 { - compatible = "samsung,exynos5440-pinctrl"; - reg = <0xE0000 0x1000>; - interrupts = , - , - , - , - , - , - , - ; - interrupt-controller; - #interrupt-cells = <2>; - #gpio-cells = <2>; - - fan: fan { - samsung,exynos5440-pin-function = <1>; - }; - - hdd_led0: hdd_led0 { - samsung,exynos5440-pin-function = <2>; - }; - - hdd_led1: hdd_led1 { - samsung,exynos5440-pin-function = <3>; - }; - - uart1: uart1 { - samsung,exynos5440-pin-function = <4>; - }; - }; - - i2c at f0000 { - compatible = "samsung,exynos5440-i2c"; - reg = <0xF0000 0x1000>; - interrupts = ; - #address-cells = <1>; - #size-cells = <0>; - clocks = <&clock CLK_B_125>; - clock-names = "i2c"; - }; - - i2c at 100000 { - compatible = "samsung,exynos5440-i2c"; - reg = <0x100000 0x1000>; - interrupts = ; - #address-cells = <1>; - #size-cells = <0>; - clocks = <&clock CLK_B_125>; - clock-names = "i2c"; - }; - - watchdog at 110000 { - compatible = "samsung,s3c6410-wdt"; - reg = <0x110000 0x1000>; - interrupts = ; - clocks = <&clock CLK_B_125>; - clock-names = "watchdog"; - }; - - gmac: ethernet at 230000 { - compatible = "snps,dwmac-3.70a", "snps,dwmac"; - reg = <0x00230000 0x8000>; - interrupt-parent = <&gic>; - interrupts = ; - interrupt-names = "macirq"; - phy-mode = "sgmii"; - clocks = <&clock CLK_GMAC0>; - clock-names = "stmmaceth"; - }; - - amba { - #address-cells = <1>; - #size-cells = <1>; - compatible = "simple-bus"; - interrupt-parent = <&gic>; - ranges; - }; - - rtc at 130000 { - compatible = "samsung,s3c6410-rtc"; - reg = <0x130000 0x1000>; - interrupts = , - ; - clocks = <&clock CLK_B_125>; - clock-names = "rtc"; - }; - - tmuctrl_0: tmuctrl at 160118 { - compatible = "samsung,exynos5440-tmu"; - reg = <0x160118 0x230>, <0x160368 0x10>; - interrupts = ; - clocks = <&clock CLK_B_125>; - clock-names = "tmu_apbif"; - #include "exynos5440-tmu-sensor-conf.dtsi" - }; - - tmuctrl_1: tmuctrl at 16011c { - compatible = "samsung,exynos5440-tmu"; - reg = <0x16011C 0x230>, <0x160368 0x10>; - interrupts = ; - clocks = <&clock CLK_B_125>; - clock-names = "tmu_apbif"; - #include "exynos5440-tmu-sensor-conf.dtsi" - }; - - tmuctrl_2: tmuctrl at 160120 { - compatible = "samsung,exynos5440-tmu"; - reg = <0x160120 0x230>, <0x160368 0x10>; - interrupts = ; - clocks = <&clock CLK_B_125>; - clock-names = "tmu_apbif"; - #include "exynos5440-tmu-sensor-conf.dtsi" - }; - - sata at 210000 { - compatible = "snps,exynos5440-ahci"; - reg = <0x210000 0x10000>; - interrupts = ; - clocks = <&clock CLK_SATA>; - clock-names = "sata"; - }; - - ohci at 220000 { - compatible = "samsung,exynos5440-ohci"; - reg = <0x220000 0x1000>; - interrupts = ; - clocks = <&clock CLK_USB>; - clock-names = "usbhost"; - }; - - ehci at 221000 { - compatible = "samsung,exynos5440-ehci"; - reg = <0x221000 0x1000>; - interrupts = ; - clocks = <&clock CLK_USB>; - clock-names = "usbhost"; - }; - - pcie_phy0: pcie-phy at 270000 { - #phy-cells = <0>; - compatible = "samsung,exynos5440-pcie-phy"; - reg = <0x270000 0x1000>, <0x271000 0x40>; - }; - - pcie_phy1: pcie-phy at 272000 { - #phy-cells = <0>; - compatible = "samsung,exynos5440-pcie-phy"; - reg = <0x272000 0x1000>, <0x271040 0x40>; - }; - - pcie_0: pcie at 290000 { - compatible = "samsung,exynos5440-pcie", "snps,dw-pcie"; - reg = <0x290000 0x1000>, <0x40000000 0x1000>; - reg-names = "elbi", "config"; - interrupts = , - , - ; - clocks = <&clock CLK_PR0_250_O>, <&clock CLK_PB0_250_O>; - clock-names = "pcie", "pcie_bus"; - #address-cells = <3>; - #size-cells = <2>; - device_type = "pci"; - phys = <&pcie_phy0>; - ranges = <0x81000000 0 0 0x40001000 0 0x00010000 /* downstream I/O */ - 0x82000000 0 0x40011000 0x40011000 0 0x1ffef000>; /* non-prefetchable memory */ - bus-range = <0x00 0xff>; - #interrupt-cells = <1>; - interrupt-map-mask = <0 0 0 0>; - interrupt-map = <0x0 0 &gic 53>; - num-lanes = <4>; - status = "disabled"; - }; - - pcie_1: pcie at 2a0000 { - compatible = "samsung,exynos5440-pcie", "snps,dw-pcie"; - reg = <0x2a0000 0x1000>, <0x60000000 0x1000>; - reg-names = "elbi", "config"; - interrupts = , - , - ; - clocks = <&clock CLK_PR1_250_O>, <&clock CLK_PB0_250_O>; - clock-names = "pcie", "pcie_bus"; - #address-cells = <3>; - #size-cells = <2>; - device_type = "pci"; - phys = <&pcie_phy1>; - ranges = <0x81000000 0 0 0x60001000 0 0x00010000 /* downstream I/O */ - 0x82000000 0 0x60011000 0x60011000 0 0x1ffef000>; /* non-prefetchable memory */ - bus-range = <0x00 0xff>; - #interrupt-cells = <1>; - interrupt-map-mask = <0 0 0 0>; - interrupt-map = <0x0 0 &gic 56>; - num-lanes = <4>; - status = "disabled"; - }; - }; - - thermal-zones { - cpu0_thermal: cpu0-thermal { - thermal-sensors = <&tmuctrl_0>; - #include "exynos5440-trip-points.dtsi" - }; - cpu1_thermal: cpu1-thermal { - thermal-sensors = <&tmuctrl_1>; - #include "exynos5440-trip-points.dtsi" - }; - cpu2_thermal: cpu2-thermal { - thermal-sensors = <&tmuctrl_2>; - #include "exynos5440-trip-points.dtsi" - }; - }; -}; -- 2.14.1