From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1DB14606A319 for ; Tue, 20 Oct 2026 14:58:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key, unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.a=rsa-sha256 header.s=bombadil.20210309 header.b=fFEKrjme; dkim=fail reason="signature verification failed" (2048-bit key, unprotected) header.d=sntech.de header.i=@sntech.de header.a=rsa-sha256 header.s=gloria202408 header.b=Bx3qI1te DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=awOJAS/m8DRDn9gmSUetuEzHCZ4fwTvGJJ++UJAtGl8=; b=fFEKrjme0HFFfi 2WYF7nWBP6oHxFyoLee1b1S3Pu53w4xGxaZ7tZFPnCOZZIR9oL3PQbFSqe4gQ7KYk0tuG/8p+wIMo wvcK7P2KShmhsbq0Lu+iTwtmvRgfIZ96YoSXqdZ97DFjR8WfGnaHVZrxSqxVCS/LtOxb1otrXRPc0 8swEnOeKjJaXd45p9bOac8O9lWA2mlGaBdQ4y5AJaa9wZ46/dejLR/ksDQYCxGi99xEUoPPLBjewh 6qAyeNFAVlPLeTFshdfH2pGFyyww6+/Uvp8sP6GYJxnqn5BSV86Elg3MNSBlRJ7clTg9sUoYatNTl KSDJ3LCwny19GxPA85hQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1xJBHy-0000000A0Vq-2sVK; Tue, 20 Oct 2026 14:58:06 +0000 Received: from gloria.sntech.de ([185.11.138.130]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1xJBHv-0000000A0Ux-3cxj; Tue, 20 Oct 2026 14:58:05 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sntech.de; s=gloria202408; h=Content-Type:Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Reply-To; bh=IElBYbGaJp62Ej/HEfWVK4DUW4gT7qobiXVvxG5fehg=; b=Bx3qI1teo6GmUTEO+wejgphvYp e32JMyy5L4EWdvdu40d0P+NnumYmV3e9XSdkUuO3eOLBxmEc/N048ALyaHFg2YLWqlKdJiXSinnhS UQlTIZmBeKOBLdgj2zg2no7IPcgDk6tSKh0gzs546A0IIIqHjKW82plioGlj7PFy3GDHy2bRn3WPN d4rgsJqH6OSkGZbDAwQgidNPRo3BgPzhCbIcrf4jE8uCVXOmd6AfPbKN7TJ1eNfB+MM0AHCXACUTA +cW59MX50PrH6g1UplDEuxpzQI+ISsZFas8f5ZaQnCSr83vVbmdDOcJzGBXvQhkhiiuw8dC0PnaXc vGrqQ24A==; From: Heiko =?UTF-8?B?U3TDvGJuZXI=?= To: Rob Herring Cc: =?UTF-8?B?5qWK5pm65oiQ?= , Michael Riesch , Krzysztof Kozlowski , Vinod Koul , Neil Armstrong , Manivannan Sadhasivam , Krzysztof Kozlowski , Conor Dooley , Guochun Huang , Philipp Zabel , Sebastian Reichel , Bryan O'Donoghue , linux-phy@lists.infradead.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v5 2/8] dt-bindings: phy: rockchip,rk3588-mipi-dcphy: Add a cell to select TX or RX Date: Tue, 20 Oct 2026 16:57:34 +0200 Message-ID: <25254818.ouqheUzb2q@diego> In-Reply-To: <20261020141039.GB4157247-robh@kernel.org> References: <20261016-dcphy-rx-v1-v5-0-e63b49eabe2d@gmail.com> <2501273.NG923GbCHz@diego> <20261020141039.GB4157247-robh@kernel.org> X-Archived-By: MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.9.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20261020_075804_092684_A760D32E X-CRM114-Status: GOOD ( 57.48 ) X-Spam-Score: -2.1 (--) X-BeenThere: linux-phy@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux Phy Mailing list List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-phy" X-Spam-Status: No, score=-4.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=4.0.1 X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on aws-us-west-2-korg-listserv-alma10-1 QW0gRGllbnN0YWcsIDIwLiBPa3RvYmVyIDIwMjYsIDE2OjEwOjM5IE1pdHRlbGV1cm9ww6Rpc2No ZSBTb21tZXJ6ZWl0IHNjaHJpZWIgUm9iIEhlcnJpbmc6Cj4gT24gVHVlLCBPY3QgMjAsIDIwMjYg YXQgMDM6Mzc6MzVQTSArMDIwMCwgSGVpa28gU3TDvGJuZXIgd3JvdGU6Cj4gPiBBbSBEaWVuc3Rh ZywgMjAuIE9rdG9iZXIgMjAyNiwgMDA6MjA6NDcgTWl0dGVsZXVyb3DDpGlzY2hlIFNvbW1lcnpl aXQgc2NocmllYiBNaWNoYWVsIFJpZXNjaDoKPiA+ID4gSGkgYWxsLAo+ID4gPiAKPiA+ID4gT24g MTAvMTkvMjYgMTc6MDYsIFJvYiBIZXJyaW5nIHdyb3RlOgo+ID4gPiA+IE9uIE1vbiwgT2N0IDE5 LCAyMDI2IGF0IDA0OjE1OjAzUE0gKzA4MDAsIOaliuaZuuaIkCB3cm90ZToKPiA+ID4gPj4gSGkg S3J6eXN6dG9mLCBSb2IsCj4gPiA+ID4+Cj4gPiA+ID4+PiBFeGlzdGluZyBPUyBzaG91bGQgaWdu b3JlIHN1cnBsdXMgY2VsbCBpZiB0aGUgZHJpdmVyIGlzIGNvZGVkIHByb3Blcmx5Lgo+ID4gPiA+ Pj4gU2FtZSBhcyBhZGRpbmcgbmV3IHByb3BlcnRpZXMgb3IgbmV3IGZyb250LWNvbXBhdGlibGUu ICBUaGUgcXVlc3Rpb24gaXMKPiA+ID4gPj4+IGhvdyB0aGUgZXhpc3RpbmcgZHJpdmVyIGJlaGF2 ZXM/Cj4gPiA+ID4+Cj4gPiA+ID4+IEFzIHlvdSBwb2ludGVkIG91dCBvbiA1LzgsIHRoZSB4bGF0 ZSBjaGVja3MgYXJnc19jb3VudCAhPSAxLiBUaGUgREMtUEhZCj4gPiA+ID4+IGRyaXZlciB3YXMg bWVyZ2VkIGluIHY2LjE1LCBzbyBldmVyeSBrZXJuZWwgc2luY2UgNi4xNSBmYWlscyBvbiBhIHNl Y29uZCBjZWxsLgo+ID4gPiA+Pgo+ID4gPiA+PiAxLiBLZWVwIHRoZSBzZWNvbmQgY2VsbC4gQWRk IHRoZSBwYXRjaCBhcyBmb2xsb3dzOgo+ID4gPiA+Pgo+ID4gPiA+PiAtIGlmIChhcmdzLT5hcmdz X2NvdW50ICE9IDEpIHsKPiA+ID4gPj4gKyBpZiAoYXJncy0+YXJnc19jb3VudCA8IDEpIHsKPiA+ ID4gPj4gICAgIGRldl9lcnIoZGV2LCAiaW52YWxpZCBudW1iZXIgb2YgYXJndW1lbnRzXG4iKTsK PiA+ID4gPj4gICAgIHJldHVybiBFUlJfUFRSKC1FSU5WQUwpOwo+ID4gPiA+PiAgIH0KPiA+ID4g Pj4KPiA+ID4gPj4gKyBpZiAoYXJncy0+YXJnc19jb3VudCA+IDEgJiYgYXJncy0+YXJnc1sxXSkg ewo+ID4gPiA+PiArICAgZGV2X2VycihkZXYsICJvbmx5IHRoZSB0cmFuc21pdHRlciBpcyBzdXBw b3J0ZWRcbiIpOwo+ID4gPiA+PiArICAgcmV0dXJuIEVSUl9QVFIoLUVJTlZBTCk7Cj4gPiA+ID4+ ICsgfQo+ID4gPiA+Pgo+ID4gPiA+PiAgIFdpdGggRml4ZXM6IGFuZCBDYzogc3RhYmxlLCB0aGUg c3RhYmxlIGtlcm5lbHMgbWFpbnRhaW5lZCBhdCB0aGF0Cj4gPiA+ID4+ICAgdGltZSAoY3VycmVu dGx5IDYuMTgueSBhbmQgNy4yLnkpIGtlZXAgRFNJIHdvcmtpbmcgd2l0aCB0aGUgbmV3Cj4gPiA+ ID4+ICAgZHRzLCBhbmQgdGhlIHJlY2VpdmVyIGZhaWxzIGNsZWFubHkgaW5zdGVhZCBvZiBnZXR0 aW5nIHRoZSB0cmFuc21pdHRlci4KPiA+ID4gPj4gICBCdXQgRU9MIGtlcm5lbHMgKDYuMTUsIDYu MTYsIDYuMTcsIDYuMTksIDcuMCwgNy4xKSBzdGF5IGFmZmVjdGVkLgo+ID4gPiA+PiAgIEl0IGdv ZXMgaW4gd2l0aCB0aGUgc2VyaWVzLCBzaW5jZSB0d28tY2VsbCBkdHMgb25seSBleGlzdCBhZnRl ciBpdC4KPiA+ID4gPj4KPiA+ID4gPj4gMi4gVXNlIGEgZmxhZyBpbiB0aGUgdXBwZXIgYml0cyBv ZiB0aGUgZXhpc3RpbmcgY2VsbCwgYXMgUm9iCj4gPiA+ID4+ICAgICBzdWdnZXN0ZWQuIEV4aXN0 aW5nIGtlcm5lbHMgYXJlIG5vdCBhZmZlY3RlZCwgdW5sZXNzIGEgYm9hcmQgZW5hYmxlcwo+ID4g PiA+PiAgICAgdGhlIERDLVBIWSBDU0ktMiByZWNlaXZlciBvbiA3LjAgb3IgbGF0ZXIgd2l0aG91 dCB0aGlzIHNlcmllcy4KPiA+ID4gPj4KPiA+ID4gPj4gSSB3aWxsIHdyaXRlIHRoZSBpbXBhY3Qg Y2xlYXJseSB3aGljaGV2ZXIgIGFwcHJvYWNoIGlzIHNlbGVjdGVkIGluCj4gPiA+ID4+IHRoZSBy ZWxhdGVkIGNvbW1pdCBtZXNzYWdlcyBhbmQgdGhlIGNvdmVyIGxldHRlci4KPiA+ID4gPj4KPiA+ ID4gPj4gSSB0aGluayB0aGUgY2VsbCBhcHByb2FjaCBpcyBlYXNpZXIgdG8gcmVhZCBhbmQgbW9y ZSBzeW1tZXRyaWMgaW4gdGhlCj4gPiA+ID4+IGxvbmcgdGVybSwKPiA+ID4gPj4gYnV0IGl0IGJy ZWFrcyBtb3JlLiBXaGljaCBvbmUgZG8geW91IHRoaW5rIGlzIGJldHRlcj8gVGhhbmtzLgo+ID4g PiA+IAo+ID4gPiA+IEknbSBub3QgYSB1c2VyIG9mIHRoaXMgcGxhdGZvcm0sIHNvIEkgZG9uJ3Qg Y2FyZS4gVXAgdG8gdGhlIHBsYXRmb3JtIAo+ID4gPiA+IG1haW50YWluZXJzIHRvIGRlY2lkZSBp ZiBicmVha2FnZSBpcyBhY2NlcHRpYmxlLiBZb3UganVzdCBuZWVkIHRvIAo+ID4gPiA+IGRvY3Vt ZW50IHRoZSBpc3N1ZSBpbiB0aGUgY29tbWl0IG1lc3NhZ2UuCj4gPiA+ID4gCj4gPiA+ID4gUm9i Cj4gPiA+IAo+ID4gPiBJdCdzIGEgYml0IG9mIGEgcGlja2xlLCBhbGwgdGhpcy4KPiA+ID4gCj4g PiA+IEkgZ2F2ZSBpdCBzb21lIG1vcmUgdGhvdWdodC4gSW4gdGhlIGVuZCB0aGlzIGlzIGFuIElQ IGJsb2NrIHdpdGggdHdvCj4gPiA+IFBIWXMuIE5vIG1vcmUsIG5vIGxlc3MuIE9uZSBjZWxsIGlz IHN1ZmZpY2llbnQgdG8gYWRkcmVzcyB0aG9zZSwgYW5kIGl0Cj4gPiA+IGNvdWxkIGJlIDAgZm9y IHRoZSB0cmFuc21pdHRpbmcgUEhZIChEU0ksIGRpc3BsYXkpIGFuZCAxIGZvciB0aGUKPiA+ID4g cmVjZWl2aW5nIFBIWSAoQ1NJLCBjYW1lcmEpLgo+ID4gPiAKPiA+ID4gT2YgY291cnNlIHRoZSB0 d28gUEhZcyBjYW4gb3BlcmF0ZSBpbiBlaXRoZXIgRFBIWSBvciBDUEhZIG1vZGUuIFRoZQo+ID4g PiBwaHktY2VsbHMgaGF2ZSBiZWVuIChtaXM/KXVzZWQgdG8gc2VsZWN0IHRoZSBwcm9wZXIgbW9k ZSBvZiBjb21ibyBQSFlzLAo+ID4gPiBhbmQgdGhpcyBwcmluY2lwbGUgaGFzIGJlZW4gYXBwbGll ZCBoZXJlIHRvby4KPiA+ID4gCj4gPiA+IEhvd2V2ZXIsIHdlIGhhdmUgdGhlIHNwZWNpYWwgc2l0 dWF0aW9uIGhlcmUgdGhhdCB0aGUgbW9kZSBjYW4gb25seSBiZQo+ID4gPiBjaGFuZ2VkIGZvciB0 aGUgY29tcGxldGUgSVAgYmxvY2sgKGFuZCB0aHVzIGZvciBib3RoIFBIWXMgYXQgdGhlIHNhbWUK PiA+ID4gdGltZSkuIEFzIEJyeWFuIHBvaW50cyBvdXQsIHdlIG5lZWQgdG8gY2hlY2sgYW5kIGNv bXBsYWluIGlmIHRoZSBQSFkKPiA+ID4gbW9kZSBpcyBub3Qgc2V0IHRvIHRoZSBzYW1lIHZhbHVl IGZvciBib3RoIFBIWXMuCj4gPiA+IAo+ID4gPiBJIHN1Z2dlc3QgdXNpbmcgYSBwcm9wZXJ0eQo+ ID4gPiAgICAgc2Ftc3VuZyxjcGh5LW1vZGU7Cj4gPiAKPiA+IEkgZ3Vlc3MsIGEgbWF5YmUgbmlj ZXIgd2F5IHdvdWxkIGJlIG1pbWljaW5nCj4gPiAJRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2Jp bmRpbmdzL3BoeS9pbnRlbCxjb21iby1waHkueWFtbAo+ID4gCj4gPiB3aXRoIGl0cwo+ID4gCWlu dGVsLHBoeS1tb2RlID0gPHg+Cj4gPiAKPiA+IHdpdGggeCBjb21pbmcgZnJvbSBpbmNsdWRlL2R0 LWJpbmRpbmdzL3BoeS9waHkuaAo+ID4gZm9yIHRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIGNwaHkg YW5kIGRwaHksIHNvIHdlIGRvbid0IGludHJvZHVjZSB5ZXQKPiA+IGFub3RoZXIgd2F5IHRvIGRl c2NyaWJlIHRoaXMuCj4gCj4gV2UgYWxyZWFkeSBoYXZlIHRoZSBwbGFpbiAncGh5LXR5cGUnIHBy b3BlcnR5IHdoaWNoIHRha2VzIHRoZSBzYW1lIAo+IFBIWV9NT0RFX3ggdmFsdWVzLiBXZSBkb24n dCBuZWVkIHlldCBhbm90aGVyIHZlbmRvciBzcGVjaWZpYyBwcm9wZXJ0eS4KCmV2ZW4gYmV0dGVy IHRoZW4gLi4uIGFuZCBJIGRpZG4ndCBsb29rIGRlZXAgZW5vdWdoIGl0IHNlZW1zLgoKCj4gPiA+ IChuYW1lIHRvIGJlIGJpa2VzaGVkZGVkKSB0aGF0IHNldHMgdGhlIGNvbXBsZXRlIElQIGJsb2Nr IGludG8gQ1BIWSBtb2RlCj4gPiA+IChEUEhZIGJlaW5nIHRoZSBkZWZhdWx0KSB0byBkaXN0aW5n dWlzaCBiZXR3ZWVuIHRoZSBtb2Rlcy4gU2luY2UgYm90aAo+ID4gPiBtb2RlcyB1c2UgYSBkaWZm ZXJlbnQgZWxlY3RyaWNhbCBpbnRlcmZhY2UsIHRoaXMgaXMgY2xlYXJseSBhIGhhcmR3YXJlCj4g PiA+IHRoaW5nIGFuZCB0aHVzIHN1aXRhYmxlIGZvciBkZXZpY2UgdHJlZS4KPiA+ID4gCj4gPiA+ IFRoZW4sIHdlIGNhbiBhZGRyZXNzIHRoZSB0d28gUEhZcyB3aXRoIHRoZSBoZWxwIG9mIHRoZSBh bHJlYWR5IGV4aXN0aW5nCj4gPiA+IHBoeSBjZWxsICh3aXRob3V0IGFueSBiaXRmbGFnIHR3ZWFr cyB0byB0aGUgdmFsdWUpLgo+ID4gPiAKPiA+ID4gVGhlIHNvbGUgZHJhd2JhY2sgaXMgdGhhdCB3 ZSBuZWVkIHRvIGFjY2VwdCB0aGUgUEhZX1RZUEVfRFBIWSBhbmQKPiA+ID4gUEhZX1RZUEVfQ1BI WSB2YWx1ZXMgdGhhdCBzb21lIE9TIGluIHRoZSBmaWVsZCBtaWdodCBwYXNzLiAoRm9yIExpbnV4 LAo+ID4gPiBpdCBzaG91bGQgb25seSBiZSB0aGUgZm9ybWVyLikgQW5kIHdlIG5lZWQgdG8gaGFu ZGxlIHRob3NlIHZhbHVlcwo+ID4gPiBjb3JyZWN0bHkuIEJ1dCBJIHRoaW5rIHRoaXMgaXMgbm90 IG1vcmUgcGFpbmZ1bCB0aGFuIHRoZSBvdGhlcgo+ID4gPiBhcHByb2FjaGVzLiBBdCB0aGUgc2Ft ZSB0aW1lLCB0aGlzIGRlc2lnbiBzZWVtcyB0byBiZSB0aGUgbW9zdCBjb3JyZWN0Cj4gPiAKPiA+ IFRoZSBjdXJyZW50IGNlbGwgdmFsdWVzIGFyZSAxMCArIDExLCBzbyBhcyBsb25nIGFzIHdlIGRv bid0IHJlLXVzZSB0aG9zZQo+ID4gZXhhY3QgdmFsdWVzIGZvciB0aGUgb3RoZXIgY29uc3RhbnRz IHRoZSBkcml2ZXIgc2hvdWxkIHNvbWV3aGF0IGVhc2lseQo+ID4gYmUgYWJsZSB0byByZWNvZ25p emUgYW4gb2xkIERUPwo+IAo+IEkgdGhpbmsgeW91IHdpbGwgc3RpbGwgaGF2ZSBhbiBBQkkgaXNz dWUgb2Ygd2hhdCBkb2VzIG9sZCBPUyBkbyB3aXRoIG5ldyAKPiB2YWx1ZXM/Cgp3YXNuJ3QgdGhl IG1haW4gY29udHJhY3QsIGEgbmV3ZXIga2VybmVsIHNob3VsZCBzdXBwb3J0IG9sZCBEVHMgPwoK QWthIHRoZSBEVCBpcyBwYXJrZWQgaW4gc29tZSBmaXJtd2FyZSBwYXJ0ICh1LWJvb3Q/KSBhbmQg Z2V0cyBoYW5kZWQKdG8gdGhlIG5ld2VyIGtlcm5lbC4KCkkgZG9uJ3Qgc2VlIGRlbGliZXJhdGVs eSBoYW5kaW5nIGEgbmV3ZXIgRFRCIHRvIGFuIG9sZGVyIGtlcm5lbCBhcyBhCnZlcnkgY29tbW9u IG9jY3VyZW5jZT8KCgpBbmQgZnJvbSBhIHByYWN0aWNhbCBzdGFuZHBvaW50OgoKV2UncmUgdGFs a2luZyBhYm91dCBkZXZpY2VzIHdpdGggRFNJIGRpc3BsYXlzIHRoYXQgYXJlIGF0IHN0YWtlIGhl cmUsCnNvIHdlJ3JlIGluIHRoZSBlbWJlZGRlZCB3b3JsZC4KCkluIG90aGVyIGFyZWFzIHdlJ3Jl IHN0aWxsIGZpZ2h0aW5nIGJhc2ljIGZ1bmN0aW9uYWxpdHkgbGlrZSBhY3R1YWxseQpoYW5kbGlu ZyB0aGUgdHlwZS1jIG9yaWVudGF0aW9uIGNvcnJlY3RseSBpbiB0aGUgdXNicGh5LgoKU28gSSBy ZWFsbHkgZG9uJ3Qgc2VlIGEgZGV2aWNlIHdpdGggYSB1c2VyLXVwZGF0ZWFibGUgbWFpbmxpbmUg a2VybmVsIG91dAppbiB0aGUgZmllbGQsIGFwYXJ0IGZyb20gcGVvcGxlIGhhY2tpbmcgYXJvdW5k IG9uIHRoZWlyIGRldmljZXMgdG8gdHJ5Cm91dCBuZXcgZmVhdHVyZXMgYW5kIG5ldyBrZXJuZWxz LCBzaW1wbHkgYmVjYXVzZSBjb3JlIGZ1bmN0aW9uYWxpdHkKaXMgc3RpbGwgZXZvbHZpbmcgaW4g bWFpbmxpbmUuCgoKUkszNTc2L1JLMzU4OCBkZXZpY2VzIHN0aWxsIHNoaXAgd2l0aCBhIHZlbmRv ciB1LWJvb3Qva2VybmVsLCB3aXRoCmNvbXBsZXRlbHkgaW5jb21wYXRpYmxlIERUQiBhZnRlcmFs bC4KCgpTbyB5ZXMsIHN1cHBvcnRpbmcgb2xkIGRldmljZXRyZWVzIG9uIG5ldyBrZXJuZWxzIEkg ZG8gc2VlIGFzIGltcG9ydGFudApidXQgc29tZW9uZSB3b3JraW5nIGV4dHJhIGhhcmQgdG8gY29t YmluZSBhIG5ldyBEVCB3aXRoIGFuIG9sZCBrZXJuZWwsCkkgcmVhbGx5IGRvbid0IHNlZSBhcyBh biBpc3N1ZSBoZXJlLgoKCkhlaWtvCgoKCi0tIApsaW51eC1waHkgbWFpbGluZyBsaXN0CmxpbnV4 LXBoeUBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHBzOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWls bWFuL2xpc3RpbmZvL2xpbnV4LXBoeQo= From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.remote-ip=185.11.138.130 ARC-Seal: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; cv=none; t=1792508289; b=iAlaVVoysWZm11FlKmWQzzwdROidBI6mgMJ4f526/5Rkoz3o9qfWQ6cjXgGWTgBnZDl6 EtLj4GjKyR2bi6HHdkoQ67hUgzbGjMRB+Cv3mwJqxjN3ZVbP4iT1GQvl7DKqvObNdmb7E jjczFBdY9xbCL9eXMDkTkvevXOj/XJEx3v0Z2+W6nXhjkscnkfPvzAsLbKH08RiM3iWBS mUeyODcaUAarCeFzDmSHp0GeCqP6EYoRGmITMQN8KAND7y1wXrrOiQ6mEQpS1wWuI4BeR ecPvInYJtFoMbHS/aSWs1IytVbQ6Hc+G3jS92uoXZ1rbPZvDtzjK7Y57t4E5cCvUN+g== ARC-Message-Signature: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; c=relaxed/relaxed; t=1792508289; h=DMARC-Filter:DKIM-Signature:From:To:Cc:Subject:Date:Message-ID: In-Reply-To:References:MIME-Version:Content-Transfer-Encoding: Content-Type; bh=IElBYbGaJp62Ej/HEfWVK4DUW4gT7qobiXVvxG5fehg=; b=HSKz4XdOsWRKQVBlyxRT1O45HPoimkr6lkEM8/7CpaJZ/Orq2z+IRwW5+x5fDtZKDP4j liZaLHuAUj/7wFvkhTgL+du1Dt2V/EUt67cyN4LfR8gBwp2/QlEgVT+431JPRc7wilcVi gTykZ7dCP1eTM2rzzHw2aWyZ5HfEuIReat6KVZ7/ZlRLDDsXZtWpJR0JrNFbaTOEWDUvs OEgYLuc1xF9YB9LozFLxzc0kKTpLMjgybTZxddrJMFrPt3Swo2EG26NCkYvMlPBxbi60W CrK0HI9V5T2Ddhmae1msEGytaFviCs7dgDKWYnoq8KrX87by/foVwA44YcR1/hBMJjQ== ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass header.from=sntech.de; spf=pass smtp.mailfrom=sntech.de; dkim=pass header.d=sntech.de header.i=@sntech.de header.a=rsa-sha256 header.s=gloria202408 header.b=Bx3qI1te; arc=none smtp.remote-ip=185.11.138.130 Received: from gloria.sntech.de (gloria.sntech.de [185.11.138.130]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 57C5A606A31C; Tue, 20 Oct 2026 14:58:07 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.2 smtp.subspace.kernel.org 57C5A606A31C Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=sntech.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=sntech.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key, unprotected) header.d=sntech.de header.i=@sntech.de header.a=rsa-sha256 header.s=gloria202408 header.b=Bx3qI1te DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sntech.de; s=gloria202408; h=Content-Type:Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Reply-To; bh=IElBYbGaJp62Ej/HEfWVK4DUW4gT7qobiXVvxG5fehg=; b=Bx3qI1teo6GmUTEO+wejgphvYp e32JMyy5L4EWdvdu40d0P+NnumYmV3e9XSdkUuO3eOLBxmEc/N048ALyaHFg2YLWqlKdJiXSinnhS UQlTIZmBeKOBLdgj2zg2no7IPcgDk6tSKh0gzs546A0IIIqHjKW82plioGlj7PFy3GDHy2bRn3WPN d4rgsJqH6OSkGZbDAwQgidNPRo3BgPzhCbIcrf4jE8uCVXOmd6AfPbKN7TJ1eNfB+MM0AHCXACUTA +cW59MX50PrH6g1UplDEuxpzQI+ISsZFas8f5ZaQnCSr83vVbmdDOcJzGBXvQhkhiiuw8dC0PnaXc vGrqQ24A==; From: Heiko =?UTF-8?B?U3TDvGJuZXI=?= To: Rob Herring Cc: =?UTF-8?B?5qWK5pm65oiQ?= , Michael Riesch , Krzysztof Kozlowski , Vinod Koul , Neil Armstrong , Manivannan Sadhasivam , Krzysztof Kozlowski , Conor Dooley , Guochun Huang , Philipp Zabel , Sebastian Reichel , Bryan O'Donoghue , linux-phy@lists.infradead.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v5 2/8] dt-bindings: phy: rockchip,rk3588-mipi-dcphy: Add a cell to select TX or RX Date: Tue, 20 Oct 2026 16:57:34 +0200 Message-ID: <25254818.ouqheUzb2q@diego> In-Reply-To: <20261020141039.GB4157247-robh@kernel.org> References: <20261016-dcphy-rx-v1-v5-0-e63b49eabe2d@gmail.com> <2501273.NG923GbCHz@diego> <20261020141039.GB4157247-robh@kernel.org> X-Mailing-List: devicetree@vger.kernel.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Am Dienstag, 20. Oktober 2026, 16:10:39 Mitteleurop=C3=A4ische Sommerzeit s= chrieb Rob Herring: > On Tue, Oct 20, 2026 at 03:37:35PM +0200, Heiko St=C3=BCbner wrote: > > Am Dienstag, 20. Oktober 2026, 00:20:47 Mitteleurop=C3=A4ische Sommerze= it schrieb Michael Riesch: > > > Hi all, > > >=20 > > > On 10/19/26 17:06, Rob Herring wrote: > > > > On Mon, Oct 19, 2026 at 04:15:03PM +0800, =E6=A5=8A=E6=99=BA=E6=88= =90 wrote: > > > >> Hi Krzysztof, Rob, > > > >> > > > >>> Existing OS should ignore surplus cell if the driver is coded pro= perly. > > > >>> Same as adding new properties or new front-compatible. The quest= ion is > > > >>> how the existing driver behaves? > > > >> > > > >> As you pointed out on 5/8, the xlate checks args_count !=3D 1. The= DC-PHY > > > >> driver was merged in v6.15, so every kernel since 6.15 fails on a = second cell. > > > >> > > > >> 1. Keep the second cell. Add the patch as follows: > > > >> > > > >> - if (args->args_count !=3D 1) { > > > >> + if (args->args_count < 1) { > > > >> dev_err(dev, "invalid number of arguments\n"); > > > >> return ERR_PTR(-EINVAL); > > > >> } > > > >> > > > >> + if (args->args_count > 1 && args->args[1]) { > > > >> + dev_err(dev, "only the transmitter is supported\n"); > > > >> + return ERR_PTR(-EINVAL); > > > >> + } > > > >> > > > >> With Fixes: and Cc: stable, the stable kernels maintained at that > > > >> time (currently 6.18.y and 7.2.y) keep DSI working with the new > > > >> dts, and the receiver fails cleanly instead of getting the trans= mitter. > > > >> But EOL kernels (6.15, 6.16, 6.17, 6.19, 7.0, 7.1) stay affected. > > > >> It goes in with the series, since two-cell dts only exist after = it. > > > >> > > > >> 2. Use a flag in the upper bits of the existing cell, as Rob > > > >> suggested. Existing kernels are not affected, unless a board e= nables > > > >> the DC-PHY CSI-2 receiver on 7.0 or later without this series. > > > >> > > > >> I will write the impact clearly whichever approach is selected in > > > >> the related commit messages and the cover letter. > > > >> > > > >> I think the cell approach is easier to read and more symmetric in = the > > > >> long term, > > > >> but it breaks more. Which one do you think is better? Thanks. > > > >=20 > > > > I'm not a user of this platform, so I don't care. Up to the platfor= m=20 > > > > maintainers to decide if breakage is acceptible. You just need to=20 > > > > document the issue in the commit message. > > > >=20 > > > > Rob > > >=20 > > > It's a bit of a pickle, all this. > > >=20 > > > I gave it some more thought. In the end this is an IP block with two > > > PHYs. No more, no less. One cell is sufficient to address those, and = it > > > could be 0 for the transmitting PHY (DSI, display) and 1 for the > > > receiving PHY (CSI, camera). > > >=20 > > > Of course the two PHYs can operate in either DPHY or CPHY mode. The > > > phy-cells have been (mis?)used to select the proper mode of combo PHY= s, > > > and this principle has been applied here too. > > >=20 > > > However, we have the special situation here that the mode can only be > > > changed for the complete IP block (and thus for both PHYs at the same > > > time). As Bryan points out, we need to check and complain if the PHY > > > mode is not set to the same value for both PHYs. > > >=20 > > > I suggest using a property > > > samsung,cphy-mode; > >=20 > > I guess, a maybe nicer way would be mimicing > > Documentation/devicetree/bindings/phy/intel,combo-phy.yaml > >=20 > > with its > > intel,phy-mode =3D > >=20 > > with x coming from include/dt-bindings/phy/phy.h > > for the distinction between cphy and dphy, so we don't introduce yet > > another way to describe this. >=20 > We already have the plain 'phy-type' property which takes the same=20 > PHY_MODE_x values. We don't need yet another vendor specific property. even better then ... and I didn't look deep enough it seems. > > > (name to be bikeshedded) that sets the complete IP block into CPHY mo= de > > > (DPHY being the default) to distinguish between the modes. Since both > > > modes use a different electrical interface, this is clearly a hardware > > > thing and thus suitable for device tree. > > >=20 > > > Then, we can address the two PHYs with the help of the already existi= ng > > > phy cell (without any bitflag tweaks to the value). > > >=20 > > > The sole drawback is that we need to accept the PHY_TYPE_DPHY and > > > PHY_TYPE_CPHY values that some OS in the field might pass. (For Linux, > > > it should only be the former.) And we need to handle those values > > > correctly. But I think this is not more painful than the other > > > approaches. At the same time, this design seems to be the most correct > >=20 > > The current cell values are 10 + 11, so as long as we don't re-use those > > exact values for the other constants the driver should somewhat easily > > be able to recognize an old DT? >=20 > I think you will still have an ABI issue of what does old OS do with new= =20 > values? wasn't the main contract, a newer kernel should support old DTs ? Aka the DT is parked in some firmware part (u-boot?) and gets handed to the newer kernel. I don't see deliberately handing a newer DTB to an older kernel as a very common occurence? And from a practical standpoint: We're talking about devices with DSI displays that are at stake here, so we're in the embedded world. In other areas we're still fighting basic functionality like actually handling the type-c orientation correctly in the usbphy. So I really don't see a device with a user-updateable mainline kernel out in the field, apart from people hacking around on their devices to try out new features and new kernels, simply because core functionality is still evolving in mainline. RK3576/RK3588 devices still ship with a vendor u-boot/kernel, with completely incompatible DTB afterall. So yes, supporting old devicetrees on new kernels I do see as important but someone working extra hard to combine a new DT with an old kernel, I really don't see as an issue here. Heiko From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9F847606A32C for ; Tue, 20 Oct 2026 14:58:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key, unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.a=rsa-sha256 header.s=bombadil.20210309 header.b=Tb4+tIIo; dkim=fail reason="signature verification failed" (2048-bit key, unprotected) header.d=sntech.de header.i=@sntech.de header.a=rsa-sha256 header.s=gloria202408 header.b=Bx3qI1te DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=Q/jLTpqZxBzk5ETa/6H51RaDoLgkX9ba6AfCHbqzcrc=; b=Tb4+tIIoJTL2X4 IvHh0kAe5mPJAkHYGP068pijQJ3Whkc1EfC1sF7sePoj0ywsBJM3DFAeS0eCELmq+BkXOJ1twMQFD 2S8gSzi2yhh/xncAKS8UbEqW7xV3Xicv/wSc5734s5N6a3nH16r6PlY8dlFpZ5JyETysAI5yhuywN SZT4nBRjtAyLSb6qIpHfIvvTM3ZzUG892OTBbxol2PBdSftRgvZEUtSQ2mN5YaxdQcKvByGCO+hdO w3cmKJ4Ukms4ry2XphIOT/rBJEuvFXkIa2iaggh3XXQiyZUrjdsncdSaI65r5CZdy5Y8ssvsJwCTc bK9huKolgRifZwROBlcQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1xJBHy-0000000A0W2-3aKW; Tue, 20 Oct 2026 14:58:06 +0000 Received: from gloria.sntech.de ([185.11.138.130]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1xJBHv-0000000A0Ux-3cxj; Tue, 20 Oct 2026 14:58:05 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sntech.de; s=gloria202408; h=Content-Type:Content-Transfer-Encoding:MIME-Version: References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Reply-To; bh=IElBYbGaJp62Ej/HEfWVK4DUW4gT7qobiXVvxG5fehg=; b=Bx3qI1teo6GmUTEO+wejgphvYp e32JMyy5L4EWdvdu40d0P+NnumYmV3e9XSdkUuO3eOLBxmEc/N048ALyaHFg2YLWqlKdJiXSinnhS UQlTIZmBeKOBLdgj2zg2no7IPcgDk6tSKh0gzs546A0IIIqHjKW82plioGlj7PFy3GDHy2bRn3WPN d4rgsJqH6OSkGZbDAwQgidNPRo3BgPzhCbIcrf4jE8uCVXOmd6AfPbKN7TJ1eNfB+MM0AHCXACUTA +cW59MX50PrH6g1UplDEuxpzQI+ISsZFas8f5ZaQnCSr83vVbmdDOcJzGBXvQhkhiiuw8dC0PnaXc vGrqQ24A==; From: Heiko =?UTF-8?B?U3TDvGJuZXI=?= To: Rob Herring Cc: =?UTF-8?B?5qWK5pm65oiQ?= , Michael Riesch , Krzysztof Kozlowski , Vinod Koul , Neil Armstrong , Manivannan Sadhasivam , Krzysztof Kozlowski , Conor Dooley , Guochun Huang , Philipp Zabel , Sebastian Reichel , Bryan O'Donoghue , linux-phy@lists.infradead.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v5 2/8] dt-bindings: phy: rockchip,rk3588-mipi-dcphy: Add a cell to select TX or RX Date: Tue, 20 Oct 2026 16:57:34 +0200 Message-ID: <25254818.ouqheUzb2q@diego> In-Reply-To: <20261020141039.GB4157247-robh@kernel.org> References: <20261016-dcphy-rx-v1-v5-0-e63b49eabe2d@gmail.com> <2501273.NG923GbCHz@diego> <20261020141039.GB4157247-robh@kernel.org> X-Archived-By: MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.9.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20261020_075804_092684_A760D32E X-CRM114-Status: GOOD ( 57.48 ) X-Spam-Score: -2.1 (--) X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "Linux-rockchip" X-Spam-Status: No, score=-4.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=4.0.1 X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on aws-us-west-2-korg-listserv-alma10-1 QW0gRGllbnN0YWcsIDIwLiBPa3RvYmVyIDIwMjYsIDE2OjEwOjM5IE1pdHRlbGV1cm9ww6Rpc2No ZSBTb21tZXJ6ZWl0IHNjaHJpZWIgUm9iIEhlcnJpbmc6Cj4gT24gVHVlLCBPY3QgMjAsIDIwMjYg YXQgMDM6Mzc6MzVQTSArMDIwMCwgSGVpa28gU3TDvGJuZXIgd3JvdGU6Cj4gPiBBbSBEaWVuc3Rh ZywgMjAuIE9rdG9iZXIgMjAyNiwgMDA6MjA6NDcgTWl0dGVsZXVyb3DDpGlzY2hlIFNvbW1lcnpl aXQgc2NocmllYiBNaWNoYWVsIFJpZXNjaDoKPiA+ID4gSGkgYWxsLAo+ID4gPiAKPiA+ID4gT24g MTAvMTkvMjYgMTc6MDYsIFJvYiBIZXJyaW5nIHdyb3RlOgo+ID4gPiA+IE9uIE1vbiwgT2N0IDE5 LCAyMDI2IGF0IDA0OjE1OjAzUE0gKzA4MDAsIOaliuaZuuaIkCB3cm90ZToKPiA+ID4gPj4gSGkg S3J6eXN6dG9mLCBSb2IsCj4gPiA+ID4+Cj4gPiA+ID4+PiBFeGlzdGluZyBPUyBzaG91bGQgaWdu b3JlIHN1cnBsdXMgY2VsbCBpZiB0aGUgZHJpdmVyIGlzIGNvZGVkIHByb3Blcmx5Lgo+ID4gPiA+ Pj4gU2FtZSBhcyBhZGRpbmcgbmV3IHByb3BlcnRpZXMgb3IgbmV3IGZyb250LWNvbXBhdGlibGUu ICBUaGUgcXVlc3Rpb24gaXMKPiA+ID4gPj4+IGhvdyB0aGUgZXhpc3RpbmcgZHJpdmVyIGJlaGF2 ZXM/Cj4gPiA+ID4+Cj4gPiA+ID4+IEFzIHlvdSBwb2ludGVkIG91dCBvbiA1LzgsIHRoZSB4bGF0 ZSBjaGVja3MgYXJnc19jb3VudCAhPSAxLiBUaGUgREMtUEhZCj4gPiA+ID4+IGRyaXZlciB3YXMg bWVyZ2VkIGluIHY2LjE1LCBzbyBldmVyeSBrZXJuZWwgc2luY2UgNi4xNSBmYWlscyBvbiBhIHNl Y29uZCBjZWxsLgo+ID4gPiA+Pgo+ID4gPiA+PiAxLiBLZWVwIHRoZSBzZWNvbmQgY2VsbC4gQWRk IHRoZSBwYXRjaCBhcyBmb2xsb3dzOgo+ID4gPiA+Pgo+ID4gPiA+PiAtIGlmIChhcmdzLT5hcmdz X2NvdW50ICE9IDEpIHsKPiA+ID4gPj4gKyBpZiAoYXJncy0+YXJnc19jb3VudCA8IDEpIHsKPiA+ ID4gPj4gICAgIGRldl9lcnIoZGV2LCAiaW52YWxpZCBudW1iZXIgb2YgYXJndW1lbnRzXG4iKTsK PiA+ID4gPj4gICAgIHJldHVybiBFUlJfUFRSKC1FSU5WQUwpOwo+ID4gPiA+PiAgIH0KPiA+ID4g Pj4KPiA+ID4gPj4gKyBpZiAoYXJncy0+YXJnc19jb3VudCA+IDEgJiYgYXJncy0+YXJnc1sxXSkg ewo+ID4gPiA+PiArICAgZGV2X2VycihkZXYsICJvbmx5IHRoZSB0cmFuc21pdHRlciBpcyBzdXBw b3J0ZWRcbiIpOwo+ID4gPiA+PiArICAgcmV0dXJuIEVSUl9QVFIoLUVJTlZBTCk7Cj4gPiA+ID4+ ICsgfQo+ID4gPiA+Pgo+ID4gPiA+PiAgIFdpdGggRml4ZXM6IGFuZCBDYzogc3RhYmxlLCB0aGUg c3RhYmxlIGtlcm5lbHMgbWFpbnRhaW5lZCBhdCB0aGF0Cj4gPiA+ID4+ICAgdGltZSAoY3VycmVu dGx5IDYuMTgueSBhbmQgNy4yLnkpIGtlZXAgRFNJIHdvcmtpbmcgd2l0aCB0aGUgbmV3Cj4gPiA+ ID4+ICAgZHRzLCBhbmQgdGhlIHJlY2VpdmVyIGZhaWxzIGNsZWFubHkgaW5zdGVhZCBvZiBnZXR0 aW5nIHRoZSB0cmFuc21pdHRlci4KPiA+ID4gPj4gICBCdXQgRU9MIGtlcm5lbHMgKDYuMTUsIDYu MTYsIDYuMTcsIDYuMTksIDcuMCwgNy4xKSBzdGF5IGFmZmVjdGVkLgo+ID4gPiA+PiAgIEl0IGdv ZXMgaW4gd2l0aCB0aGUgc2VyaWVzLCBzaW5jZSB0d28tY2VsbCBkdHMgb25seSBleGlzdCBhZnRl ciBpdC4KPiA+ID4gPj4KPiA+ID4gPj4gMi4gVXNlIGEgZmxhZyBpbiB0aGUgdXBwZXIgYml0cyBv ZiB0aGUgZXhpc3RpbmcgY2VsbCwgYXMgUm9iCj4gPiA+ID4+ICAgICBzdWdnZXN0ZWQuIEV4aXN0 aW5nIGtlcm5lbHMgYXJlIG5vdCBhZmZlY3RlZCwgdW5sZXNzIGEgYm9hcmQgZW5hYmxlcwo+ID4g PiA+PiAgICAgdGhlIERDLVBIWSBDU0ktMiByZWNlaXZlciBvbiA3LjAgb3IgbGF0ZXIgd2l0aG91 dCB0aGlzIHNlcmllcy4KPiA+ID4gPj4KPiA+ID4gPj4gSSB3aWxsIHdyaXRlIHRoZSBpbXBhY3Qg Y2xlYXJseSB3aGljaGV2ZXIgIGFwcHJvYWNoIGlzIHNlbGVjdGVkIGluCj4gPiA+ID4+IHRoZSBy ZWxhdGVkIGNvbW1pdCBtZXNzYWdlcyBhbmQgdGhlIGNvdmVyIGxldHRlci4KPiA+ID4gPj4KPiA+ ID4gPj4gSSB0aGluayB0aGUgY2VsbCBhcHByb2FjaCBpcyBlYXNpZXIgdG8gcmVhZCBhbmQgbW9y ZSBzeW1tZXRyaWMgaW4gdGhlCj4gPiA+ID4+IGxvbmcgdGVybSwKPiA+ID4gPj4gYnV0IGl0IGJy ZWFrcyBtb3JlLiBXaGljaCBvbmUgZG8geW91IHRoaW5rIGlzIGJldHRlcj8gVGhhbmtzLgo+ID4g PiA+IAo+ID4gPiA+IEknbSBub3QgYSB1c2VyIG9mIHRoaXMgcGxhdGZvcm0sIHNvIEkgZG9uJ3Qg Y2FyZS4gVXAgdG8gdGhlIHBsYXRmb3JtIAo+ID4gPiA+IG1haW50YWluZXJzIHRvIGRlY2lkZSBp ZiBicmVha2FnZSBpcyBhY2NlcHRpYmxlLiBZb3UganVzdCBuZWVkIHRvIAo+ID4gPiA+IGRvY3Vt ZW50IHRoZSBpc3N1ZSBpbiB0aGUgY29tbWl0IG1lc3NhZ2UuCj4gPiA+ID4gCj4gPiA+ID4gUm9i Cj4gPiA+IAo+ID4gPiBJdCdzIGEgYml0IG9mIGEgcGlja2xlLCBhbGwgdGhpcy4KPiA+ID4gCj4g PiA+IEkgZ2F2ZSBpdCBzb21lIG1vcmUgdGhvdWdodC4gSW4gdGhlIGVuZCB0aGlzIGlzIGFuIElQ IGJsb2NrIHdpdGggdHdvCj4gPiA+IFBIWXMuIE5vIG1vcmUsIG5vIGxlc3MuIE9uZSBjZWxsIGlz IHN1ZmZpY2llbnQgdG8gYWRkcmVzcyB0aG9zZSwgYW5kIGl0Cj4gPiA+IGNvdWxkIGJlIDAgZm9y IHRoZSB0cmFuc21pdHRpbmcgUEhZIChEU0ksIGRpc3BsYXkpIGFuZCAxIGZvciB0aGUKPiA+ID4g cmVjZWl2aW5nIFBIWSAoQ1NJLCBjYW1lcmEpLgo+ID4gPiAKPiA+ID4gT2YgY291cnNlIHRoZSB0 d28gUEhZcyBjYW4gb3BlcmF0ZSBpbiBlaXRoZXIgRFBIWSBvciBDUEhZIG1vZGUuIFRoZQo+ID4g PiBwaHktY2VsbHMgaGF2ZSBiZWVuIChtaXM/KXVzZWQgdG8gc2VsZWN0IHRoZSBwcm9wZXIgbW9k ZSBvZiBjb21ibyBQSFlzLAo+ID4gPiBhbmQgdGhpcyBwcmluY2lwbGUgaGFzIGJlZW4gYXBwbGll ZCBoZXJlIHRvby4KPiA+ID4gCj4gPiA+IEhvd2V2ZXIsIHdlIGhhdmUgdGhlIHNwZWNpYWwgc2l0 dWF0aW9uIGhlcmUgdGhhdCB0aGUgbW9kZSBjYW4gb25seSBiZQo+ID4gPiBjaGFuZ2VkIGZvciB0 aGUgY29tcGxldGUgSVAgYmxvY2sgKGFuZCB0aHVzIGZvciBib3RoIFBIWXMgYXQgdGhlIHNhbWUK PiA+ID4gdGltZSkuIEFzIEJyeWFuIHBvaW50cyBvdXQsIHdlIG5lZWQgdG8gY2hlY2sgYW5kIGNv bXBsYWluIGlmIHRoZSBQSFkKPiA+ID4gbW9kZSBpcyBub3Qgc2V0IHRvIHRoZSBzYW1lIHZhbHVl IGZvciBib3RoIFBIWXMuCj4gPiA+IAo+ID4gPiBJIHN1Z2dlc3QgdXNpbmcgYSBwcm9wZXJ0eQo+ ID4gPiAgICAgc2Ftc3VuZyxjcGh5LW1vZGU7Cj4gPiAKPiA+IEkgZ3Vlc3MsIGEgbWF5YmUgbmlj ZXIgd2F5IHdvdWxkIGJlIG1pbWljaW5nCj4gPiAJRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2Jp bmRpbmdzL3BoeS9pbnRlbCxjb21iby1waHkueWFtbAo+ID4gCj4gPiB3aXRoIGl0cwo+ID4gCWlu dGVsLHBoeS1tb2RlID0gPHg+Cj4gPiAKPiA+IHdpdGggeCBjb21pbmcgZnJvbSBpbmNsdWRlL2R0 LWJpbmRpbmdzL3BoeS9waHkuaAo+ID4gZm9yIHRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIGNwaHkg YW5kIGRwaHksIHNvIHdlIGRvbid0IGludHJvZHVjZSB5ZXQKPiA+IGFub3RoZXIgd2F5IHRvIGRl c2NyaWJlIHRoaXMuCj4gCj4gV2UgYWxyZWFkeSBoYXZlIHRoZSBwbGFpbiAncGh5LXR5cGUnIHBy b3BlcnR5IHdoaWNoIHRha2VzIHRoZSBzYW1lIAo+IFBIWV9NT0RFX3ggdmFsdWVzLiBXZSBkb24n dCBuZWVkIHlldCBhbm90aGVyIHZlbmRvciBzcGVjaWZpYyBwcm9wZXJ0eS4KCmV2ZW4gYmV0dGVy IHRoZW4gLi4uIGFuZCBJIGRpZG4ndCBsb29rIGRlZXAgZW5vdWdoIGl0IHNlZW1zLgoKCj4gPiA+ IChuYW1lIHRvIGJlIGJpa2VzaGVkZGVkKSB0aGF0IHNldHMgdGhlIGNvbXBsZXRlIElQIGJsb2Nr IGludG8gQ1BIWSBtb2RlCj4gPiA+IChEUEhZIGJlaW5nIHRoZSBkZWZhdWx0KSB0byBkaXN0aW5n dWlzaCBiZXR3ZWVuIHRoZSBtb2Rlcy4gU2luY2UgYm90aAo+ID4gPiBtb2RlcyB1c2UgYSBkaWZm ZXJlbnQgZWxlY3RyaWNhbCBpbnRlcmZhY2UsIHRoaXMgaXMgY2xlYXJseSBhIGhhcmR3YXJlCj4g PiA+IHRoaW5nIGFuZCB0aHVzIHN1aXRhYmxlIGZvciBkZXZpY2UgdHJlZS4KPiA+ID4gCj4gPiA+ IFRoZW4sIHdlIGNhbiBhZGRyZXNzIHRoZSB0d28gUEhZcyB3aXRoIHRoZSBoZWxwIG9mIHRoZSBh bHJlYWR5IGV4aXN0aW5nCj4gPiA+IHBoeSBjZWxsICh3aXRob3V0IGFueSBiaXRmbGFnIHR3ZWFr cyB0byB0aGUgdmFsdWUpLgo+ID4gPiAKPiA+ID4gVGhlIHNvbGUgZHJhd2JhY2sgaXMgdGhhdCB3 ZSBuZWVkIHRvIGFjY2VwdCB0aGUgUEhZX1RZUEVfRFBIWSBhbmQKPiA+ID4gUEhZX1RZUEVfQ1BI WSB2YWx1ZXMgdGhhdCBzb21lIE9TIGluIHRoZSBmaWVsZCBtaWdodCBwYXNzLiAoRm9yIExpbnV4 LAo+ID4gPiBpdCBzaG91bGQgb25seSBiZSB0aGUgZm9ybWVyLikgQW5kIHdlIG5lZWQgdG8gaGFu ZGxlIHRob3NlIHZhbHVlcwo+ID4gPiBjb3JyZWN0bHkuIEJ1dCBJIHRoaW5rIHRoaXMgaXMgbm90 IG1vcmUgcGFpbmZ1bCB0aGFuIHRoZSBvdGhlcgo+ID4gPiBhcHByb2FjaGVzLiBBdCB0aGUgc2Ft ZSB0aW1lLCB0aGlzIGRlc2lnbiBzZWVtcyB0byBiZSB0aGUgbW9zdCBjb3JyZWN0Cj4gPiAKPiA+ IFRoZSBjdXJyZW50IGNlbGwgdmFsdWVzIGFyZSAxMCArIDExLCBzbyBhcyBsb25nIGFzIHdlIGRv bid0IHJlLXVzZSB0aG9zZQo+ID4gZXhhY3QgdmFsdWVzIGZvciB0aGUgb3RoZXIgY29uc3RhbnRz IHRoZSBkcml2ZXIgc2hvdWxkIHNvbWV3aGF0IGVhc2lseQo+ID4gYmUgYWJsZSB0byByZWNvZ25p emUgYW4gb2xkIERUPwo+IAo+IEkgdGhpbmsgeW91IHdpbGwgc3RpbGwgaGF2ZSBhbiBBQkkgaXNz dWUgb2Ygd2hhdCBkb2VzIG9sZCBPUyBkbyB3aXRoIG5ldyAKPiB2YWx1ZXM/Cgp3YXNuJ3QgdGhl IG1haW4gY29udHJhY3QsIGEgbmV3ZXIga2VybmVsIHNob3VsZCBzdXBwb3J0IG9sZCBEVHMgPwoK QWthIHRoZSBEVCBpcyBwYXJrZWQgaW4gc29tZSBmaXJtd2FyZSBwYXJ0ICh1LWJvb3Q/KSBhbmQg Z2V0cyBoYW5kZWQKdG8gdGhlIG5ld2VyIGtlcm5lbC4KCkkgZG9uJ3Qgc2VlIGRlbGliZXJhdGVs eSBoYW5kaW5nIGEgbmV3ZXIgRFRCIHRvIGFuIG9sZGVyIGtlcm5lbCBhcyBhCnZlcnkgY29tbW9u IG9jY3VyZW5jZT8KCgpBbmQgZnJvbSBhIHByYWN0aWNhbCBzdGFuZHBvaW50OgoKV2UncmUgdGFs a2luZyBhYm91dCBkZXZpY2VzIHdpdGggRFNJIGRpc3BsYXlzIHRoYXQgYXJlIGF0IHN0YWtlIGhl cmUsCnNvIHdlJ3JlIGluIHRoZSBlbWJlZGRlZCB3b3JsZC4KCkluIG90aGVyIGFyZWFzIHdlJ3Jl IHN0aWxsIGZpZ2h0aW5nIGJhc2ljIGZ1bmN0aW9uYWxpdHkgbGlrZSBhY3R1YWxseQpoYW5kbGlu ZyB0aGUgdHlwZS1jIG9yaWVudGF0aW9uIGNvcnJlY3RseSBpbiB0aGUgdXNicGh5LgoKU28gSSBy ZWFsbHkgZG9uJ3Qgc2VlIGEgZGV2aWNlIHdpdGggYSB1c2VyLXVwZGF0ZWFibGUgbWFpbmxpbmUg a2VybmVsIG91dAppbiB0aGUgZmllbGQsIGFwYXJ0IGZyb20gcGVvcGxlIGhhY2tpbmcgYXJvdW5k IG9uIHRoZWlyIGRldmljZXMgdG8gdHJ5Cm91dCBuZXcgZmVhdHVyZXMgYW5kIG5ldyBrZXJuZWxz LCBzaW1wbHkgYmVjYXVzZSBjb3JlIGZ1bmN0aW9uYWxpdHkKaXMgc3RpbGwgZXZvbHZpbmcgaW4g bWFpbmxpbmUuCgoKUkszNTc2L1JLMzU4OCBkZXZpY2VzIHN0aWxsIHNoaXAgd2l0aCBhIHZlbmRv ciB1LWJvb3Qva2VybmVsLCB3aXRoCmNvbXBsZXRlbHkgaW5jb21wYXRpYmxlIERUQiBhZnRlcmFs bC4KCgpTbyB5ZXMsIHN1cHBvcnRpbmcgb2xkIGRldmljZXRyZWVzIG9uIG5ldyBrZXJuZWxzIEkg ZG8gc2VlIGFzIGltcG9ydGFudApidXQgc29tZW9uZSB3b3JraW5nIGV4dHJhIGhhcmQgdG8gY29t YmluZSBhIG5ldyBEVCB3aXRoIGFuIG9sZCBrZXJuZWwsCkkgcmVhbGx5IGRvbid0IHNlZSBhcyBh biBpc3N1ZSBoZXJlLgoKCkhlaWtvCgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCkxpbnV4LXJvY2tjaGlwIG1haWxpbmcgbGlzdApMaW51eC1yb2NrY2hp cEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4v bGlzdGluZm8vbGludXgtcm9ja2NoaXAK