From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f52.google.com (mail-wm1-f52.google.com [209.85.128.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3E10032937A for ; Sun, 2 Aug 2026 20:34:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.52 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785702852; cv=none; b=Qs0TpMGuvc6APB5RNsJXstucfczOhd6G5Q8kavJugretSRljwNjoxsERd2uP+myMBbqiaKEKmJnA6CiSx4PaeJKCERvho7bnHBLZJiLVf42w2tOXq/RiW99DUTat6kP+hUJUTbKPt66o/WuvypIesEss+U+MUvaJ8IathVnoAjA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785702852; c=relaxed/simple; bh=YxQqoI6CL9jVmvvR5b+MmbVYGGxzOOfvxDANYulehzI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ZlZm125u0DPlrfE089oJJZrh/L3O3JfnsZPv6M2vom21h9PvL4afEtc3DHaqezUHqpz1cv46KvEEY70D9QmFr5gHQP1pJQ734jGA3sQDeaovKFcgmNC/U4gnJ532RqdKa9N9ucaUWV5PX+BCJEpo4503QL3XfcclmElrjmS2ngI= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=hrN/bLWA; arc=none smtp.client-ip=209.85.128.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="hrN/bLWA" Received: by mail-wm1-f52.google.com with SMTP id 5b1f17b1804b1-4955aa106b1so13296125e9.0 for ; Sun, 02 Aug 2026 13:34:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1785702848; x=1786307648; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=QFb3ikGwdzChQBttTqJkEcd2RHk/IiKtG2e0llG6pg8=; b=hrN/bLWAXs/ULRztzusfiXubxsitbu2SSyagM3ZBaqgagP5nBKftza+3UK6BfAyKwJ G9C7AEgo6IPkU54NmneoMfK2ELAkcpQ2qw9v00SWY+EQnjk0qBXr6699hehUKV5PmQlV YbQkNCztisetkh4D7bYlP7gaoPSlT1CPChj/+boPiwJ9b2lDz/QKiNuHOIAjecQpy9Xn l94RdwaKbpY9QTFtwCL7PTReJMJAkomvZVoB9qcX2f/5KK+53WPiosOXHnPkQbgKaHVD zb9zM+7SaBQv9uVSv3B1wFNRk00qhX6sa2dn36u4aVRorzpChy4yLt+o6USxCySorvPP uKkg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785702848; x=1786307648; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=QFb3ikGwdzChQBttTqJkEcd2RHk/IiKtG2e0llG6pg8=; b=iGYYH20yLY3UQN1rrkO25BDoNPGKdp/m0tG8OIm9TiLF/MkTSO2mxE9b8pZBFs3iAL VYryemK/2k4ubQFDibPpdzFnvz0NggwkrX4yTlaaeXXzv8lPpVYP9REuf8ntXzlD1beI pYIDYwcfn5VoWf7nn+4TaR5bCmm7Qm2lbh/KyAmt7mN18pAny2N08iA40cLkifF1V+q7 y5lG8jvbwslqqhnHAJU9Ca2QxOpkBIYjzojP8KgZ2xt4dPDelNx9D3cTenQF/MBTjQzB kLRJkQDVhbCKt+SWS/xJKffolRZrlL8jD58jC9RBDr2i7cRV2odYsh7xajU+XGI4t1z+ DxPQ== X-Gm-Message-State: AOJu0Yw6h6Y53aJAIYGseb3sOoOfTkBAp2DA5pdI5ART6BZ+UVWDpb6Y U9erKjVXMs+c6YHTnE82JWI6Uay0fDjKvfUSnkv4EgX3rvNytVvyrUle X-Gm-Gg: AR+sD11GOSA3rG7VTylQt8viy4YrWcDF9Pyf63GVQj/LgB2qq1yktgQW1NPXgVQMdcZ 8erhgv7VKZkvacjOVo8p7coGpOSMrxAUVjL+ZmalBi0YklPE4hU7/oQIij7XDu/N4+7fVwG2ldD JCVxh82Mt2mSfjw6U+euJ8SyxXoj3rBN2xLal+ewE7N1tPiPxqo2XsV6i1yDrAz39Tiik4qV5fa koseQlRObqHaPL4OTHvI0qVappXZXEcw/dmOU9OHOCwOJbDeCwntr5mCejDkn5Ep3niAGa5A42B oZSnyXzIuNRcifW7f/eaTrBWSrdKNUGGbK6xduqT/3cIFudirMPZZJuz4QLK+OcSD8mKRnX66wW r8rgQ2mG1eiiU9iBFTfYPGhdN/rj6xkBAi7Scg1Pjz1ku0lU5mG8mDB28//KmUvifDNdSrUNbNm CqtHNT645C+R9Z7X7RBMdq1ILgpWimU+Hsz8IN9srMCrNbnDy1D0Uapoz5iGkoHec9KGmLeMv5 X-Received: by 2002:a05:600c:c113:b0:495:4811:d71c with SMTP id 5b1f17b1804b1-4980c674e51mr128211295e9.13.1785702848361; Sun, 02 Aug 2026 13:34:08 -0700 (PDT) Received: from [192.168.0.2] ([197.250.226.155]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49807bb45ebsm118499905e9.4.2026.08.02.13.34.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 02 Aug 2026 13:34:06 -0700 (PDT) From: =?utf-8?q?Stefan_D=C3=B6singer?= Date: Sun, 02 Aug 2026 23:33:33 +0300 Subject: [PATCH v9 01/12] dt-bindings: clk: zte: Add zx297520v3 top clock and reset controller Precedence: bulk X-Mailing-List: linux-clk@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Message-Id: <20260802-zx29clk-v9-1-d05530d85d28@gmail.com> References: <20260802-zx29clk-v9-0-d05530d85d28@gmail.com> In-Reply-To: <20260802-zx29clk-v9-0-d05530d85d28@gmail.com> To: Michael Turquette , Stephen Boyd , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Philipp Zabel , Brian Masney , Vinod Koul , Neil Armstrong , Russell King , Lee Jones Cc: linux-clk@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-phy@lists.infradead.org, mfd@lists.linux.dev, =?utf-8?q?Stefan_D=C3=B6singer?= X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=15112; i=stefandoesinger@gmail.com; h=from:subject:message-id; bh=YxQqoI6CL9jVmvvR5b+MmbVYGGxzOOfvxDANYulehzI=; b=owEBiQJ2/ZANAwAIAT0TvMhUTxoiAcsmYgBqb6myWW7xJKwXRJHpy0rgbEONZAKFifcLOaGtU zRJFCY3fHWJAk8EAAEIADkWIQRDFvS2qgVbJ5UyXWw9E7zIVE8aIgUCam+pshsUgAAAAAAEAA5t YW51MiwyLjUrMS4xMiwyLDIACgkQPRO8yFRPGiKiPxAAs5ekc7r2AEA2dpJ6Abfa1L+OmSWOeFd lH0TpwMPPevo5DilXhjMKnztX2A06tQc6EyGFYrQMNIkI9Yl+oH85FkFaMPcYF8YA5ay5Uynx56 9v4iUWnvPMtRL/mqmLVB463EB+7qBx900++rdI/pFjEX/Qhac3Qb3ZkJfJTYuOr985ONVmggJwl h+3ydcILZAfl2mDFLLYuGlsIdFAsAqqYW1bJKR2ndqnGtfd1AyBUEWzTjeqXaBO4dhiSO5xOqtu tMAtAaaatOpl37swFwoes3LhnVyiLjefQMtS/1kq20ouAfRiUichXvwmzDIzsi4kdre0BEoJeuE MDEvUvuH65W1qwwsbcm2aZsXZUQ52jYQRX/IzK/y+izxTj3fR1o+QgqV3diVQBhAnI7Ilwcme2w NgqDOqG2ir5ltM71nArr/RHeu9rFPixykXKMpmO9NnxUleVvm9Tr+t6RWkStWg9KHwjyFSaxekX bnIWvVe0C/8IXWz4TfXY+2547xgjg/LjA4a6+QjInMZGohjPXVQGkPbyQ1tYIgRoQdy5NLJhUMz c/186HOC0F2vt0rWrgetQ/fq8X9fCjiXVIME3TUBIIpiM41kPP8tJCm1mIlsJWur5SwAu9o2svG 9jqGycghjaguImRGtSFbu09z3Su8XhL/ndLQFoG9Mic4IqvqBiL0= X-Developer-Key: i=stefandoesinger@gmail.com; a=openpgp; fpr=4F9C2C8728019633893EBBB98CB81F9A72BBA155 These SoCs have 3 clock and reset controllers: Top, Matrix and LSP. Clocks go from oscillator -> top -> matrix -> LSP, with a register in top controlling most clocks that get passed to matrix and a register in matrix controlling all the clocks that get passed to LSP. Generally every device has two clocks (one work clock, and one that connects it to the bus, I call it PCLK), two reset bits (I don't know what the difference is - sometimes asserting one is enough to reset the device, sometimes both need to be asserted). PCLK and WCLK are controlled by individual gates. Some devices have a mux and/or a divider for their work clock. Some devices, like the GPIO controller, only have reset bits and no clocks. The top clock controller is fed by a 26 MHz external oscillator and has 4 PLLs to generate other clock rates. ZTE's kernel mostly relies on the boot ROM to set up PLLs, but one LTE-related PLL is not configured on some boards. Therefore my driver contains code to program PLLs. It produces identical settings as the boot ROM for the pre-programmed frequencies. Not all clocks will have an explicit user in the end. I am defining a lot of them simply to shut them off. The boot loader sets up a few of the proprietary timers, which will send regular IRQs (although the kernel of course doesn't need to listen to them). I don't plan to add a driver for the proprietary timer as I see no use for them - the ARM arch timer works just fine. I will add a driver for the very similar proprietary watchdog though. The clock list in this patch is pretty complete but not exhaustive. There are other bits that are enabled, but I couldn't deduce what they are controlling by trial and error. Some of them seem to do nothing. Others cause an instant hang of the board when disabled. It is quite likely that a handful more clocks will be added in the future, but not a large number. Signed-off-by: Stefan Dösinger --- Changes v8->v9: *) "unevaluatedProperties: false" for the syscon child node (Krzysztof) *) "additionalProperties: false" for the binding itself (Krzysztof) *) Remove USB PHY resets, but USB controller resets remain unchanged (Krzysztof) *) Rename syscon reboot node to "reboot". While both "reboot" and "syscon-reboot" are common in actual device trees, syscon-reboot.yaml's own example uses "reboot". DT's Generic Names Recommendation contains neither (Sashiko, patch 12) Changes v7->v8 (all Krzysztof): *) Fold the PHY into the top-level node *) Start clock indices at 0 *) Rename the phy include file to zte,zx297520v3-topcrm.h. And a non-change despite/because of new discoveries: USB has more PHY and DWC controls in a different controller at 0x140000. ZTE calls this controller SOC_SYS, and it is a textbook case for syscon: It has a lot of different controls: A remap flag for boot ROM, a control to bring the A53 up in arm32 vs aarch64 mode, the entrypoint of the LTE DSP, SDIO, I2S, ... USB-wise it has a register with PHY and DWC controls: Endianness for the DWC2 registers, PHY clock adjustments, PHY and DWC host/device switch. In spite of this I think topcrm is the better home for #phy-cells: The USB ready flags in topcrm are essential for bringing up the USB devices whereas the soc_sys controls are a curiosity. Host mode only works if I externally inject VBUS. Clock adjustment is too inflexible to be of real value. Flipping the DWC registers to big endian works, but what for? If I find a use case for changing the default USB values in soc_sys it can be handled via syscon. soc_sys also has power controls for a few devices, including USB. This will be handled via #power-domain-cells. The self-referencing reset property causes the following boot messages: /soc/clock-controller@13b000: Fixed dependency cycle(s) with /soc/clock-controller@13b000 /soc/clock-controller@13b000: Fixed dependency cycle(s) with /soc/clock-controller@13b000 Do I need to add post-init-providers? As far as I understand it, this message is informational and not a problem that needs to be addressed. Changes v6->v7: *) Moved the bindings back into clock/ (Krzysztof). Use clock-controller@ in example and in the later DTSI patch. *) With a lucky find in strings in LTE's cpko.ko blob I could make sense of the register that controls which clocks get passed from PLLs into the clock distribution inside topcrm. Importantly that also narrows which clocks can possibly be passed to Matrix, so I could slim down the bindings considerably. *) Add a usb phy child node with the phy schema added in the previous patch. I don't expect the USB status register to ever be in another place, so the binding expresses the @84 expectation. Changes v5->v6: Set value for syscon-reboot example (Sashiko). It was my intention to set only the lowest bit, and I think Sashiko is right that without 'value' being set, all other bits are actively set to 0. It shouldn't matter given my understanding of the hardware (afaics all other bits are ignored), but actively clearing bits was not my intention. I haven't changed the name match for "syscon-reboot". I see plenty of examples of hardcoding this string as opposed to having a regex for syscon-reboot@12345678 in other bindings. Changes v4->v5: Rename from zte,zx297520v3-topclk to zte,zx297520v3-topcrm and move to soc/zte Fix path in MAINTAINERS Add syscon-reboot node to the binding Give the USB and HSIC PHY resets their own reset control --- .../bindings/clock/zte,zx297520v3-topcrm.yaml | 122 +++++++++++++++++++++ MAINTAINERS | 4 + include/dt-bindings/clock/zte,zx297520v3-clk.h | 66 +++++++++++ include/dt-bindings/phy/zte,zx297520v3-topcrm.h | 12 ++ include/dt-bindings/reset/zte,zx297520v3-reset.h | 30 +++++ 5 files changed, 234 insertions(+) diff --git a/Documentation/devicetree/bindings/clock/zte,zx297520v3-topcrm.yaml b/Documentation/devicetree/bindings/clock/zte,zx297520v3-topcrm.yaml new file mode 100644 index 000000000000..ecd332f421b9 --- /dev/null +++ b/Documentation/devicetree/bindings/clock/zte,zx297520v3-topcrm.yaml @@ -0,0 +1,122 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/clock/zte,zx297520v3-topcrm.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: ZTE zx297520v3 SoC top clock and reset controller + +maintainers: + - Stefan Dösinger + +description: | + The zx297520v3 top clock and reset controller generates clocks for core + devices on the board like the main bus, USB and timers. In addition to clocks + it has reset controls for peripherals, a global board reset, watchdog reset + controls and a USB status register. + + The controller has two clock inputs: a 26 MHz and a 32 kHz external + oscillator. They need to be provided as input clocks. The controller provides + PLL output frequencies to downstream clock controllers. + + The USB PHY is exposed as two PHYs, one for USB and another for HSIC. Note + that while the controls for both PHYs are always present, the PHYs themselves + may be absent. If this is the case the controller never signals that the + missing PHY is ready. + + All available clocks are defined as preprocessor macros in the + "include/dt-bindings/clock/zte,zx297520v3-clk.h" header. The resets are + defined in the "include/dt-bindings/reset/zte,zx297520v3-reset.h" header. PHY + defines are found in "include/dt-bindings/phy/zte,zx297520v3-topcrm.h". + +properties: + compatible: + items: + - const: zte,zx297520v3-topcrm + - const: syscon + + reg: + maxItems: 1 + + clocks: + items: + - description: 26 MHz external oscillator + - description: 32 kHz external oscillator + + clock-names: + items: + - const: osc26m + - const: osc32k + + interrupts: + items: + - description: IRQ reporting USB connection + - description: IRQ reporting USB disconnection + - description: IRQ reporting HSIC connection + - description: IRQ reporting HSIC disconnection + + interrupt-names: + items: + - const: usb-up + - const: usb-down + - const: hsic-up + - const: hsic-down + + "#clock-cells": + const: 1 + + "#phy-cells": + const: 1 + + "#reset-cells": + const: 1 + + reboot: + type: object + $ref: /schemas/power/reset/syscon-reboot.yaml# + unevaluatedProperties: false + description: + Reboot method for the SoC. + +required: + - compatible + - reg + - clocks + - clock-names + - interrupts + - interrupt-names + - reboot + - "#clock-cells" + - "#phy-cells" + - "#reset-cells" + +additionalProperties: false + +examples: + - | + #include + #include + #include + #include + + topcrm: clock-controller@13b000 { + compatible = "zte,zx297520v3-topcrm", "syscon"; + reg = <0x0013b000 0x400>; + clocks = <&osc26m>, <&osc32k>; + clock-names = "osc26m", "osc32k"; + interrupts = , + , + , + ; + interrupt-names = "usb-up", "usb-down", "hsic-up", "hsic-down"; + #clock-cells = <1>; + #phy-cells = <1>; + #reset-cells = <1>; + + reboot { + compatible = "syscon-reboot"; + offset = <0x0>; + mask = <0x1>; + value = <0x1>; + }; + }; diff --git a/MAINTAINERS b/MAINTAINERS index 92a2167f1eb8..d53c0a2c7d9b 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -3910,8 +3910,12 @@ L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) S: Odd fixes F: Documentation/arch/arm/zte/ F: Documentation/devicetree/bindings/arm/zte.yaml +F: Documentation/devicetree/bindings/clock/zte,zx297520v3-topcrm.yaml F: arch/arm/boot/dts/zte/ F: arch/arm/mach-zte/ +F: include/dt-bindings/clock/zte,zx297520v3-clk.h +F: include/dt-bindings/phy/zte,zx297520v3-topcrm.h +F: include/dt-bindings/reset/zte,zx297520v3-reset.h ARM/ZYNQ ARCHITECTURE M: Michal Simek diff --git a/include/dt-bindings/clock/zte,zx297520v3-clk.h b/include/dt-bindings/clock/zte,zx297520v3-clk.h new file mode 100644 index 000000000000..3aed94ccc26f --- /dev/null +++ b/include/dt-bindings/clock/zte,zx297520v3-clk.h @@ -0,0 +1,66 @@ +/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */ +/* + * Copyright (C) Stefan Dösinger. + */ + +#ifndef __DT_BINDINGS_CLOCK_ZX297520V3_H +#define __DT_BINDINGS_CLOCK_ZX297520V3_H + +#define ZX297520V3_M0_WCLK 0 +#define ZX297520V3_SRAM1_PCLK 1 +#define ZX297520V3_SRAM2_PCLK 2 +#define ZX297520V3_UART0_WCLK 3 +#define ZX297520V3_UART0_PCLK 4 +#define ZX297520V3_I2C0_WCLK 5 +#define ZX297520V3_I2C0_PCLK 6 +#define ZX297520V3_RTC_WCLK 7 +#define ZX297520V3_RTC_PCLK 8 +#define ZX297520V3_LPM_GSM_WCLK 9 +#define ZX297520V3_LPM_GSM_PCLK 10 +#define ZX297520V3_LPM_LTE_WCLK 11 +#define ZX297520V3_LPM_LTE_PCLK 12 +#define ZX297520V3_LPM_TD_WCLK 13 +#define ZX297520V3_LPM_TD_PCLK 14 +#define ZX297520V3_LPM_W_WCLK 15 +#define ZX297520V3_LPM_W_PCLK 16 +#define ZX297520V3_TIMER_T08_WCLK 17 +#define ZX297520V3_TIMER_T08_PCLK 18 +#define ZX297520V3_TIMER_T09_WCLK 19 +#define ZX297520V3_TIMER_T09_PCLK 20 +#define ZX297520V3_MPLL 21 +#define ZX297520V3_MPLL_D5 22 +#define ZX297520V3_DPLL 23 +#define ZX297520V3_GPLL 24 +#define ZX297520V3_GPLL_D2 25 +#define ZX297520V3_GATED_OSC26M 26 +#define ZX297520V3_PMM_WCLK 27 +#define ZX297520V3_PMM_PCLK 28 +#define ZX297520V3_OUT0_WCLK 29 +#define ZX297520V3_OUT1_WCLK 30 +#define ZX297520V3_OUT2_WCLK 31 +#define ZX297520V3_OUT32K_WCLK 32 +#define ZX297520V3_RMIIPHY_WCLK 33 +#define ZX297520V3_TIMER_T12_WCLK 34 +#define ZX297520V3_TIMER_T12_PCLK 35 +#define ZX297520V3_TIMER_T13_WCLK 36 +#define ZX297520V3_TIMER_T13_PCLK 37 +#define ZX297520V3_TIMER_T14_WCLK 38 +#define ZX297520V3_TIMER_T14_PCLK 39 +#define ZX297520V3_TIMER_T15_WCLK 40 +#define ZX297520V3_TIMER_T15_PCLK 41 +#define ZX297520V3_TIMER_T16_WCLK 42 +#define ZX297520V3_TIMER_T16_PCLK 43 +#define ZX297520V3_TIMER_T17_WCLK 44 +#define ZX297520V3_TIMER_T17_PCLK 45 +#define ZX297520V3_WDT_T18_WCLK 46 +#define ZX297520V3_WDT_T18_PCLK 47 +#define ZX297520V3_USIM1_WCLK 48 +#define ZX297520V3_USIM1_PCLK 49 +#define ZX297520V3_AHB_WCLK 50 +#define ZX297520V3_AHB_PCLK 51 +#define ZX297520V3_USB_WCLK 52 +#define ZX297520V3_USB_PCLK 53 +#define ZX297520V3_HSIC_WCLK 54 +#define ZX297520V3_HSIC_PCLK 55 + +#endif /* __DT_BINDINGS_CLOCK_ZX297520V3_H */ diff --git a/include/dt-bindings/phy/zte,zx297520v3-topcrm.h b/include/dt-bindings/phy/zte,zx297520v3-topcrm.h new file mode 100644 index 000000000000..b36ccf2f54ef --- /dev/null +++ b/include/dt-bindings/phy/zte,zx297520v3-topcrm.h @@ -0,0 +1,12 @@ +/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */ +/* + * Copyright (C) Stefan Dösinger. + */ + +#ifndef __DT_BINDINGS_PHY_ZTE_ZX297520V3_TOPCRM_H +#define __DT_BINDINGS_PHY_ZTE_ZX297520V3_TOPCRM_H + +#define ZX297520V3_USB_PHY 0 +#define ZX297520V3_HSIC_PHY 1 + +#endif /* __DT_BINDINGS_PHY_ZTE_ZX297520V3_TOPCRM_H */ diff --git a/include/dt-bindings/reset/zte,zx297520v3-reset.h b/include/dt-bindings/reset/zte,zx297520v3-reset.h new file mode 100644 index 000000000000..f60aaccf0f4d --- /dev/null +++ b/include/dt-bindings/reset/zte,zx297520v3-reset.h @@ -0,0 +1,30 @@ +/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */ +/* + * Copyright (C) Stefan Dösinger. + */ + +#ifndef __DT_BINDINGS_RESET_ZX297520V3_H +#define __DT_BINDINGS_RESET_ZX297520V3_H + +#define ZX297520V3_ZSP_RESET 0 +#define ZX297520V3_UART0_RESET 1 +#define ZX297520V3_I2C0_RESET 2 +#define ZX297520V3_RTC_RESET 3 +#define ZX297520V3_TIMER_T08_RESET 4 +#define ZX297520V3_TIMER_T09_RESET 5 +#define ZX297520V3_PMM_RESET 6 +#define ZX297520V3_GPIO_RESET 7 +#define ZX297520V3_GPIO8_RESET 8 +#define ZX297520V3_TIMER_T12_RESET 9 +#define ZX297520V3_TIMER_T13_RESET 10 +#define ZX297520V3_TIMER_T14_RESET 11 +#define ZX297520V3_TIMER_T15_RESET 12 +#define ZX297520V3_TIMER_T16_RESET 13 +#define ZX297520V3_TIMER_T17_RESET 14 +#define ZX297520V3_WDT_T18_RESET 15 +#define ZX297520V3_USIM1_RESET 16 +#define ZX297520V3_AHB_RESET 17 +#define ZX297520V3_USB_RESET 18 +#define ZX297520V3_HSIC_RESET 19 + +#endif /* __DT_BINDINGS_RESET_ZX297520V3_H */ -- 2.54.0 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 60CA8C55174 for ; Sun, 2 Aug 2026 20:34:14 +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:Cc:To:In-Reply-To:References:Message-Id :MIME-Version:Subject:Date:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=c5Jpc0nBKXE1HDKbsxG5SGd7rJRPDCcx4whEWUzPvWU=; b=XXnyKNn8H8Hx2x KPlgqmBEw3sF0coF3piDvrspBBVdEw2+V0XbSop7IrHnaF+0rocaYuIYbkSvw9WkyUzIbZm0mz/ZJ P8B+A/BP/+cUJw40A0Y/fq0McNb8y8OrqYDRFy0a15qPsbL82Lx6cJSKzdHilu92cQjgXQbCwT8Vd TpOWLFBk5tWYr0d1ANXIwWhgv9aCEMUTHblV5WJK0spUF/WvxW8y9zWn62M57DYORxjTNQnHwY1aP Zhfk5KhgGOmiwjbmS2p74oFtpGEuB8yjxX0+FyZL4pIG73NDYE+0i0xd3B1xIXfNkD6/fgJrEaGK5 WmgOdBrLccNRpydMg+aA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1wqcsv-0000000G1Pc-423P; Sun, 02 Aug 2026 20:34:13 +0000 Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1wqcss-0000000G1Nu-1gei for linux-phy@lists.infradead.org; Sun, 02 Aug 2026 20:34:12 +0000 Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-4955aa106b1so13296155e9.0 for ; Sun, 02 Aug 2026 13:34:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1785702848; x=1786307648; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=QFb3ikGwdzChQBttTqJkEcd2RHk/IiKtG2e0llG6pg8=; b=URIbmMdK+Tu8lvJl/pu+lQRs9/UdcPwudI+m1s/kUxjE+Ifkn1vBmQutpWtwyuB57z 1pQUsAHaaKHWpR625372X4WFAisUH2+U4tUcmuEhG6J8fXY+JoDc0IklxxuBOuKoltl6 1O8xNI57SRL3dCal2STgPG+NzDW3Q9Gu4SFvHYcgxo64os4Fib+/md2Xzeca4dm0NxYY f0dw7bfj9I2BYKlLFnab/EYM/HhPXZblZJ5+bxhyVelyI0L9r7lmMmt4F7d1FBLuV/DM 2X9daE+jyZyEJ8ISH+s9A9febX+Foo6JWpFqGad5TkORmKX4pNb1t0YNAIIeSc+8+vSF 8MHQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785702848; x=1786307648; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=QFb3ikGwdzChQBttTqJkEcd2RHk/IiKtG2e0llG6pg8=; b=AWQZ5aXtuAN/0DCWg83isq2DMXB/elGLwsDr2rYRmQm5mVfMROmkOd3/kEGilV379g W9aZ/Byhf3OyaH+IdfECjw35YXht2M3mNDhvhxt8aDNzisbWKg4HY6D6wNnd6+PXoTmN SYBdeRuueyE/6MjAWLc1H1BI87C0c4pqCNICe9BGzB03JoQLA8XfFt21zWyRCKjcm/8h TSCHmL6d3txOmLaeb9d/g2wAdenYLT4+yXPIWmMtxasuIxymrvDsj+mW1d8Jr8LZSSps uj7DJKk/k9IUzLXe3VcEHBpnQAaxJ58ErME5Kuexq/roVEMsE9Lw2Fb7VqM3r4IHtGqR 9hAA== X-Forwarded-Encrypted: i=1; AHgh+RrIbUq/LuTPS19PQ7sSlQazidkihZP2YOyn2OV5sXunR3BNvrPsfy32p9wp2eyABarJyoSr0kuP5tQ=@lists.infradead.org X-Gm-Message-State: AOJu0Yzi1A+jcgASktAbtczIfB1UHIjfXsQsQDcqmKHYI83qicmLDuGM GmQLaPhT8kknfVZrqOMtrdYi01x4FDiXd2ARgr+d7eEQx8B/2p0rWnNO X-Gm-Gg: AR+sD13qjBgdFBjmy7rf9Jw6qsuuHUik6MDtk8+BwjeTrTs+YBC29qCZ0ztCLc897cL rye3ONi30hCWGKpjIpjtZxdY9MQXtdhpIMBteE9ZsvQizinmVO4XcrzQY0sMWnKcPBfVPGCv4Ui 1UEAVZzrdxp5J6dfah6Mu4qQzNj/YTOnLeOtblSqGpx0yTEv8AqXrKFzFkHgqIylzMXPKC/nEc+ Axx43pkw4ztozwGq21hvmGF5JryTSzVaIYj9PecniIIGBTYDPm2GmcImIneob5ENAzzb/9gTS02 EUBVcozbNsxBrLmj5nYXR2UW0ckeAfnuLzQcOmG4mfn++EFItVXod46mkHCNgBZ/v1itG9chXI1 TtL+RRyn3hmMtpQSZgJaqGuZm+ozQslNrZx6r3Z/OyD3kvIpBTeIW75aqkb8aVFGVp6pXE9cZqS 0pnaPrm0wj0pefW0VlEth3Amb63IseU8JnArTVLwqMJ1NR1J560LDFS7fT/z28L6uPKmDRY9zs X-Received: by 2002:a05:600c:c113:b0:495:4811:d71c with SMTP id 5b1f17b1804b1-4980c674e51mr128211295e9.13.1785702848361; Sun, 02 Aug 2026 13:34:08 -0700 (PDT) Received: from [192.168.0.2] ([197.250.226.155]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49807bb45ebsm118499905e9.4.2026.08.02.13.34.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 02 Aug 2026 13:34:06 -0700 (PDT) From: =?utf-8?q?Stefan_D=C3=B6singer?= Date: Sun, 02 Aug 2026 23:33:33 +0300 Subject: [PATCH v9 01/12] dt-bindings: clk: zte: Add zx297520v3 top clock and reset controller MIME-Version: 1.0 Message-Id: <20260802-zx29clk-v9-1-d05530d85d28@gmail.com> References: <20260802-zx29clk-v9-0-d05530d85d28@gmail.com> In-Reply-To: <20260802-zx29clk-v9-0-d05530d85d28@gmail.com> To: Michael Turquette , Stephen Boyd , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Philipp Zabel , Brian Masney , Vinod Koul , Neil Armstrong , Russell King , Lee Jones Cc: linux-clk@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-phy@lists.infradead.org, mfd@lists.linux.dev, =?utf-8?q?Stefan_D=C3=B6singer?= X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=15112; i=stefandoesinger@gmail.com; h=from:subject:message-id; bh=YxQqoI6CL9jVmvvR5b+MmbVYGGxzOOfvxDANYulehzI=; b=owEBiQJ2/ZANAwAIAT0TvMhUTxoiAcsmYgBqb6myWW7xJKwXRJHpy0rgbEONZAKFifcLOaGtU zRJFCY3fHWJAk8EAAEIADkWIQRDFvS2qgVbJ5UyXWw9E7zIVE8aIgUCam+pshsUgAAAAAAEAA5t YW51MiwyLjUrMS4xMiwyLDIACgkQPRO8yFRPGiKiPxAAs5ekc7r2AEA2dpJ6Abfa1L+OmSWOeFd lH0TpwMPPevo5DilXhjMKnztX2A06tQc6EyGFYrQMNIkI9Yl+oH85FkFaMPcYF8YA5ay5Uynx56 9v4iUWnvPMtRL/mqmLVB463EB+7qBx900++rdI/pFjEX/Qhac3Qb3ZkJfJTYuOr985ONVmggJwl h+3ydcILZAfl2mDFLLYuGlsIdFAsAqqYW1bJKR2ndqnGtfd1AyBUEWzTjeqXaBO4dhiSO5xOqtu tMAtAaaatOpl37swFwoes3LhnVyiLjefQMtS/1kq20ouAfRiUichXvwmzDIzsi4kdre0BEoJeuE MDEvUvuH65W1qwwsbcm2aZsXZUQ52jYQRX/IzK/y+izxTj3fR1o+QgqV3diVQBhAnI7Ilwcme2w NgqDOqG2ir5ltM71nArr/RHeu9rFPixykXKMpmO9NnxUleVvm9Tr+t6RWkStWg9KHwjyFSaxekX bnIWvVe0C/8IXWz4TfXY+2547xgjg/LjA4a6+QjInMZGohjPXVQGkPbyQ1tYIgRoQdy5NLJhUMz c/186HOC0F2vt0rWrgetQ/fq8X9fCjiXVIME3TUBIIpiM41kPP8tJCm1mIlsJWur5SwAu9o2svG 9jqGycghjaguImRGtSFbu09z3Su8XhL/ndLQFoG9Mic4IqvqBiL0= X-Developer-Key: i=stefandoesinger@gmail.com; a=openpgp; fpr=4F9C2C8728019633893EBBB98CB81F9A72BBA155 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.9.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260802_133410_590603_46AFA42A X-CRM114-Status: GOOD ( 36.78 ) X-BeenThere: linux-phy@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux Phy Mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-phy" Errors-To: linux-phy-bounces+linux-phy=archiver.kernel.org@lists.infradead.org VGhlc2UgU29DcyBoYXZlIDMgY2xvY2sgYW5kIHJlc2V0IGNvbnRyb2xsZXJzOiBUb3AsIE1hdHJp eCBhbmQgTFNQLgpDbG9ja3MgZ28gZnJvbSBvc2NpbGxhdG9yIC0+IHRvcCAtPiBtYXRyaXggLT4g TFNQLCB3aXRoIGEgcmVnaXN0ZXIgaW4KdG9wIGNvbnRyb2xsaW5nIG1vc3QgY2xvY2tzIHRoYXQg Z2V0IHBhc3NlZCB0byBtYXRyaXggYW5kIGEgcmVnaXN0ZXIgaW4KbWF0cml4IGNvbnRyb2xsaW5n IGFsbCB0aGUgY2xvY2tzIHRoYXQgZ2V0IHBhc3NlZCB0byBMU1AuCgpHZW5lcmFsbHkgZXZlcnkg ZGV2aWNlIGhhcyB0d28gY2xvY2tzIChvbmUgd29yayBjbG9jaywgYW5kIG9uZSB0aGF0CmNvbm5l Y3RzIGl0IHRvIHRoZSBidXMsIEkgY2FsbCBpdCBQQ0xLKSwgdHdvIHJlc2V0IGJpdHMgKEkgZG9u J3Qga25vdwp3aGF0IHRoZSBkaWZmZXJlbmNlIGlzIC0gc29tZXRpbWVzIGFzc2VydGluZyBvbmUg aXMgZW5vdWdoIHRvIHJlc2V0IHRoZQpkZXZpY2UsIHNvbWV0aW1lcyBib3RoIG5lZWQgdG8gYmUg YXNzZXJ0ZWQpLiBQQ0xLIGFuZCBXQ0xLIGFyZQpjb250cm9sbGVkIGJ5IGluZGl2aWR1YWwgZ2F0 ZXMuIFNvbWUgZGV2aWNlcyBoYXZlIGEgbXV4IGFuZC9vciBhCmRpdmlkZXIgZm9yIHRoZWlyIHdv cmsgY2xvY2suIFNvbWUgZGV2aWNlcywgbGlrZSB0aGUgR1BJTyBjb250cm9sbGVyLApvbmx5IGhh dmUgcmVzZXQgYml0cyBhbmQgbm8gY2xvY2tzLgoKVGhlIHRvcCBjbG9jayBjb250cm9sbGVyIGlz IGZlZCBieSBhIDI2IE1IeiBleHRlcm5hbCBvc2NpbGxhdG9yIGFuZCBoYXMgNApQTExzIHRvIGdl bmVyYXRlIG90aGVyIGNsb2NrIHJhdGVzLiBaVEUncyBrZXJuZWwgbW9zdGx5IHJlbGllcyBvbiB0 aGUKYm9vdCBST00gdG8gc2V0IHVwIFBMTHMsIGJ1dCBvbmUgTFRFLXJlbGF0ZWQgUExMIGlzIG5v dCBjb25maWd1cmVkCm9uIHNvbWUgYm9hcmRzLiBUaGVyZWZvcmUgbXkgZHJpdmVyIGNvbnRhaW5z IGNvZGUgdG8gcHJvZ3JhbSBQTExzLiBJdApwcm9kdWNlcyBpZGVudGljYWwgc2V0dGluZ3MgYXMg dGhlIGJvb3QgUk9NIGZvciB0aGUgcHJlLXByb2dyYW1tZWQKZnJlcXVlbmNpZXMuCgpOb3QgYWxs IGNsb2NrcyB3aWxsIGhhdmUgYW4gZXhwbGljaXQgdXNlciBpbiB0aGUgZW5kLiBJIGFtIGRlZmlu aW5nIGEKbG90IG9mIHRoZW0gc2ltcGx5IHRvIHNodXQgdGhlbSBvZmYuIFRoZSBib290IGxvYWRl ciBzZXRzIHVwIGEgZmV3IG9mCnRoZSBwcm9wcmlldGFyeSB0aW1lcnMsIHdoaWNoIHdpbGwgc2Vu ZCByZWd1bGFyIElSUXMgKGFsdGhvdWdoIHRoZQprZXJuZWwgb2YgY291cnNlIGRvZXNuJ3QgbmVl ZCB0byBsaXN0ZW4gdG8gdGhlbSkuIEkgZG9uJ3QgcGxhbiB0byBhZGQgYQpkcml2ZXIgZm9yIHRo ZSBwcm9wcmlldGFyeSB0aW1lciBhcyBJIHNlZSBubyB1c2UgZm9yIHRoZW0gLSB0aGUgQVJNIGFy Y2gKdGltZXIgd29ya3MganVzdCBmaW5lLiBJIHdpbGwgYWRkIGEgZHJpdmVyIGZvciB0aGUgdmVy eSBzaW1pbGFyCnByb3ByaWV0YXJ5IHdhdGNoZG9nIHRob3VnaC4KClRoZSBjbG9jayBsaXN0IGlu IHRoaXMgcGF0Y2ggaXMgcHJldHR5IGNvbXBsZXRlIGJ1dCBub3QgZXhoYXVzdGl2ZS4KVGhlcmUg YXJlIG90aGVyIGJpdHMgdGhhdCBhcmUgZW5hYmxlZCwgYnV0IEkgY291bGRuJ3QgZGVkdWNlIHdo YXQgdGhleQphcmUgY29udHJvbGxpbmcgYnkgdHJpYWwgYW5kIGVycm9yLiBTb21lIG9mIHRoZW0g c2VlbSB0byBkbyBub3RoaW5nLgpPdGhlcnMgY2F1c2UgYW4gaW5zdGFudCBoYW5nIG9mIHRoZSBi b2FyZCB3aGVuIGRpc2FibGVkLiBJdCBpcyBxdWl0ZQpsaWtlbHkgdGhhdCBhIGhhbmRmdWwgbW9y ZSBjbG9ja3Mgd2lsbCBiZSBhZGRlZCBpbiB0aGUgZnV0dXJlLCBidXQgbm90IGEKbGFyZ2UgbnVt YmVyLgoKU2lnbmVkLW9mZi1ieTogU3RlZmFuIETDtnNpbmdlciA8c3RlZmFuZG9lc2luZ2VyQGdt YWlsLmNvbT4KCi0tLQoKQ2hhbmdlcyB2OC0+djk6CiopICJ1bmV2YWx1YXRlZFByb3BlcnRpZXM6 IGZhbHNlIiBmb3IgdGhlIHN5c2NvbiBjaGlsZCBub2RlIChLcnp5c3p0b2YpCiopICJhZGRpdGlv bmFsUHJvcGVydGllczogZmFsc2UiIGZvciB0aGUgYmluZGluZyBpdHNlbGYgKEtyenlzenRvZikK KikgUmVtb3ZlIFVTQiBQSFkgcmVzZXRzLCBidXQgVVNCIGNvbnRyb2xsZXIgcmVzZXRzIHJlbWFp biB1bmNoYW5nZWQKKEtyenlzenRvZikKKikgUmVuYW1lIHN5c2NvbiByZWJvb3Qgbm9kZSB0byAi cmVib290Ii4gV2hpbGUgYm90aCAicmVib290IiBhbmQKInN5c2Nvbi1yZWJvb3QiIGFyZSBjb21t b24gaW4gYWN0dWFsIGRldmljZSB0cmVlcywgc3lzY29uLXJlYm9vdC55YW1sJ3MKb3duIGV4YW1w bGUgdXNlcyAicmVib290Ii4gRFQncyBHZW5lcmljIE5hbWVzIFJlY29tbWVuZGF0aW9uCmNvbnRh aW5zIG5laXRoZXIgKFNhc2hpa28sIHBhdGNoIDEyKQoKQ2hhbmdlcyB2Ny0+djggKGFsbCBLcnp5 c3p0b2YpOgoqKSBGb2xkIHRoZSBQSFkgaW50byB0aGUgdG9wLWxldmVsIG5vZGUKKikgU3RhcnQg Y2xvY2sgaW5kaWNlcyBhdCAwCiopIFJlbmFtZSB0aGUgcGh5IGluY2x1ZGUgZmlsZSB0byB6dGUs engyOTc1MjB2My10b3Bjcm0uaC4KCkFuZCBhIG5vbi1jaGFuZ2UgZGVzcGl0ZS9iZWNhdXNlIG9m IG5ldyBkaXNjb3ZlcmllczogVVNCIGhhcyBtb3JlIFBIWQphbmQgRFdDIGNvbnRyb2xzIGluIGEg ZGlmZmVyZW50IGNvbnRyb2xsZXIgYXQgMHgxNDAwMDAuIFpURSBjYWxscyB0aGlzCmNvbnRyb2xs ZXIgU09DX1NZUywgYW5kIGl0IGlzIGEgdGV4dGJvb2sgY2FzZSBmb3Igc3lzY29uOiBJdCBoYXMg YSBsb3QKb2YgZGlmZmVyZW50IGNvbnRyb2xzOiBBIHJlbWFwIGZsYWcgZm9yIGJvb3QgUk9NLCBh IGNvbnRyb2wgdG8gYnJpbmcgdGhlCkE1MyB1cCBpbiBhcm0zMiB2cyBhYXJjaDY0IG1vZGUsIHRo ZSBlbnRyeXBvaW50IG9mIHRoZSBMVEUgRFNQLCBTRElPLApJMlMsIC4uLgoKVVNCLXdpc2UgaXQg aGFzIGEgcmVnaXN0ZXIgd2l0aCBQSFkgYW5kIERXQyBjb250cm9sczogRW5kaWFubmVzcyBmb3Ig dGhlCkRXQzIgcmVnaXN0ZXJzLCBQSFkgY2xvY2sgYWRqdXN0bWVudHMsIFBIWSBhbmQgRFdDIGhv c3QvZGV2aWNlIHN3aXRjaC4KSW4gc3BpdGUgb2YgdGhpcyBJIHRoaW5rIHRvcGNybSBpcyB0aGUg YmV0dGVyIGhvbWUgZm9yICNwaHktY2VsbHM6IFRoZQpVU0IgcmVhZHkgZmxhZ3MgaW4gdG9wY3Jt IGFyZSBlc3NlbnRpYWwgZm9yIGJyaW5naW5nIHVwIHRoZSBVU0IgZGV2aWNlcwp3aGVyZWFzIHRo ZSBzb2Nfc3lzIGNvbnRyb2xzIGFyZSBhIGN1cmlvc2l0eS4gSG9zdCBtb2RlIG9ubHkgd29ya3Mg aWYgSQpleHRlcm5hbGx5IGluamVjdCBWQlVTLiBDbG9jayBhZGp1c3RtZW50IGlzIHRvbyBpbmZs ZXhpYmxlIHRvIGJlIG9mIHJlYWwKdmFsdWUuIEZsaXBwaW5nIHRoZSBEV0MgcmVnaXN0ZXJzIHRv IGJpZyBlbmRpYW4gd29ya3MsIGJ1dCB3aGF0IGZvcj8gSWYKSSBmaW5kIGEgdXNlIGNhc2UgZm9y IGNoYW5naW5nIHRoZSBkZWZhdWx0IFVTQiB2YWx1ZXMgaW4gc29jX3N5cyBpdCBjYW4KYmUgaGFu ZGxlZCB2aWEgc3lzY29uLgoKc29jX3N5cyBhbHNvIGhhcyBwb3dlciBjb250cm9scyBmb3IgYSBm ZXcgZGV2aWNlcywgaW5jbHVkaW5nIFVTQi4gVGhpcwp3aWxsIGJlIGhhbmRsZWQgdmlhICNwb3dl ci1kb21haW4tY2VsbHMuCgpUaGUgc2VsZi1yZWZlcmVuY2luZyByZXNldCBwcm9wZXJ0eSBjYXVz ZXMgdGhlIGZvbGxvd2luZyBib290IG1lc3NhZ2VzOgovc29jL2Nsb2NrLWNvbnRyb2xsZXJAMTNi MDAwOiBGaXhlZCBkZXBlbmRlbmN5IGN5Y2xlKHMpIHdpdGgKICAgIC9zb2MvY2xvY2stY29udHJv bGxlckAxM2IwMDAKL3NvYy9jbG9jay1jb250cm9sbGVyQDEzYjAwMDogRml4ZWQgZGVwZW5kZW5j eSBjeWNsZShzKSB3aXRoCiAgICAvc29jL2Nsb2NrLWNvbnRyb2xsZXJAMTNiMDAwCgpEbyBJIG5l ZWQgdG8gYWRkIHBvc3QtaW5pdC1wcm92aWRlcnM/IEFzIGZhciBhcyBJIHVuZGVyc3RhbmQgaXQs IHRoaXMKbWVzc2FnZSBpcyBpbmZvcm1hdGlvbmFsIGFuZCBub3QgYSBwcm9ibGVtIHRoYXQgbmVl ZHMgdG8gYmUgYWRkcmVzc2VkLgoKQ2hhbmdlcyB2Ni0+djc6CiopIE1vdmVkIHRoZSBiaW5kaW5n cyBiYWNrIGludG8gY2xvY2svIChLcnp5c3p0b2YpLiBVc2UgY2xvY2stY29udHJvbGxlckAKaW4g ZXhhbXBsZSBhbmQgaW4gdGhlIGxhdGVyIERUU0kgcGF0Y2guCgoqKSBXaXRoIGEgbHVja3kgZmlu ZCBpbiBzdHJpbmdzIGluIExURSdzIGNwa28ua28gYmxvYiBJIGNvdWxkIG1ha2Ugc2Vuc2UKb2Yg dGhlIHJlZ2lzdGVyIHRoYXQgY29udHJvbHMgd2hpY2ggY2xvY2tzIGdldCBwYXNzZWQgZnJvbSBQ TExzIGludG8KdGhlIGNsb2NrIGRpc3RyaWJ1dGlvbiBpbnNpZGUgdG9wY3JtLiBJbXBvcnRhbnRs eSB0aGF0IGFsc28gbmFycm93cwp3aGljaCBjbG9ja3MgY2FuIHBvc3NpYmx5IGJlIHBhc3NlZCB0 byBNYXRyaXgsIHNvIEkgY291bGQgc2xpbSBkb3duIHRoZQpiaW5kaW5ncyBjb25zaWRlcmFibHku CgoqKSBBZGQgYSB1c2IgcGh5IGNoaWxkIG5vZGUgd2l0aCB0aGUgcGh5IHNjaGVtYSBhZGRlZCBp biB0aGUgcHJldmlvdXMKcGF0Y2guIEkgZG9uJ3QgZXhwZWN0IHRoZSBVU0Igc3RhdHVzIHJlZ2lz dGVyIHRvIGV2ZXIgYmUgaW4gYW5vdGhlcgpwbGFjZSwgc28gdGhlIGJpbmRpbmcgZXhwcmVzc2Vz IHRoZSBAODQgZXhwZWN0YXRpb24uCgpDaGFuZ2VzIHY1LT52NjoKU2V0IHZhbHVlIGZvciBzeXNj b24tcmVib290IGV4YW1wbGUgKFNhc2hpa28pLiBJdCB3YXMgbXkgaW50ZW50aW9uIHRvCnNldCBv bmx5IHRoZSBsb3dlc3QgYml0LCBhbmQgSSB0aGluayBTYXNoaWtvIGlzIHJpZ2h0IHRoYXQgd2l0 aG91dAondmFsdWUnIGJlaW5nIHNldCwgYWxsIG90aGVyIGJpdHMgYXJlIGFjdGl2ZWx5IHNldCB0 byAwLiBJdCBzaG91bGRuJ3QKbWF0dGVyIGdpdmVuIG15IHVuZGVyc3RhbmRpbmcgb2YgdGhlIGhh cmR3YXJlIChhZmFpY3MgYWxsIG90aGVyIGJpdHMgYXJlCmlnbm9yZWQpLCBidXQgYWN0aXZlbHkg Y2xlYXJpbmcgYml0cyB3YXMgbm90IG15IGludGVudGlvbi4KCkkgaGF2ZW4ndCBjaGFuZ2VkIHRo ZSBuYW1lIG1hdGNoIGZvciAic3lzY29uLXJlYm9vdCIuIEkgc2VlIHBsZW50eSBvZgpleGFtcGxl cyBvZiBoYXJkY29kaW5nIHRoaXMgc3RyaW5nIGFzIG9wcG9zZWQgdG8gaGF2aW5nIGEgcmVnZXgg Zm9yCnN5c2Nvbi1yZWJvb3RAMTIzNDU2NzggaW4gb3RoZXIgYmluZGluZ3MuCgpDaGFuZ2VzIHY0 LT52NToKClJlbmFtZSBmcm9tIHp0ZSx6eDI5NzUyMHYzLXRvcGNsayB0byB6dGUsengyOTc1MjB2 My10b3Bjcm0gYW5kIG1vdmUgdG8Kc29jL3p0ZQpGaXggcGF0aCBpbiBNQUlOVEFJTkVSUwpBZGQg c3lzY29uLXJlYm9vdCBub2RlIHRvIHRoZSBiaW5kaW5nCkdpdmUgdGhlIFVTQiBhbmQgSFNJQyBQ SFkgcmVzZXRzIHRoZWlyIG93biByZXNldCBjb250cm9sCi0tLQogLi4uL2JpbmRpbmdzL2Nsb2Nr L3p0ZSx6eDI5NzUyMHYzLXRvcGNybS55YW1sICAgICAgfCAxMjIgKysrKysrKysrKysrKysrKysr KysrCiBNQUlOVEFJTkVSUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 ICAgNCArCiBpbmNsdWRlL2R0LWJpbmRpbmdzL2Nsb2NrL3p0ZSx6eDI5NzUyMHYzLWNsay5oICAg ICB8ICA2NiArKysrKysrKysrKwogaW5jbHVkZS9kdC1iaW5kaW5ncy9waHkvenRlLHp4Mjk3NTIw djMtdG9wY3JtLmggICAgfCAgMTIgKysKIGluY2x1ZGUvZHQtYmluZGluZ3MvcmVzZXQvenRlLHp4 Mjk3NTIwdjMtcmVzZXQuaCAgIHwgIDMwICsrKysrCiA1IGZpbGVzIGNoYW5nZWQsIDIzNCBpbnNl cnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdz L2Nsb2NrL3p0ZSx6eDI5NzUyMHYzLXRvcGNybS55YW1sIGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0 cmVlL2JpbmRpbmdzL2Nsb2NrL3p0ZSx6eDI5NzUyMHYzLXRvcGNybS55YW1sCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZWNkMzMyZjQyMWI5Ci0tLSAvZGV2L251bGwK KysrIGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Nsb2NrL3p0ZSx6eDI5NzUy MHYzLXRvcGNybS55YW1sCkBAIC0wLDAgKzEsMTIyIEBACisjIFNQRFgtTGljZW5zZS1JZGVudGlm aWVyOiAoR1BMLTIuMC1vbmx5IE9SIEJTRC0yLUNsYXVzZSkKKyVZQU1MIDEuMgorLS0tCiskaWQ6 IGh0dHA6Ly9kZXZpY2V0cmVlLm9yZy9zY2hlbWFzL2Nsb2NrL3p0ZSx6eDI5NzUyMHYzLXRvcGNy bS55YW1sIworJHNjaGVtYTogaHR0cDovL2RldmljZXRyZWUub3JnL21ldGEtc2NoZW1hcy9jb3Jl LnlhbWwjCisKK3RpdGxlOiBaVEUgengyOTc1MjB2MyBTb0MgdG9wIGNsb2NrIGFuZCByZXNldCBj b250cm9sbGVyCisKK21haW50YWluZXJzOgorICAtIFN0ZWZhbiBEw7ZzaW5nZXIgPHN0ZWZhbmRv ZXNpbmdlckBnbWFpbC5jb20+CisKK2Rlc2NyaXB0aW9uOiB8CisgIFRoZSB6eDI5NzUyMHYzIHRv cCBjbG9jayBhbmQgcmVzZXQgY29udHJvbGxlciBnZW5lcmF0ZXMgY2xvY2tzIGZvciBjb3JlCisg IGRldmljZXMgb24gdGhlIGJvYXJkIGxpa2UgdGhlIG1haW4gYnVzLCBVU0IgYW5kIHRpbWVycy4g SW4gYWRkaXRpb24gdG8gY2xvY2tzCisgIGl0IGhhcyByZXNldCBjb250cm9scyBmb3IgcGVyaXBo ZXJhbHMsIGEgZ2xvYmFsIGJvYXJkIHJlc2V0LCB3YXRjaGRvZyByZXNldAorICBjb250cm9scyBh bmQgYSBVU0Igc3RhdHVzIHJlZ2lzdGVyLgorCisgIFRoZSBjb250cm9sbGVyIGhhcyB0d28gY2xv Y2sgaW5wdXRzOiBhIDI2IE1IeiBhbmQgYSAzMiBrSHogZXh0ZXJuYWwKKyAgb3NjaWxsYXRvci4g VGhleSBuZWVkIHRvIGJlIHByb3ZpZGVkIGFzIGlucHV0IGNsb2Nrcy4gVGhlIGNvbnRyb2xsZXIg cHJvdmlkZXMKKyAgUExMIG91dHB1dCBmcmVxdWVuY2llcyB0byBkb3duc3RyZWFtIGNsb2NrIGNv bnRyb2xsZXJzLgorCisgIFRoZSBVU0IgUEhZIGlzIGV4cG9zZWQgYXMgdHdvIFBIWXMsIG9uZSBm b3IgVVNCIGFuZCBhbm90aGVyIGZvciBIU0lDLiBOb3RlCisgIHRoYXQgd2hpbGUgdGhlIGNvbnRy b2xzIGZvciBib3RoIFBIWXMgYXJlIGFsd2F5cyBwcmVzZW50LCB0aGUgUEhZcyB0aGVtc2VsdmVz CisgIG1heSBiZSBhYnNlbnQuIElmIHRoaXMgaXMgdGhlIGNhc2UgdGhlIGNvbnRyb2xsZXIgbmV2 ZXIgc2lnbmFscyB0aGF0IHRoZQorICBtaXNzaW5nIFBIWSBpcyByZWFkeS4KKworICBBbGwgYXZh aWxhYmxlIGNsb2NrcyBhcmUgZGVmaW5lZCBhcyBwcmVwcm9jZXNzb3IgbWFjcm9zIGluIHRoZQor ICAiaW5jbHVkZS9kdC1iaW5kaW5ncy9jbG9jay96dGUsengyOTc1MjB2My1jbGsuaCIgaGVhZGVy LiBUaGUgcmVzZXRzIGFyZQorICBkZWZpbmVkIGluIHRoZSAiaW5jbHVkZS9kdC1iaW5kaW5ncy9y ZXNldC96dGUsengyOTc1MjB2My1yZXNldC5oIiBoZWFkZXIuIFBIWQorICBkZWZpbmVzIGFyZSBm b3VuZCBpbiAiaW5jbHVkZS9kdC1iaW5kaW5ncy9waHkvenRlLHp4Mjk3NTIwdjMtdG9wY3JtLmgi LgorCitwcm9wZXJ0aWVzOgorICBjb21wYXRpYmxlOgorICAgIGl0ZW1zOgorICAgICAgLSBjb25z dDogenRlLHp4Mjk3NTIwdjMtdG9wY3JtCisgICAgICAtIGNvbnN0OiBzeXNjb24KKworICByZWc6 CisgICAgbWF4SXRlbXM6IDEKKworICBjbG9ja3M6CisgICAgaXRlbXM6CisgICAgICAtIGRlc2Ny aXB0aW9uOiAyNiBNSHogZXh0ZXJuYWwgb3NjaWxsYXRvcgorICAgICAgLSBkZXNjcmlwdGlvbjog MzIga0h6IGV4dGVybmFsIG9zY2lsbGF0b3IKKworICBjbG9jay1uYW1lczoKKyAgICBpdGVtczoK KyAgICAgIC0gY29uc3Q6IG9zYzI2bQorICAgICAgLSBjb25zdDogb3NjMzJrCisKKyAgaW50ZXJy dXB0czoKKyAgICBpdGVtczoKKyAgICAgIC0gZGVzY3JpcHRpb246IElSUSByZXBvcnRpbmcgVVNC IGNvbm5lY3Rpb24KKyAgICAgIC0gZGVzY3JpcHRpb246IElSUSByZXBvcnRpbmcgVVNCIGRpc2Nv bm5lY3Rpb24KKyAgICAgIC0gZGVzY3JpcHRpb246IElSUSByZXBvcnRpbmcgSFNJQyBjb25uZWN0 aW9uCisgICAgICAtIGRlc2NyaXB0aW9uOiBJUlEgcmVwb3J0aW5nIEhTSUMgZGlzY29ubmVjdGlv bgorCisgIGludGVycnVwdC1uYW1lczoKKyAgICBpdGVtczoKKyAgICAgIC0gY29uc3Q6IHVzYi11 cAorICAgICAgLSBjb25zdDogdXNiLWRvd24KKyAgICAgIC0gY29uc3Q6IGhzaWMtdXAKKyAgICAg IC0gY29uc3Q6IGhzaWMtZG93bgorCisgICIjY2xvY2stY2VsbHMiOgorICAgIGNvbnN0OiAxCisK KyAgIiNwaHktY2VsbHMiOgorICAgIGNvbnN0OiAxCisKKyAgIiNyZXNldC1jZWxscyI6CisgICAg Y29uc3Q6IDEKKworICByZWJvb3Q6CisgICAgdHlwZTogb2JqZWN0CisgICAgJHJlZjogL3NjaGVt YXMvcG93ZXIvcmVzZXQvc3lzY29uLXJlYm9vdC55YW1sIworICAgIHVuZXZhbHVhdGVkUHJvcGVy dGllczogZmFsc2UKKyAgICBkZXNjcmlwdGlvbjoKKyAgICAgIFJlYm9vdCBtZXRob2QgZm9yIHRo ZSBTb0MuCisKK3JlcXVpcmVkOgorICAtIGNvbXBhdGlibGUKKyAgLSByZWcKKyAgLSBjbG9ja3MK KyAgLSBjbG9jay1uYW1lcworICAtIGludGVycnVwdHMKKyAgLSBpbnRlcnJ1cHQtbmFtZXMKKyAg LSByZWJvb3QKKyAgLSAiI2Nsb2NrLWNlbGxzIgorICAtICIjcGh5LWNlbGxzIgorICAtICIjcmVz ZXQtY2VsbHMiCisKK2FkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZQorCitleGFtcGxlczoKKyAg LSB8CisgICAgI2luY2x1ZGUgPGR0LWJpbmRpbmdzL2ludGVycnVwdC1jb250cm9sbGVyL2FybS1n aWMuaD4KKyAgICAjaW5jbHVkZSA8ZHQtYmluZGluZ3MvcmVzZXQvenRlLHp4Mjk3NTIwdjMtcmVz ZXQuaD4KKyAgICAjaW5jbHVkZSA8ZHQtYmluZGluZ3MvcGh5L3p0ZSx6eDI5NzUyMHYzLXRvcGNy bS5oPgorICAgICNpbmNsdWRlIDxkdC1iaW5kaW5ncy9jbG9jay96dGUsengyOTc1MjB2My1jbGsu aD4KKworICAgIHRvcGNybTogY2xvY2stY29udHJvbGxlckAxM2IwMDAgeworICAgICAgICBjb21w YXRpYmxlID0gInp0ZSx6eDI5NzUyMHYzLXRvcGNybSIsICJzeXNjb24iOworICAgICAgICByZWcg PSA8MHgwMDEzYjAwMCAweDQwMD47CisgICAgICAgIGNsb2NrcyA9IDwmb3NjMjZtPiwgPCZvc2Mz Mms+OworICAgICAgICBjbG9jay1uYW1lcyA9ICJvc2MyNm0iLCAib3NjMzJrIjsKKyAgICAgICAg aW50ZXJydXB0cyA9IDxHSUNfU1BJIDQyIElSUV9UWVBFX0VER0VfUklTSU5HPiwKKyAgICAgICAg ICAgICAgICAgICAgIDxHSUNfU1BJIDQzIElSUV9UWVBFX0VER0VfUklTSU5HPiwKKyAgICAgICAg ICAgICAgICAgICAgIDxHSUNfU1BJIDQ1IElSUV9UWVBFX0VER0VfUklTSU5HPiwKKyAgICAgICAg ICAgICAgICAgICAgIDxHSUNfU1BJIDQ2IElSUV9UWVBFX0VER0VfUklTSU5HPjsKKyAgICAgICAg aW50ZXJydXB0LW5hbWVzID0gInVzYi11cCIsICJ1c2ItZG93biIsICJoc2ljLXVwIiwgImhzaWMt ZG93biI7CisgICAgICAgICNjbG9jay1jZWxscyA9IDwxPjsKKyAgICAgICAgI3BoeS1jZWxscyA9 IDwxPjsKKyAgICAgICAgI3Jlc2V0LWNlbGxzID0gPDE+OworCisgICAgICAgIHJlYm9vdCB7Cisg ICAgICAgICAgY29tcGF0aWJsZSA9ICJzeXNjb24tcmVib290IjsKKyAgICAgICAgICBvZmZzZXQg PSA8MHgwPjsKKyAgICAgICAgICBtYXNrID0gPDB4MT47CisgICAgICAgICAgdmFsdWUgPSA8MHgx PjsKKyAgICAgICAgfTsKKyAgICB9OwpkaWZmIC0tZ2l0IGEvTUFJTlRBSU5FUlMgYi9NQUlOVEFJ TkVSUwppbmRleCA5MmEyMTY3ZjFlYjguLmQ1M2MwYTJjN2Q5YiAxMDA2NDQKLS0tIGEvTUFJTlRB SU5FUlMKKysrIGIvTUFJTlRBSU5FUlMKQEAgLTM5MTAsOCArMzkxMCwxMiBAQCBMOglsaW51eC1h cm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcgKG1vZGVyYXRlZCBmb3Igbm9uLXN1YnNjcmli ZXJzKQogUzoJT2RkIGZpeGVzCiBGOglEb2N1bWVudGF0aW9uL2FyY2gvYXJtL3p0ZS8KIEY6CURv Y3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9hcm0venRlLnlhbWwKK0Y6CURvY3VtZW50 YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9jbG9jay96dGUsengyOTc1MjB2My10b3Bjcm0ueWFt bAogRjoJYXJjaC9hcm0vYm9vdC9kdHMvenRlLwogRjoJYXJjaC9hcm0vbWFjaC16dGUvCitGOglp bmNsdWRlL2R0LWJpbmRpbmdzL2Nsb2NrL3p0ZSx6eDI5NzUyMHYzLWNsay5oCitGOglpbmNsdWRl L2R0LWJpbmRpbmdzL3BoeS96dGUsengyOTc1MjB2My10b3Bjcm0uaAorRjoJaW5jbHVkZS9kdC1i aW5kaW5ncy9yZXNldC96dGUsengyOTc1MjB2My1yZXNldC5oCiAKIEFSTS9aWU5RIEFSQ0hJVEVD VFVSRQogTToJTWljaGFsIFNpbWVrIDxtaWNoYWwuc2ltZWtAYW1kLmNvbT4KZGlmZiAtLWdpdCBh L2luY2x1ZGUvZHQtYmluZGluZ3MvY2xvY2svenRlLHp4Mjk3NTIwdjMtY2xrLmggYi9pbmNsdWRl L2R0LWJpbmRpbmdzL2Nsb2NrL3p0ZSx6eDI5NzUyMHYzLWNsay5oCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uM2FlZDk0Y2NjMjZmCi0tLSAvZGV2L251bGwKKysrIGIv aW5jbHVkZS9kdC1iaW5kaW5ncy9jbG9jay96dGUsengyOTc1MjB2My1jbGsuaApAQCAtMCwwICsx LDY2IEBACisvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogKEdQTC0yLjAtb25seSBPUiBCU0Qt Mi1DbGF1c2UpICovCisvKgorICogQ29weXJpZ2h0IChDKSBTdGVmYW4gRMO2c2luZ2VyLgorICov CisKKyNpZm5kZWYgX19EVF9CSU5ESU5HU19DTE9DS19aWDI5NzUyMFYzX0gKKyNkZWZpbmUgX19E VF9CSU5ESU5HU19DTE9DS19aWDI5NzUyMFYzX0gKKworI2RlZmluZSBaWDI5NzUyMFYzX00wX1dD TEsJCQkwCisjZGVmaW5lIFpYMjk3NTIwVjNfU1JBTTFfUENMSwkJCTEKKyNkZWZpbmUgWlgyOTc1 MjBWM19TUkFNMl9QQ0xLCQkJMgorI2RlZmluZSBaWDI5NzUyMFYzX1VBUlQwX1dDTEsJCQkzCisj ZGVmaW5lIFpYMjk3NTIwVjNfVUFSVDBfUENMSwkJCTQKKyNkZWZpbmUgWlgyOTc1MjBWM19JMkMw X1dDTEsJCQk1CisjZGVmaW5lIFpYMjk3NTIwVjNfSTJDMF9QQ0xLCQkJNgorI2RlZmluZSBaWDI5 NzUyMFYzX1JUQ19XQ0xLCQkJNworI2RlZmluZSBaWDI5NzUyMFYzX1JUQ19QQ0xLCQkJOAorI2Rl ZmluZSBaWDI5NzUyMFYzX0xQTV9HU01fV0NMSwkJCTkKKyNkZWZpbmUgWlgyOTc1MjBWM19MUE1f R1NNX1BDTEsJCQkxMAorI2RlZmluZSBaWDI5NzUyMFYzX0xQTV9MVEVfV0NMSwkJCTExCisjZGVm aW5lIFpYMjk3NTIwVjNfTFBNX0xURV9QQ0xLCQkJMTIKKyNkZWZpbmUgWlgyOTc1MjBWM19MUE1f VERfV0NMSwkJCTEzCisjZGVmaW5lIFpYMjk3NTIwVjNfTFBNX1REX1BDTEsJCQkxNAorI2RlZmlu ZSBaWDI5NzUyMFYzX0xQTV9XX1dDTEsJCQkxNQorI2RlZmluZSBaWDI5NzUyMFYzX0xQTV9XX1BD TEsJCQkxNgorI2RlZmluZSBaWDI5NzUyMFYzX1RJTUVSX1QwOF9XQ0xLCQkxNworI2RlZmluZSBa WDI5NzUyMFYzX1RJTUVSX1QwOF9QQ0xLCQkxOAorI2RlZmluZSBaWDI5NzUyMFYzX1RJTUVSX1Qw OV9XQ0xLCQkxOQorI2RlZmluZSBaWDI5NzUyMFYzX1RJTUVSX1QwOV9QQ0xLCQkyMAorI2RlZmlu ZSBaWDI5NzUyMFYzX01QTEwJCQkJMjEKKyNkZWZpbmUgWlgyOTc1MjBWM19NUExMX0Q1CQkJMjIK KyNkZWZpbmUgWlgyOTc1MjBWM19EUExMCQkJCTIzCisjZGVmaW5lIFpYMjk3NTIwVjNfR1BMTAkJ CQkyNAorI2RlZmluZSBaWDI5NzUyMFYzX0dQTExfRDIJCQkyNQorI2RlZmluZSBaWDI5NzUyMFYz X0dBVEVEX09TQzI2TQkJCTI2CisjZGVmaW5lIFpYMjk3NTIwVjNfUE1NX1dDTEsJCQkyNworI2Rl ZmluZSBaWDI5NzUyMFYzX1BNTV9QQ0xLCQkJMjgKKyNkZWZpbmUgWlgyOTc1MjBWM19PVVQwX1dD TEsJCQkyOQorI2RlZmluZSBaWDI5NzUyMFYzX09VVDFfV0NMSwkJCTMwCisjZGVmaW5lIFpYMjk3 NTIwVjNfT1VUMl9XQ0xLCQkJMzEKKyNkZWZpbmUgWlgyOTc1MjBWM19PVVQzMktfV0NMSwkJCTMy CisjZGVmaW5lIFpYMjk3NTIwVjNfUk1JSVBIWV9XQ0xLCQkJMzMKKyNkZWZpbmUgWlgyOTc1MjBW M19USU1FUl9UMTJfV0NMSwkJMzQKKyNkZWZpbmUgWlgyOTc1MjBWM19USU1FUl9UMTJfUENMSwkJ MzUKKyNkZWZpbmUgWlgyOTc1MjBWM19USU1FUl9UMTNfV0NMSwkJMzYKKyNkZWZpbmUgWlgyOTc1 MjBWM19USU1FUl9UMTNfUENMSwkJMzcKKyNkZWZpbmUgWlgyOTc1MjBWM19USU1FUl9UMTRfV0NM SwkJMzgKKyNkZWZpbmUgWlgyOTc1MjBWM19USU1FUl9UMTRfUENMSwkJMzkKKyNkZWZpbmUgWlgy OTc1MjBWM19USU1FUl9UMTVfV0NMSwkJNDAKKyNkZWZpbmUgWlgyOTc1MjBWM19USU1FUl9UMTVf UENMSwkJNDEKKyNkZWZpbmUgWlgyOTc1MjBWM19USU1FUl9UMTZfV0NMSwkJNDIKKyNkZWZpbmUg WlgyOTc1MjBWM19USU1FUl9UMTZfUENMSwkJNDMKKyNkZWZpbmUgWlgyOTc1MjBWM19USU1FUl9U MTdfV0NMSwkJNDQKKyNkZWZpbmUgWlgyOTc1MjBWM19USU1FUl9UMTdfUENMSwkJNDUKKyNkZWZp bmUgWlgyOTc1MjBWM19XRFRfVDE4X1dDTEsJCQk0NgorI2RlZmluZSBaWDI5NzUyMFYzX1dEVF9U MThfUENMSwkJCTQ3CisjZGVmaW5lIFpYMjk3NTIwVjNfVVNJTTFfV0NMSwkJCTQ4CisjZGVmaW5l IFpYMjk3NTIwVjNfVVNJTTFfUENMSwkJCTQ5CisjZGVmaW5lIFpYMjk3NTIwVjNfQUhCX1dDTEsJ CQk1MAorI2RlZmluZSBaWDI5NzUyMFYzX0FIQl9QQ0xLCQkJNTEKKyNkZWZpbmUgWlgyOTc1MjBW M19VU0JfV0NMSwkJCTUyCisjZGVmaW5lIFpYMjk3NTIwVjNfVVNCX1BDTEsJCQk1MworI2RlZmlu ZSBaWDI5NzUyMFYzX0hTSUNfV0NMSwkJCTU0CisjZGVmaW5lIFpYMjk3NTIwVjNfSFNJQ19QQ0xL CQkJNTUKKworI2VuZGlmIC8qIF9fRFRfQklORElOR1NfQ0xPQ0tfWlgyOTc1MjBWM19IICovCmRp ZmYgLS1naXQgYS9pbmNsdWRlL2R0LWJpbmRpbmdzL3BoeS96dGUsengyOTc1MjB2My10b3Bjcm0u aCBiL2luY2x1ZGUvZHQtYmluZGluZ3MvcGh5L3p0ZSx6eDI5NzUyMHYzLXRvcGNybS5oCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uYjM2Y2NmMmY1NGVmCi0tLSAvZGV2 L251bGwKKysrIGIvaW5jbHVkZS9kdC1iaW5kaW5ncy9waHkvenRlLHp4Mjk3NTIwdjMtdG9wY3Jt LmgKQEAgLTAsMCArMSwxMiBAQAorLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IChHUEwtMi4w LW9ubHkgT1IgQlNELTItQ2xhdXNlKSAqLworLyoKKyAqIENvcHlyaWdodCAoQykgU3RlZmFuIETD tnNpbmdlci4KKyAqLworCisjaWZuZGVmIF9fRFRfQklORElOR1NfUEhZX1pURV9aWDI5NzUyMFYz X1RPUENSTV9ICisjZGVmaW5lIF9fRFRfQklORElOR1NfUEhZX1pURV9aWDI5NzUyMFYzX1RPUENS TV9ICisKKyNkZWZpbmUgWlgyOTc1MjBWM19VU0JfUEhZCTAKKyNkZWZpbmUgWlgyOTc1MjBWM19I U0lDX1BIWQkxCisKKyNlbmRpZiAvKiBfX0RUX0JJTkRJTkdTX1BIWV9aVEVfWlgyOTc1MjBWM19U T1BDUk1fSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kdC1iaW5kaW5ncy9yZXNldC96dGUsengy OTc1MjB2My1yZXNldC5oIGIvaW5jbHVkZS9kdC1iaW5kaW5ncy9yZXNldC96dGUsengyOTc1MjB2 My1yZXNldC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZjYwYWFj Y2YwZjRkCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9kdC1iaW5kaW5ncy9yZXNldC96dGUs engyOTc1MjB2My1yZXNldC5oCkBAIC0wLDAgKzEsMzAgQEAKKy8qIFNQRFgtTGljZW5zZS1JZGVu dGlmaWVyOiAoR1BMLTIuMC1vbmx5IE9SIEJTRC0yLUNsYXVzZSkgKi8KKy8qCisgKiBDb3B5cmln aHQgKEMpIFN0ZWZhbiBEw7ZzaW5nZXIuCisgKi8KKworI2lmbmRlZiBfX0RUX0JJTkRJTkdTX1JF U0VUX1pYMjk3NTIwVjNfSAorI2RlZmluZSBfX0RUX0JJTkRJTkdTX1JFU0VUX1pYMjk3NTIwVjNf SAorCisjZGVmaW5lIFpYMjk3NTIwVjNfWlNQX1JFU0VUCQkJMAorI2RlZmluZSBaWDI5NzUyMFYz X1VBUlQwX1JFU0VUCQkJMQorI2RlZmluZSBaWDI5NzUyMFYzX0kyQzBfUkVTRVQJCQkyCisjZGVm aW5lIFpYMjk3NTIwVjNfUlRDX1JFU0VUCQkJMworI2RlZmluZSBaWDI5NzUyMFYzX1RJTUVSX1Qw OF9SRVNFVAkJNAorI2RlZmluZSBaWDI5NzUyMFYzX1RJTUVSX1QwOV9SRVNFVAkJNQorI2RlZmlu ZSBaWDI5NzUyMFYzX1BNTV9SRVNFVAkJCTYKKyNkZWZpbmUgWlgyOTc1MjBWM19HUElPX1JFU0VU CQkJNworI2RlZmluZSBaWDI5NzUyMFYzX0dQSU84X1JFU0VUCQkJOAorI2RlZmluZSBaWDI5NzUy MFYzX1RJTUVSX1QxMl9SRVNFVAkJOQorI2RlZmluZSBaWDI5NzUyMFYzX1RJTUVSX1QxM19SRVNF VAkJMTAKKyNkZWZpbmUgWlgyOTc1MjBWM19USU1FUl9UMTRfUkVTRVQJCTExCisjZGVmaW5lIFpY Mjk3NTIwVjNfVElNRVJfVDE1X1JFU0VUCQkxMgorI2RlZmluZSBaWDI5NzUyMFYzX1RJTUVSX1Qx Nl9SRVNFVAkJMTMKKyNkZWZpbmUgWlgyOTc1MjBWM19USU1FUl9UMTdfUkVTRVQJCTE0CisjZGVm aW5lIFpYMjk3NTIwVjNfV0RUX1QxOF9SRVNFVAkJMTUKKyNkZWZpbmUgWlgyOTc1MjBWM19VU0lN MV9SRVNFVAkJCTE2CisjZGVmaW5lIFpYMjk3NTIwVjNfQUhCX1JFU0VUCQkJMTcKKyNkZWZpbmUg WlgyOTc1MjBWM19VU0JfUkVTRVQJCQkxOAorI2RlZmluZSBaWDI5NzUyMFYzX0hTSUNfUkVTRVQJ CQkxOQorCisjZW5kaWYgLyogX19EVF9CSU5ESU5HU19SRVNFVF9aWDI5NzUyMFYzX0ggKi8KCi0t IAoyLjU0LjAKCgotLSAKbGludXgtcGh5IG1haWxpbmcgbGlzdApsaW51eC1waHlAbGlzdHMuaW5m cmFkZWFkLm9yZwpodHRwczovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9s aW51eC1waHkK