[PATCH v9 10/12] clk: zte: Introduce a driver for zx297520v3 LSP clocks
Stefan Dösinger <[email protected]> Sun, 02 Aug 2026 23:33:42 +0300
| Newsgroups | org.infradead.lists.linux-phy,dev.linux.lists.mfd,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-clk,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
IkxTUCIgaXMgWlRFJ3MgdGVybSBmb3IgdGhpcyBwYXJ0IG9mIHRoZSBTb0MsIEkgc3VzcGVjdCBp dCBzdGFuZHMgZm9yCiJsb3cgc3BlZWQgcGVyaXBoZXJhbHMiLiBUaGUgbWFpbiBVQVJUIGlzIGhl cmUsIHRvZ2V0aGVyIHdpdGggdGhlIGZsYXNoCmNvbnRyb2xsZXIgYW5kIG1vcmUgc3VycGx1cyBw cm9wcmlldGFyeSB0aW1lcnMuCgpJdCBhbHNvIGhhcyBvbmUgbW9yZSBJMkMgY29udHJvbGxlciB0 aGF0IHN1cHBvc2VkbHkgY29ubmVjdHMgdG8gYQpiYXR0ZXJ5IGNoYXJnZXIsIFNQSSBmb3IgZGlz cGxheXMgYW5kIEkyUyBmb3IgYW5hbG9nIHRlbGVwaG9uZXMuIFRoZQpib2FyZHMgSSBoYXZlIGRv bid0IGhhdmUgYW55IG9mIHRoZXNlIGNvbXBvbmVudHMgdGhvdWdoLgoKU2lnbmVkLW9mZi1ieTog U3RlZmFuIETDtnNpbmdlciA8c3RlZmFuZG9lc2luZ2VyQGdtYWlsLmNvbT4KCi0tLQoKVmVyc2lv biA5OgpMaW5rIGludGVybmFsIHBhcmVudHMgYnkgYW4gKGludGVybmFsKSBjbG9jayBJRCByYXRo ZXIgdGhhbiBuYW1lcy4KCk9uZSBpbnRlbnRpb25hbCBjbG9jayB0cmVlIGNoYW5nZTogVGhlIFBX TSBkZXZpY2UncyBwYXJlbnQgaXMgdGhlIDEwNApNSHogbXBsbC1kNiBpbnB1dC4gV2l0aCBzb21l IG1hbnVhbCBleHBlcmltZW50YXRpb24gSSBtYW5hZ2VkIHRvIG1ha2UKdGhlIFdpRmkgbGVkIGJs aW5rIHdpdGggUFdNLCBzbyBJIGNvdWxkIGNvbmZpcm0gd2hpY2ggbWF0cml4Y3JtIGJpdApnYXRl cyBvZmYgaXRzIHBhcmVudC4KClVwZGF0ZSB0aGUgY29tbWVudHMgdG8gc2F5IHRoYXQgdGhlIGRl dmljZSBhdCBsc3Bjcm0rMHg0MDAwIGlzIGluZGVlZCBhClB1bHNlIFdpZHRoIE1vZHVsYXRvci4K CkBTYXNoaWtvOiBJZiB5b3UgZmluZCBhbnkgb3RoZXIgY2xvY2sgdHJlZSBjaGFuZ2VzIGNvbXBh cmVkIHRvIHZlcnNpb24KOCwgdGhleSBhcmUgdW5pbnRlbnRpb25hbCBhbmQgbGlrZWx5IGJ1Z3Mu CgpWZXJzaW9uIDg6CkRvdWJsZS1jaGVja2VkIHBjbGsgYW5kIHdjbGsuIFRoZXkgd2VyZSB0aGUg d3Jvbmcgd2F5IGFyb3VuZCBpbiBwcmV2aW91cwpzdWJtaXNzaW9ucy4gUGNsayBpcyBiaXQgMCwg d2NsayBpcyBiaXQgMS4KClZlcnNpb24gNzoKVW5kZXJzY29yZSBpbiBjbG9jayBuYW1lcyB0byBk YXNoZXMKClZlcnNpb24gNjoKdXNlIE1GRCBmb3IgTFNQIHRvbwoKVmVyc2lvbiA1OgpSZW1vdmVk IHVudXNlZCB0ZG1fbHNwX3NlbC4gRml4IHp4Mjk3NTI5IHZzIHp4Mjk3NTIwIHR5cG8uCkFkanVz dGVkIC5jb21wYXRpYmxlIHRvIHp0ZSx6eDI5NzUyMHYzLWxzcGNybQotLS0KIGRyaXZlcnMvY2xr L3p0ZS9jbGstengyOTc1MjB2My5jIHwgMjg1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDI4NSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9jbGsvenRlL2Nsay16eDI5NzUyMHYzLmMgYi9kcml2ZXJzL2Nsay96dGUvY2xr LXp4Mjk3NTIwdjMuYwppbmRleCA2YzRhN2ExYzNhOWIuLjI4NmVhZWRmZmNlOSAxMDA2NDQKLS0t IGEvZHJpdmVycy9jbGsvenRlL2Nsay16eDI5NzUyMHYzLmMKKysrIGIvZHJpdmVycy9jbGsvenRl L2Nsay16eDI5NzUyMHYzLmMKQEAgLTEyNDgsNiArMTI0OCwyODcgQEAgc3RhdGljIGNvbnN0IHN0 cnVjdCB6eF9jbGtfZGF0YSB6eDI5NzUyMHYzX21hdHJpeGNsa19kYXRhID0gewogCS5udW1fZXhw b3J0cyA9IEFSUkFZX1NJWkUoengyOTc1MjB2M19tYXRyaXhfZXhwb3J0cyksCiB9OwogCisvKgor ICogTFNQIGNsb2NrIGVudHJpZXMgaGF2ZSBhIGNvbW1vbiBwYXR0ZXJuOiBCaXQgMCBmb3IgcGNs aywgQml0IDEgZm9yIHdjbGsuIEJpdCA0IChhbmQgc29tZXRpbWVzCisgKiBtb3JlKSBmb3Igd2Ns ayBtdXguCisgKgorICogQml0IDggYW5kIDkgYXJlIHJlc2V0cyBoYW5kbGVkIGJ5IHRoZSByZXNl dC16dGUtengyOTc1MjB2MyBkcml2ZXIuCisgKgorICogQml0cyAxNToxMiBjYW4gYmUgYSBkaXZp c29yLCBidXQgbm90IGFsbCBjbG9ja3MgaGF2ZSBpdC4gU29tZSBjbG9ja3MgaGF2ZSBhIGRpdmlz b3IgaW4gMTk6MTYuCisgKgorICogVGhlIElEIGdpdmVuIGluIHRoaXMgdGFibGUgaXMgdGhlIGZp cnN0IHJlZ2lzdGVyIGluIHRoZSBkZXZpY2UncyBNTUlPIHNwYWNlLiBaVEUncyBkcml2ZXJzCisg KiB1c3VhbGx5IGNhbGwgdGhpcyBhIHZlcnNpb24gcmVnaXN0ZXIsIGJ1dCBpdCBsb29rcyBtb3Jl IGxpa2UgYSBkZXZpY2UgaWRlbnRpZmllci4KKyAqCisgKiBJdCBsb29rcyBsaWtlIHRoZSByZWdp c3RlcnMgbWFwIHRvIGRldmljZXMgbGlrZSB0aGlzOgorICoKKyAqIENSTSBSZWcJZnVuY3Rpb24J ZGl2CWRldiBvZmZzZXQobHNwICsgeHh4eCkJSUQKKyAqIDB4MDogUmVhZC1vbmx5LCBwcm9iYWJs eSBkZXZpY2UgaWRlbnRpZmllcgkJCTB4MDA3NTIxMDAKKyAqIDB4NDoJCXRpbWVyX2wxCVkJMHgx MDAwCQkJMHgwMjAyMDAwMAorICogMHg4OgkJd2F0Y2hkb2dfbDIJWQkweDIwMDAJCQkweDAyMDIw MDAwCisgKiAweGM6CQl3YXRjaGRvZ19sMwlZCTB4MzAwMAkJCTB4MDIwMjAwMDAKKyAqIDB4MTA6 CXB3bQkJTgkweDQwMDAJCQkweDAxMDIwMDAwCisgKiAweDE0OglpMnMwCQlZaAkweDUwMDAJCQkw eDAxMDMwMDAwCisgKiAweDE4OglhbHdheXMgMAktCS0JCQktCisgKiAweDFjOglpMnMxCQlZaAkw eDYwMDAJCQkweDAxMDMwMDAwCisgKiAweDIwOglhbHdheXMgMAktCS0JCQktCisgKiAweDI0Oglx c3BpCQlOCTB4NzAwMAkJCTB4MDEwNDAwMDAKKyAqIDB4Mjg6CXVhcnQxCQlOCTB4ODAwMAkJCTB4 MDEwNjAwMDAKKyAqIDB4MmM6CWkyYzEJCU4JMHg5MDAwCQkJMHgwMTAyMDAwMAorICogMHgzMDoJ c3BpMAkJWQkweGEwMDAJCQkweDAxMDQwMDAwCisgKiAweDM0Ogl0aW1lcl9sYglZCTB4YjAwMAkJ CTB4MDIwMjAwMDAKKyAqIDB4Mzg6CXRpbWVyX2xjCVkJMHhjMDAwCQkJMHgwMjAyMDAwMAorICog MHgzYzoJdWFydDIJCU4JMHhkMDAwCQkJMHgwMTA2MDAwMAorICogMHg0MDoJd2F0Y2hkb2dfbGUJ WQkweGUwMDAJCQkweDAyMDIwMDAwCisgKiAweDQ0Ogl0aW1lcl9sZglZCTB4ZjAwMAkJCTB4MDIw MjAwMDAKKyAqIDB4NDg6CXNwaTEJCVkJMHgxMDAwMAkJCTB4MDEwNDAwMDAKKyAqIDB4NGM6CXRp bWVyX2wxMQlZCTB4MTEwMDAJCQkweDAyMDIwMDAwCisgKiAweDUwOgl0ZG0JCVloCTB4MTIwMDAJ CQkweDAxMDQwMDAwCisgKgorICogUmVnaXN0ZXJzIDB4NTgsIDB4NWMsIDB4NjAsIDB4NjQsIDB4 Njggc2VlbSB0byBjb250YWluIG1vcmUgY29udHJvbHMgZm9yIGkycyBhbmQgdGRtLgorICoKKyAq IFRoZSBkZXZpY2UgYXQgb2Zmc2V0IDB4NDAwMCAoY2xrIHJlZyAweDEwKSBpcyBhIFBXTSBkZXZp Y2UuIFRoZSBJRCBtYXRjaGVzIHRoYXQgb2YgaTJjLCBpdCBoYXMgYQorICogbGFyZ2VyIHJlZ2lz dGVyIHNldC4gWlRFJ3Mga2VybmVsIGRvZXMgbm90IG9wZXJhdGUgaXQgYXQgYWxsLiBUaGUgb2xk IHVwc3RyZWFtIHB3bS16eC5jIGRyaXZlcgorICogcHJvdmlkZWQgZW5vdWdoIGluc3RydWN0aW9u cyB0byBibGluayB0aGUgV2lmaSBsZWQgYW5kIGlzb2xhdGUgdGhlIHBhcmVudC4KKyAqLworCitl bnVtIGxzcF9jbG9ja19pZHMgeworCVpYX0NMS19USU1FUl9MMV9NVVgsCisJWlhfQ0xLX1dEVF9M Ml9NVVgsCisJWlhfQ0xLX1dEVF9MM19NVVgsCisJWlhfQ0xLX0kyUzBfTVVYLAorCVpYX0NMS19J MlMxX01VWCwKKwlaWF9DTEtfUVNQSV9NVVgsCisJWlhfQ0xLX1VBUlQxX01VWCwKKwlaWF9DTEtf STJDMV9NVVgsCisJWlhfQ0xLX1NQSTBfTVVYLAorCVpYX0NMS19USU1FUl9MQl9NVVgsCisJWlhf Q0xLX1RJTUVSX0xDX01VWCwKKwlaWF9DTEtfVUFSVDJfTVVYLAorCVpYX0NMS19XRFRfTEVfTVVY LAorCVpYX0NMS19USU1FUl9MRl9NVVgsCisJWlhfQ0xLX1NQSTFfTVVYLAorCVpYX0NMS19USU1F Ul9MMTFfTVVYLAorCisJWlhfQ0xLX1RJTUVSX0wxX0RJViwKKwlaWF9DTEtfV0RUX0wyX0RJViwK KwlaWF9DTEtfV0RUX0wzX0RJViwKKwlaWF9DTEtfSTJTMF9ESVYsCisJWlhfQ0xLX0kyUzFfRElW LAorCVpYX0NMS19TUEkwX0RJViwKKwlaWF9DTEtfVElNRVJfTEJfRElWLAorCVpYX0NMS19USU1F Ul9MQ19ESVYsCisJWlhfQ0xLX1dEVF9MRV9ESVYsCisJWlhfQ0xLX1RJTUVSX0xGX0RJViwKKwla WF9DTEtfU1BJMV9ESVYsCisJWlhfQ0xLX1RJTUVSX0wxMV9ESVYsCisJWlhfQ0xLX1RETV9ESVYs CisKKwlaWF9DTEtfVElNRVJfTDFfUENMSywKKwlaWF9DTEtfVElNRVJfTDFfV0NMSywKKwlaWF9D TEtfV0RUX0wyX1BDTEssCisJWlhfQ0xLX1dEVF9MMl9XQ0xLLAorCVpYX0NMS19XRFRfTDNfUENM SywKKwlaWF9DTEtfV0RUX0wzX1dDTEssCisJWlhfQ0xLX1BXTV9QQ0xLLAorCVpYX0NMS19QV01f V0NMSywKKwlaWF9DTEtfSTJTMF9QQ0xLLAorCVpYX0NMS19JMlMwX1dDTEssCisJWlhfQ0xLX0ky UzFfUENMSywKKwlaWF9DTEtfSTJTMV9XQ0xLLAorCVpYX0NMS19RU1BJX1BDTEssCisJWlhfQ0xL X1FTUElfV0NMSywKKwlaWF9DTEtfVUFSVDFfUENMSywKKwlaWF9DTEtfVUFSVDFfV0NMSywKKwla WF9DTEtfSTJDMV9QQ0xLLAorCVpYX0NMS19JMkMxX1dDTEssCisJWlhfQ0xLX1NQSTBfUENMSywK KwlaWF9DTEtfU1BJMF9XQ0xLLAorCVpYX0NMS19USU1FUl9MQl9QQ0xLLAorCVpYX0NMS19USU1F Ul9MQl9XQ0xLLAorCVpYX0NMS19USU1FUl9MQ19QQ0xLLAorCVpYX0NMS19USU1FUl9MQ19XQ0xL LAorCVpYX0NMS19VQVJUMl9QQ0xLLAorCVpYX0NMS19VQVJUMl9XQ0xLLAorCVpYX0NMS19XRFRf TEVfUENMSywKKwlaWF9DTEtfV0RUX0xFX1dDTEssCisJWlhfQ0xLX1RJTUVSX0xGX1BDTEssCisJ WlhfQ0xLX1RJTUVSX0xGX1dDTEssCisJWlhfQ0xLX1NQSTFfUENMSywKKwlaWF9DTEtfU1BJMV9X Q0xLLAorCVpYX0NMS19USU1FUl9MMTFfUENMSywKKwlaWF9DTEtfVElNRVJfTDExX1dDTEssCisJ WlhfQ0xLX1RETV9QQ0xLLAorCVpYX0NMS19URE1fV0NMSywKK307CisKK3N0YXRpYyBjb25zdCBz dHJ1Y3QgenhfcGFyZW50X2Rlc2MgdGltZXJfbHNwX3NlbFtdID0geworCVBBUkVOVF9GVygib3Nj MzJrIiksCisJUEFSRU5UX0ZXKCJvc2MyNm0iKSwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qg enhfcGFyZW50X2Rlc2MgdWFydF9sc3Bfc2VsW10gPSB7CisJUEFSRU5UX0ZXKCJvc2MyNm0iKSwK KwlQQVJFTlRfRlcoIm1wbGwtZDYiKSwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgenhfcGFy ZW50X2Rlc2MgaTJzX2xzcF9zZWxbXSA9IHsKKwlQQVJFTlRfRlcoIm9zYzI2bSIpLAorCVBBUkVO VF9GVygiZHBsbC1kNCIpLAorCVBBUkVOVF9GVygibXBsbC1kNiIpLAorCS8qIFVua25vd24gKi8K K307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgenhfcGFyZW50X2Rlc2Mgc3BpX2xzcF9zZWxbXSA9 IHsKKwlQQVJFTlRfRlcoIm9zYzI2bSIpLAorCVBBUkVOVF9GVygibXBsbC1kNCIpLAorCVBBUkVO VF9GVygibXBsbC1kNiIpLAorCS8qIFVua25vd24gKi8KK307CisKK3N0YXRpYyBjb25zdCBzdHJ1 Y3QgenhfcGFyZW50X2Rlc2MgcXNwaV9sc3Bfc2VsW10gPSB7CisJUEFSRU5UX0ZXKCJvc2MyNm0i KSwKKwlQQVJFTlRfRlcoIm1wbGwtZDQiKSwKKwlQQVJFTlRfRlcoIm1wbGwtZDUiKSwKKwlQQVJF TlRfRlcoIm1wbGwtZDYiKSwKKwlQQVJFTlRfRlcoIm1wbGwtZDgiKSwKKwlQQVJFTlRfRlcoIm1w bGwtZDEyIiksCisJUEFSRU5UX0ZXKCJvc2MyNm0iKSwKKwlQQVJFTlRfRlcoIm9zYzI2bSIpLAor fTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCB6eF9jbG9jayB6eDI5NzUyMHYzX2xzcF9jbG9ja3Nb XSA9IHsKKwlbWlhfQ0xLX1RJTUVSX0wxX01VWF0gICAgID0gTVVYKCJ0aW1lci1sMS1tdXgiLCAg IHRpbWVyX2xzcF9zZWwsICAgIDB4MDQsICA0LCAxKSwKKwlbWlhfQ0xLX1dEVF9MMl9NVVhdICAg ICAgID0gTVVYKCJ3ZHQtbDItbXV4IiwgICAgIHRpbWVyX2xzcF9zZWwsICAgIDB4MDgsICA0LCAx KSwKKwlbWlhfQ0xLX1dEVF9MM19NVVhdICAgICAgID0gTVVYKCJ3ZHQtbDMtbXV4IiwgICAgIHRp bWVyX2xzcF9zZWwsICAgIDB4MGMsICA0LCAxKSwKKwkvKiBQV006IE5vIG11eCBiaXQgY2FuIGJl IHNldCAqLworCVtaWF9DTEtfSTJTMF9NVVhdICAgICAgICAgPSBNVVgoImkyczAtbXV4IiwgICAg ICAgaTJzX2xzcF9zZWwsICAgICAgMHgxNCwgIDQsIDIpLAorCS8qIDB4MTg6IEFsd2F5cyAwICov CisJW1pYX0NMS19JMlMxX01VWF0gICAgICAgICA9IE1VWCgiaTJzMS1tdXgiLCAgICAgICBpMnNf bHNwX3NlbCwgICAgICAweDFjLCAgNCwgMiksCisJLyogMHgyMDogQWx3YXlzIDAgKi8KKwlbWlhf Q0xLX1FTUElfTVVYXSAgICAgICAgID0gTVVYKCJxc3BpLW11eCIsICAgICAgIHFzcGlfbHNwX3Nl bCwgICAgIDB4MjQsICA0LCAzKSwKKwlbWlhfQ0xLX1VBUlQxX01VWF0gICAgICAgID0gTVVYKCJ1 YXJ0MS1tdXgiLCAgICAgIHVhcnRfbHNwX3NlbCwgICAgIDB4MjgsICA0LCAxKSwKKwlbWlhfQ0xL X0kyQzFfTVVYXSAgICAgICAgID0gTVVYKCJpMmMxLW11eCIsICAgICAgIHVhcnRfbHNwX3NlbCwg ICAgIDB4MmMsICA0LCAxKSwKKwlbWlhfQ0xLX1NQSTBfTVVYXSAgICAgICAgID0gTVVYKCJzcGkw LW11eCIsICAgICAgIHNwaV9sc3Bfc2VsLCAgICAgIDB4MzAsICA0LCAyKSwKKwlbWlhfQ0xLX1RJ TUVSX0xCX01VWF0gICAgID0gTVVYKCJ0aW1lci1sYi1tdXgiLCAgIHRpbWVyX2xzcF9zZWwsICAg IDB4MzQsICA0LCAxKSwKKwlbWlhfQ0xLX1RJTUVSX0xDX01VWF0gICAgID0gTVVYKCJ0aW1lci1s Yy1tdXgiLCAgIHRpbWVyX2xzcF9zZWwsICAgIDB4MzgsICA0LCAxKSwKKwlbWlhfQ0xLX1VBUlQy X01VWF0gICAgICAgID0gTVVYKCJ1YXJ0Mi1tdXgiLCAgICAgIHVhcnRfbHNwX3NlbCwgICAgIDB4 M2MsICA0LCAxKSwKKwlbWlhfQ0xLX1dEVF9MRV9NVVhdICAgICAgID0gTVVYKCJ3ZHQtbGUtbXV4 IiwgICAgIHRpbWVyX2xzcF9zZWwsICAgIDB4NDAsICA0LCAxKSwKKwlbWlhfQ0xLX1RJTUVSX0xG X01VWF0gICAgID0gTVVYKCJ0aW1lci1sZi1tdXgiLCAgIHRpbWVyX2xzcF9zZWwsICAgIDB4NDQs ICA0LCAxKSwKKwlbWlhfQ0xLX1NQSTFfTVVYXSAgICAgICAgID0gTVVYKCJzcGkxLW11eCIsICAg ICAgIHNwaV9sc3Bfc2VsLCAgICAgIDB4NDgsICA0LCAyKSwKKwlbWlhfQ0xLX1RJTUVSX0wxMV9N VVhdICAgID0gTVVYKCJ0aW1lci1sMTEtbXV4IiwgIHRpbWVyX2xzcF9zZWwsICAgIDB4NGMsICA0 LCAxKSwKKwkvKiBURE06IE5vIG11eCBpbiBMU1AuIEluc3RlYWQsIGl0IGlzIGluIG1hdHJpeCB3 aXRoIGEgc2VwYXJhdGUgY2xrIGxpbmUgdG8gTFNQICovCisKKwlbWlhfQ0xLX1RJTUVSX0wxX0RJ Vl0gICAgID0gRElWKCJ0aW1lci1sMS1kaXYiLCBQQVJFTlRfSUQoWlhfQ0xLX1RJTUVSX0wxX01V WCksCisJCQkJCTB4MDQsIDEyLCA0KSwKKwlbWlhfQ0xLX1dEVF9MMl9ESVZdICAgICAgID0gRElW KCJ3ZHQtbDItZGl2IiwgUEFSRU5UX0lEKFpYX0NMS19XRFRfTDJfTVVYKSwgMHgwOCwgMTIsIDQp LAorCVtaWF9DTEtfV0RUX0wzX0RJVl0gICAgICAgPSBESVYoIndkdC1sMy1kaXYiLCBQQVJFTlRf SUQoWlhfQ0xLX1dEVF9MM19NVVgpLCAweDBjLCAxMiwgNCksCisJLyogUFdNOiBObyBkaXYgKi8K KwlbWlhfQ0xLX0kyUzBfRElWXSAgICAgICAgID0gRElWKCJpMnMwLWRpdiIsIFBBUkVOVF9JRCha WF9DTEtfSTJTMF9NVVgpLCAweDE0LCAxNiwgNCksCisJLyogMHgxODogQWx3YXlzIDAgKi8KKwlb WlhfQ0xLX0kyUzFfRElWXSAgICAgICAgID0gRElWKCJpMnMxLWRpdiIsIFBBUkVOVF9JRChaWF9D TEtfSTJTMV9NVVgpLCAweDFjLCAxNiwgNCksCisJLyogMHgyMDogQWx3YXlzIDAgKi8KKwkvKiBx c3BpLCB1YXJ0MSwgaTJjMTogTm8gZGl2ICovCisJW1pYX0NMS19TUEkwX0RJVl0gICAgICAgICA9 IERJVigic3BpMC1kaXYiLCBQQVJFTlRfSUQoWlhfQ0xLX1NQSTBfTVVYKSwgMHgzMCwgMTIsIDQp LAorCVtaWF9DTEtfVElNRVJfTEJfRElWXSAgICAgPSBESVYoInRpbWVyLWxiLWRpdiIsIFBBUkVO VF9JRChaWF9DTEtfVElNRVJfTEJfTVVYKSwKKwkJCQkJMHgzNCwgMTIsIDQpLAorCVtaWF9DTEtf VElNRVJfTENfRElWXSAgICAgPSBESVYoInRpbWVyLWxjLWRpdiIsIFBBUkVOVF9JRChaWF9DTEtf VElNRVJfTENfTVVYKSwKKwkJCQkJMHgzOCwgMTIsIDQpLAorCS8qIHVhcnQyOiBObyBkaXYgKi8K KwlbWlhfQ0xLX1dEVF9MRV9ESVZdICAgICAgID0gRElWKCJ3ZHQtbGUtZGl2IiwgUEFSRU5UX0lE KFpYX0NMS19XRFRfTEVfTVVYKSwgMHg0MCwgMTIsIDQpLAorCVtaWF9DTEtfVElNRVJfTEZfRElW XSAgICAgPSBESVYoInRpbWVyLWxmLWRpdiIsIFBBUkVOVF9JRChaWF9DTEtfVElNRVJfTEZfTVVY KSwKKwkJCQkJMHg0NCwgMTIsIDQpLAorCVtaWF9DTEtfU1BJMV9ESVZdICAgICAgICAgPSBESVYo InNwaTEtZGl2IiwgUEFSRU5UX0lEKFpYX0NMS19TUEkxX01VWCksIDB4NDgsIDEyLCA0KSwKKwlb WlhfQ0xLX1RJTUVSX0wxMV9ESVZdICAgID0gRElWKCJ0aW1lci1sMTEtZGl2IiwgUEFSRU5UX0lE KFpYX0NMS19USU1FUl9MMTFfTVVYKSwKKwkJCQkJMHg0YywgMTIsIDQpLAorCVtaWF9DTEtfVERN X0RJVl0gICAgICAgID0gRElWKCJ0ZG0tZGl2IiwgUEFSRU5UX0ZXKCJ0ZG0td2NsayIpLCAweDUw LCAxNiwgNCksCisKKwlbWlhfQ0xLX1RJTUVSX0wxX1BDTEtdICA9IEdBVEUoInRpbWVyLWwxLXBj bGsiLCBQQVJFTlRfRlcoInBjbGsiKSwgMHgwNCwgMCwgMCksCisJW1pYX0NMS19USU1FUl9MMV9X Q0xLXSAgPSBHQVRFKCJ0aW1lci1sMS13Y2xrIiwgUEFSRU5UX0lEKFpYX0NMS19USU1FUl9MMV9E SVYpLCAweDA0LCAxLCAwKSwKKwlbWlhfQ0xLX1dEVF9MMl9QQ0xLXSAgICA9IEdBVEUoIndkdC1s Mi1wY2xrIiwgUEFSRU5UX0ZXKCJwY2xrIiksIDB4MDgsIDAsIDApLAorCVtaWF9DTEtfV0RUX0wy X1dDTEtdICAgID0gR0FURSgid2R0LWwyLXdjbGsiLCBQQVJFTlRfSUQoWlhfQ0xLX1dEVF9MMl9E SVYpLCAweDA4LCAxLCAwKSwKKwlbWlhfQ0xLX1dEVF9MM19QQ0xLXSAgICA9IEdBVEUoIndkdC1s My1wY2xrIiwgUEFSRU5UX0ZXKCJwY2xrIiksIDB4MGMsIDAsIDApLAorCVtaWF9DTEtfV0RUX0wz X1dDTEtdICAgID0gR0FURSgid2R0LWwzLXdjbGsiLCBQQVJFTlRfSUQoWlhfQ0xLX1dEVF9MM19E SVYpLCAweDBjLCAxLCAwKSwKKwlbWlhfQ0xLX1BXTV9QQ0xLXSAgICAgICA9IEdBVEUoInB3bS1w Y2xrIiwgUEFSRU5UX0ZXKCJwY2xrIiksIDB4MTAsIDAsIDApLAorCVtaWF9DTEtfUFdNX1dDTEtd ICAgICAgID0gR0FURSgicHdtLXdjbGsiLCBQQVJFTlRfRlcoIm1wbGwtZDYiKSwgMHgxMCwgMSwg MCksCisJW1pYX0NMS19JMlMwX1BDTEtdICAgICAgPSBHQVRFKCJpMnMwLXBjbGsiLCBQQVJFTlRf RlcoInBjbGsiKSwgMHgxNCwgMCwgMCksCisJW1pYX0NMS19JMlMwX1dDTEtdICAgICAgPSBHQVRF KCJpMnMwLXdjbGsiLCBQQVJFTlRfSUQoWlhfQ0xLX0kyUzBfRElWKSwgMHgxNCwgMSwgMCksCisJ LyogMHgxODogQWx3YXlzIDAgKi8KKwlbWlhfQ0xLX0kyUzFfUENMS10gICAgICA9IEdBVEUoImky czEtcGNsayIsIFBBUkVOVF9GVygicGNsayIpLCAweDFjLCAwLCAwKSwKKwlbWlhfQ0xLX0kyUzFf V0NMS10gICAgICA9IEdBVEUoImkyczEtd2NsayIsIFBBUkVOVF9JRChaWF9DTEtfSTJTMV9ESVYp LCAweDFjLCAxLCAwKSwKKwkvKiAweDIwOiBBbHdheXMgMCAqLworCVtaWF9DTEtfUVNQSV9QQ0xL XSAgICAgID0gR0FURSgicXNwaS1wY2xrIiwgUEFSRU5UX0ZXKCJwY2xrIiksIDB4MjQsIDAsIDAp LAorCVtaWF9DTEtfUVNQSV9XQ0xLXSAgICAgID0gR0FURSgicXNwaS13Y2xrIiwgUEFSRU5UX0lE KFpYX0NMS19RU1BJX01VWCksIDB4MjQsIDEsIDApLAorCVtaWF9DTEtfVUFSVDFfUENMS10gICAg ID0gR0FURSgidWFydDEtcGNsayIsIFBBUkVOVF9GVygicGNsayIpLCAweDI4LCAwLCAwKSwKKwlb WlhfQ0xLX1VBUlQxX1dDTEtdICAgICA9IEdBVEUoInVhcnQxLXdjbGsiLCBQQVJFTlRfSUQoWlhf Q0xLX1VBUlQxX01VWCksIDB4MjgsIDEsIDApLAorCVtaWF9DTEtfSTJDMV9QQ0xLXSAgICAgID0g R0FURSgiaTJjMS1wY2xrIiwgUEFSRU5UX0ZXKCJwY2xrIiksIDB4MmMsIDAsIDApLAorCVtaWF9D TEtfSTJDMV9XQ0xLXSAgICAgID0gR0FURSgiaTJjMS13Y2xrIiwgUEFSRU5UX0lEKFpYX0NMS19J MkMxX01VWCksIDB4MmMsIDEsIDApLAorCVtaWF9DTEtfU1BJMF9QQ0xLXSAgICAgID0gR0FURSgi c3BpMC1wY2xrIiwgUEFSRU5UX0ZXKCJwY2xrIiksIDB4MzAsIDAsIDApLAorCVtaWF9DTEtfU1BJ MF9XQ0xLXSAgICAgID0gR0FURSgic3BpMC13Y2xrIiwgUEFSRU5UX0lEKFpYX0NMS19TUEkwX0RJ ViksIDB4MzAsIDEsIDApLAorCVtaWF9DTEtfVElNRVJfTEJfUENMS10gID0gR0FURSgidGltZXIt bGItcGNsayIsIFBBUkVOVF9GVygicGNsayIpLCAweDM0LCAwLCAwKSwKKwlbWlhfQ0xLX1RJTUVS X0xCX1dDTEtdICA9IEdBVEUoInRpbWVyLWxiLXdjbGsiLCBQQVJFTlRfSUQoWlhfQ0xLX1RJTUVS X0xCX0RJViksIDB4MzQsIDEsIDApLAorCVtaWF9DTEtfVElNRVJfTENfUENMS10gID0gR0FURSgi dGltZXItbGMtcGNsayIsIFBBUkVOVF9GVygicGNsayIpLCAweDM4LCAwLCAwKSwKKwlbWlhfQ0xL X1RJTUVSX0xDX1dDTEtdICA9IEdBVEUoInRpbWVyLWxjLXdjbGsiLCBQQVJFTlRfSUQoWlhfQ0xL X1RJTUVSX0xDX0RJViksIDB4MzgsIDEsIDApLAorCVtaWF9DTEtfVUFSVDJfUENMS10gICAgID0g R0FURSgidWFydDItcGNsayIsIFBBUkVOVF9GVygicGNsayIpLCAweDNjLCAwLCAwKSwKKwlbWlhf Q0xLX1VBUlQyX1dDTEtdICAgICA9IEdBVEUoInVhcnQyLXdjbGsiLCBQQVJFTlRfSUQoWlhfQ0xL X1VBUlQyX01VWCksIDB4M2MsIDEsIDApLAorCVtaWF9DTEtfV0RUX0xFX1BDTEtdICAgID0gR0FU RSgid2R0LWxlLXBjbGsiLCBQQVJFTlRfRlcoInBjbGsiKSwgMHg0MCwgMCwgMCksCisJW1pYX0NM S19XRFRfTEVfV0NMS10gICAgPSBHQVRFKCJ3ZHQtbGUtd2NsayIsIFBBUkVOVF9JRChaWF9DTEtf V0RUX0xFX0RJViksIDB4NDAsIDEsIDApLAorCVtaWF9DTEtfVElNRVJfTEZfUENMS10gID0gR0FU RSgidGltZXItbGYtcGNsayIsIFBBUkVOVF9GVygicGNsayIpLCAweDQ0LCAwLCAwKSwKKwlbWlhf Q0xLX1RJTUVSX0xGX1dDTEtdICA9IEdBVEUoInRpbWVyLWxmLXdjbGsiLCBQQVJFTlRfSUQoWlhf Q0xLX1RJTUVSX0xGX0RJViksIDB4NDQsIDEsIDApLAorCVtaWF9DTEtfU1BJMV9QQ0xLXSAgICAg ID0gR0FURSgic3BpMS1wY2xrIiwgUEFSRU5UX0ZXKCJwY2xrIiksIDB4NDgsIDAsIDApLAorCVta WF9DTEtfU1BJMV9XQ0xLXSAgICAgID0gR0FURSgic3BpMS13Y2xrIiwgUEFSRU5UX0lEKFpYX0NM S19TUEkxX0RJViksIDB4NDgsIDEsIDApLAorCVtaWF9DTEtfVElNRVJfTDExX1BDTEtdID0gR0FU RSgidGltZXItbDExLXBjbGsiLCBQQVJFTlRfRlcoInBjbGsiKSwgMHg0YywgMCwgMCksCisJW1pY X0NMS19USU1FUl9MMTFfV0NMS10gPSBHQVRFKCJ0aW1lci1sMTEtd2NsayIsIFBBUkVOVF9JRCha WF9DTEtfVElNRVJfTDExX0RJViksCisJCQkJICAgICAgIDB4NGMsIDEsIDApLAorCVtaWF9DTEtf VERNX1BDTEtdICAgICAgID0gR0FURSgidGRtLXBjbGsiLCBQQVJFTlRfRlcoInBjbGsiKSwgMHg1 MCwgMCwgMCksCisJW1pYX0NMS19URE1fV0NMS10gICAgICAgPSBHQVRFKCJ0ZG0td2NsayIsIFBB UkVOVF9JRChaWF9DTEtfVERNX0RJViksIDB4NTAsIDEsIDApLAorfTsKKworc3RhdGljIHVuc2ln bmVkIGludCB6eDI5NzUyMHYzX2xzcF9leHBvcnRzW10gPSB7CisJW1pYMjk3NTIwVjNfVElNRVJf TDFfV0NMS10gPQlaWF9DTEtfVElNRVJfTDFfV0NMSywKKwlbWlgyOTc1MjBWM19USU1FUl9MMV9Q Q0xLXSA9CVpYX0NMS19USU1FUl9MMV9QQ0xLLAorCVtaWDI5NzUyMFYzX1dEVF9MMl9XQ0xLXSA9 CVpYX0NMS19XRFRfTDJfV0NMSywKKwlbWlgyOTc1MjBWM19XRFRfTDJfUENMS10gPQlaWF9DTEtf V0RUX0wyX1BDTEssCisJW1pYMjk3NTIwVjNfV0RUX0wzX1dDTEtdID0JWlhfQ0xLX1dEVF9MM19X Q0xLLAorCVtaWDI5NzUyMFYzX1dEVF9MM19QQ0xLXSA9CVpYX0NMS19XRFRfTDNfUENMSywKKwlb WlgyOTc1MjBWM19QV01fV0NMS10gPQkJWlhfQ0xLX1BXTV9XQ0xLLAorCVtaWDI5NzUyMFYzX1BX TV9QQ0xLXSA9CQlaWF9DTEtfUFdNX1BDTEssCisJW1pYMjk3NTIwVjNfSTJTMF9XQ0xLXSA9CVpY X0NMS19JMlMwX1dDTEssCisJW1pYMjk3NTIwVjNfSTJTMF9QQ0xLXSA9CVpYX0NMS19JMlMwX1BD TEssCisJW1pYMjk3NTIwVjNfSTJTMV9XQ0xLXSA9CVpYX0NMS19JMlMxX1dDTEssCisJW1pYMjk3 NTIwVjNfSTJTMV9QQ0xLXSA9CVpYX0NMS19JMlMxX1BDTEssCisJW1pYMjk3NTIwVjNfUVNQSV9X Q0xLXSA9CVpYX0NMS19RU1BJX1dDTEssCisJW1pYMjk3NTIwVjNfUVNQSV9QQ0xLXSA9CVpYX0NM S19RU1BJX1BDTEssCisJW1pYMjk3NTIwVjNfVUFSVDFfV0NMS10gPQlaWF9DTEtfVUFSVDFfV0NM SywKKwlbWlgyOTc1MjBWM19VQVJUMV9QQ0xLXSA9CVpYX0NMS19VQVJUMV9QQ0xLLAorCVtaWDI5 NzUyMFYzX0kyQzFfV0NMS10gPQlaWF9DTEtfSTJDMV9XQ0xLLAorCVtaWDI5NzUyMFYzX0kyQzFf UENMS10gPQlaWF9DTEtfSTJDMV9QQ0xLLAorCVtaWDI5NzUyMFYzX1NQSTBfV0NMS10gPQlaWF9D TEtfU1BJMF9XQ0xLLAorCVtaWDI5NzUyMFYzX1NQSTBfUENMS10gPQlaWF9DTEtfU1BJMF9QQ0xL LAorCVtaWDI5NzUyMFYzX1RJTUVSX0xCX1dDTEtdID0JWlhfQ0xLX1RJTUVSX0xCX1dDTEssCisJ W1pYMjk3NTIwVjNfVElNRVJfTEJfUENMS10gPQlaWF9DTEtfVElNRVJfTEJfUENMSywKKwlbWlgy OTc1MjBWM19USU1FUl9MQ19XQ0xLXSA9CVpYX0NMS19USU1FUl9MQ19XQ0xLLAorCVtaWDI5NzUy MFYzX1RJTUVSX0xDX1BDTEtdID0JWlhfQ0xLX1RJTUVSX0xDX1BDTEssCisJW1pYMjk3NTIwVjNf VUFSVDJfV0NMS10gPQlaWF9DTEtfVUFSVDJfV0NMSywKKwlbWlgyOTc1MjBWM19VQVJUMl9QQ0xL XSA9CVpYX0NMS19VQVJUMl9QQ0xLLAorCVtaWDI5NzUyMFYzX1dEVF9MRV9XQ0xLXSA9CVpYX0NM S19XRFRfTEVfV0NMSywKKwlbWlgyOTc1MjBWM19XRFRfTEVfUENMS10gPQlaWF9DTEtfV0RUX0xF X1BDTEssCisJW1pYMjk3NTIwVjNfVElNRVJfTEZfV0NMS10gPQlaWF9DTEtfVElNRVJfTEZfV0NM SywKKwlbWlgyOTc1MjBWM19USU1FUl9MRl9QQ0xLXSA9CVpYX0NMS19USU1FUl9MRl9QQ0xLLAor CVtaWDI5NzUyMFYzX1NQSTFfV0NMS10gPQlaWF9DTEtfU1BJMV9XQ0xLLAorCVtaWDI5NzUyMFYz X1NQSTFfUENMS10gPQlaWF9DTEtfU1BJMV9QQ0xLLAorCVtaWDI5NzUyMFYzX1RJTUVSX0wxMV9X Q0xLXSA9CVpYX0NMS19USU1FUl9MMTFfV0NMSywKKwlbWlgyOTc1MjBWM19USU1FUl9MMTFfUENM S10gPQlaWF9DTEtfVElNRVJfTDExX1BDTEssCisJW1pYMjk3NTIwVjNfVERNX1dDTEtdID0JCVpY X0NMS19URE1fV0NMSywKKwlbWlgyOTc1MjBWM19URE1fUENMS10gPQkJWlhfQ0xLX1RETV9QQ0xL LAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCB6eF9jbGtfZGF0YSB6eDI5NzUyMHYzX2xzcGNs a19kYXRhID0geworCS5jbG9ja3MgPSB6eDI5NzUyMHYzX2xzcF9jbG9ja3MsCisJLm51bV9jbG9j a3MgPSBBUlJBWV9TSVpFKHp4Mjk3NTIwdjNfbHNwX2Nsb2NrcyksCisJLmV4cG9ydHMgPSB6eDI5 NzUyMHYzX2xzcF9leHBvcnRzLAorCS5udW1fZXhwb3J0cyA9IEFSUkFZX1NJWkUoengyOTc1MjB2 M19sc3BfZXhwb3J0cyksCit9OworCiBzdGF0aWMgaW50IGNsa196eDI5NzUyMHYzX3Byb2JlKHN0 cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiB7CiAJY29uc3Qgc3RydWN0IHBsYXRmb3JtX2Rl dmljZV9pZCAqaWQgPSBwbGF0Zm9ybV9nZXRfZGV2aWNlX2lkKHBkZXYpOwpAQCAtMTI2OCw2ICsx NTQ5LDEwIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlX2lkIGNsa196eDI5 NzUyMHYzX2lkc1tdID0gewogCQkubmFtZSA9ICJ6eDI5NzUyMHYzLW1hdHJpeGNsayIsCiAJCS5k cml2ZXJfZGF0YSA9IChrZXJuZWxfdWxvbmdfdCkmengyOTc1MjB2M19tYXRyaXhjbGtfZGF0YSwK IAl9LAorCXsKKwkJLm5hbWUgPSAiengyOTc1MjB2My1sc3BjbGsiLAorCQkuZHJpdmVyX2RhdGEg PSAoa2VybmVsX3Vsb25nX3QpJnp4Mjk3NTIwdjNfbHNwY2xrX2RhdGEsCisJfSwKIAl7IH0KIH07 CiBNT0RVTEVfREVWSUNFX1RBQkxFKHBsYXRmb3JtLCBjbGtfengyOTc1MjB2M19pZHMpOwoKLS0g CjIuNTQuMAoKCi0tIApsaW51eC1waHkgbWFpbGluZyBsaXN0CmxpbnV4LXBoeUBsaXN0cy5pbmZy YWRlYWQub3JnCmh0dHBzOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xp bnV4LXBoeQo=