From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 88E1A1DF270 for ; Fri, 1 Aug 2025 07:38:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754033933; cv=none; b=HHLswGLUMkIR+J/UYn7gUC+J/fTXHeZ3+k0kLH6doSqmOOvI5xjlLDWY/rHLE2X1nDbkEF4m1bETpxJ4bsstPPhnTgTEz9atihF1Csm59axk7/qBApnuqfaiLAZ2vbH9g4D5FEsJ6D08Vn6ZNJSU/uCA/XtwcOxnE53oge44JxM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1754033933; c=relaxed/simple; bh=ZNM55YfUl9xp2ZSYJcQSU6AfmSKr/O5GZtEj4E9ArwM=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=SqZiMTh+Vp5/1ksyzR8FaB3GzBAWRkRHaaql3/hxWojxxGKfhLroyXFpVtblcv9KHOUmqhqvmUZFUmAm9/2LC0TJxsc/5CRtQondlFrbSi1heNffFA5n3lCc6y+SBGwRieaEclCMlJ4o4GjpyRhd3RCHRJ01u8DV+4HVFAPDslI= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=J3U0IvTx; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="J3U0IvTx" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 57101rGW031638 for ; Fri, 1 Aug 2025 07:38:50 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= ZNM55YfUl9xp2ZSYJcQSU6AfmSKr/O5GZtEj4E9ArwM=; b=J3U0IvTxb5MLEnJQ PRrdnr/FwfRHXckOy9HIUtdMTPVCzaNvKkIUIfiRmVMUqz+PVsSSpEKebj4O7Ym9 XlJJCriRT666zMQEXsxU+GfECmfAiTH5jEahOipKko3etXInUW6lTFI4pKLJ+IAK NJ2oUjByg3yYUYwJpR1FR1mhOIs608mqm2EX+EVMSWM8p4S6E/vmrJSmmGGVCngj YCRN0wkWAT+Iq4wwiLwtuc4tar0GdGjayrTsbSHISCuoMgAuQqQpTBUog8dBRv0k ptu8DaMbM+rMYMA1C/gFXv/MYDASt0d610Vxq08g8dxeyMArMDTtqd7X0wblksWT 24akog== Received: from mail-pj1-f69.google.com (mail-pj1-f69.google.com [209.85.216.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 487jwey9u6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Fri, 01 Aug 2025 07:38:50 +0000 (GMT) Received: by mail-pj1-f69.google.com with SMTP id 98e67ed59e1d1-31f00adab23so528299a91.0 for ; Fri, 01 Aug 2025 00:38:50 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754033929; x=1754638729; h=content-transfer-encoding:in-reply-to:from:references:cc:to:subject :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=ZNM55YfUl9xp2ZSYJcQSU6AfmSKr/O5GZtEj4E9ArwM=; b=NjXN4xv4RPt3L2d18IxpiqLtAF/ODXcqlD4+wzPVJQpEJVzdkXzO7CLrVwCx/1JEEp DRoLyRSacGhCMgfqvWgh54FpQf4vdlPIq8/TdChlPejJ/XzVnRUH/NQulJ9fhUpfUFAK BzFEybVpSvlbc3QsEB5dcRjGsJm9TtGcABIQFZAySW8WC8tUFdlKPd9oTM4xQ92e0W6/ OqD9DrPFQKCl/typUhzj2Rc7NN6qjS2flMLRii77dXadRbbtpqJr6/jPghF9ZG62uqCB WTPVlh4ltxyZKxIW1qSthusRGdNHdc29NLtX8tti3dDOIeYB4xeQ+bbqt74Tes3/dbz0 6WJQ== X-Forwarded-Encrypted: i=1; AJvYcCXkuONYthfLUVBJO/LO52VzOWQsmCQlZ+QBr+EY72X2lerDdV6w6AK8rpOmn4O9SNPrwlOI0S/K1miuLV2G@vger.kernel.org X-Gm-Message-State: AOJu0YwD8epH0GY4M+uV1AX2qtd1oZTomu5m9jJnHR5Vi7688GAFE5el D20cO5TRHPbpptmnaXRw2f/SLWSNGO36vi5Uf50nIz4ztHdUPxDysLiyL7j9QIoPrH8IH/R14CK ss6UJXWflxAxqsEqG/iuK3lDsM/XOc6ClLTfMU7GdJ30AnViAKqkjRRhPAoVDNKFFNioaaR62Jg kOgAE= X-Gm-Gg: ASbGncsok5/AzaCPxbW2tF1j/CwdBbL7GVUFaSbfy9zoLw59fYs7Dt9ssLHwfox0vAS bS3TCcg4Zk0K2YZG6j7GU4ijywncmWM3EkZ75ngeOiF/UVgJfbbJ4Wt66SQ6oegwNAw2Q+3EBkL o493HXvTuoASs182nAXAenfLKUpRBEB30To8HlA1u+f7p7wrs7H3OmYYnQ1aB3NXTWz+Yp0385v uygrKO0SUFnQud4Op3G3lyLg6okvT2zDHw8Z0z7PQH6qcaTP+6zwQVIjLd6Mllz6kdNdxNWnNHf baS8JOfOXHHU28Uq3OykyxLsP2UR8T5bGN6FMeN+cpRdRSnNbT7rRtYnSz1OUxAs8PvGsknxuFf bnOfrMVdj0WdK4wr5MfjWPNvbsKBs9g== X-Received: by 2002:a17:90b:1b48:b0:31e:cdc1:999e with SMTP id 98e67ed59e1d1-31f5dda821cmr6238997a91.1.1754033928367; Fri, 01 Aug 2025 00:38:48 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHM0h4u47OKSZmyNwaHGa0yV5M9Yp5I0Yk+dyJ89VWmvfIRnuW3gw2qmcHYwbcIoh+J2GMIAQ== X-Received: by 2002:a17:90b:1b48:b0:31e:cdc1:999e with SMTP id 98e67ed59e1d1-31f5dda821cmr6238958a91.1.1754033927851; Fri, 01 Aug 2025 00:38:47 -0700 (PDT) Received: from [10.133.33.149] (tpe-colo-wan-fw-bordernet.qualcomm.com. [103.229.16.4]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3207ebc3266sm3898449a91.13.2025.08.01.00.38.41 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 01 Aug 2025 00:38:47 -0700 (PDT) Message-ID: <80c59c45-e010-4ec2-8ec5-9ebc2884e282@oss.qualcomm.com> Date: Fri, 1 Aug 2025 15:38:39 +0800 Precedence: bulk X-Mailing-List: linux-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2 02/13] dt-bindings: phy: Add binding for QCS615 standalone QMP DP PHY To: Dmitry Baryshkov Cc: Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Kuogee Hsieh , Vinod Koul , Kishon Vijay Abraham I , linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-phy@lists.infradead.org, konrad.dybcio@oss.qualcomm.com, fange.zhang@oss.qualcomm.com, quic_lliu6@quicinc.com, quic_yongmou@quicinc.com References: <20250722-add-displayport-support-for-qcs615-platform-v2-0-42b4037171f8@oss.qualcomm.com> <20250722-add-displayport-support-for-qcs615-platform-v2-2-42b4037171f8@oss.qualcomm.com> <2de51bf2-baed-4bf9-a40c-1681b2efcf79@oss.qualcomm.com> From: Xiangxu Yin In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Proofpoint-ORIG-GUID: HhWNMfj9vI5j-g4M0YAgEz-4Pwea3jXx X-Authority-Analysis: v=2.4 cv=Wv0rMcfv c=1 sm=1 tr=0 ts=688c6f0a cx=c_pps a=vVfyC5vLCtgYJKYeQD43oA==:117 a=nuhDOHQX5FNHPW3J6Bj6AA==:17 a=IkcTkHD0fZMA:10 a=2OwXVqhp2XgA:10 a=Oh2cFVv5AAAA:8 a=6kdnFUR2qZRIvO1OxKUA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=rl5im9kqc5Lf4LNbBjHf:22 a=7KeoIwV6GZqOttXkcoxL:22 X-Proofpoint-GUID: HhWNMfj9vI5j-g4M0YAgEz-4Pwea3jXx X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODAxMDA1MyBTYWx0ZWRfX22LU1r9Z/yau a5HrZk5dFZeQtXVUwKQIaLUHka43aYOt/qgC12x5aoOdfY02D4yN4ispEx3KNOoNqEOla+Zxs35 E8VOrTpJFOGu4xg3PmVrv+m9iEm6rygp5vY7ZiUOmRejv6EYJV5bmzDaDhxnMJ5bhEHm/1NF17f NlhNR+t4OSdnzs6qPPgep/7F8SoOr63Nzl/PBJ7YmIn/Yr0PGcbaf2fj73+3bi/ZIl/PreF2Rmb jgs7jcC0qCHf0rUI/PmlammDL5msjZalXZClqin6ZRI/i5ZbRYKHHaWiIzGuKSfkiA9oi+nKd+S 3neau34ZXbF3AucgKkDHKOyn1sdymgNw9OpGUbVVBwtYg8k4tG0kLQtlZrlYqXLUsDgfb704nAT x7T5Os+eiScOF9mt03lMQrvfOAkIfdJZm5eEI4Ck+HxJMhyyD+iTqehSX/pLBnoIUFs5ss/9 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-08-01_02,2025-07-31_03,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 priorityscore=1501 malwarescore=0 clxscore=1015 lowpriorityscore=0 bulkscore=0 mlxscore=0 adultscore=0 impostorscore=0 phishscore=0 mlxlogscore=999 suspectscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505280000 definitions=main-2508010053 On 8/1/2025 3:30 PM, Dmitry Baryshkov wrote: > On Fri, Aug 01, 2025 at 11:57:50AM +0800, Xiangxu Yin wrote: >> On 8/1/2025 1:13 AM, Dmitry Baryshkov wrote: >>> On 31/07/2025 08:06, Xiangxu Yin wrote: >>>> On 7/31/2025 2:35 AM, Dmitry Baryshkov wrote: >>>>> On Wed, Jul 30, 2025 at 04:53:16PM +0800, Xiangxu Yin wrote: >>>>>> On 7/22/2025 8:41 PM, Dmitry Baryshkov wrote: >>>>>>> On Tue, Jul 22, 2025 at 08:05:06PM +0800, Xiangxu Yin wrote: >>>>>>>> On 7/22/2025 4:38 PM, Dmitry Baryshkov wrote: >>>>>>>>> On Tue, Jul 22, 2025 at 03:22:03PM +0800, Xiangxu Yin wrote: >>>>>>>>>> Introduce device tree binding documentation for the Qualcomm QMP DP PHY >>>>>>>>>> on QCS615 SoCs. This PHY supports DisplayPort functionality and is >>>>>>>>>> designed to operate independently from the USB3 PHY. >>>>>>>>>> >>>>>>>>>> Unlike combo PHYs found on other platforms, the QCS615 DP PHY is >>>>>>>>>> standalone and does not support USB/DP multiplexing. The binding >>>>>>>>>> describes the required clocks, resets, TCSR configuration, and clock/PHY >>>>>>>>>> cells for proper integration. >>>>>>>>> Simply put: no, this is not correct. Even if you go to the SM6150 block >>>>>>>>> diagram, it points out that DP uses the USB3 PHY, not a separate DP PHY. >>>>>>>>> >>>>>>>>> I thought that we have discussed it beforehand. >>>>>>>>> >>>>>>>>> I can quote my comment from the previous thread: >>>>>>>>> >>>>>>>>>>> No. It means replacing extending existing entries with bigger reg and >>>>>>>>>>> #phy-cells = <1>. The driver must keep working with old node definitions >>>>>>>>>>> as is to ensure backwards compatibility. New nodes should make it >>>>>>>>>>> register two PHYs (USB3 and DP). On the driver side modify generic code >>>>>>>>>>> paths, all platforms supported by the driver should be able to support >>>>>>>>>>> USB3+DP combination. >>>>>>>>> Looking at the hardware memory maps: >>>>>>>>> >>>>>>>>> MSM8998: USB3 PHY regs at 0xc010000, DP PHY regs at 0xc011000 >>>>>>>>> SDM660: USB3 PHY regs at 0xc010000, DP PHY regs at 0xc011000 >>>>>>>>> QCM2290: USB3 PHY regs at 0x1615000, DP PHY regs at 0x1616000 >>>>>>>>> SM6115: USB3 PHY regs at 0x1615000, DP PHY regs at 0x1616000 >>>>>>>>> >>>>>>>>> Now: >>>>>>>>> SM6150: USB3 PHY regs at 0x88e6000 >>>>>>>>>          USB3 PHY regs at 0x88e8000, DP PHY regs at 0x88e9000 >>>>>>>>> >>>>>>>>> I do not know, why msm-4.14 didn't describe second USB3 PHY. Maybe you >>>>>>>>> can comment on it. >>>>>>>>> >>>>>>>>> But based on that list, the only special case that we need to handle is >>>>>>>>> the first USB3 PHY, which doesn't have a corresponding DP PHY block. But >>>>>>>>> it will be handled anyway by the code that implements support for the >>>>>>>>> existing DT entries. All other hardware blocks are combo USB+DP PHYs. >>>>>>>>> >>>>>>>>> Having all of that in mind, please, for v3 patchset implement USB+DP >>>>>>>>> support in the phy-qcom-qmp-usbc driver and add the following logic >>>>>>>>> that also was requested in v1 review: >>>>>>>>> >>>>>>>>>>> Not quite. Both USB3 and DP drivers should be calling power_on / _off. >>>>>>>>>>> If USB3 is on, powering on DP PHY should fail. Vice versa, if DP is on, >>>>>>>>>>> powering on USB should fail. >>>>>>>>> I think our understanding might not be fully aligned. >>>>>>> I did not write this. Please fix your mailer to quote messages properly. >>>>>>> As you are using Thunderbird, I'm not sure where the issue comes from. >>>>>>> >>>>>>> Also please fix it to wrap your responses somwhere logically. >>>>>>> >>>>>>>>> Perhaps this is because I didn’t accurately update the mutual exclusion relationships and test results for the different PHYs. >>>>>>>>> Let me clarify my latest findings and explain why I believe these are separate PHYs that require mutual exclusion via TCSR. >>>>>>>>> >>>>>>>>> 1. About the TCSR DP_PHYMODE Registers >>>>>>>>> >>>>>>>>> MSM8998/SDM660: >>>>>>>>>     Only one TCSR_USB3_DP_PHYMODE register at 0x1FCB248. >>>>>>>>> QCM2290/SM6115: >>>>>>>>>     TCSR_USB3_0_DP_PHYMODE at 0x3CB248 >>>>>>>>>     TCSR_USB3_1_DP_PHYMODE at 0x3CB24C >>>>>>>>> SM6150: >>>>>>>>>     TCSR_USB3_0_DP_PHYMODE at 0x1FCB248 >>>>>>>>>     TCSR_USB3_1_DP_PHYMODE at 0x1FCB24C >>>>>>> SM6150 has two different sets of output pins, so the first register >>>>>>> covers first set of SS lanes (which are routed to the documented SS >>>>>>> PHY), the second register covers the second set of SS lanes (which are >>>>>>> routed to the DP and secondary USB PHY). >>>>>>> >>>>>>> I can only assume that the same configuration was supposed to be >>>>>>> applicable to QCM2290 / SM6115, but was later removed / disabled, while >>>>>>> the registers were kept in the TCSR block. >>>>>>> >>>>>>>>> Even though MSM8998, SDM660, QCM2290, and SM6115 all have one USB3 PHY and one DP PHY, the TCSR DP_PHYMODE register configuration is different on each platform. >>>>>>>>> >>>>>>>>> Additionally, I found some interesting register documentation for QCM2290/SM6115: >>>>>>>>>     TCSR_USB3_0_DP_PHYMODE: “In kamorta this one is for mobile usb. DP not supported.” >>>>>>>>>     TCSR_USB3_1_DP_PHYMODE: “DP mode supported for Auto usb in kamorta.” >>>>>>>>> I think the reason for having two different TCSR registers is to allow both the USB3.0 and DP PHYs to be useds at the same time in certain product configurations. >>>>>>> Sure. One for the first PHY (USB), one for the second PHY (USB+DP). >>>>>>> If you check the memory map, you will find the second VLS CLAMP register >>>>>>> for the second USB PHY. >>>>>>> >>>>>>>>> 2. SM6150 Test Results >>>>>>>>> When TCSR_DP_PHYMODE_0 is switched to DP, the USB3 primary PHY cannot work, and the DP PHY is also not functional (possibly due to clock lack or other configuration mismatch with this TCSR setting). >>>>>>>>> When TCSR_DP_PHYMODE_1 is switched to DP, both the USB3 primary PHY and the DP PHY work normally. >>>>>>>>> I think "why msm-4.14 didn't describe second USB3 PHY", because TCSR_DP_PHYMODE_1 always works in DP mode. >>>>>>>>> https://android.googlesource.com/kernel/msm/+/af03eef7d4c3cbd1fe26c67d4f1915b05d0c1488/drivers/gpu/drm/msm/dp/dp_catalog_v200.c >>>>>>> Here it still programs the TCSR register. >>>>>>> >>>>>>>>> Based on these info, I believe these are separate PHYs, and only the >>>>>>>>> TCSR DP_PHYMODE registers determine which USB3/DP PHYs are paired or >>>>>>>>> mutually exclusive. This is why I have maintained separate private >>>>>>>>> data for each PHY and implemented Power on mutex control via TCSR, >>>>>>>>> rather than using a qmp_combo-like structure. >>>>>>> Still, no. Check the block diagram of SM6150. >>>>>>> >>>>>>>>> Given the above, do you think we still need to force USB and DP to be strictly bound together like a combo PHY? >>>>>>> Yes. >>>>>> I checked the related PHY series and block diagrams again. >>>>>> >>>>>> PRI and SEC go to different nodes based on the SoC design, and there are two types of configurations: USB3-only and USB3+DP pairing. >>>>>> >>>>>> Before proceed the v3 patchset, I’d like to double-confirm whether the following structure is what you expect: >>>>>> >>>>>> usb_qmpphy_1: phy@88e6000 { >>>>>>      compatible = "qcom,sm6150-qmp-usb3-prim-phy"; <== rename to PRIM >>>>> No, we already have a compatible name and DT schema for this device. >>>> Then current compatible name is "qcom,qcs615-qmp-usb3-phy" and shall we need update to "qcom,sm6150-qmp-usb3-phy"? >>> Why? You _already_ have a compatible string. You don't need to change it just to follow the SoC name.  >>> >> Ok, but just to confirm — in this case, the USB3-DP PHY would use "qcom,sm6150-qmp-usb3-dp-phy" while the USB3-only PHY still uses "qcom,qcs615-qmp-usb3-phy"? >> >> Since both PHYs are on the same SoC, would it make sense to keep the naming consistent and use "qcom,qcs615-..." for both?  > Either way is fine with me. Ok, then I’ll use |"qcom,qcs615-qmp-usb3-dp-phy"| for the USB3-DP PHY in the v3 patch. > 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 15C1DC87FDA for ; Fri, 1 Aug 2025 07:49:48 +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:In-Reply-To:From:References:Cc:To: Subject:MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=kLmRuxD88PptZzMZoykYOOr/m3hgZR5MiczSrelG2K8=; b=OoRwCm6nsv1ncJ OHxQ5t1XtgFVoLS2A9R1NJBaIfY7taan4q6w+5AtUitY1sVm1L9Zsu1mM4JnnzPEbxKOrxYVS8/NU +Ay9qeRevoylULZpL4yZzM6SE1eTKOfgP/xtiimlpj5oQ8aQfOc+GQ7LIt08J5F58io9K1wBr97um nCzaFbdURtn6qz14fublsOAgUcKgP3MCLsAiMoveXTOtyS1fV+rkZ3dU6rHLmWyLEv27wyJFbVPvC SP4gJussIuituKclf8dMD8bwGY66gAx/JHVnDrM+9eJGfhNgdu9FGChVATLCCeswJXMnuGQuAoFQX No0QEGrhE7j3rQ9WA7SQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1uhkWR-00000005Amf-3QYY; Fri, 01 Aug 2025 07:49:47 +0000 Received: from mx0b-0031df01.pphosted.com ([205.220.180.131]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1uhkLr-000000059oN-1omo for linux-phy@lists.infradead.org; Fri, 01 Aug 2025 07:38:52 +0000 Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5710lnYE018840 for ; Fri, 1 Aug 2025 07:38:50 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= ZNM55YfUl9xp2ZSYJcQSU6AfmSKr/O5GZtEj4E9ArwM=; b=J3U0IvTxb5MLEnJQ PRrdnr/FwfRHXckOy9HIUtdMTPVCzaNvKkIUIfiRmVMUqz+PVsSSpEKebj4O7Ym9 XlJJCriRT666zMQEXsxU+GfECmfAiTH5jEahOipKko3etXInUW6lTFI4pKLJ+IAK NJ2oUjByg3yYUYwJpR1FR1mhOIs608mqm2EX+EVMSWM8p4S6E/vmrJSmmGGVCngj YCRN0wkWAT+Iq4wwiLwtuc4tar0GdGjayrTsbSHISCuoMgAuQqQpTBUog8dBRv0k ptu8DaMbM+rMYMA1C/gFXv/MYDASt0d610Vxq08g8dxeyMArMDTtqd7X0wblksWT 24akog== Received: from mail-pj1-f69.google.com (mail-pj1-f69.google.com [209.85.216.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 484qdaas7e-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Fri, 01 Aug 2025 07:38:49 +0000 (GMT) Received: by mail-pj1-f69.google.com with SMTP id 98e67ed59e1d1-31eebb88a82so572033a91.1 for ; Fri, 01 Aug 2025 00:38:49 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754033928; x=1754638728; h=content-transfer-encoding:in-reply-to:from:references:cc:to:subject :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=ZNM55YfUl9xp2ZSYJcQSU6AfmSKr/O5GZtEj4E9ArwM=; b=TEQWtPMkITlGNNWB5rHCmhQLOJIR5MtLqr9tKd7m1CUjckhlEzEAplc12bAzZVtYk3 ekPkjN/FB0LJ4BE0aBIJANbNSs1i4jRySf39zFGXS6hMlDgMdUFTRAK6Yd8vLORkZLYs HcAzQSOvBUrly3cKn7Z2QTZTzydoS6s7N0az5tW06vmVEEto/5/81MoIkLr+Sgav93WC DqvCtLkjDY/VYtYnEodxljNrLl7j3ReZpRyIKAkI9ML6H0Auiy0+SA0g1NgkvPuQmqSZ F7eJ8ll+2zs4G1hg1u6T3zL1E2jfJGiID7bs+YnXrCV7X8os8zDB8woe5sASeZqnUtRV SCuA== X-Forwarded-Encrypted: i=1; AJvYcCXdZX71UebDPC69g08hvJsWPwOuzpiYX2jBNMW9y2FbSfEWivzqE2lc2nrIrJWt82m45NYcFfs5WAc=@lists.infradead.org X-Gm-Message-State: AOJu0YwGkFI88Li/YJO5X3mV2fm8iAwZBzlpxG2ezhmWtT1O+xXNvrAg UuqiQ09W+grmglqepKr2mB++YEzbWSNG9QNnXn6pavnSuCBmPe2ZDPmRbgs0hKmRW2pEIbU5Zzm 6lW666uXp7pgp147CBbsclS088U5Gb23B/H6h2CTkCelkX5nurbl+uxoi0h3NFwyrXeu4 X-Gm-Gg: ASbGncubRH/Km9MI88gGBfxyOBLCa2l3ZGJGm5exg3EElHhJxnlJxNfrqhOHq+woZf6 1pW7+GxaylmD9AO1IiJWq5J4kWmkboQku78TYY1vaA6M1UOHRPfDrePZk/N6KgQaK6a4YW2WzW3 JRrCAlj6iRFuV7gXZmJiNbQGUofPzZd/drehudu1+NfeKsQ5nBHKdKKlInz0MTPT0yiZ+A0nqJe M+0Rg3Li38eV1txH83eqQ3zpebIMh+pfQ5Fl4wHZ+JB2Wf2zO8SFzR6r0S5QK/mwXHoXrLhscRF YoI6wXaKBR1oNSNn86U69/OdvbalZGH0xCpJrhVzZ4Hb3qTL/fWLR/GU9IDP+kHvMjoXR/YuMZY o0j8lVOQeDnQIei+Naozi/u1ehcpZBA== X-Received: by 2002:a17:90b:1b48:b0:31e:cdc1:999e with SMTP id 98e67ed59e1d1-31f5dda821cmr6238975a91.1.1754033928348; Fri, 01 Aug 2025 00:38:48 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHM0h4u47OKSZmyNwaHGa0yV5M9Yp5I0Yk+dyJ89VWmvfIRnuW3gw2qmcHYwbcIoh+J2GMIAQ== X-Received: by 2002:a17:90b:1b48:b0:31e:cdc1:999e with SMTP id 98e67ed59e1d1-31f5dda821cmr6238958a91.1.1754033927851; Fri, 01 Aug 2025 00:38:47 -0700 (PDT) Received: from [10.133.33.149] (tpe-colo-wan-fw-bordernet.qualcomm.com. [103.229.16.4]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3207ebc3266sm3898449a91.13.2025.08.01.00.38.41 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 01 Aug 2025 00:38:47 -0700 (PDT) Message-ID: <80c59c45-e010-4ec2-8ec5-9ebc2884e282@oss.qualcomm.com> Date: Fri, 1 Aug 2025 15:38:39 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2 02/13] dt-bindings: phy: Add binding for QCS615 standalone QMP DP PHY To: Dmitry Baryshkov Cc: Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Kuogee Hsieh , Vinod Koul , Kishon Vijay Abraham I , linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-phy@lists.infradead.org, konrad.dybcio@oss.qualcomm.com, fange.zhang@oss.qualcomm.com, quic_lliu6@quicinc.com, quic_yongmou@quicinc.com References: <20250722-add-displayport-support-for-qcs615-platform-v2-0-42b4037171f8@oss.qualcomm.com> <20250722-add-displayport-support-for-qcs615-platform-v2-2-42b4037171f8@oss.qualcomm.com> <2de51bf2-baed-4bf9-a40c-1681b2efcf79@oss.qualcomm.com> From: Xiangxu Yin In-Reply-To: X-Proofpoint-ORIG-GUID: g3eWeAtnPEapOXXG3gU_QXa9uDuXtZoc X-Authority-Analysis: v=2.4 cv=Pfv/hjhd c=1 sm=1 tr=0 ts=688c6f0a cx=c_pps a=vVfyC5vLCtgYJKYeQD43oA==:117 a=nuhDOHQX5FNHPW3J6Bj6AA==:17 a=IkcTkHD0fZMA:10 a=2OwXVqhp2XgA:10 a=Oh2cFVv5AAAA:8 a=6kdnFUR2qZRIvO1OxKUA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=rl5im9kqc5Lf4LNbBjHf:22 a=7KeoIwV6GZqOttXkcoxL:22 X-Proofpoint-GUID: g3eWeAtnPEapOXXG3gU_QXa9uDuXtZoc X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODAxMDA1MyBTYWx0ZWRfX1v5gbU1Rq73H Cy/B0ZdYQsu3K2tFIxV0MrV6Fbnvk7p3dG3t4s8Qv3GBgMbF8wdWr6hNcd/FwtfTC23te7iFVBf BOAv74ZBia3z5ptBT6s+asE6bKMDzr7gkmMFS+hXltT+ZW9BAbM9j0zUqZoIqtVDfqoj3XEBGxG Ud+BpgMx08VbQZpO2RdQKYjEo1bV3072zhrMp5thnSxoNi15oa70b06MqPLdm3XpbwzyCGANXO2 jCXryvxI/v1pgbr4/rVPsqq4q55lFE3jtD1oO0mbFi+c2rXtQUThAIW6vau9EDdaG4mHwuPE3TU ayGIvMOrmCwCmwXkDwqkIy4/Hsn9o0vUnTbMk3gSLe5Pgzk6CYhu6zQgJCUxMqdvgCAxwtV+8UI Tm6eJRk6478fGa0W7cV9WIM5+fM5IiCvhP0LNWD0z//UzQWEqiZwM/u4P0rBAFj2DnbsWxJb X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-08-01_02,2025-07-31_03,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxlogscore=999 clxscore=1015 adultscore=0 priorityscore=1501 mlxscore=0 spamscore=0 suspectscore=0 phishscore=0 lowpriorityscore=0 malwarescore=0 impostorscore=0 bulkscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505280000 definitions=main-2508010053 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250801_003851_612030_AF1D7986 X-CRM114-Status: GOOD ( 35.44 ) 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 Ck9uIDgvMS8yMDI1IDM6MzAgUE0sIERtaXRyeSBCYXJ5c2hrb3Ygd3JvdGU6Cj4gT24gRnJpLCBB dWcgMDEsIDIwMjUgYXQgMTE6NTc6NTBBTSArMDgwMCwgWGlhbmd4dSBZaW4gd3JvdGU6Cj4+IE9u IDgvMS8yMDI1IDE6MTMgQU0sIERtaXRyeSBCYXJ5c2hrb3Ygd3JvdGU6Cj4+PiBPbiAzMS8wNy8y MDI1IDA4OjA2LCBYaWFuZ3h1IFlpbiB3cm90ZToKPj4+PiBPbiA3LzMxLzIwMjUgMjozNSBBTSwg RG1pdHJ5IEJhcnlzaGtvdiB3cm90ZToKPj4+Pj4gT24gV2VkLCBKdWwgMzAsIDIwMjUgYXQgMDQ6 NTM6MTZQTSArMDgwMCwgWGlhbmd4dSBZaW4gd3JvdGU6Cj4+Pj4+PiBPbiA3LzIyLzIwMjUgODo0 MSBQTSwgRG1pdHJ5IEJhcnlzaGtvdiB3cm90ZToKPj4+Pj4+PiBPbiBUdWUsIEp1bCAyMiwgMjAy NSBhdCAwODowNTowNlBNICswODAwLCBYaWFuZ3h1IFlpbiB3cm90ZToKPj4+Pj4+Pj4gT24gNy8y Mi8yMDI1IDQ6MzggUE0sIERtaXRyeSBCYXJ5c2hrb3Ygd3JvdGU6Cj4+Pj4+Pj4+PiBPbiBUdWUs IEp1bCAyMiwgMjAyNSBhdCAwMzoyMjowM1BNICswODAwLCBYaWFuZ3h1IFlpbiB3cm90ZToKPj4+ Pj4+Pj4+PiBJbnRyb2R1Y2UgZGV2aWNlIHRyZWUgYmluZGluZyBkb2N1bWVudGF0aW9uIGZvciB0 aGUgUXVhbGNvbW0gUU1QIERQIFBIWQo+Pj4+Pj4+Pj4+IG9uIFFDUzYxNSBTb0NzLiBUaGlzIFBI WSBzdXBwb3J0cyBEaXNwbGF5UG9ydCBmdW5jdGlvbmFsaXR5IGFuZCBpcwo+Pj4+Pj4+Pj4+IGRl c2lnbmVkIHRvIG9wZXJhdGUgaW5kZXBlbmRlbnRseSBmcm9tIHRoZSBVU0IzIFBIWS4KPj4+Pj4+ Pj4+Pgo+Pj4+Pj4+Pj4+IFVubGlrZSBjb21ibyBQSFlzIGZvdW5kIG9uIG90aGVyIHBsYXRmb3Jt cywgdGhlIFFDUzYxNSBEUCBQSFkgaXMKPj4+Pj4+Pj4+PiBzdGFuZGFsb25lIGFuZCBkb2VzIG5v dCBzdXBwb3J0IFVTQi9EUCBtdWx0aXBsZXhpbmcuIFRoZSBiaW5kaW5nCj4+Pj4+Pj4+Pj4gZGVz Y3JpYmVzIHRoZSByZXF1aXJlZCBjbG9ja3MsIHJlc2V0cywgVENTUiBjb25maWd1cmF0aW9uLCBh bmQgY2xvY2svUEhZCj4+Pj4+Pj4+Pj4gY2VsbHMgZm9yIHByb3BlciBpbnRlZ3JhdGlvbi4KPj4+ Pj4+Pj4+IFNpbXBseSBwdXQ6IG5vLCB0aGlzIGlzIG5vdCBjb3JyZWN0LiBFdmVuIGlmIHlvdSBn byB0byB0aGUgU002MTUwIGJsb2NrCj4+Pj4+Pj4+PiBkaWFncmFtLCBpdCBwb2ludHMgb3V0IHRo YXQgRFAgdXNlcyB0aGUgVVNCMyBQSFksIG5vdCBhIHNlcGFyYXRlIERQIFBIWS4KPj4+Pj4+Pj4+ Cj4+Pj4+Pj4+PiBJIHRob3VnaHQgdGhhdCB3ZSBoYXZlIGRpc2N1c3NlZCBpdCBiZWZvcmVoYW5k Lgo+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+IEkgY2FuIHF1b3RlIG15IGNvbW1lbnQgZnJvbSB0aGUgcHJl dmlvdXMgdGhyZWFkOgo+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+Pj4gTm8uIEl0IG1lYW5zIHJlcGxhY2lu ZyBleHRlbmRpbmcgZXhpc3RpbmcgZW50cmllcyB3aXRoIGJpZ2dlciByZWcgYW5kCj4+Pj4+Pj4+ Pj4+ICNwaHktY2VsbHMgPSA8MT4uIFRoZSBkcml2ZXIgbXVzdCBrZWVwIHdvcmtpbmcgd2l0aCBv bGQgbm9kZSBkZWZpbml0aW9ucwo+Pj4+Pj4+Pj4+PiBhcyBpcyB0byBlbnN1cmUgYmFja3dhcmRz IGNvbXBhdGliaWxpdHkuIE5ldyBub2RlcyBzaG91bGQgbWFrZSBpdAo+Pj4+Pj4+Pj4+PiByZWdp c3RlciB0d28gUEhZcyAoVVNCMyBhbmQgRFApLiBPbiB0aGUgZHJpdmVyIHNpZGUgbW9kaWZ5IGdl bmVyaWMgY29kZQo+Pj4+Pj4+Pj4+PiBwYXRocywgYWxsIHBsYXRmb3JtcyBzdXBwb3J0ZWQgYnkg dGhlIGRyaXZlciBzaG91bGQgYmUgYWJsZSB0byBzdXBwb3J0Cj4+Pj4+Pj4+Pj4+IFVTQjMrRFAg Y29tYmluYXRpb24uCj4+Pj4+Pj4+PiBMb29raW5nIGF0IHRoZSBoYXJkd2FyZSBtZW1vcnkgbWFw czoKPj4+Pj4+Pj4+Cj4+Pj4+Pj4+PiBNU004OTk4OiBVU0IzIFBIWSByZWdzIGF0IDB4YzAxMDAw MCwgRFAgUEhZIHJlZ3MgYXQgMHhjMDExMDAwCj4+Pj4+Pj4+PiBTRE02NjA6IFVTQjMgUEhZIHJl Z3MgYXQgMHhjMDEwMDAwLCBEUCBQSFkgcmVncyBhdCAweGMwMTEwMDAKPj4+Pj4+Pj4+IFFDTTIy OTA6IFVTQjMgUEhZIHJlZ3MgYXQgMHgxNjE1MDAwLCBEUCBQSFkgcmVncyBhdCAweDE2MTYwMDAK Pj4+Pj4+Pj4+IFNNNjExNTogVVNCMyBQSFkgcmVncyBhdCAweDE2MTUwMDAsIERQIFBIWSByZWdz IGF0IDB4MTYxNjAwMAo+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+IE5vdzoKPj4+Pj4+Pj4+IFNNNjE1MDog VVNCMyBQSFkgcmVncyBhdCAweDg4ZTYwMDAKPj4+Pj4+Pj4+IMKgwqDCoMKgwqDCoMKgwqAgVVNC MyBQSFkgcmVncyBhdCAweDg4ZTgwMDAsIERQIFBIWSByZWdzIGF0IDB4ODhlOTAwMAo+Pj4+Pj4+ Pj4KPj4+Pj4+Pj4+IEkgZG8gbm90IGtub3csIHdoeSBtc20tNC4xNCBkaWRuJ3QgZGVzY3JpYmUg c2Vjb25kIFVTQjMgUEhZLiBNYXliZSB5b3UKPj4+Pj4+Pj4+IGNhbiBjb21tZW50IG9uIGl0Lgo+ Pj4+Pj4+Pj4KPj4+Pj4+Pj4+IEJ1dCBiYXNlZCBvbiB0aGF0IGxpc3QsIHRoZSBvbmx5IHNwZWNp YWwgY2FzZSB0aGF0IHdlIG5lZWQgdG8gaGFuZGxlIGlzCj4+Pj4+Pj4+PiB0aGUgZmlyc3QgVVNC MyBQSFksIHdoaWNoIGRvZXNuJ3QgaGF2ZSBhIGNvcnJlc3BvbmRpbmcgRFAgUEhZIGJsb2NrLiBC dXQKPj4+Pj4+Pj4+IGl0IHdpbGwgYmUgaGFuZGxlZCBhbnl3YXkgYnkgdGhlIGNvZGUgdGhhdCBp bXBsZW1lbnRzIHN1cHBvcnQgZm9yIHRoZQo+Pj4+Pj4+Pj4gZXhpc3RpbmcgRFQgZW50cmllcy4g QWxsIG90aGVyIGhhcmR3YXJlIGJsb2NrcyBhcmUgY29tYm8gVVNCK0RQIFBIWXMuCj4+Pj4+Pj4+ Pgo+Pj4+Pj4+Pj4gSGF2aW5nIGFsbCBvZiB0aGF0IGluIG1pbmQsIHBsZWFzZSwgZm9yIHYzIHBh dGNoc2V0IGltcGxlbWVudCBVU0IrRFAKPj4+Pj4+Pj4+IHN1cHBvcnQgaW4gdGhlIHBoeS1xY29t LXFtcC11c2JjIGRyaXZlciBhbmQgYWRkIHRoZSBmb2xsb3dpbmcgbG9naWMKPj4+Pj4+Pj4+IHRo YXQgYWxzbyB3YXMgcmVxdWVzdGVkIGluIHYxIHJldmlldzoKPj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4+ IE5vdCBxdWl0ZS4gQm90aCBVU0IzIGFuZCBEUCBkcml2ZXJzIHNob3VsZCBiZSBjYWxsaW5nIHBv d2VyX29uIC8gX29mZi4KPj4+Pj4+Pj4+Pj4gSWYgVVNCMyBpcyBvbiwgcG93ZXJpbmcgb24gRFAg UEhZIHNob3VsZCBmYWlsLiBWaWNlIHZlcnNhLCBpZiBEUCBpcyBvbiwKPj4+Pj4+Pj4+Pj4gcG93 ZXJpbmcgb24gVVNCIHNob3VsZCBmYWlsLgo+Pj4+Pj4+Pj4gSSB0aGluayBvdXIgdW5kZXJzdGFu ZGluZyBtaWdodCBub3QgYmUgZnVsbHkgYWxpZ25lZC4KPj4+Pj4+PiBJIGRpZCBub3Qgd3JpdGUg dGhpcy4gUGxlYXNlIGZpeCB5b3VyIG1haWxlciB0byBxdW90ZSBtZXNzYWdlcyBwcm9wZXJseS4K Pj4+Pj4+PiBBcyB5b3UgYXJlIHVzaW5nIFRodW5kZXJiaXJkLCBJJ20gbm90IHN1cmUgd2hlcmUg dGhlIGlzc3VlIGNvbWVzIGZyb20uCj4+Pj4+Pj4KPj4+Pj4+PiBBbHNvIHBsZWFzZSBmaXggaXQg dG8gd3JhcCB5b3VyIHJlc3BvbnNlcyBzb213aGVyZSBsb2dpY2FsbHkuCj4+Pj4+Pj4KPj4+Pj4+ Pj4+IFBlcmhhcHMgdGhpcyBpcyBiZWNhdXNlIEkgZGlkbuKAmXQgYWNjdXJhdGVseSB1cGRhdGUg dGhlIG11dHVhbCBleGNsdXNpb24gcmVsYXRpb25zaGlwcyBhbmQgdGVzdCByZXN1bHRzIGZvciB0 aGUgZGlmZmVyZW50IFBIWXMuCj4+Pj4+Pj4+PiBMZXQgbWUgY2xhcmlmeSBteSBsYXRlc3QgZmlu ZGluZ3MgYW5kIGV4cGxhaW4gd2h5IEkgYmVsaWV2ZSB0aGVzZSBhcmUgc2VwYXJhdGUgUEhZcyB0 aGF0IHJlcXVpcmUgbXV0dWFsIGV4Y2x1c2lvbiB2aWEgVENTUi4KPj4+Pj4+Pj4+Cj4+Pj4+Pj4+ PiAxLiBBYm91dCB0aGUgVENTUiBEUF9QSFlNT0RFIFJlZ2lzdGVycwo+Pj4+Pj4+Pj4KPj4+Pj4+ Pj4+IE1TTTg5OTgvU0RNNjYwOgo+Pj4+Pj4+Pj4gwqDCoMKgwqBPbmx5IG9uZSBUQ1NSX1VTQjNf RFBfUEhZTU9ERSByZWdpc3RlciBhdCAweDFGQ0IyNDguCj4+Pj4+Pj4+PiBRQ00yMjkwL1NNNjEx NToKPj4+Pj4+Pj4+IMKgwqDCoMKgVENTUl9VU0IzXzBfRFBfUEhZTU9ERSBhdCAweDNDQjI0OAo+ Pj4+Pj4+Pj4gwqDCoMKgwqBUQ1NSX1VTQjNfMV9EUF9QSFlNT0RFIGF0IDB4M0NCMjRDCj4+Pj4+ Pj4+PiBTTTYxNTA6Cj4+Pj4+Pj4+PiDCoMKgwqDCoFRDU1JfVVNCM18wX0RQX1BIWU1PREUgYXQg MHgxRkNCMjQ4Cj4+Pj4+Pj4+PiDCoMKgwqDCoFRDU1JfVVNCM18xX0RQX1BIWU1PREUgYXQgMHgx RkNCMjRDCj4+Pj4+Pj4gU002MTUwIGhhcyB0d28gZGlmZmVyZW50IHNldHMgb2Ygb3V0cHV0IHBp bnMsIHNvIHRoZSBmaXJzdCByZWdpc3Rlcgo+Pj4+Pj4+IGNvdmVycyBmaXJzdCBzZXQgb2YgU1Mg bGFuZXMgKHdoaWNoIGFyZSByb3V0ZWQgdG8gdGhlIGRvY3VtZW50ZWQgU1MKPj4+Pj4+PiBQSFkp LCB0aGUgc2Vjb25kIHJlZ2lzdGVyIGNvdmVycyB0aGUgc2Vjb25kIHNldCBvZiBTUyBsYW5lcyAo d2hpY2ggYXJlCj4+Pj4+Pj4gcm91dGVkIHRvIHRoZSBEUCBhbmQgc2Vjb25kYXJ5IFVTQiBQSFkp Lgo+Pj4+Pj4+Cj4+Pj4+Pj4gSSBjYW4gb25seSBhc3N1bWUgdGhhdCB0aGUgc2FtZSBjb25maWd1 cmF0aW9uIHdhcyBzdXBwb3NlZCB0byBiZQo+Pj4+Pj4+IGFwcGxpY2FibGUgdG8gUUNNMjI5MCAv IFNNNjExNSwgYnV0IHdhcyBsYXRlciByZW1vdmVkIC8gZGlzYWJsZWQsIHdoaWxlCj4+Pj4+Pj4g dGhlIHJlZ2lzdGVycyB3ZXJlIGtlcHQgaW4gdGhlIFRDU1IgYmxvY2suCj4+Pj4+Pj4KPj4+Pj4+ Pj4+IEV2ZW4gdGhvdWdoIE1TTTg5OTgsIFNETTY2MCwgUUNNMjI5MCwgYW5kIFNNNjExNSBhbGwg aGF2ZSBvbmUgVVNCMyBQSFkgYW5kIG9uZSBEUCBQSFksIHRoZSBUQ1NSIERQX1BIWU1PREUgcmVn aXN0ZXIgY29uZmlndXJhdGlvbiBpcyBkaWZmZXJlbnQgb24gZWFjaCBwbGF0Zm9ybS4KPj4+Pj4+ Pj4+Cj4+Pj4+Pj4+PiBBZGRpdGlvbmFsbHksIEkgZm91bmQgc29tZSBpbnRlcmVzdGluZyByZWdp c3RlciBkb2N1bWVudGF0aW9uIGZvciBRQ00yMjkwL1NNNjExNToKPj4+Pj4+Pj4+IMKgwqDCoMKg VENTUl9VU0IzXzBfRFBfUEhZTU9ERTog4oCcSW4ga2Ftb3J0YSB0aGlzIG9uZSBpcyBmb3IgbW9i aWxlIHVzYi4gRFAgbm90IHN1cHBvcnRlZC7igJ0KPj4+Pj4+Pj4+IMKgwqDCoMKgVENTUl9VU0Iz XzFfRFBfUEhZTU9ERTog4oCcRFAgbW9kZSBzdXBwb3J0ZWQgZm9yIEF1dG8gdXNiIGluIGthbW9y dGEu4oCdCj4+Pj4+Pj4+PiBJIHRoaW5rIHRoZSByZWFzb24gZm9yIGhhdmluZyB0d28gZGlmZmVy ZW50IFRDU1IgcmVnaXN0ZXJzIGlzIHRvIGFsbG93IGJvdGggdGhlIFVTQjMuMCBhbmQgRFAgUEhZ cyB0byBiZSB1c2VkcyBhdCB0aGUgc2FtZSB0aW1lIGluIGNlcnRhaW4gcHJvZHVjdCBjb25maWd1 cmF0aW9ucy4KPj4+Pj4+PiBTdXJlLiBPbmUgZm9yIHRoZSBmaXJzdCBQSFkgKFVTQiksIG9uZSBm b3IgdGhlIHNlY29uZCBQSFkgKFVTQitEUCkuCj4+Pj4+Pj4gSWYgeW91IGNoZWNrIHRoZSBtZW1v cnkgbWFwLCB5b3Ugd2lsbCBmaW5kIHRoZSBzZWNvbmQgVkxTIENMQU1QIHJlZ2lzdGVyCj4+Pj4+ Pj4gZm9yIHRoZSBzZWNvbmQgVVNCIFBIWS4KPj4+Pj4+Pgo+Pj4+Pj4+Pj4gMi4gU002MTUwIFRl c3QgUmVzdWx0cwo+Pj4+Pj4+Pj4gV2hlbiBUQ1NSX0RQX1BIWU1PREVfMCBpcyBzd2l0Y2hlZCB0 byBEUCwgdGhlIFVTQjMgcHJpbWFyeSBQSFkgY2Fubm90IHdvcmssIGFuZCB0aGUgRFAgUEhZIGlz IGFsc28gbm90IGZ1bmN0aW9uYWwgKHBvc3NpYmx5IGR1ZSB0byBjbG9jayBsYWNrIG9yIG90aGVy IGNvbmZpZ3VyYXRpb24gbWlzbWF0Y2ggd2l0aCB0aGlzIFRDU1Igc2V0dGluZykuCj4+Pj4+Pj4+ PiBXaGVuIFRDU1JfRFBfUEhZTU9ERV8xIGlzIHN3aXRjaGVkIHRvIERQLCBib3RoIHRoZSBVU0Iz IHByaW1hcnkgUEhZIGFuZCB0aGUgRFAgUEhZIHdvcmsgbm9ybWFsbHkuCj4+Pj4+Pj4+PiBJIHRo aW5rICJ3aHkgbXNtLTQuMTQgZGlkbid0IGRlc2NyaWJlIHNlY29uZCBVU0IzIFBIWSIsIGJlY2F1 c2UgVENTUl9EUF9QSFlNT0RFXzEgYWx3YXlzIHdvcmtzIGluIERQIG1vZGUuCj4+Pj4+Pj4+PiBo dHRwczovL2FuZHJvaWQuZ29vZ2xlc291cmNlLmNvbS9rZXJuZWwvbXNtLysvYWYwM2VlZjdkNGMz Y2JkMWZlMjZjNjdkNGYxOTE1YjA1ZDBjMTQ4OC9kcml2ZXJzL2dwdS9kcm0vbXNtL2RwL2RwX2Nh dGFsb2dfdjIwMC5jCj4+Pj4+Pj4gSGVyZSBpdCBzdGlsbCBwcm9ncmFtcyB0aGUgVENTUiByZWdp c3Rlci4KPj4+Pj4+Pgo+Pj4+Pj4+Pj4gQmFzZWQgb24gdGhlc2UgaW5mbywgSSBiZWxpZXZlIHRo ZXNlIGFyZSBzZXBhcmF0ZSBQSFlzLCBhbmQgb25seSB0aGUKPj4+Pj4+Pj4+IFRDU1IgRFBfUEhZ TU9ERSByZWdpc3RlcnMgZGV0ZXJtaW5lIHdoaWNoIFVTQjMvRFAgUEhZcyBhcmUgcGFpcmVkIG9y Cj4+Pj4+Pj4+PiBtdXR1YWxseSBleGNsdXNpdmUuIFRoaXMgaXMgd2h5IEkgaGF2ZSBtYWludGFp bmVkIHNlcGFyYXRlIHByaXZhdGUKPj4+Pj4+Pj4+IGRhdGEgZm9yIGVhY2ggUEhZIGFuZCBpbXBs ZW1lbnRlZCBQb3dlciBvbiBtdXRleCBjb250cm9sIHZpYSBUQ1NSLAo+Pj4+Pj4+Pj4gcmF0aGVy IHRoYW4gdXNpbmcgYSBxbXBfY29tYm8tbGlrZSBzdHJ1Y3R1cmUuCj4+Pj4+Pj4gU3RpbGwsIG5v LiBDaGVjayB0aGUgYmxvY2sgZGlhZ3JhbSBvZiBTTTYxNTAuCj4+Pj4+Pj4KPj4+Pj4+Pj4+IEdp dmVuIHRoZSBhYm92ZSwgZG8geW91IHRoaW5rIHdlIHN0aWxsIG5lZWQgdG8gZm9yY2UgVVNCIGFu ZCBEUCB0byBiZSBzdHJpY3RseSBib3VuZCB0b2dldGhlciBsaWtlIGEgY29tYm8gUEhZPwo+Pj4+ Pj4+IFllcy4KPj4+Pj4+IEkgY2hlY2tlZCB0aGUgcmVsYXRlZCBQSFkgc2VyaWVzIGFuZCBibG9j ayBkaWFncmFtcyBhZ2Fpbi4KPj4+Pj4+Cj4+Pj4+PiBQUkkgYW5kIFNFQyBnbyB0byBkaWZmZXJl bnQgbm9kZXMgYmFzZWQgb24gdGhlIFNvQyBkZXNpZ24sIGFuZCB0aGVyZSBhcmUgdHdvIHR5cGVz IG9mIGNvbmZpZ3VyYXRpb25zOiBVU0IzLW9ubHkgYW5kIFVTQjMrRFAgcGFpcmluZy4KPj4+Pj4+ Cj4+Pj4+PiBCZWZvcmUgcHJvY2VlZCB0aGUgdjMgcGF0Y2hzZXQsIEnigJlkIGxpa2UgdG8gZG91 YmxlLWNvbmZpcm0gd2hldGhlciB0aGUgZm9sbG93aW5nIHN0cnVjdHVyZSBpcyB3aGF0IHlvdSBl eHBlY3Q6Cj4+Pj4+Pgo+Pj4+Pj4gdXNiX3FtcHBoeV8xOiBwaHlAODhlNjAwMCB7Cj4+Pj4+PiDC oMKgwqDCoCBjb21wYXRpYmxlID0gInFjb20sc202MTUwLXFtcC11c2IzLXByaW0tcGh5IjsgPD09 IHJlbmFtZSB0byBQUklNCj4+Pj4+IE5vLCB3ZSBhbHJlYWR5IGhhdmUgYSBjb21wYXRpYmxlIG5h bWUgYW5kIERUIHNjaGVtYSBmb3IgdGhpcyBkZXZpY2UuCj4+Pj4gVGhlbiBjdXJyZW50IGNvbXBh dGlibGUgbmFtZSBpcyAicWNvbSxxY3M2MTUtcW1wLXVzYjMtcGh5IiBhbmQgc2hhbGwgd2UgbmVl ZCB1cGRhdGUgdG8gInFjb20sc202MTUwLXFtcC11c2IzLXBoeSI/Cj4+PiBXaHk/IFlvdSBfYWxy ZWFkeV8gaGF2ZSBhIGNvbXBhdGlibGUgc3RyaW5nLiBZb3UgZG9uJ3QgbmVlZCB0byBjaGFuZ2Ug aXQganVzdCB0byBmb2xsb3cgdGhlIFNvQyBuYW1lLsKgCj4+Pgo+PiBPaywgYnV0IGp1c3QgdG8g Y29uZmlybSDigJQgaW4gdGhpcyBjYXNlLCB0aGUgVVNCMy1EUCBQSFkgd291bGQgdXNlICJxY29t LHNtNjE1MC1xbXAtdXNiMy1kcC1waHkiIHdoaWxlIHRoZSBVU0IzLW9ubHkgUEhZIHN0aWxsIHVz ZXMgInFjb20scWNzNjE1LXFtcC11c2IzLXBoeSI/Cj4+Cj4+IFNpbmNlIGJvdGggUEhZcyBhcmUg b24gdGhlIHNhbWUgU29DLCB3b3VsZCBpdCBtYWtlIHNlbnNlIHRvIGtlZXAgdGhlIG5hbWluZyBj b25zaXN0ZW50IGFuZCB1c2UgInFjb20scWNzNjE1LS4uLiIgZm9yIGJvdGg/wqAKPiBFaXRoZXIg d2F5IGlzIGZpbmUgd2l0aCBtZS4KT2sswqB0aGVuIEnigJlsbCB1c2XCoHwicWNvbSxxY3M2MTUt cW1wLXVzYjMtZHAtcGh5InzCoGZvciB0aGUgVVNCMy1EUCBQSFkgaW4gdGhlIHYzIHBhdGNoLgo+ CgotLSAKbGludXgtcGh5IG1haWxpbmcgbGlzdApsaW51eC1waHlAbGlzdHMuaW5mcmFkZWFkLm9y ZwpodHRwczovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1waHkK