[PATCH 2/2] thermal: amlogic: Add support for A9 thermal controller

Xianwei Zhao via B4 Relay <[email protected]> Thu, 30 Jul 2026 08:34:38 +0000
Newsgroups org.infradead.lists.linux-amlogic,org.kernel.feeds.b4-sent,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel,org.kernel.vger.linux-pm
Message-ID <[email protected]>
RnJvbTogWGlhbndlaSBaaGFvIDx4aWFud2VpLnpoYW9AYW1sb2dpYy5jb20+CgpBZGQgc3VwcG9y
dCBmb3IgdGhlIEFtbG9naWMgQTkgdGhlcm1hbCBjb250cm9sbGVyLgoKVGhlIEE5IHRoZXJtYWwg
Y29udHJvbGxlciB1c2VzIGRpZmZlcmVudCBjYWxpYnJhdGlvbiBwYXJhbWV0ZXJzLCByZXF1aXJl
cwpzZXBhcmF0ZSBjb3JlIGFuZCBidXMgY2xvY2tzLCBhbmQgc3VwcG9ydHMgYSBoYXJkd2FyZSBv
dmVyLXRlbXBlcmF0dXJlCnJlc2V0IG1lY2hhbmlzbS4KCkFkZCB0aGUgQTkgY2FsaWJyYXRpb24g
ZGF0YSwgcmV0cmlldmUgdGhlIGNsb2NrcyBieSBuYW1lLCBhbmQgY29uZmlndXJlCnRoZSBoYXJk
d2FyZSByZXNldCB0ZW1wZXJhdHVyZSB0aHJvdWdoIHRoZSBvcHRpb25hbCAnYW1sb2dpYyxody1y
ZXNldC10ZW1wJwpEVCBwcm9wZXJ0eS4gV2hlbiB0aGUgcHJvcGVydHkgaXMgYWJzZW50LCB1c2Ug
dGhlIGRlZmF1bHQgcmVzZXQgdGVtcGVyYXR1cmUKb2YgMTEwwrBDLgoKQWxzbyByZXN0b3JlIHRo
ZSBoYXJkd2FyZSByZXNldCBjb25maWd1cmF0aW9uIGFmdGVyIHJlc3VtZS4KClNpZ25lZC1vZmYt
Ynk6IFhpYW53ZWkgWmhhbyA8eGlhbndlaS56aGFvQGFtbG9naWMuY29tPgotLS0KIGRyaXZlcnMv
dGhlcm1hbC9hbWxvZ2ljX3RoZXJtYWwuYyB8IDEwNyArKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKystLQogMSBmaWxlIGNoYW5nZWQsIDEwNCBpbnNlcnRpb25zKCspLCAzIGRlbGV0
aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdGhlcm1hbC9hbWxvZ2ljX3RoZXJtYWwuYyBi
L2RyaXZlcnMvdGhlcm1hbC9hbWxvZ2ljX3RoZXJtYWwuYwppbmRleCBhMGI1MzA2MjRiNjAuLmM5
YzM1MTQ5NjY1MyAxMDA2NDQKLS0tIGEvZHJpdmVycy90aGVybWFsL2FtbG9naWNfdGhlcm1hbC5j
CisrKyBiL2RyaXZlcnMvdGhlcm1hbC9hbWxvZ2ljX3RoZXJtYWwuYwpAQCAtNDUsNiArNDUsMTgg
QEAKIAkJIFRTRU5TT1JfQ0ZHX1JFRzFfREVNX0VOIHwJXAogCQkgVFNFTlNPUl9DRkdfUkVHMV9D
SF9TRUwpCiAKKyNkZWZpbmUgVFNFTlNPUl9DRkdfUkVHMgkJCTB4OAorCSNkZWZpbmUgVFNFTlNP
Ul9DRkdfUkVHMl9ISVRFTVBfRU4JQklUKDMxKQorCSNkZWZpbmUgVFNFTlNPUl9DRkdfUkVHMl9S
RUJPT1RfRU4JQklUKDMwKQorCSNkZWZpbmUgVFNFTlNPUl9DRkdfUkVHMl9SRUJPT1RfQ09ERQlH
RU5NQVNLKDE1LCA0KQorCSNkZWZpbmUgVFNFTlNPUl9DRkdfUkVHMl9SRUJPT1RfVElNRQlHRU5N
QVNLKDIzLCAxNikKKwkjZGVmaW5lIFRTRU5TT1JfQ0ZHX1JFRzJfRU5BQkxFCQlcCisJCShUU0VO
U09SX0NGR19SRUcyX0hJVEVNUF9FTiB8CVwKKwkJIFRTRU5TT1JfQ0ZHX1JFRzJfUkVCT09UX0VO
IHwJXAorCQkgVFNFTlNPUl9DRkdfUkVHMl9SRUJPT1RfVElNRSkKKworI2RlZmluZSBUU0VOU09S
X1RFTVBfQ0FMCQkxCisKICNkZWZpbmUgVFNFTlNPUl9TVEFUMAkJCTB4NDAKIAogI2RlZmluZSBU
U0VOU09SX1NUQVQ5CQkJMHg2NApAQCAtNjMsNiArNzUsNyBAQAogCiAjZGVmaW5lIFRTRU5TT1Jf
Q0FMSUJfT0ZGU0VUCTEKICNkZWZpbmUgVFNFTlNPUl9DQUxJQl9TSElGVAk0CisjZGVmaW5lIFRT
RU5TT1JfSFdfUkVTRVRfREVGQVVMVF9URU1QCTExMDAwMAogCiAvKioKICAqIHN0cnVjdCBhbWxv
Z2ljX3RoZXJtYWxfc29jX2NhbGliX2RhdGEKQEAgLTkzLDYgKzEwNiw3IEBAIHN0cnVjdCBhbWxv
Z2ljX3RoZXJtYWxfZGF0YSB7CiAJY29uc3Qgc3RydWN0IGFtbG9naWNfdGhlcm1hbF9zb2NfY2Fs
aWJfZGF0YSAqY2FsaWJyYXRpb25fcGFyYW1ldGVyczsKIAljb25zdCBzdHJ1Y3QgcmVnbWFwX2Nv
bmZpZyAqcmVnbWFwX2NvbmZpZzsKIAlib29sIHVzZV9zbTsKKwlib29sIGhhc19zeXNjbGs7CiB9
OwogCiBzdHJ1Y3QgYW1sb2dpY190aGVybWFsIHsKQEAgLTEwMSw4ICsxMTUsMTAgQEAgc3RydWN0
IGFtbG9naWNfdGhlcm1hbCB7CiAJc3RydWN0IHJlZ21hcCAqcmVnbWFwOwogCXN0cnVjdCByZWdt
YXAgKnNlY19hb19tYXA7CiAJc3RydWN0IGNsayAqY2xrOworCXN0cnVjdCBjbGsgKnN5c2NsazsK
IAlzdHJ1Y3QgdGhlcm1hbF96b25lX2RldmljZSAqdHpkOwogCXUzMiB0cmltX2luZm87CisJdTMy
IHRlbXBfY29kZTsKIAlzdHJ1Y3QgbWVzb25fc21fZmlybXdhcmUgKnNtX2Z3OwogCXUzMiB0c2Vu
c29yX2lkOwogfTsKQEAgLTEzOCw2ICsxNTQsNDYgQEAgc3RhdGljIGludCBhbWxvZ2ljX3RoZXJt
YWxfY29kZV90b19taWxsaWNlbHNpdXMoc3RydWN0IGFtbG9naWNfdGhlcm1hbCAqcGRhdGEsCiAJ
cmV0dXJuIHRlbXA7CiB9CiAKKy8qCisgKiBDYWxjdWxhdGUgYSB0ZW1wZXJhdHVyZSBjb2RlIGZy
b20gYSB0ZW1wZXJhdHVyZSB2YWx1ZSAuCisgKiBUaGUgdW5pdCBvZiB0aGUgdGVtcGVyYXR1cmUg
aXMgZGVncmVlIG1pbGxpQ2Vsc2l1cy4KKyAqLworc3RhdGljIHUzMiBhbWxvZ2ljX3RoZXJtYWxf
bWlsbGljZWxzaXVzX3RvX2NvZGUoc3RydWN0IGFtbG9naWNfdGhlcm1hbCAqcGRhdGEsIGludCBt
aWxsaWNlbHNpdXMpCit7CisJY29uc3Qgc3RydWN0IGFtbG9naWNfdGhlcm1hbF9zb2NfY2FsaWJf
ZGF0YSAqcGFyYW0gPQorCQkJCQlwZGF0YS0+ZGF0YS0+Y2FsaWJyYXRpb25fcGFyYW1ldGVyczsK
KwlzNjQgZmFjdG9yLCB1cHRhdCwgdWVmdXNlOworCXUzMiB0ZW1wX2NvZGU7CisKKwl1ZWZ1c2Ug
PSBwZGF0YS0+dHJpbV9pbmZvICYgVFNFTlNPUl9UUklNX1NJR05fTUFTSyA/CisJCQkgICAgIH4o
cGRhdGEtPnRyaW1faW5mbyAmIFRTRU5TT1JfVFJJTV9URU1QX01BU0spICsgMSA6CisJCQkgICAg
IChwZGF0YS0+dHJpbV9pbmZvICYgVFNFTlNPUl9UUklNX1RFTVBfTUFTSyk7CisKKwlmYWN0b3Ig
PSBwYXJhbS0+QiArIGRpdl9zNjQobWlsbGljZWxzaXVzLCAxMDApOworCWZhY3RvciA9IEJJVCgx
NikgKiBmYWN0b3I7CisJZmFjdG9yID0gZGl2X3M2NChmYWN0b3IsIHBhcmFtLT5BKTsKKwlmYWN0
b3IgPSBmYWN0b3IgLSAodWVmdXNlICYgVFNFTlNPUl9UUklNX1RFTVBfTUFTSyk7CisKKwl1cHRh
dCA9IHBhcmFtLT5uICogZmFjdG9yOworCXVwdGF0ID0gZGl2X3M2NCh1cHRhdCwgQklUKDE2KSk7
CisJdXB0YXQgPSBwYXJhbS0+bSAtIHVwdGF0OworCisJZmFjdG9yID0gZmFjdG9yICogMTAwOwor
CWZhY3RvciA9IGRpdl9zNjQoZmFjdG9yLCB1cHRhdCk7CisKKwl0ZW1wX2NvZGUgPSAoKGZhY3Rv
ciA+PiAweDQpICYgVFNFTlNPUl9URU1QX01BU0spICsgVFNFTlNPUl9URU1QX0NBTDsKKworCXJl
dHVybiB0ZW1wX2NvZGU7Cit9CisKK3N0YXRpYyB2b2lkIGFtbG9naWNfdHNlbnNvcl9zZXR1cF9o
d19yZXNldChzdHJ1Y3QgYW1sb2dpY190aGVybWFsICpkYXRhKQoreworCXJlZ21hcF91cGRhdGVf
Yml0cyhkYXRhLT5yZWdtYXAsIFRTRU5TT1JfQ0ZHX1JFRzIsIFRTRU5TT1JfQ0ZHX1JFRzJfUkVC
T09UX0NPREUsCisJCQkgICBkYXRhLT50ZW1wX2NvZGUgPDwgMHg0KTsKKwlyZWdtYXBfdXBkYXRl
X2JpdHMoZGF0YS0+cmVnbWFwLCBUU0VOU09SX0NGR19SRUcyLAorCQkJICAgVFNFTlNPUl9DRkdf
UkVHMl9FTkFCTEUsIFRTRU5TT1JfQ0ZHX1JFRzJfRU5BQkxFKTsKK30KKwogc3RhdGljIGludCBh
bWxvZ2ljX3RoZXJtYWxfZW5hYmxlKHN0cnVjdCBhbWxvZ2ljX3RoZXJtYWwgKmRhdGEpCiB7CiAJ
aW50IHJldDsKQEAgLTI1NCw2ICszMTAsMTMgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBhbWxvZ2lj
X3RoZXJtYWxfc29jX2NhbGliX2RhdGEgYW1sb2dpY190aGVybWFsX2cxMmEgPSB7CiAJLm4gPSAz
MjQsCiB9OwogCitzdGF0aWMgY29uc3Qgc3RydWN0IGFtbG9naWNfdGhlcm1hbF9zb2NfY2FsaWJf
ZGF0YSBhbWxvZ2ljX3RoZXJtYWxfYTkgPSB7CisJLkEgPSA5MTY0LAorCS5CID0gMjc0NywKKwku
bSA9IDM3MCwKKwkubiA9IDI3MCwKK307CisKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgYW1sb2dpY190
aGVybWFsX2RhdGEgYW1sb2dpY190aGVybWFsX2cxMmFfY3B1X3BhcmFtID0gewogCS51X2VmdXNl
X29mZiA9IDB4MTI4LAogCS5jYWxpYnJhdGlvbl9wYXJhbWV0ZXJzID0gJmFtbG9naWNfdGhlcm1h
bF9nMTJhLApAQCAtMjcyLDYgKzMzNSwxMyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGFtbG9naWNf
dGhlcm1hbF9kYXRhIGFtbG9naWNfdGhlcm1hbF9hMV9jcHVfcGFyYW0gPSB7CiAJLnJlZ21hcF9j
b25maWcgPSAmYW1sb2dpY190aGVybWFsX3JlZ21hcF9jb25maWdfZzEyYSwKIH07CiAKK3N0YXRp
YyBjb25zdCBzdHJ1Y3QgYW1sb2dpY190aGVybWFsX2RhdGEgYW1sb2dpY190aGVybWFsX2E5X3Bh
cmFtID0geworCS51c2Vfc20JCQk9IHRydWUsCisJLmhhc19zeXNjbGsJCT0gdHJ1ZSwKKwkuY2Fs
aWJyYXRpb25fcGFyYW1ldGVycwk9ICZhbWxvZ2ljX3RoZXJtYWxfYTksCisJLnJlZ21hcF9jb25m
aWcJCT0gJmFtbG9naWNfdGhlcm1hbF9yZWdtYXBfY29uZmlnX2cxMmEsCit9OworCiBzdGF0aWMg
Y29uc3Qgc3RydWN0IGFtbG9naWNfdGhlcm1hbF9kYXRhIGFtbG9naWNfdGhlcm1hbF90N19wYXJh
bSA9IHsKIAkudXNlX3NtCQkJPSB0cnVlLAogCS5jYWxpYnJhdGlvbl9wYXJhbWV0ZXJzCT0gJmFt
bG9naWNfdGhlcm1hbF9nMTJhLApAQCAtMjkxLDYgKzM2MSwxMCBAQCBzdGF0aWMgY29uc3Qgc3Ry
dWN0IG9mX2RldmljZV9pZCBvZl9hbWxvZ2ljX3RoZXJtYWxfbWF0Y2hbXSA9IHsKIAkJLmNvbXBh
dGlibGUgPSAiYW1sb2dpYyxhMS1jcHUtdGhlcm1hbCIsCiAJCS5kYXRhID0gJmFtbG9naWNfdGhl
cm1hbF9hMV9jcHVfcGFyYW0sCiAJfSwKKwl7CisJCS5jb21wYXRpYmxlID0gImFtbG9naWMsYTkt
dGhlcm1hbCIsCisJCS5kYXRhID0gJmFtbG9naWNfdGhlcm1hbF9hOV9wYXJhbSwKKwl9LAogCXsK
IAkJLmNvbXBhdGlibGUgPSAiYW1sb2dpYyx0Ny10aGVybWFsIiwKIAkJLmRhdGEgPSAmYW1sb2dp
Y190aGVybWFsX3Q3X3BhcmFtLApAQCAtMzA1LDYgKzM3OSw3IEBAIHN0YXRpYyBpbnQgYW1sb2dp
Y190aGVybWFsX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiAJc3RydWN0IGRl
dmljZSAqZGV2ID0gJnBkZXYtPmRldjsKIAl2b2lkIF9faW9tZW0gKmJhc2U7CiAJaW50IHJldDsK
Kwl1MzIgcmVzZXRfdGVtcDsKIAogCXBkYXRhID0gZGV2bV9remFsbG9jKGRldiwgc2l6ZW9mKCpw
ZGF0YSksIEdGUF9LRVJORUwpOwogCWlmICghcGRhdGEpCkBAIC0zMjMsOSArMzk4LDI0IEBAIHN0
YXRpYyBpbnQgYW1sb2dpY190aGVybWFsX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBk
ZXYpCiAJaWYgKElTX0VSUihwZGF0YS0+cmVnbWFwKSkKIAkJcmV0dXJuIFBUUl9FUlIocGRhdGEt
PnJlZ21hcCk7CiAKLQlwZGF0YS0+Y2xrID0gZGV2bV9jbGtfZ2V0KGRldiwgTlVMTCk7Ci0JaWYg
KElTX0VSUihwZGF0YS0+Y2xrKSkKLQkJcmV0dXJuIGRldl9lcnJfcHJvYmUoZGV2LCBQVFJfRVJS
KHBkYXRhLT5jbGspLCAiZmFpbGVkIHRvIGdldCBjbG9ja1xuIik7CisJaWYgKHBkYXRhLT5kYXRh
LT5oYXNfc3lzY2xrKSB7CisJCXBkYXRhLT5jbGsgPSBkZXZtX2Nsa19nZXQoZGV2LCAiY29yZSIp
OworCQlpZiAoSVNfRVJSKHBkYXRhLT5jbGspKQorCQkJcmV0dXJuIGRldl9lcnJfcHJvYmUoZGV2
LCBQVFJfRVJSKHBkYXRhLT5jbGspLCAiZmFpbGVkIHRvIGdldCBjb3JlIGNsa1xuIik7CisJCXBk
YXRhLT5zeXNjbGsgPSBkZXZtX2Nsa19nZXRfZW5hYmxlZChkZXYsICJwY2xrIik7CisJCWlmIChJ
U19FUlIocGRhdGEtPnN5c2NsaykpCisJCQlyZXR1cm4gZGV2X2Vycl9wcm9iZShkZXYsIFBUUl9F
UlIocGRhdGEtPnN5c2NsayksICJmYWlsZWQgdG8gZ2V0IHBjbGtcbiIpOworCX0gZWxzZSB7CisJ
CXBkYXRhLT5jbGsgPSBkZXZtX2Nsa19nZXQoZGV2LCBOVUxMKTsKKwkJaWYgKElTX0VSUihwZGF0
YS0+Y2xrKSkKKwkJCXJldHVybiBkZXZfZXJyX3Byb2JlKGRldiwgUFRSX0VSUihwZGF0YS0+Y2xr
KSwgImZhaWxlZCB0byBnZXQgY2xvY2tcbiIpOworCX0KKworCWlmIChvZl9wcm9wZXJ0eV9yZWFk
X3UzMihwZGV2LT5kZXYub2Zfbm9kZSwgImFtbG9naWMsaHctcmVzZXQtdGVtcCIsICZyZXNldF90
ZW1wKSkgeworCQlkZXZfZGJnKGRldiwgInVzaW5nIGRlZmF1bHQgaGFyZHdhcmUgcmVzZXQgdGVt
cGVyYXR1cmVcbiIpOworCQlyZXNldF90ZW1wID0gVFNFTlNPUl9IV19SRVNFVF9ERUZBVUxUX1RF
TVA7CisJfQorCiAKIAlpZiAocGRhdGEtPmRhdGEtPnVzZV9zbSkKIAkJcmV0ID0gYW1sb2dpY190
aGVybWFsX3Byb2JlX3NtKHBkZXYsIHBkYXRhKTsKQEAgLTM0Niw2ICs0MzYsMTAgQEAgc3RhdGlj
IGludCBhbWxvZ2ljX3RoZXJtYWxfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikK
IAogCWRldm1fdGhlcm1hbF9hZGRfaHdtb25fc3lzZnMoJnBkZXYtPmRldiwgcGRhdGEtPnR6ZCk7
CiAKKwlwZGF0YS0+dGVtcF9jb2RlID0gYW1sb2dpY190aGVybWFsX21pbGxpY2Vsc2l1c190b19j
b2RlKHBkYXRhLCByZXNldF90ZW1wKTsKKworCWFtbG9naWNfdHNlbnNvcl9zZXR1cF9od19yZXNl
dChwZGF0YSk7CisKIAlyZXQgPSBhbWxvZ2ljX3RoZXJtYWxfZW5hYmxlKHBkYXRhKTsKIAogCXJl
dHVybiByZXQ7CkBAIC0zNTUsNiArNDQ5LDggQEAgc3RhdGljIHZvaWQgYW1sb2dpY190aGVybWFs
X3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQogewogCXN0cnVjdCBhbWxvZ2lj
X3RoZXJtYWwgKmRhdGEgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKIAorCWlmIChkYXRh
LT5kYXRhLT5oYXNfc3lzY2xrKQorCQljbGtfZGlzYWJsZV91bnByZXBhcmUoZGF0YS0+c3lzY2xr
KTsKIAlhbWxvZ2ljX3RoZXJtYWxfZGlzYWJsZShkYXRhKTsKIH0KIApAQCAtMzYzLDYgKzQ1OSw4
IEBAIHN0YXRpYyBpbnQgYW1sb2dpY190aGVybWFsX3N1c3BlbmQoc3RydWN0IGRldmljZSAqZGV2
KQogCXN0cnVjdCBhbWxvZ2ljX3RoZXJtYWwgKmRhdGEgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsK
IAogCWFtbG9naWNfdGhlcm1hbF9kaXNhYmxlKGRhdGEpOworCWlmIChkYXRhLT5kYXRhLT5oYXNf
c3lzY2xrKQorCQljbGtfZGlzYWJsZV91bnByZXBhcmUoZGF0YS0+c3lzY2xrKTsKIAogCXJldHVy
biAwOwogfQpAQCAtMzcxLDYgKzQ2OSw5IEBAIHN0YXRpYyBpbnQgYW1sb2dpY190aGVybWFsX3Jl
c3VtZShzdHJ1Y3QgZGV2aWNlICpkZXYpCiB7CiAJc3RydWN0IGFtbG9naWNfdGhlcm1hbCAqZGF0
YSA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOwogCisJYW1sb2dpY190c2Vuc29yX3NldHVwX2h3X3Jl
c2V0KGRhdGEpOworCWlmIChkYXRhLT5kYXRhLT5oYXNfc3lzY2xrKQorCQljbGtfcHJlcGFyZV9l
bmFibGUoZGF0YS0+c3lzY2xrKTsKIAlyZXR1cm4gYW1sb2dpY190aGVybWFsX2VuYWJsZShkYXRh
KTsKIH0KIAoKLS0gCjIuNTIuMAoKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpsaW51eC1hbWxvZ2ljIG1haWxpbmcgbGlzdApsaW51eC1hbWxvZ2ljQGxp
c3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0
aW5mby9saW51eC1hbWxvZ2ljCg==