The detection of split/non-split firmware files in the MDT loader is
corrected. The Geni driver is updated to not enable unused interrupts,
in some configurations. The count unit for MSM8998 in BWMON is corrected.
RPM master stats driver is corrected to check for the right return value
of devm_ioremap().
Support for socinfo version 18 and 19 are aded, and IPQ5300 is added to
the list of platforms.
-----BEGIN PGP SIGNATURE-----
iQJJBAABCAAzFiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmSLPJsVHGFuZGVyc3Nv
bkBrZXJuZWwub3JnAAoJEAsfOT8Nma3Fc9AQAMvf/8aE2FyhH3LE9n1otbRa82Lv
5MjvAM9N6PUJgMSuA71lZm6Bh3h/3SpbGjuRGkfGi4ZpkjZiI37ButZQq8YKVcOi
hDPjGiF8oiO1wk+JEwrC29jgpL+37T7/7jSynO2cYfu+uKXt3MhF9kmDeIiydjyf
hpN6IhGuyLm+dx38x9Vzsq4ew4uFNos+zP0ZInScSJV8UQ5sJjUCjQ4FDu1bHoFn
wQXa0Bd5ObYJilh71on9eJO7dQYLapv5omHI0lM04cYpYGfPpSTmXQwnbpmL7xqF
dyLiE+eq6jpi5yWIVpEFFwonty7Ixuq4yuMwMafYVGIriQ8a8J56HvfvZQ2FSb7D
1F/Rx74qkx1LEenNOBM5rUFyIGc93Up19DzFPNBX/WjJW0+7yBlXNUsg/bI2a/xV
Z+jURxcUWKa/ugiqjMZRXQ7VXC2uhrjD8xn22+w8eyziRoPPecq5KITizHv3CkOT
G7AhI69nFn8zhXHJ3cp4ci4AWzOCW4HXnTE9H8XMDFcu6hxylJDovrqCtt0nWqg+
QPKSqVtUF7BX/UMhhE5XdxqkxG//MyMN2W4dowxv+u35+6DCydyEm3XFuD85ETnt
YJx4iC5n8IGfb5jfOIyLK0JHQNU9ijPSd9rssLRebh96m4H0Op9gHlxDHyXghaRS
umZA+uKoxQQZhEXn
=KYPl
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmSTWk8ACgkQYKtH/8kJ
Uicu3hAAgerZS9Wdt+w+2cUhnkWWayByRwUmTvowFUR8vsbWLJVf1UwYQFiHVXhn
BsPSSGWSRm3vyUZjZyv3GegoWLsxH3LD8s7QngjPpF75HI+2ekD8J+tLNRiNqPll
/cZ1iQFVoTtfYUzAFpgBrYlFYV9P7B/6ghjEhuMc0HWLN4xFJ+13HL5NdCtvbDyn
zTrBSDlz3j94+PoS6n/y+9r8nLNZyp5Li5FUEoXf7uABI9dUqWokoSDV1hRA7zeF
MewEEcH7p5AZiL54L7cfLAlKwPQrUNYjerNxeljrwcp621wECniB030JmYKslSzS
ccfracaf7EBqRuu4SYH47VeLadikpBxrjP39CJFAlKQhB2X3uUNrSYjLyTLDkRRA
X/SN4sbm0ipToa6FlGJ68D3Ca+MHs541U6fhMgQuJ+S4D0pBjbmKUmQfs76L2Eu4
0ZDyYCQuJFmvd/P6ZKjX6hmkxDJ4OItop+K6doedAFf0/tAp6APry05aF56mbhDW
tsBJ0ABlFNY73wMhSu7HMm2rB7mDl3LnVfv67HrWAzaB+c23rkUDki67a1Gtr3lV
mG05JMSG2nETBRPv+II3pG/q7GzJwlqzHNxy3mwtBRILlzLjEl5fK+HgZRtGN8zr
7620aNOKR3lA7XGih1/ztlbpVqgH0c6Ahnm3pCHoQJJjMrK8oWI=
=YKVY
-----END PGP SIGNATURE-----
Merge tag 'qcom-drivers-for-6.5-2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/drivers
More Qualcomm driver updates for v6.5
The detection of split/non-split firmware files in the MDT loader is
corrected. The Geni driver is updated to not enable unused interrupts,
in some configurations. The count unit for MSM8998 in BWMON is corrected.
RPM master stats driver is corrected to check for the right return value
of devm_ioremap().
Support for socinfo version 18 and 19 are aded, and IPQ5300 is added to
the list of platforms.
* tag 'qcom-drivers-for-6.5-2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
soc: qcom: geni-se: Do not bother about enable/disable of interrupts in secondary sequencer
dt-bindings: sram: qcom,imem: document qdu1000
soc: qcom: icc-bwmon: Fix MSM8998 count unit
dt-bindings: soc: qcom,rpmh-rsc: Require power-domains
soc: qcom: socinfo: Add Soc ID for IPQ5300
dt-bindings: arm: qcom,ids: add SoC ID for IPQ5300
soc: qcom: Fix a IS_ERR() vs NULL bug in probe
soc: qcom: socinfo: Add support for new fields in revision 19
soc: qcom: socinfo: Add support for new fields in revision 18
dt-bindings: firmware: scm: Add compatible for SDX75
soc: qcom: mdt_loader: Fix split image detection
Link: https://lore.kernel.org/r/20230615163104.1461905-1-andersson@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Konrad Dybcio is promoted, from reviewer, to co-maintainer.
The mdt_loader gets a fix to the detection of split binaries, where the
previous logic sometimes concluded that the first segments was not
split, in a split image. The unconditional calling of
scm_pas_mem_setup() turns out to cause a regression and is reverted.
The altmode subfunction of pmic_glink is enabled for SM8450.
A new driver for exposing power statistics from the RPM, for debugging
purposes, is introduced.
OCMEM gets a debug prints of the hardware version, QMI helpers are
transitioned to alloc_ordered_workqueue() and an error message in
ramp_controller is improved.
An API is introduced to the SMEM driver to allow other drivers to query
the SoC id, rather than open-coding the parsing of the relevant SMEM
item. This is then used to clean up the Qualcomm NVMEM-based cpufreq
driver.
Socinfo is extended with knowledge about IPQ5018, IPQ5312 and IPQ5302.
-----BEGIN PGP SIGNATURE-----
iQJJBAABCAAzFiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmSFHJsVHGFuZGVyc3Nv
bkBrZXJuZWwub3JnAAoJEAsfOT8Nma3FrtoQAMUN2gF5ZP3rlSEkQbKNMDhNHXVw
S8AexPk6Qw8BcEBOD4YPqrmfrMvNP7Bqh3QkfS/7m5vx0o8bUOw+Xz+C4+9LSUD7
/qW29GlQllwMuRNOdH3J/nYXwpV5WJyiSF/jXy0/GRbz+D/XYSNDC57z/lXTcKKq
dYJrKxms6EF4AgHe88V0bmk6/V4xfa5p6xW3pCG7GLqNHOvhZ16oUmoPiZGVpQMk
go/HsoIB00HktKflTLOUXJWD6qVOVNCaQQEarx+zY1txfmvpVGL+PO6Eaxt00Sa4
pHRvB0CIZPNvdDWELfsfRx6DbPBJRGBlneag04BI918fx4X+jn4uP+1jzw9am03U
M78k0LGBY23Psy6KhoMu5MM4Cntt3kTQ0SwHl/xayzTrAhK2xdmd1bo67ArRl+HX
OZrZ7Se3Cm16CAWqsW42so6MJeDllc8d/ahN/e2NwsNy1lhosK06jRJEdh3N238D
ouL56HoxrweYB0kbK4TkPLewrLZC7DYnr0KMVsPhsSraeJBaBPOVZDhuNSUXXMtf
WdyCRMMxKU3OweLcJiKuGFzNqr2963341Y6NlD+tf1Uy5IEnbIp4jFi9BsJBNVZt
NucOXJYm5OJeAHp8BcMFbnL8uA1NqEYQXwezodPSIGqHzxBtGf6f0hALsIpiUQnA
GLDp99yVujEN2dsE
=9Fv4
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmSTVmkACgkQYKtH/8kJ
Uid08g//b5kJZnsiWA43LrkblMSEdZoeijrn+x2NU95YQ4s/oz2RnUtgNCGDhM84
Fi60PzU5L1JVj6GVeL51J5jlBGKzGqe4FfPTN4aPlSV4Z0B3cuevgWmHnw4Mh/zj
t/1b5QVVZxbKKxb8MP+U2iAvyxVwIhIA4zehh0+XGagV3qquURO7QLtLUg42Yx51
HFLADq2JI8trm+CjjCNBv9mq7EipC/g0nbsCs98nxl/sPC7PqtNxL6BXCuz3a8BX
JvA1LVRP2JYkQfb6SMnTFiqkT6LdB7bt6oXZdnwnsNTI1nhFqbMJRMsToWb3HEvv
9lprraDpaufbzvB1b+x8Aar4OmbbWaY2ZpNJqqzCM5eVW2Zs/p5J+ZfOYVigtQYO
qIQvENv+eKETu4nVvdlf72FPAVe+GXnVAcl3LEwhMUxYcRMha4JT0i8mndnCzpT+
tZLdkBMp/t7rZPIa7D+07Xmorefw9e9rwynQg2C2yw3AV5v7j09dPJDFITFcF6Yl
7ADtoy7zHTTv6/0n04RfPC9jPMoi8RbPoVNMVAWW7t7S0984o3gqWXJPLWJdTzA/
ODOupqmvSpZld1rUklKKH/dY/Ha7iUTSci7rZrXSafXR8LBEn2FO6ehZqUvk7T/u
qM3rs5wacHP2OcNDtwHHJoyfHXpxaQ2JqVOcUNkcdcwhN9dbdxA=
=4/0b
-----END PGP SIGNATURE-----
Merge tag 'qcom-drivers-for-6.5' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/drivers
Qualcomm driver updates for v6.5
Konrad Dybcio is promoted, from reviewer, to co-maintainer.
The mdt_loader gets a fix to the detection of split binaries, where the
previous logic sometimes concluded that the first segments was not
split, in a split image. The unconditional calling of
scm_pas_mem_setup() turns out to cause a regression and is reverted.
The altmode subfunction of pmic_glink is enabled for SM8450.
A new driver for exposing power statistics from the RPM, for debugging
purposes, is introduced.
OCMEM gets a debug prints of the hardware version, QMI helpers are
transitioned to alloc_ordered_workqueue() and an error message in
ramp_controller is improved.
An API is introduced to the SMEM driver to allow other drivers to query
the SoC id, rather than open-coding the parsing of the relevant SMEM
item. This is then used to clean up the Qualcomm NVMEM-based cpufreq
driver.
Socinfo is extended with knowledge about IPQ5018, IPQ5312 and IPQ5302.
* tag 'qcom-drivers-for-6.5' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (23 commits)
soc: qcom: ocmem: Add OCMEM hardware version print
cpufreq: qcom-nvmem: use helper to get SMEM SoC ID
cpufreq: qcom-nvmem: use SoC ID-s from bindings
soc: qcom: smem: introduce qcom_smem_get_soc_id()
soc: qcom: smem: Switch to EXPORT_SYMBOL_GPL()
soc: qcom: socinfo: move SMEM item struct and defines to a header
soc: qcom: mdt_loader: Fix unconditional call to scm_pas_mem_setup
MAINTAINERS: Add Konrad Dybcio as linux-arm-msm co-maintainer
dt-bindings: sram: qcom,imem: Document MSM8226
soc: qcom: socinfo: Add Soc ID for IPQ5312 and IPQ5302
dt-bindings: arm: qcom,ids: add SoC ID for IPQ5312 and IPQ5302
soc: qcom: socinfo: Add IDs for IPQ5018 family
dt-bindings: arm: qcom,ids: Add IDs for IPQ5018 family
soc: qcom: Introduce RPM master stats driver
dt-bindings: soc: qcom: Add RPM Master stats
soc: qcom: qmi: Use alloc_ordered_workqueue() to create ordered workqueues
soc: qcom: ramp_controller: Improve error message for failure in .remove()
dt-bindings: soc: qcom: smd-rpm: allow MSM8226 over SMD
soc: qcom: rpmpd: use correct __le32 type
dt-bindings: soc: qcom: eud: Fix compatible string in the example
...
Link: https://lore.kernel.org/r/20230611010044.2481875-1-andersson@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This contains updates to the PCI driver for Tegra194 and later devices
that depend on the memory controller interconnect changes.
-----BEGIN PGP SIGNATURE-----
iQJHBAABCAAxFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmSDRaMTHHRyZWRpbmdA
bnZpZGlhLmNvbQAKCRDdI6zXfz6zoSfhD/9JvmO5pX/zBODNPAO6XbUPswShzw5b
zU7tQ7zhY8C2rkSDg+OmYO/a1WdXWnV+9ngLKZjIGygJd6akb0BMgDbFep3ZndaB
xAhayvEh38kAXe4jGWFEUut/dhQsbezU4s57GxWU4gtm4RDCVl1JqXfakAgJvXmb
WU1ay/yGc+7AWVXAYWm3fkuo8QgJCkOeA17Przrt7IakQF74qJZ3UN1Z2HjdNwCp
KRuGqmZLRRnwzfOvWZWOq/bhr+zmbmqoLCyqraanUhaCQ1ltFWdsJ/v6eAteh1Ue
IfEZznjNv5EmaH931Te++PoyhHKW9J13R6gyg2jY2pd493tADY7GyVnviUiuN9Rq
XvuVodsyrbt0LX7VPQNjihsAwUwZA9N2L8OAKkPE1EBMEabzVVxZSoCQL34cCP01
EdlfgPPYR5tR+JV36R9yrTxTYvaLZxoRT9UZIlr3bu9JbkCzeGYzRwCax9l59/Kc
u4FsBr46pVm/5tMlYtPzKrzwQqOt5/6qF8lbW9n8diMM36fCW9DvoBh6Mg57OEDm
wRhnxxmXA1LP07iob81DruVqFfjJytA1OYh+R3qrxHzUSlPaBFTDEUd7/Lqls7f+
rjthxf+Wpyprwm7g84/3kDRzBlU1OQL00WIqQK9OKXPuxyQtyfhFcX2zXo+rAylb
6Iihsv+DFJskTQ==
=qnyT
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmSTVGcACgkQYKtH/8kJ
UidNrQ//bKwagRP21klSIJSWc47iYbVjDxBGB11dzIAOH3OFGOJ1lVbBNOSLeeIN
t7DZvi/ZPxVyHCOgk4FhETWnVP/dEbTBzaiJzyHu0e6QhzdHtAhOf9JhK+9SbF4b
CohXuzAVUCQZEHLEG4YdW3uQq7H4iIxWaiECDYXM+wIzgFYIZAliR7mNNP/LiO6u
0n0ugEUqqqPglYEQ6Lu7Aw6U1IPHvQVnZUy9D1f7kQjwFQxHE8c/gTOHX+5FEHt5
Whm376mM1FgFGUL8k8b5MJ6lpXZ3tQizC0h76tucapWX/aaKSn21COGN+CjzXIJm
FHIhClRokcdzz1rDL1uMatska7GS1vszAjzotNZYsoMLm9BL2YRJO+n0iEewSDa1
dDNIjpF3ffkuxmr5FSnd8oM+fREX2oljZ0WEyKsuDlklZMUmMLh6kBIWPsg6NuoU
bFyIsdRQD7H14BJpX6oy/DhydFz7+hnjgmInRAWn9xLEzChOKfQA+Z4jGD80Pc8k
40dXPP7c3EjnIUFOE35Gvq/BLbqWmW7nVkc2ibtZU9XeIBfmDqcdeb6ab83Yw6Zt
3oinAtIGg2RjxtXpkYUFjmaKArHAdceX3qdAYTSnFLVJk6PNmL59AkUOGLVeWEq0
GAt1R2VzlSfBzNLVwhi1a3eetOA0JO4PLZ1VcCmjC51uVl28ONA=
=BDY/
-----END PGP SIGNATURE-----
Merge tag 'tegra-for-6.5-pci' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/drivers
PCI: tegra: Changes for v6.5-rc1
This contains updates to the PCI driver for Tegra194 and later devices
that depend on the memory controller interconnect changes.
* tag 'tegra-for-6.5-pci' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
PCI: tegra194: Add interconnect support in Tegra234
PCI: tegra194: Fix possible array out of bounds access
Link: https://lore.kernel.org/r/20230609193620.2275240-5-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This introduces an interconnect provider for the memory controller and
external memory controller found on Tegra234 chips that will eventually
be used to dynamically scale the EMC frequency based on a device's
bandwidth needs.
-----BEGIN PGP SIGNATURE-----
iQJHBAABCAAxFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmSDRTcTHHRyZWRpbmdA
bnZpZGlhLmNvbQAKCRDdI6zXfz6zoaKyD/4sjVTfnZ9YoXkcPFd6zr1I8pNMC2pk
yyDtSHN0EGcw5goSHF+Akqv5O0JEh8YAW0pQ+fxO3KdEGlZEYNBlC9rgjpz7TzHE
6zsajiIvLYOwSTbjVVlFn2U4H6ihFdawzag/vRDqu1b3wExus9VigWnEgHtj/RJT
q1ODZXkwZrOBR3Z034ji6jJIQXVg54sEvt/Zlq7iYXabLXg8u5NDEbSd4GVBNwPB
SwBUfc9ja/Y5xUKaXA/hqQ7gIfm4Hs5XVyCbLT75j259qVantbxtlURB3cme080m
rRdyScngYFxuyBzQtQzLq+6u5tYJN6q3WUlXWvxI/gMw2IezFH6p0jXfCByriSMD
6d7h6Jk2d6bub3RUWLsurruHYSPqqvM9tI5sN6ZY4nq4uo0MplFEcrQBFXIJAJhy
X/JaO9166K0mX73wNFoEmmay5ZTd8wLKvGdlfaHUdUKJcldhh3Ivhl2r0w9Ij6qE
w1+QjUxtgabSb/69+3o2m4iil2I5Scc8jr3Vu1riW1yemKSQX7xS0PZ4a6k5/78O
2NGaFZqvs7Uo1EYGz91f50Go1hGLZOH0MMMjd+NSj3pZQvpB+BZ8rlGG7umbjIUF
aTBj5hcXN3bBx4VQGnLFwUEbEd6GIog+d6COtpmQzixwdXxw8aUB/m7ouFSegz34
MMEoE0i11HMlyg==
=OJYg
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmSTVC0ACgkQYKtH/8kJ
UieyxRAAiJKwY9bILWnKTPIJ+AlTDzp5ramSVsjD7KzlH6/pgWydgzRRhP/9zz87
f1/wnmMJ2vgWWa1g1NfeX4P8vZyHYsGiuBvQrevzP6Ekc0q19j6CI5tu5zDTy1aF
dqZtkpOTqO5+ioTL5bTem2XISvWNnK1TyaWzSHnvbNgfvrWtMiqij9mJyeaF3hdm
yCN0XbO8UaChbUobjgjzwg09BvrsN2CtG/2DATIgHUWDrkW0vER0QZRCF0V9mg3O
5kszkfLAsm/7TcQiPAeHEc2IXNRnYl1f4Gkjg7e47Itxkv5+rm/liejdYMZfIQmc
Kj0eQerTB974qrcBsrwVE12lNwDK4+3FbAWOZjbXaLtYf27+pSjoG0YVduv8VUNi
H81ehi+pHma7Boekf2i9XMVC1+EBBlpPBjxCpaDN5ck7kIkO2bBMX9avTGE9qfn5
9lpU64z6xHv/3YEcnOty4Ggs0V3ZLz4iRkFfWUDtYYsXnFyes1K9ooaDzHojisk0
/vE0KqImlZdlBuBUYpgEBcM/s4V1PtpN3nQtVpUUb77M90GmTLGwLjM8+Y1+JuXV
N9eGiPR8YhuMzy4eQR4YEfIqPqwEstRqkOicctJaCDi3Hg4OXmUdUDS66vV9wm+V
ntfdphilxBp2EHG42IhKkVH5LdSm/17xbxd2t1RwZ7cMZ7Q5hpw=
=7PpG
-----END PGP SIGNATURE-----
Merge tag 'tegra-for-6.5-memory' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/drivers
memory: tegra: Changes for v6.5-rc1
This introduces an interconnect provider for the memory controller and
external memory controller found on Tegra234 chips that will eventually
be used to dynamically scale the EMC frequency based on a device's
bandwidth needs.
* tag 'tegra-for-6.5-memory' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
memory: tegra: Make CPU cluster BW request a multiple of MC channels
memory: tegra: Add software memory clients in Tegra234
memory: tegra: Add memory clients for Tegra234
memory: tegra: Add interconnect support for DRAM scaling in Tegra234
dt-bindings: tegra: Add ICC IDs for dummy memory clients
dt-bindings: tegra: Document compatible for IGX
Link: https://lore.kernel.org/r/20230609193620.2275240-4-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This adds support for using system memory as shared memory between the
CPU and the BPMP, which will be needed for Tegra264 support.
-----BEGIN PGP SIGNATURE-----
iQJHBAABCAAxFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmSDRD0THHRyZWRpbmdA
bnZpZGlhLmNvbQAKCRDdI6zXfz6zoc7MEAC7nU4P96tevI2AyS4b2LCPW/Rk969y
PSHxZQuewhGysy+zmwrxy+dpJ0ONfD6ae8lQ1p0XXITDC2Z5yHJASgmbuxznS4gl
OVn3PjB+GXVLYbz3B2HZW/lPN/t6w3mDcjmH3XJ5wuGdlV0PAJy4V9I+WJIKFAGq
m26NpfkwsQnC99weCQd8F6/m+tAU54bLBULipv/nv6pbBoc7222+PGiC4dXrTR32
WZiSiqcKXpweMeGcPRiKXokgvn2PphbawQxQf9Ejh9ufWpB3ddrWHniY5obv8Vnj
MBYXsL1QVoGo/d1FXbFgw2Vx4F9FXZQh3YHIR3dFf57ytwhZHwqKFFJSL4LoA1bH
CD+IDrtgXte+mo6VcoPXbkaPNmMEzLRRLSqOoKsWnQHadhF5PGoDLSZ8yb3/QME+
PP7VgLRgvLP8u7aY6+foNktBrY9KJfXvZa9YXOISHz5CNtXNuc0rBw0wTTdnSt/v
VYbDP+5s++8fWFr/dd+q2NaZxGoM6ZUNDsVMn1g9AFnYxEKc7KVn6XJVijFWeqFu
TkPDLfvp0/x+6lwTYa19s7w2cTB+fUPKIqlpWR66QZ+MZb76RRE0Ymp+hCleK6PY
5nn/7UpfP38RS+EoL11zedcQ329MgLmrBNWjAzpJEdLGCDkEIZRw7pXg1P2EWsJS
f8gyVgb5O2RGYw==
=fwZn
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmSTU7cACgkQYKtH/8kJ
UieF4xAA43v/+kPsHfZoBhzM+DlLQUQhsQMzIrH/xncDd+Pw8zvtxGIpQy4Ubq/c
kORhtyVHiIiDzFa6zg9pb24YIBAm3irkVIq9bBUlrCaWT5ias32FGyvZjaSwqhC1
MyeRZ4GT9AkJ0SucAS8sGy0VcP3r+utfeXzimXb46kXXKX4styMn5QDMbzwjJN2x
RJd6PhzE0rleujQ8/YfTKwdIc6I8i+RM2LdoAK/AVnSeVBkFciWGsqxydEmdlSiD
a06N075zOBK+GW4DNF/IrxcAyk3Q7FrCNDRrkJABN/DTG0EYGwZSFuBquE2TweGc
5+HwDAjFZnuOZsqqfAb0jWsprkGhEa7Ahur45W48I/Iyfo1ZkxZjn/yFgJVbYw8V
V/7Rfe9mI09SAVR2qRYiQcUGhhGK/ityuNk5xTY8xr/ob3EO17UibwX0s0FiPfX6
kq8SL4LWKoy4azDNtm1+Xdew5cAqWFZhxLXgwlXuym7FUoSotzP/aMCujM4tno/p
Hc5ZtlVPyAJQbRz4YoWEANU2FLUUkq1FOZ4n8IF9hQ8AZIQ5Ujc7p4MY8o6gqByn
4JW0+Vw9tF9fl1Y/kUkjSdsUryt0bFlBEdJK101tFHpTLDRqMd4IbWDmtRP0rRsC
iYYv/16JU49Eez4fYflEbDGvAVfn1L0C3Tey7jhwToLzxUVbkhc=
=3AXn
-----END PGP SIGNATURE-----
Merge tag 'tegra-for-6.5-firmware' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/drivers
firmware: tegra: Changes for v6.5-rc1
This adds support for using system memory as shared memory between the
CPU and the BPMP, which will be needed for Tegra264 support.
* tag 'tegra-for-6.5-firmware' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
firmware: tegra: bpmp: Add support for DRAM MRQ GSCs
Link: https://lore.kernel.org/r/20230609193620.2275240-2-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This adds initial support for identifying the Tegra264 SoC family and
fixes potential issues when reading from the FUSE block. A new software
wake event for the AON cluster is added on Tegra234 and the debugfs
initialization is drastically simplified.
-----BEGIN PGP SIGNATURE-----
iQJHBAABCAAxFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmSDRAMTHHRyZWRpbmdA
bnZpZGlhLmNvbQAKCRDdI6zXfz6zoePdD/kBmBNU0jOYOPCIDvL9/ZGallfogOyQ
7+MEyY/POCYiWiBFS2qixGHr9yu5KgmEc8y7Mq7C7/PmC5y4EoLuZF7QRiCUl78t
wyCROYb0WqBivAMdDFyXyxxJDCmNXGUqZyx6QpGQlJEwWlrJMExQsaw9F6366/JR
q0QPkKtzGGVXwxwpH3XdrfD/9cUOhTe8oGZ9uPW/q3j0JqO1x9pcnVSUWU3nXeEy
pvQjJjXAlB+9imAYuykDZMTUhlTqTrQTREk4JlG1UQkrs9vh4SDrPYh7IKlhbKct
/crML7JOZwoIAQ2lmapqrSijS03jo3F1RvEJVigYSXZhkFFwRRxuUs70jD/zGYbO
FIKzkQAr0cY7Dphkos3H8Rneyd87kJ7f1LDLNnTDXU/LaGWzZSaxJFqbTlRPL/Pr
HC6oRtwhD1FDEZO74lxfRDrlWiX6xBHsB+uOhTHM65e7whWO216YQDS8hyxHcnUb
fV51tuo3Fs5Hlb9nsYnFS7hE4YEQ3Tmq2fI/wHSesmMm14U3DMkhIvUff8dZLRc3
Wp/3XsRPfHuh1kZCHi4VDUeHSY07W1uqkBqrYBOXugNc7ZLiVhQV5lCRFMJPPvCz
wS0d0CUNhxa7tcXu/GLaMCm5CsUkovC1cC2YqqLqk8PtfABX1OCZZadn4qUk53wl
hlMER8mbyF0Ypw==
=mlOG
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmSTUe4ACgkQYKtH/8kJ
UidTRBAAnWhSOO8MaR7tmDnJO7ldOcUYWpoWViLM4Cgt6WLt0HM5F3Dre0PtTgWS
Fv0CCIuRVDk9UK2Sg3XG27aOkJmGgK2s5ZHROfk2WlacOXkLL3/C3ieZcXRom5rn
BQXAXLGd1sgTHQ7VSLDYApw//XpwmSczE7HeYZ+96z0XUuCFgQJgAHWisN7cPc4m
PjY55BIZKLvVCFRb09Zu8uZaXYtp/w8EEmgYioV2PbuM4nbdjb32ivs76G3+A80T
8gLqx5AO/0kx3roZSlgP9AgHAXy2snT42Hc+o/1EiblwKICXv/wmVFP3Z2a8596y
y81kPfgARm09YV/9ehKoJVxxYEmG3i97SA1ATc5Y7whtmGSB+11AFZyedf6iaXk1
MT6AIKNgVES6Xa5kIJ2DgxCaUMe7VhvfohN8VIaeqDY4Iyo/XwlW4RsWId5saL5a
BPSlLBplhKYdy8O9H0WDEc+c1Gkk8zT/O5rA6rITmbqF8sMvzyKTEtslyx5vPzp4
ZaiD6XMQHFNQUC1v4i+zV5MkYoTT04ML4GGwd8AjkVPQUSaOUOBMDP9cHEWttFpT
NLdk36ZSu1Yz/dahBHTHrwCvejcTl7V+KoB1Fhc19sK1wZIVfdd2jt4sjm+QLr2T
3cxcjnvozKtyRCcEt1+r9BpnF6t05eSGNS0ZS124MS61wwewKqY=
=rooh
-----END PGP SIGNATURE-----
Merge tag 'tegra-for-6.5-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/drivers
soc/tegra: Changes for v6.5-rc1
This adds initial support for identifying the Tegra264 SoC family and
fixes potential issues when reading from the FUSE block. A new software
wake event for the AON cluster is added on Tegra234 and the debugfs
initialization is drastically simplified.
* tag 'tegra-for-6.5-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
soc/tegra: pmc: Use devm_clk_notifier_register()
soc/tegra: pmc: Simplify debugfs initialization
soc/tegra: fuse: Fix Tegra234 fuse size
soc/tegra: pmc: Add AON SW Wake support for Tegra234
soc/tegra: fuse: Add support for Tegra264
Link: https://lore.kernel.org/r/20230609193620.2275240-1-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
The select_fifo/dma_mode() functions in geni driver enable/disable
interrupts (secondary included) conditionally for non-uart modes, while
uart is supposed to manage this internally.
However, only uart uses secondary IRQs while spi, i2c do not care about
these at all making their enablement (or disablement) totally unnecessary
for these protos.
Similarly, select_gpi_mode() also does disable s_irq and its useless again.
Drop enabling/disabling secondary IRQs.
This doesn't solve any observed problem but only gets rid of code pieces
that are not required.
Signed-off-by: Vijaya Krishna Nivarthi <quic_vnivarth@quicinc.com>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/1686742087-30731-1-git-send-email-quic_vnivarth@quicinc.com
The Linux RPMh implementation refrains from sending some RPMh votes until
the system is about to enter suspend (which is indicated by all CPU cores
entering a low-power state). Lack of the power-domains property will make
it such that these votes are never sent.
Require the power-domains property as discussed in [1].
[1] https://lore.kernel.org/linux-arm-msm/20230512150425.3171122-1-quic_bjorande@quicinc.com/
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230531-topic-rsc-v1-1-b4a985f57b8b@linaro.org
Add the SoC ID for IPQ5300, which belong to the family of IPQ5332 SoC.
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Kathiravan T <quic_kathirav@quicinc.com>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230605080531.3879-3-quic_kathirav@quicinc.com
Add the SoC ID for IPQ5300, which belong to the family of IPQ5332 SoC.
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Kathiravan T <quic_kathirav@quicinc.com>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230605080531.3879-2-quic_kathirav@quicinc.com
The devm_ioremap() function returns NULL on error, it never returns
error pointers.
Fixes: a77b2a0b12 ("soc: qcom: Introduce RPM master stats driver")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/ZH7sgpLAN23bCz9v@moroto
Add support for below fields coming in socinfo structure under v19:
* num_func_clusters: number of clusters with at least one functional core
* boot_cluster: cluster selected as boot cluster
* boot_core: core selected as boot core
While at it, rename some variables to align them with their
functionalities.
Signed-off-by: Naman Jain <quic_namajain@quicinc.com>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230606134626.18790-3-quic_namajain@quicinc.com
Add support for below fields coming in socinfo structure under v18:
* num_kvps: number of key value pairs (KVP)
* kvps_offset: the offset of the KVP table from the base address of
socinfo structure in SMEM
KVP table has boolean values for certain feature flags, used to determine
hardware configuration.
Signed-off-by: Naman Jain <quic_namajain@quicinc.com>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230606134626.18790-2-quic_namajain@quicinc.com
The enhanced detection introduced in commit '210d12c819 ("soc: qcom:
mdt_loader: Enhance split binary detection")' requires that all segments
lies within the file on disk.
But the Qualcomm firmware files consistently has a BSS-like segment at
the end, with a p_offset aligned to the next 4k boundary. As the p_size
is 0 and there's nothing to load, the image is not padded to cover this
(empty) segment.
Ignore zero-sized segments when determining if the image is split, to
avoid this problem.
Fixes: 210d12c819 ("soc: qcom: mdt_loader: Enhance split binary detection")
Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Tested-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> # qrb5165-rb5
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230612215804.1883458-1-quic_bjorande@quicinc.com
Implement support for DRAM MRQ GSCs.
Signed-off-by: Peter De Schrijver <pdeschrijver@nvidia.com>
[treding@nvidia.com: drop unnecessary discrimination enum]
Signed-off-by: Thierry Reding <treding@nvidia.com>
Move to the device-managed version of clk_notifier_register() to remove
the need for manual cleanup. This fixes a potential issue where the
clock notifier would stick around after the driver fails to probe at a
later point.
Reviewed-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
debugfs calls should generally not be error-checked to simplify the case
where debugfs is disabled. Since this driver is built-in and has the
sysfs bind/unbind attributes disabled, it cannot be unloaded, so there
is no need to hold onto a reference to the debugfs files that are
created.
We can further simplify this by moving the debugfs file creation to a
later stage to avoid any cleanup we might have to do during error unwind
operations. This is also a little cleaner because the debugfs file
relies on data structures that are created at a later point than when
the file was previously created.
Suggested-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Device tree node names should be generic. The planned device node name
for the GPU, according to the bindings and posted DT changes, is "gpu",
not "mali".
Fix the GPU node name in the SVS driver to follow.
Fixes: 0bbb09b2af ("soc: mediatek: SVS: add mt8192 SVS GPU driver")
Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Alexandre Mergnat <amergnat@baylibre.com>
Link: https://lore.kernel.org/r/20230531063532.2240038-1-wenst@chromium.org
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
soc-power
- Use of_property_present() instead of of_find_property()
soc-event
- Avoid use after free eve_data in event manager code
firmware:
- Extend zynqmp_pm_fpga_load() interface
MAINTAINERS:
- Clean xilinx records
-----BEGIN PGP SIGNATURE-----
iF0EABECAB0WIQQbPNTMvXmYlBPRwx7KSWXLKUoMIQUCZIHD3QAKCRDKSWXLKUoM
IVfvAJ9OBqaOdnRbJ6R5Kax5TL5R02aMAwCeLqYRsXp9ZeaYw1jRfANnJrP10DU=
=5lzm
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmSDIrkACgkQYKtH/8kJ
Uicarg//Zw33auXBKAHURMfkIz0ekNV17J0pIX4A4bOhszk1GFZMZZQVtnS9kEUP
DAqfYQXyFEhWVCWXCxms3V50RL1ZwtmvyvShyV6OLurVafTwLwUL62VRTE5D2kPZ
yEpNq9T/3MGcMzjqF6T6r62+bmlohmu6qfVwj4RtRCEHuU7LYqBfwsQNuUZ9yZ5F
vbOreCn7P5o40FE8FoYHPUHeNouRsPloTmtA26DTwm7gDccjUxXKD3/wUXf5NkMJ
tXS6orvmQJrhpNg34dxJhOFgjE4coYkb0PY/pXla3YkSQFx4Oc3nCr0WnKQP4Rq1
IdB9pcRj/f2Pyur+izdarg2s1n/AUlBf5DgAuwBybgH5nBn6rl7iRcHl2sZDpKMw
qJSx1yjgfdraAUOAX3BWg5mHtpT3/mgrK5tbLXnYDXMSGuz/RPlsnZCeHX+9y1mc
nixnwVmR2QfH33h6yKBmdr3YlrQx8Z5tPpufvMlRts2AaYIaNQmpu0kYaAxtAEcm
GxZCvLIxAQyS0SFleFmB9VzIEJjIuuu6AL5Wl81YY8C4f6hzjUp4MnR3NelgaJjS
kteWBpj5utW2KGHpv+1lnHYn4mFEmr7iw6dHDTrXfQjO4gF2uT1ns1IQa2XWQx1F
LoBXMyviC7FZJoYFcx2g+w+qR7ny0/uPdFvd020qgSEnRzJN1og=
=Tj0D
-----END PGP SIGNATURE-----
Merge tag 'zynqmp-soc-for-v6.5' of https://github.com/Xilinx/linux-xlnx into soc/drivers
arm64: ZynqMP SoC changes for v6.5
soc-power
- Use of_property_present() instead of of_find_property()
soc-event
- Avoid use after free eve_data in event manager code
firmware:
- Extend zynqmp_pm_fpga_load() interface
MAINTAINERS:
- Clean xilinx records
* tag 'zynqmp-soc-for-v6.5' of https://github.com/Xilinx/linux-xlnx:
MAINTAINERS: Switch to @amd.com emails
MAINTAINERS: Remove Hyun and Anurag from maintainer list
firmware: xilinx: Update the zynqmp_pm_fpga_load() API
driver: soc: xilinx: use _safe loop iterator to avoid a use after free
soc: xilinx: Use of_property_present() for testing DT property presence
Link: https://lore.kernel.org/r/411aee78-e7e8-5966-cbe8-40ff45e27ba2@monstr.eu
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
The Tegra234 fuse size is incorrectly defined as 0x98c. The actual size
of the Tegra234 fuses is 0xf8c and so update the size of the Tegra234
fuses to fix this.
Signed-off-by: Kartik <kkartik@nvidia.com>
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Wake-up signal 83 on Tegra234 is triggered by software writing to
WAKE_AOWAKE_SW_WAKE_TIER0_TRIGGER_0 register. This wake-up is mapped
to CPU interrupt 179 and is used by the Sensor Processing Engine (SPE)
in the Always-on (AON) power domain for waking up the system.
Signed-off-by: Viswanath L <viswanathl@nvidia.com>
Signed-off-by: Kartik <kkartik@nvidia.com>
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Use readl_poll_timeout_atomic() instead of open-coding the same
operation.
1. rmobile_pd_power_down(): as typically less than 20 retries are
needed, PSTR_RETRIES (100) µs is a suitable timeout value.
2. __rmobile_pd_power_up(): the old method of first polling some
cycles with a 1 µs delay, followed by more polling cycles without
any delay didn't make much sense, as the latter was insignificant
compared to the former. Furthermore, typically no retries are
needed. Hence just retain the polling with delay.
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/ae4bf03ab8fd5a557c683086958d6764babc0723.1685692810.git.geert+renesas@glider.be
read_poll_timeout_atomic() uses ktime_get() to implement the timeout
feature, just like its non-atomic counterpart. However, there are
several issues with this, due to its use in atomic contexts:
1. When called in the s2ram path (as typically done by clock or PM
domain drivers), timekeeping may be suspended, triggering the
WARN_ON(timekeeping_suspended) in ktime_get():
WARNING: CPU: 0 PID: 654 at kernel/time/timekeeping.c:843 ktime_get+0x28/0x78
Calling ktime_get_mono_fast_ns() instead of ktime_get() would get
rid of that warning. However, that would break timeout handling,
as (at least on systems with an ARM architectured timer), the time
returned by ktime_get_mono_fast_ns() does not advance while
timekeeping is suspended.
Interestingly, (on the same ARM systems) the time returned by
ktime_get() does advance while timekeeping is suspended, despite
the warning.
2. Depending on the actual clock source, and especially before a
high-resolution clocksource (e.g. the ARM architectured timer)
becomes available, time may not advance in atomic contexts, thus
breaking timeout handling.
Fix this by abandoning the idea that one can rely on timekeeping to
implement timeout handling in all atomic contexts, and switch from a
global time-based to a locally-estimated timeout handling. In most
(all?) cases the timeout condition is exceptional and an error
condition, hence any additional delays due to underestimating wall clock
time are irrelevant.
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Tony Lindgren <tony@atomide.com>
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
Link: https://lore.kernel.org/r/3d2a2f4e553489392d871108797c3be08f88300b.1685692810.git.geert+renesas@glider.be
It is considered good practice to call cpu_relax() in busy loops, see
Documentation/process/volatile-considered-harmful.rst. This can not
only lower CPU power consumption or yield to a hyperthreaded twin
processor, but also allows an architecture to mitigate hardware issues
(e.g. ARM Erratum 754327 for Cortex-A9 prior to r2p0) in the
architecture-specific cpu_relax() implementation.
In addition, cpu_relax() is also a compiler barrier. It is not
immediately obvious that the @op argument "function" will result in an
actual function call (e.g. in case of inlining).
Where a function call is a C sequence point, this is lost on inlining.
Therefore, with agressive enough optimization it might be possible for
the compiler to hoist the:
(val) = op(args);
"load" out of the loop because it doesn't see the value changing. The
addition of cpu_relax() would inhibit this.
As the iopoll helpers lack calls to cpu_relax(), people are sometimes
reluctant to use them, and may fall back to open-coded polling loops
(including cpu_relax() calls) instead.
Fix this by adding calls to cpu_relax() to the iopoll helpers:
- For the non-atomic case, it is sufficient to call cpu_relax() in
case of a zero sleep-between-reads value, as a call to
usleep_range() is a safe barrier otherwise. However, it doesn't
hurt to add the call regardless, for simplicity, and for similarity
with the atomic case below.
- For the atomic case, cpu_relax() must be called regardless of the
sleep-between-reads value, as there is no guarantee all
architecture-specific implementations of udelay() handle this.
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Tony Lindgren <tony@atomide.com>
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
Link: https://lore.kernel.org/r/45c87bec3397fdd704376807f0eec5cc71be440f.1685692810.git.geert+renesas@glider.be
It might be useful to know what hardware version of the OCMEM block the
SoC contains. Add a debug print for that.
Signed-off-by: Luca Weiss <luca@z3ntu.xyz>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230509-ocmem-hwver-v3-1-e51f3488e0f4@z3ntu.xyz
Add a compatible string for MediaTek Helio X10 MT6795: this SoC uses
the same DSI PHY as MT8173.
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>
Reviewed-by: Alexandre Mergnat <amergnat@baylibre.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20230412112739.160376-3-angelogioacchino.delregno@collabora.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
Add a compatible string for MediaTek Helio X10 MT6795's display PWM
block: this is the same as MT8173.
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>
Link: https://lore.kernel.org/r/20230412112739.160376-2-angelogioacchino.delregno@collabora.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
The mt8186-spmi is used as compatible with mt8195-spmi on the MT8186,
document this situation.
Signed-off-by: Allen-KH Cheng <allen-kh.cheng@mediatek.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>
Link: https://lore.kernel.org/r/20230324021258.15863-3-allen-kh.cheng@mediatek.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
Add the necessary bits to support the MT6795 Helio X10 smartphone SoC:
this is always paired with a MT6331 PMIC, with MT6332 companion.
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Alexandre Mergnat <amergnat@baylibre.com>
Link: https://lore.kernel.org/r/20230412131216.198313-7-angelogioacchino.delregno@collabora.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
Add support for the MT6331 PMIC and for its companion MT6332 PMIC.
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Alexandre Mergnat <amergnat@baylibre.com>
Link: https://lore.kernel.org/r/20230412131216.198313-6-angelogioacchino.delregno@collabora.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
Some PMICs are designed to work with a companion part, which provides
more regulators and/or companion devices such as LED controllers,
display backlight controllers, battery charging, fuel gauge, etc:
this kind of PMICs are usually present in smartphone platforms, where
tight integration is required.
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Alexandre Mergnat <amergnat@baylibre.com>
Link: https://lore.kernel.org/r/20230412131216.198313-5-angelogioacchino.delregno@collabora.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
In preparation for adding new members with name abbreviations describe
the struct pwrap_slv_type with kerneldoc to enhance human readability.
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Alexandre Mergnat <amergnat@baylibre.com>
Link: https://lore.kernel.org/r/20230412131216.198313-4-angelogioacchino.delregno@collabora.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
The PMIC read test is performed in two places: pwrap_init_dual_io()
and pwrap_init_sidly().
In preparation for adding support for PMICs requiring a companion
part, move this sequence to a new function pwrap_pmic_read_test().
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Alexandre Mergnat <amergnat@baylibre.com>
Link: https://lore.kernel.org/r/20230412131216.198313-3-angelogioacchino.delregno@collabora.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
Add a compatible for the PMIC Wrapper found on the MT6795 Helio X10 SoC.
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20230412131216.198313-2-angelogioacchino.delregno@collabora.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
Now that SMEM exports a helper to get the SMEM SoC ID lets utilize it.
Currently qcom_cpufreq_get_msm_id() is encoding the returned SMEM SoC ID
into an enum, however there is no reason to do so and we can just match
directly on the SMEM SoC ID as returned by qcom_smem_get_soc_id().
Signed-off-by: Robert Marko <robimarko@gmail.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230526204802.3081168-5-robimarko@gmail.com
SMEM SoC ID-s are now stored in DT bindings so lets use those instead of
defining them in the driver again.
Signed-off-by: Robert Marko <robimarko@gmail.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230526204802.3081168-4-robimarko@gmail.com
Introduce a helper to return the SoC SMEM ID, which is used to identify the
exact SoC model as there may be differences in the same SoC family.
Currently, cpufreq-nvmem does this completely in the driver and there has
been more interest expresed for other drivers to use this information so
lets expose a common helper to prevent redoing it in individual drivers
since this field is present on every SMEM table version.
Signed-off-by: Robert Marko <robimarko@gmail.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230526204802.3081168-3-robimarko@gmail.com
SMEM has been GPL licensed from the start, and there is no reason to use
EXPORT_SYMBOL() so switch to the GPL version.
Signed-off-by: Robert Marko <robimarko@gmail.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Reviewed-by: Trilok Soni <quic_tsoni@quicinc.com>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230526204802.3081168-2-robimarko@gmail.com
Move SMEM item struct and related defines to a header in order to be able
to reuse them in the SMEM driver instead of duplicating them.
Signed-off-by: Robert Marko <robimarko@gmail.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230526204802.3081168-1-robimarko@gmail.com