Since commit 3d5089c426 ("of/address: Add support for 3 address cell
bus"), the DT address functions can handle translating buses with 3
address cells. Replace the custom code with the for_each_of_range()
iterator.
The original code had fallbacks to get "#address-cells"/"#size-cells"
from the bus parent node if they are missing. This is non-standard
behavior, and AFAICT the upstream .dts files never relied on that.
Reviewed-by: Laurentiu Tudor <laurentiu.tudor@nxp.com>
Tested-by: Laurentiu Tudor <laurentiu.tudor@nxp.com>
Signed-off-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20230823190958.2717267-1-robh@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
pull the following:
- Rob updates the Broadcom SoC drivers to use the correct DT includes
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEm+Rq3+YGJdiR9yuFh9CWnEQHBwQFAmTdOIkACgkQh9CWnEQH
BwQE8RAAj7lBzrIXudZfyVUSteJeWF6BD1QTV4Mw2RbdtfdwGa2Vf/G/sQbBgMhU
7AC1NFztHuVdch3L1/N+YAR5omqzASPI4sm34iwRLGBUUIhDO+MP4QfjapBLkqOr
4cU1t13BA75Cyl6l6Ra8TQr5TW3qfSotHwZKvj/QgXhiLCiF8FvTLlxhRCzZrdnb
9FdSGp5FTbFW833D0DS5EsTlk4kGV/+1bPJszStJBl5r3gqc/f9/c4Iq0oxWANFJ
kEO1jNXxcx2wxcqgXUxux3VXdfY3fIhFBYXX6P3aMH0a6ItRcfnGDziizdI1jzuv
NxdoJmXOCuj5c5z8R6ZFz7CITyd5hf9S4WMaxSd/2gR35PJka1oH7jrTEU3SjNex
pnCwGNmXH/P61dVEiVKQdmN8Gz89nPSd+JlwGuNlXT8Fwe5ECTO1zNJKyrD5tyYN
cKnOEsnn5DBWiQxVx7rMwES3Fv0iPNGX0uYU4l7gep6jS0YATA8FQksanr3AG3hX
Bdd87JYeRiJHKhpaZbQsnm6RFs2MvI9wRJOzvYrDJu8NvwVDRdjfr3XT9T1bMjnm
PZPdRQOV/PAp0HQP0x3wS35zMHhqQAaJE5zMbFbMrfTrTiwbgJ8mdEpHBP4H/94u
htsFzGZQ4PcozuJTIU/5DiSDZzoU4ZnyvsPKLzQt+lX8ycS5cu0=
=7rPB
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmTkGjIACgkQYKtH/8kJ
Uids6RAArxRDa/VN0xX8p4xeN9mABu2gcHCPsNnyPMN60GRcm+T3OxEufFULCh4Y
aA6YXyjcMtxuRRqPj6d1TRFv8UyK6vIlFA2Tdz6Dzts3CVcLVAZB/AS1dCY281MC
yPDR3PguibOvI2E1r1ZNJ5nYtLRuS6ydHx/+ganYJLTR1rsdiTgc8BmM9RBKQibm
7ziWTqTY3jrwmelZDIxwRaAE919gbYLT6EurEwH7ncmjHSocGkvvzaLXDOWFH2qI
5sVbOkCGzD+mCuJk5C9Y2HpUAvsW3KAksSfPdzJ7wdq6Ky/DDsmOVTMB2tp2UVwd
1zePefNw4fHX2dzlMHJvtHBv/+CIDnLa1shtSyTY5Nmycmj50v3k192m1IBjgV4D
pbGzbmu+woIikLZHNwU0Oz17nfZ4b4XH/RNqBIDNiIW93pH/zOwkSQaioXHShq5z
JLPSol54kdGUUOEZU/E+3rzxMZvYhs/PXaIJHH95Fy/tIRrva8WKFwQVjRSJnguL
CAF8GAo1840JqkVH9kSCPVYcG+eEwyFH7q8tXKkwyNI13asi6N6TqJom3OUUx7hk
i4AjzHuo47ijT4+H5krviEI8NFj9FfbrQp8RyQreGxxsRpiHA0l/Y8VK318XWvIa
mYlDv4mstsvZZkmVBu0RwhHd7t4ZYVpSUqxEX3f2KvaKHnZXEHg=
=m5rK
-----END PGP SIGNATURE-----
Merge tag 'arm-soc/for-6.6/drivers' of https://github.com/Broadcom/stblinux into soc/drivers
This pull request contains Broadcom SoCs drivers changes for 6.6, please
pull the following:
- Rob updates the Broadcom SoC drivers to use the correct DT includes
* tag 'arm-soc/for-6.6/drivers' of https://github.com/Broadcom/stblinux:
soc: bcm: Explicitly include correct DT includes
Link: https://lore.kernel.org/r/20230818164539.2871539-3-florian.fainelli@broadcom.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Driver changes for ti-sysc interconnect target module driver and for
l3 interconnect error handler. The ti-sysc driver changes just enable
using it for 64-bit systems like TI am62 that have wake-up capability
for the wkup domain devices. The l3 error handling improves the code
to show the error source if an unrecoverable timeout error occurs.
-----BEGIN PGP SIGNATURE-----
iQJFBAABCAAvFiEEkgNvrZJU/QSQYIcQG9Q+yVyrpXMFAmTcS0cRHHRvbnlAYXRv
bWlkZS5jb20ACgkQG9Q+yVyrpXOtdA/+KwjCGqOpG3FDvgrLuLtL3ELKAat/LO1O
eIWUvpLWX4b067AaYaEk6KRngTYGdj+KM99k88cydBY2JvFXXD3ivg5QVZoJ3aKm
jiQfuouVcy6ea4ymOOfW81N9ugpTafBcSdtZomEEPF8HSCRkPD2FnzmK60BKLN/j
7s6UMGrwwwL3+2xqitsLUDlcD5dJ2a2tSf2NXy2PFrtQbx3DqR65HYwEGvncyFxR
YvPKFKeT0yzt/wyZ7CGhuJPVqzAWeCWsjFnqcGscmjc7e4v6a14iR+vUo5qkaKo8
TvHWcFRsBlmvERcLGjSH5wnZnhqm46uc+9AVucpSVIOIDcljQX5D2/vuwZ2P7Zay
jnaeCfrrGpFOXi5JaeFRM99ihvv1VrvQKOamsz5/XZjNCEri/f9TM4M28AmkB3FB
vFZaJBbQfgYIahrE8pmXN2A6LB0QyubHkBDoYD6BKQRN/sz0t+WEEl7BS/qakO5K
lzj5m/sXDPdb6ORzo5S/hFoOyOBA+EuheXuMRI96XkRK2aF/3jPW5t7IRh1dc9pa
uv0NVeBc7Jf3vtRA60pO8ecc8YKZmO8hEK9cmhUyXDsgFfG7awXIEJyGc31NDWRz
er26bjGjR0ELbZRlpJMpD1mYdkwfWFhnxQ5jFDIzcCMv5P2p5iJdZpryFZfCbt8t
jscs2HgPX6Y=
=//Xy
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmTkDGcACgkQYKtH/8kJ
UifhxBAAzjHmDaL0JgVuAi0l9W9W8CYUnZre4S6qAu6349oEaRdpzChE6KWxCCvd
xDginfnU93vXuxvsvTRauW9E63jLQ8vh6XyTpHV+yhbJj8x+NlkK6smp0cGCqClE
cC0w/lg6HrJpkbxcK/PgSlAAFbyCmdsW5T/g+UC5Ip5Ts1pBn8xbdGBMAtzu7Clp
oxqxC6RDDObeUJ5/kUI9ryIG0cH8CtSnrvz0eDLckCt1mhO6Ofw1URxzyTUc79jc
rX69r9v1nPHU++5XuPXAPWc5nWXvwfKJAOXxyHIHO3kMUsEPum+Dd04vTRTD7SzS
j1oiNVqEWocd7DLh8CTNx73hwJyxfjDLv9U2avg5lts6TG5eloAyf/CzCxEC29jo
TSQn8W6yw4rueemzoNUypIKH5t1lkvpkbGZhIiEQf7iBCOx3b7pRJZAkWOniC/Xj
Uw/w1aICfxPPXAfsxGpMC8hIZLhu8aS+He+4tUghWD1HFfxshnSYOcKpw2Cqp8P2
aTgEVTLUzaEw086S/fSKM6+fsT9Fl5vMjH5KxMmRP9k7jhu96SuHX8UV0zKVvYom
U0IvQ2E8rtgoB2zQ3MeaNh0bmyA6PZL3QDpNg4ymWVkvITh6RXFpjXB8XIQh4unA
ivXP4YSJnPFOM4cXlSYykx5nysOKvHkgy3OjfBMSMcqdCMP2avI=
=QAxs
-----END PGP SIGNATURE-----
Merge tag 'omap-for-v6.6/ti-sysc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into soc/drivers
Driver changes for omaps for v6.6
Driver changes for ti-sysc interconnect target module driver and for
l3 interconnect error handler. The ti-sysc driver changes just enable
using it for 64-bit systems like TI am62 that have wake-up capability
for the wkup domain devices. The l3 error handling improves the code
to show the error source if an unrecoverable timeout error occurs.
* tag 'omap-for-v6.6/ti-sysc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
bus: ti-sysc: Fix cast to enum warning
bus: ti-sysc: Fix a build warning with W=1 for sysconfig
bus: ti-sysc: Configure uart quirks for k3 SoC
bus: ti-sysc: Build driver for TI K3 SoCs
bus: ti-sysc: Fix build warning for 64-bit build
bus: omap_l3_smx: identify timeout cause before rebooting
Link: https://lore.kernel.org/r/pull-1692158857-597450@atomide.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Compatible and clock handling in the Qualcomm SCM driver is cleaned up,
together with a couple stylistic cleanups and transition to mark
exported symbols GPL only.
An abstraction for the RPM subsystem is introduced, to make align the
structure of the SMD and GLINK nodes thereof with the structure when a
remoteproc is involved. This is done to facilitate associating
additional entities with the RPM subsystem.
The qmp_send() API is modified to not expose hardware requirements onto
the client drivers, and then further extended to allow command
formatting directly in the API, to facilitate this typical use case.
In the Qualcomm Command DB driver, NUL characters previously included in
identifiers are dropped from the debugfs, to facilitate scripting.
The thresholds of the BWMON driver are simplified to avoid hard coded
starting values.
The OCMEM driver is updated with some cleanups and fixes, and addition
of MSM8226 support.
PMIC_GLINK gains support for retimer switches, safe mode is selected
when the cable is disconnected from altmode and the same is enabled for
SM8550.
An off-by-one string length check is corrected in the QMI encoder
decoder library.
The RPMh tracepoints are extended to include the state of the request,
to provide needed context in the traced events.
The series from Ulf creating a genpd framework is integrated, to
facilitate the other changes to the cpr, rpmpd and rpmhpd driver.
SDX75 support is added to the rpmhpd driver, and the rpmpd driver is
extended with the same sync_state logic found in the rpmhpd driver.
The socinfo driver gains knowledge about SM4450 and SM7125, the IPQ5019
platform is dropped.
Clock handling in the GSBI driver is cleaned up with the use of
devm_clk_get_enabled().
The list of VMIDs defined for the SCM assign memory interface is
extended.
-----BEGIN PGP SIGNATURE-----
iQJJBAABCAAzFiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmTe2FIVHGFuZGVyc3Nv
bkBrZXJuZWwub3JnAAoJEAsfOT8Nma3FPaYP/0j7dGziE/KQaTccT/arpgiU6wH/
fzu7j76r/JY90Jw61vxWsTfuR94Irr8/NzzvLXMO1cKfzJXxsPKqYuuWBe/hFu3u
Bva/4XtHspitKQCvBYOhX2dxj3BtYzsrVNmh3sOeEKhXcUaVuCQXkpeE3fqNBwYB
li70t/dHVPPr2mDY30QhD9nn8XgWG8DlSzyuvIp+zI8kpNX04Cdqg2BEidB8GO4f
ZgcAtnCIssIojBhRwVO7ei8RnGu6i2+69Vwtrx8nNT85Wcyx7NLxjZfp7+5PrZnv
Xyu/JO4yYZooEVMAOtXJcxbZRs3FmGovg5RnR5w1CIz87Kmw5Wq0g9wZHMuLxC/G
u4SzwjCqwEhAVWSzsVmicLOs4y2Ndwju3ojX3kLPh02yw5xo6BpxXdZIptTvVIQn
DicTCaHU3QxxqkH7elLxNxyRYvmJbDbwKJ/hZjSRWSsJUhI4fvWoyrL6wNZ9+rTW
1zCkfEH3XikjMGHweeZc+VYu03XyohIYYn+jxpdwOjajF+3BsQSiqN1tKwj71ci/
Nk6sn+TRsq/jY6x33ULfbQCjeQ3BOGEngHTQ8N1i5D1vM2BUY/jrH6Dt1tIUdRjh
avR2KvZzzPs7Cp/094aQDX42GcQKeVOit6pF+NhE0c2uVqQCB5c6ynZwcvt0YNS9
Ty0mqIn99wgbHxVw
=SEyF
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmTkC1sACgkQYKtH/8kJ
UifjiBAAnIlToZQERPaKlX1zQTYVfrMiyNQ8fyUGLnAj0bNFWFzYgS6p5NXerxdT
/sk2tipNqJyym3h797r2aAjAXpyTnKYIwZqGjvWGBbhaViv6ovuDYkJUBk0ffybB
a0Ve4M1JnVZATiwqeoZwi6/1/M2JC3+20O+LRL4lWzZAm61NsU4ULAcX4sHeUYYA
02wMfzkME0Ye7sthv9GBtbm8Szr+GEuDvUTXx0DI74QrZuj6+wl3rjZ2uRrT97ZX
DuPtmhl2ZVjCigCsfxdj2J8eq8dpkROAzAeGa9d/NctkCV+dHhSEWZ0LraauLCJk
iXA2ZXOACHWF4tn8TC/eDx0Pv6CS+gRVjyYYLNkWreDSPfk7Vqaua3iNc7AfhIJV
hfJV1QhDmRt+pXi8pJQSSbTtjfzaURzD78N7JLMRZdZPozRwD/kl1+m/r5OMT4C+
NI4cLB544Zb34WEUgjZYNUjk18vkZmEQnvWwAGIzOQgHq5m/m6o2QQOnTgiTwaXh
Neh8k+KKt85IwkjFarwmKsLhajHezHIEqgHrGdfiIFr9+hAMPBIgUP3/eo6PFDNk
XP+IVMeucEtn7Og6d6rQmJ0kPvL32ucdXWdqOwLijoDablFwX1Giif77LjN5LRYj
IxReK7C8CwZKqLf2k0pv8dLE4g8On6OThveedXbLNuMx+EgcB2w=
=RpyB
-----END PGP SIGNATURE-----
Merge tag 'qcom-drivers-for-6.6' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/drivers
Qualcomm driver updates for v6.6
Compatible and clock handling in the Qualcomm SCM driver is cleaned up,
together with a couple stylistic cleanups and transition to mark
exported symbols GPL only.
An abstraction for the RPM subsystem is introduced, to make align the
structure of the SMD and GLINK nodes thereof with the structure when a
remoteproc is involved. This is done to facilitate associating
additional entities with the RPM subsystem.
The qmp_send() API is modified to not expose hardware requirements onto
the client drivers, and then further extended to allow command
formatting directly in the API, to facilitate this typical use case.
In the Qualcomm Command DB driver, NUL characters previously included in
identifiers are dropped from the debugfs, to facilitate scripting.
The thresholds of the BWMON driver are simplified to avoid hard coded
starting values.
The OCMEM driver is updated with some cleanups and fixes, and addition
of MSM8226 support.
PMIC_GLINK gains support for retimer switches, safe mode is selected
when the cable is disconnected from altmode and the same is enabled for
SM8550.
An off-by-one string length check is corrected in the QMI encoder
decoder library.
The RPMh tracepoints are extended to include the state of the request,
to provide needed context in the traced events.
The series from Ulf creating a genpd framework is integrated, to
facilitate the other changes to the cpr, rpmpd and rpmhpd driver.
SDX75 support is added to the rpmhpd driver, and the rpmpd driver is
extended with the same sync_state logic found in the rpmhpd driver.
The socinfo driver gains knowledge about SM4450 and SM7125, the IPQ5019
platform is dropped.
Clock handling in the GSBI driver is cleaned up with the use of
devm_clk_get_enabled().
The list of VMIDs defined for the SCM assign memory interface is
extended.
* tag 'qcom-drivers-for-6.6' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (52 commits)
soc: qcom: aoss: Tidy up qmp_send() callers
soc: qcom: aoss: Format string in qmp_send()
soc: qcom: aoss: Move length requirements from caller
dt-bindings: firmware: qcom: scm: Updating VMID list
dt-bindings: qcom: Update RPMHPD entries for some SoCs
soc: qcom: qmi_encdec: Restrict string length in decode
soc: qcom: smem: Fix incompatible types in comparison
soc: qcom: ocmem: add missing clk_disable_unprepare() in ocmem_dev_probe()
soc: qcom: socinfo: Add SoC ID for SM7125
dt-bindings: arm: qcom,ids: Add SoC ID for SM7125
dt-bindings: arm: qcom,ids: drop the IPQ5019 SoC ID
soc: qcom: socinfo: drop the IPQ5019 SoC ID
soc: qcom: socinfo: add SM4450 ID
dt-bindings: arm: qcom,ids: add SoC ID for SM4450
soc: qcom: pmic_glink: enable altmode for SM8550
soc: qcom: pmic_glink_altmode: add retimer-switch support
soc: qcom: pmic_glink_altmode: handle safe mode when disconnect
soc: qcom: rpmhpd: Add SDX75 power domains
dt-bindings: power: qcom,rpmpd: Add compatible for sdx75
genpd: Makefile: build imx
...
Link: https://lore.kernel.org/r/20230818023338.2484467-1-andersson@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
sdmmc and jtag for rk3588 (makes sdmmc unreliable).
This includes the shared genpd-v6.5-rc1-1 tag from Ulf Hansson, which moves
the powerdomain drivers into a new genpd subsystem.
-----BEGIN PGP SIGNATURE-----
iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAmTdQxUQHGhlaWtvQHNu
dGVjaC5kZQAKCRDzpnnJnNEdgaRgB/41U/lA1H0hIfXBKKBXFEDYkQMC1qEEtDnU
pi8L6Bp44Gb5JbrD4wrNMc9AUJokxC1zGEVmwpySXNOy3ma0DQRPPKNQMNo8gcae
R8bZPbpdvkBBY6HMeFI0/c0+B3qU0G/RBfaMMe0edPlaeLFz8j8TUotUJo4rGh20
RoA2Dir7/YWN1S0EIOwJVRzYnr9vG7rGJsceabyYH/liDFs7neEgCDi9LWwNIBbL
5ANWM7UytIOsZOrPOegLHLgsPyYvccHgKCgctCPt6k04/9ZBTwp6pFyBtUtd91GW
oAL7SgF5tbkDYysj3nwZGOzCUIUVlxMTs6szTge4WuzGVOhXOZrn
=5C7a
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmTkCj0ACgkQYKtH/8kJ
UifB/RAAsf5wuB1Jp+cbaVVTLgMUzMCOGJCJwjSk9FVfR4qJlnIdGwKUJUGaVkP1
SUvPAVd/abJ+sySLBbLzDb22zmOK2NQ8lfSr8I4wDPTrcfxtNO3OY2eWyx1Zcqv9
ojHQOW8ri9/YhUlyFJ3ZwWNiF42IwiB+DRgtLGDla/QeUV7YXaQK0zWsrapbNHEz
W3qlOn7h57EXnZe7MIPc/JsiivRMR3SmMLWOMKi0u+d6K3SDm/N+TD+Pko3SW0vO
SaRMmE6tfHrU1ClpQIZmNFORvWIZondEiskhCOb+hvQSBYGbWrA60J5obLZ8Rc1K
xtpMrTDe7JBlesi92leM3GN8T1a+Y12nlh+6nJDli8OFdVCBk1zzNbyS2Uhts90S
RPjh5UR7RtDNfsx2ROiddUV6DzDA8Wm507ioSAuqbEkex5x8eg6AkEhRQOB7L5WP
OGYh9acjPOweSzNbNoepcbtOmnGRwJSh5WFzo0dSqKeHB5ayuKMR2Wjm+5qOMa8A
ww1FBkZaSWYX0y2/kGjTIUfAJsOsa1tDEViUnOw/GafXrJY5tGghQCtqmzpps39A
BmjhHApylaroPR1hT5HdEumrQe6YD5ROS/+JltKWyV8Mv1dnbbid58RKG6zmuwNz
1N3Dhpe53N2ZuU500d+xA9WyqUb1q6gZI443PcJOFWc129Y+W7A=
=Nt2J
-----END PGP SIGNATURE-----
Merge tag 'v6.6-rockchip-drivers1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into soc/drivers
PD_VO powerdomain for rv1126 and disabling of the automatic switch between
sdmmc and jtag for rk3588 (makes sdmmc unreliable).
This includes the shared genpd-v6.5-rc1-1 tag from Ulf Hansson, which moves
the powerdomain drivers into a new genpd subsystem.
* tag 'v6.6-rockchip-drivers1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
soc: rockchip: grf: Fix SDMMC not working on RK3588 with bus-width > 1
genpd: rockchip: Add PD_VO entry for rv1126
Link: https://lore.kernel.org/r/40318909.XM6RcZxFsP@phil
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
The Loongson-2's power management controller was ACPI, supports ACPI
S2Idle (Suspend To Idle), ACPI S3 (Suspend To RAM), ACPI S4 (Suspend To
Disk), ACPI S5 (Soft Shutdown) and supports multiple wake-up methods
(USB, GMAC, PWRBTN, etc.). This driver was to add power management
controller support that base on dts for Loongson-2 series SoCs.
Co-developed-by: Liu Yun <liuyun@loongson.cn>
Signed-off-by: Liu Yun <liuyun@loongson.cn>
Co-developed-by: Liu Peibao <liupeibao@loongson.cn>
Signed-off-by: Liu Peibao <liupeibao@loongson.cn>
Cc: soc@kernel.org
Cc: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Yinbo Zhu <zhuyinbo@loongson.cn>
Link: https://lore.kernel.org/r/20230803063703.5659-3-zhuyinbo@loongson.cn
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Add the Loongson-2 SoC Power Management Controller binding with DT
schema format using json-schema.
Signed-off-by: Yinbo Zhu <zhuyinbo@loongson.cn>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20230803063703.5659-2-zhuyinbo@loongson.cn
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
RK3588 has the same issue as other earlier RK SoCs. JTAG
functionality muxed to some SDMMC data pins causes issues with SDMMC
interface. Without this patch, I can only use SDMMC inteface
with bus-width = <1>. (JTAG is muxed to data pins D2 and D3)
Signed-off-by: Ondrej Jirman <megi@xff.cz>
Link: https://lore.kernel.org/r/20230619011002.2249960-1-megi@xff.cz
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
1. Tegra:
- Extend support for Tegra234 SoC Memory Controllers with DRM and GPU
clients.
- Tegra186: Skip MRQ DVFS where it is not supported and do not fail
probe.
2. Wide cleanup of DT includes.
3. Devicetree bindings:
- Reference common peripheral (client) properties in Ingenic NEMC and
TI GPMC.
- Convert Davicom DM9000 to DT schema.
-----BEGIN PGP SIGNATURE-----
iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmTaFZAQHGtyemtAa2Vy
bmVsLm9yZwAKCRDBN2bmhouD18seEACbP3gOtRxG8hRnZ6mZvV+6bfEaQAKLuVN2
cuQ/cuyHYzCtCxoo3dJyobTJOR5LFXNlNb5ch5+QrzPXFj9YeJxuXKn+eYrLssDu
pkzMkAskDm1Xi181pylsmTh878u7G2jmvuq87l5yc+U3YxryIkhTejW/zl995JtP
pS28viuP6ywa0RyAquoc9mWQQQc++tR/Z958jBAkiECsb0Q7KOsXP0+XqHYxRCQ8
ea/tLzbs1sdDNE0PBRB9zZ9yS3DAVZkBmdWpNexNWFJAdkOLeUqTe2qMTOorPxkA
YzYyl9nTbNMcAh3Uj6J9eONNqiSZuBAqmSVG2S7G2HP1xMReElnLu5BNaWplr2me
xr39F0RPPtV6pSj30D80uyB+Gbuo3KFCXbs2rTPPlGWZeKBEVbaOrvcQnb9XSSGZ
W3DwwTKi/Fgus5cTRtHvYY78596734XZzd4QtA9b3fIF59qUZwoxreSPbpAVwyjX
P1Nhpc0T/65S63VIJYiiv1L+9efu9IhGON6eNmUAr416/otzkYNEtXG+kMY70k6e
9vuWdc9/J3eQqHuVtHYmX162aqIImIEJOYu+M5p8hIgaNBan8GkwIiyRsPIXH0h1
tFn4nicO0TU0B3G2TdKRJcZsNLcdzEZ0pzYQrYnrgsIPCIcOOj2y/qgKuy2m5oev
sfWxLOmm9g==
=2YX2
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmTaVh8ACgkQYKtH/8kJ
UicVMw//WLPFEadd/RKZfQQWJ2/I0LVwG/lasQd9ZXiHMKWuUvfmFsO/cdiwMWZf
S+5g0vR/zRtvaEmLM+ICLzIxwuHG9IdmiIB+K2aVF3s2vttycG6KS2Hak4ryaYXK
Yzo7W6GFGeK+Yn763tj/5GVWdHqzqLzs7vBoZbjoIZDX3sVouTmBENUh+Trmwv/j
Vm/7Jz5napGwqICFkcPFh2BKQ9BxlO7oL8nx/qKmjCWRnccgQJEjKLaIcYNQKUYN
gUHX8bUjRPu2/KJq/Z0unMi57vSra0hVA+G7izmGznSOllIEfa3p+AbBVQ4Zpj1P
d3Npvfub2iDTI/liHUEmjRRCGOS/mL9BrWs+YymlMmr40Hgqf0VjsJiABLkZuemB
RbIBMwuLJsEo5VLLMk+DSHV20tm800zSoF7aX1CER2pzNTGiJ+fIMqp6igbasE3k
bpHElXh3AnrqUsKnazJGsZI1zw6Sk/9JhCh+oECZo48Mfa7YXhj0kJF+R1NtQn0/
yPEElcaKLuo1fJgQi4aLdvUKu2fPmfOj9w7Ivbxt6FmsOfzzlhSasSoMSROFtApa
5LpS8DiNUyFVEqvMYrBqb9oI2bI02XBt8nqPl5tnu2JkZ5zjDmYp1oBiIMOJg6r1
22edeNdbnaaCDxxcQtgaB3reYxurmhRe/gPOlFupHdH9dt5a51I=
=19if
-----END PGP SIGNATURE-----
Merge tag 'memory-controller-drv-6.6' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl into soc/drivers
Memory controller drivers for v6.6
1. Tegra:
- Extend support for Tegra234 SoC Memory Controllers with DRM and GPU
clients.
- Tegra186: Skip MRQ DVFS where it is not supported and do not fail
probe.
2. Wide cleanup of DT includes.
3. Devicetree bindings:
- Reference common peripheral (client) properties in Ingenic NEMC and
TI GPMC.
- Convert Davicom DM9000 to DT schema.
* tag 'memory-controller-drv-6.6' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl:
memory: tegra: add MC client for Tegra234 GPU
dt-bindings: net: davicom,dm9000: convert to DT schema
dt-bindings: memory-controllers: reference TI GPMC peripheral properties
dt-bindings: memory-controllers: ingenic,nemc: reference peripheral properties
memory: Explicitly include correct DT includes
memory: tegra: Prefer octal over symbolic permissions
memory: tegra: add check if MRQ_EMC_DVFS_LATENCY is supported
memory: tegra: Add clients used by DRM in Tegra234
memory: tegra: sort tegra234_mc_clients table as per register offsets
memory: tegra: make icc_set_bw return zero if BWMGR not supported
memory: tegra: Add dummy implementation on Tegra194
Link: https://lore.kernel.org/r/20230814120052.27485-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
- A series from NXP i.MX developers (Peng Fan, etc.) to update imx-scu
and imx-scu-irq firmware drivers.
- Add dedicated lockdep class for nested genpd locks to fix a lockdep
warning in imx93-blk-ctrl driver.
- A change from Rob to explicitly include correct DT headers for i.MX
SoC drivers.
- Use devm_platform_ioremap_resource() in imx-weim bus driver.
-----BEGIN PGP SIGNATURE-----
iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmTYNCAUHHNoYXduZ3Vv
QGtlcm5lbC5vcmcACgkQUFdYWoewfM7x+wgAsB65MMhY74a8pjuO0q1nJierjc46
of2ayxR8I1jXQK/3IUijBZpg+8bnQkhXiVK1uyzvLmUc28iw1y6B2dWec/hXRld8
mc516IWjGa0Re+dOeliKPFNWzj6TZRi3TmqKIfg5XIb0poBtxBiXm7tvjm1oYRQl
ijkCqauOXJmK3yMMTQqxknGQG+B8wQDTPnbssk0A46ShD4RrYXmC3wjTEb27WoGk
nw18XT5XpS+LomctRcqza3Bcdry6YPmI0hOt9Oy9db2sBtXbz+bf9tLGKztvfxGz
44R0+Rz/XncJHwRXGgUNR71ps0+WP55qKsqoTw/zHhkS2BPl8gMxhBtQbQ==
=T2Uo
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmTaT8sACgkQYKtH/8kJ
UieFHQ//YrvUhNJjVtQeUcZ4s43MKKJsq7HNnki02ZRlIOdcG+vM7JzWe6PsRDbK
8jeV1tM3ZE67VBeIZU1+ELshebiU01VQY4ZobmGOPMajDFXZmu1Znzr8O6RASrmd
u+aFhpTGleg4SQQ2avdaQIQ4gpw19ciellxCTx37Y/hae06nANXzFFTlnPO4qseW
rzJzgh2h3Z1Gv/LdqtlfMAeI2aEQy/+hfKmZs4f20/Rs8wwH7lzrNLSUideY6cqt
RM1nX3F97b+glRJ4siqRoUISVSW6naWkb5qZ+VZXN4e7xrczuV/1Sp2dqINWXxKp
dR3WpOfb2V9sIGQOiAb8XSFBkxvDVG6ze6l2RkXA0szqpVBRMOTGshykMqt2I2tN
8Eeek9+XXZHZxNR6omFX4cvTjRW7hvhB0W35UdoZr1qteC8jV/H1DBYV3v8ri1d8
z17Y0JGBFrtQFBF/jq1yK0WND4RIb2aHYxrojDQ3/mtqsMailIuogwGpMQyhsCll
nX2NeKpaKe3MwEtKPOSTkUD5k8TLBfDOn/fcoLRQ6Ys6fsBAcplJ+6Sp3Hv/mgWQ
W9eWaeBAh0BllI66twAxeTKdy/1IsGpsLyNVDJliAExW3Z1ISPUMw6pI4M+H/QZY
W+joqcvJYAAiOfIvRqQWvyt40I/2JYx6otsJKN4JB9Qlh3QRvxg=
=2iHc
-----END PGP SIGNATURE-----
Merge tag 'imx-drivers-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into soc/drivers
i.MX drivers update for 6.6:
- A series from NXP i.MX developers (Peng Fan, etc.) to update imx-scu
and imx-scu-irq firmware drivers.
- Add dedicated lockdep class for nested genpd locks to fix a lockdep
warning in imx93-blk-ctrl driver.
- A change from Rob to explicitly include correct DT headers for i.MX
SoC drivers.
- Use devm_platform_ioremap_resource() in imx-weim bus driver.
* tag 'imx-drivers-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
firmware: imx: scu-irq: support identifying SCU wakeup source from sysfs
firmware: imx: scu-irq: enlarge the IMX_SC_IRQ_NUM_GROUP
firmware: imx: scu-irq: add imx_scu_irq_get_status
firmware: imx: scu-irq: fix RCU complaint after M4 partition reset
firmware: imx: scu: use EOPNOTSUPP
firmware: imx: scu: use soc name for soc_id
firmware: imx: scu: increase RPC timeout
firmware: imx: scu: change init level to subsys_initcall_sync
soc: imx: Explicitly include correct DT includes
bus: imx-weim: use devm_platform_ioremap_resource
soc: imx: imx93-blk-ctrl: Add dedicated lockdep class for nested genpd locks
Link: https://lore.kernel.org/r/20230813133354.847010-1-shawnguo@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
When the mailbox subsystem is disabled, the driver fails to link, so add
an explicit dependency. Some other drivers use 'select' here, but the
dependency seems more logical and more common.
Fixes: 886bdf9c88 ("soc: hisilicon: Support HCCS driver on Kunpeng SoC")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Due to lack of maintenance and stall of development for a few years now,
and since no new features will ever be added upstream, remove MAINTAINERS
entry for OXNAS files.
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Daniel Golle <daniel@makrotopia.org>
Acked-by: Andy Shevchenko <andy@kernel.org>
Link: https://lore.kernel.org/r/20230814-topic-oxnas-upstream-remove-v3-3-e2ba579a49d3@linaro.org
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Due to lack of maintenance and stall of development for a few years now,
and since no new features will ever be added upstream, mark the
OX810 and OX820 IRQ compatible as deprecated.
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Daniel Golle <daniel@makrotopia.org>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20230814-topic-oxnas-upstream-remove-v3-2-e2ba579a49d3@linaro.org
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Due to lack of maintenance and stall of development for a few years now,
and since no new features will ever be added upstream, remove support
for OX810 and OX820 IRQ controller.
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Daniel Golle <daniel@makrotopia.org>
Acked-by: Marc Zyngier <maz@kernel.org>
Acked-by: Andy Shevchenko <andy@kernel.org>
Link: https://lore.kernel.org/r/20230814-topic-oxnas-upstream-remove-v3-1-e2ba579a49d3@linaro.org
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
With qmp_send() handling variable length messages and string formatting
he callers of qmp_send() can be cleaned up to not care about these
things.
Drop the QMP_MSG_LEN sized buffers and use the message formatting, as
appropriate.
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
Link: https://lore.kernel.org/r/20230811205839.727373-5-quic_bjorande@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
The majority of callers to qmp_send() composes the message dynamically
using some form of sprintf(), resulting in unnecessary complication and
stack usage.
By changing the interface of qmp_send() to take a format string and
arguments, the duplicated composition of the commands can be moved to a
single location.
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
Link: https://lore.kernel.org/r/20230811205839.727373-4-quic_bjorande@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
The existing implementation of qmp_send() requires the caller to provide
a buffer which is of word-aligned. The underlying reason for this is
that message ram only supports word accesses, but pushing this
requirement onto the clients results in the same boiler plate code
sprinkled in every call site.
By using a temporary buffer in qmp_send() we can hide the underlying
hardware limitations from the clients and allow them to pass their
NUL-terminates C string directly.
Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20230811205839.727373-2-quic_bjorande@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Printing a size_t using the %lu format string causes a warning on
architectures that define the type as 'unsigned int':
In file included from include/linux/device.h:15,
from include/linux/acpi.h:14,
from drivers/soc/hisilicon/kunpeng_hccs.c:25:
drivers/soc/hisilicon/kunpeng_hccs.c: In function 'hccs_get_bd_info':
drivers/soc/hisilicon/kunpeng_hccs.c:441:25: error: format '%lu' expects argument of type 'long unsigned int', but argument 3 has type 'size_t' {aka 'unsigned int'} [-Werror=format=]
Use the correct %zu format instead.
Fixes: 886bdf9c88 ("soc: hisilicon: Support HCCS driver on Kunpeng SoC")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Clean up DT includes and remove unneeded platform_set_drvdata() calls
across reset drivers, add support for the Versal NET platform to the
zynqmp driver, and let the hisilicon driver use dev_err_probe().
-----BEGIN PGP SIGNATURE-----
iI0EABYIADUWIQRRO6F6WdpH1R0vGibVhaclGDdiwAUCZNJX4RcccC56YWJlbEBw
ZW5ndXRyb25peC5kZQAKCRDVhaclGDdiwHzTAQCA8iBvxFJ0eZbTpXUlEyJCqFJR
Or6nNEwk5ogG3c51pQEAw+l3N0v5+65K7DCXWPOVtMtg/e3GIagP3POXiWNHHgw=
=RuSy
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmTXWisACgkQYKtH/8kJ
Uifa1BAAldB2vOw2huUGT2Utd95Ta3Os05y4TujIBuK/VSsAK6hWqhcoEFjzpvzs
k7viGxD1tqAt8s+3q4gRDb74cQxSZhH489xAbvbEWCJ5BAHBjtwnG8Ox2EzXYrib
xNwHEFg3WCe6N+NOKcqBBNKeZDjBDoy0qq5dJ3tS79k+39QH8hT6VXrGSyDGh2pY
P7g68k8FQ7BsFOK9ga9Ksjtommd5ylClBrFLnWtKlLhE7jeg1XoQtZsemLm5xREh
M17zyYjzu3XvhhRgyA12aDp9Ca9L5np5PJ26FwafazKi5Fhr5QQYdnQYxzgZlbja
W5VfaF180y4UKfflpN54cyNT7bMdU31Gg7M4b4un+xgaDt2izFL4PHuDWcA+fXz2
J5RUjE0Ty4XjhDciLNtdJGEs1+F9kkyDH7uGafWlenJsKwxM8tIKx9de9TTw/A//
RyT8tKsF7UWkakqlFfUl/FrxBBGl8NziUnSHkVV0jZFa8T018Zw2gcJFmAWzMnc0
iEzUT21dq/c/ndmINXou3A7WprnJ870iIU2rbF4/+EGIas9S7SV0aHQMCiW9fbRG
ql+TOpkazT48k/9f/mZD5niahei7j0eUsXv4NU+VUugrsRwqdG2e5xHVY/1TSPDg
b1zjOjWeGT2VubIuw5EdjI4tv5qPMI4Tc6qkiENxXfs6LMrCOvA=
=H1wH
-----END PGP SIGNATURE-----
Merge tag 'reset-for-v6.6' of git://git.pengutronix.de/pza/linux into soc/drivers
Reset controller updates for v6.6
Clean up DT includes and remove unneeded platform_set_drvdata() calls
across reset drivers, add support for the Versal NET platform to the
zynqmp driver, and let the hisilicon driver use dev_err_probe().
* tag 'reset-for-v6.6' of git://git.pengutronix.de/pza/linux:
reset: ti: syscon: remove unneeded call to platform_set_drvdata()
reset: zynqmp: removed unneeded call to platform_set_drvdata()
reset: zynq: remove unneeded call to platfrom_set_drvdata()
reset: uniphier-glue: remove unneeded call to platform_set_drvdata()
reset: npcm: remove unneeded call to platform_set_drvdata()
reset: meson: remove unneeded call to platform_set_drvdata()
reset: lpc18xx: remove unneeded call to platform_set_drvdata()
reset: lantiq: remove unneeded call to platform_set_drvdata()
reset: bcm6345: remove unneeded call to platform_set_drvdata()
reset: ath79: remove unneeded call to platform_set_drvdata()
reset: hisilicon: Use dev_err_probe instead of dev_err
reset: reset-zynqmp: add support for Versal NET platform
dt-bindings: reset: Updated binding for Versal-NET reset driver
reset: Explicitly include correct DT includes
Link: https://lore.kernel.org/r/20230808145950.3057250-1-p.zabel@pengutronix.de
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
- Add C3 Power Domains
- Explicitly include correct DT includes in Amlogic SoC drivers
- fix to avoid potential NULL pointer dereference in meson_sm
- Merge of genpd-v6.5-rc1-1 to move genpd amlogic drivers
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEPVPGJshWBf4d9CyLd9zb2sjISdEFAmTM+6IACgkQd9zb2sjI
SdHRHg//YW+Xj0fK9braP1COux5mKmqltYokFL3wWz7nBKYNsQwzUtY9VS187/hM
FST60rV+X175yOibNgspN76oK6dDQGkiNtNFZlD6N5HeN/UyiziCucN8GR8reVDK
NDyv8gkO5aiXHAi9TUGuyMhFE38O8GGln7p05czDpKA4teRAUfWnafixupo/e8/r
grLVSyNnmWECB5jF077LzgHuHBhXbHeFVQVLUaq5NClucSsqbaq4o21tYLkGAo67
eqQ7Mnlu0/080V2oBeuaWPJMWgLoAEmmarUFI02l7jc5ar717gu4Dqv9wu9F89rc
jTKv+YtMiTq7vYyUQtaWZlqGDq/sEU19hWmqS7CqLC4eEOEkiWY2Sn5FH8SnkN8F
NuuB12LJ8tFvczL07Q6Hv1fHe4UfyXe77GlKDgtn/GFqYCUmZop6wUhap0l+S/2S
lbDpiDRo+kq02vsGrEUE9vimiL3FBCjr6r45tutnG0icTF0kE73WRuhYB3mkiJ0R
Hz+4TrcjciTVLaBBKgJsGqomUb6qb7XEsUw11WehYW1IJAoEKCLhTK7S6ij88gaD
UHphUkPFxGDIbjE79PrGw91pG3NStwXDBntH9vu8RwTEKLgBATdCK893rzH0hRJY
RreFHYHWEicaBj3kpxXtXhXy0RSgN5b4VBB3/gfqqqUxTW4aIn4=
=eBDR
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmTXWaIACgkQYKtH/8kJ
Uic6aw//S4F9FArxHq8iGNFgfEpvXITdniqIxSsGBFXuKA/Vkl2QlffjmEbmkRvv
t/AIJTNAy/PGr8FhYoW00O+9MiDbCVcMZDdl5aT252kGYCm2DfqF5C2/28ZorBtk
LAJs9UyyHIlDZvCZL7aRDvoLojKVGuId33uRKzUI9DTRA6SIRGiHvhqLJYRf9AGo
6dR6lqcwCD4FiJNJ07loAsUbMY5p3lnDV/hwS5uu3q4Z1kMpfwcgP61GszlSU0Z8
20yOUnDjZhOdz5Oprm6jAn0gNY0up5Ndd3wHSlScu9fUrN/BHY+Lbp4qa2hSFOMa
tyGJPHE2EJG+zFdQpoWTDFuUwqbXyAQ4qyQyZwYqUbz1dW4oCwbtwINVtdQfVrQP
IGuiRx9ZweahUYp6CdiG7EyH2FUir08hjUQuNwFOQZV2RVya73cF+AGrqyvA/zbn
mUrMk8XD8rb+4WBbKFwMsRGFQ3CosDt5fsKdHGXljBBAMbSHP3PIsQKu+ejHQmVJ
txMDN/s30iOJ7lU3W9LpqYhhxjh72OLL4iG+hI2faz+mp0qsKhV/k9iOrpvWY4it
InNvKXiV/mxIDe0/qudde9vXBV8R5WEt1yyF7aTZDdnm1QzRncXy6kBBA1GSy12S
gdDN/YwiFDsVOZIgXYp/qW7dKmhpt9KIoGLWSLyK/hbfZ+WBbLk=
=jJE/
-----END PGP SIGNATURE-----
Merge tag 'amlogic-drivers-for-v6.6' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux into soc/drivers
Amlogic drivers changes for v6.6:
- Add C3 Power Domains
- Explicitly include correct DT includes in Amlogic SoC drivers
- fix to avoid potential NULL pointer dereference in meson_sm
- Merge of genpd-v6.5-rc1-1 to move genpd amlogic drivers
* tag 'amlogic-drivers-for-v6.6' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux:
firmware: meson_sm: fix to avoid potential NULL pointer dereference
soc: amlogic: Explicitly include correct DT includes
soc: c3: Add support for power domains controller
dt-bindings: power: add Amlogic C3 power domains
soc: amlogic: use name instead of index as criterion
Link: https://lore.kernel.org/r/77e328b5-0d47-36e8-f62d-c745df06fb87@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
The main addition this time is the support for SCMI v3.2 perf level
indexing mode. SCMI v3.2 adds support for hardware which works on
performance indices, instead of levels. Certain platforms use indices
to identify performance levels. Level Indexing Mode is used to describe
such platform behavior. All commands which utilize performance level
as a parameter need to specify the corresponding level index instead of
the performance level when Level Indexing Mode is used.
While at it, these changes also include hardening of all the internal
accesses to the performance domain information.
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEEunHlEgbzHrJD3ZPhAEG6vDF+4pgFAmTM6soACgkQAEG6vDF+
4piIAQ//aPJ50AqQAoGAcPsYxfiwGVk6iEoC//2/sxoZ8BqH5+x3ksLzMGzGn4uf
aCH5ZDWf99iikWIijbHCFMoupzoTiDw5HjHx3Ud+MxpUW3pi/p1jTNQqhGqnmxts
BS18uPxzVpLTZEZoFQeEkgyzAZ9nBDchqpT4JOW/PGIc1flICqdzBru38eMXFdHa
rQ4Dx1pS3LR4wzp8+0ZpEncDBlu6ms+9SQu2YOtrhvxWNPkoXEY7C7qGHjUkPzy6
5ppU3/i87gYwIp13WzfPTqpYZpSVhpDO8/tc7Nhq5agbflRin5aBOxBhfVpDI7dE
G3zZMPKwrbnyeipwSh77D1tWkz/pRRjT1vf4xusV89a+DjCglPTHgc3jsnTzGUsS
OfZctep3mRn+YAUcbmJ7XblsvF5A1FnjoZfOk+cfhN/r6SuSNjWuVpDOdAVZC3Xq
UePa0SapLPRsh1cDck+AUbiy1OR6+/8Jh2qpW1VjmpBNDF18LFkCVjnnf0J9oXul
xlN34cmMe6c2PSSqdr9tp8wtMPbjQCQQ1JgHQUtAmbhYJLaTjDiazhf/bw2YRngv
vLSOiWSP+A0cLyGrVdM3LLy4tX4loV6jay/tvT/9wnRkssJcM3EqQhyMmQbYUvJr
u2cZqV+8fzwLoaSGa6L79XkjRelFG67YtfX+7u0Y7IIH8qvSeqc=
=91AL
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIyBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmTXWUUACgkQYKtH/8kJ
UieRQA/41XgUXBHmFnZXOa3pyOOpNoGP+opgwE4enSYavrnNa0F3kJKJp3fkXVuy
4z8qmEUkX6FcpmJF8mEJxLaF7TebDYznLdDWlPd0RJ+ge1ujbu2xIAI8ZKhUzyL6
evMYKP3np6J1KPwy8UbvqHezA8cQJObegV+GoMcR9xkcg5jW/VOB+4tFKF+CvxPU
kmdMcaAfbBFNcqNI+3ZTc1F2kODzpCAIT9+HY6HYcEAgjWfFQsOuQsk84di3vHTJ
47nBaesUOP/0OoSBFiUwLGmSfDfYnIy72Qocczmh0iXSazbaj5+Np+khQaAviKt1
LqhzVKIN6rpUT3rDTFVi5jTg5keS+7u2zDQVTNkGPwQsnJkZ/Fe5Olmvz7b0Co0d
9f9dI0rGReiZxO1OPt/BOvAXzCBV0A6vQ5P/0L+ook3U1uPpPcTFAc/kJ/PNSlpg
0WJPqYvvYUOHB+my3hmL7o0P2qTNuXZbVGN4EWMx8Y/s+xrYL3Qz9Xa3mcX0pkul
vp/vy7EpHtumc8LxeAjazqRnApk64sjJlxR2sCPGmD+R5UdnTCPaAhiyVbPMAzLM
NPG+AkcFZ9NCVtvXmkH4SdGK3Mjw96JeNF2eaSAsjNFLLa/coc/8pTBtal0idJwV
sPP8XGUC2pAdklMw45egVKgy0oiSASjpnW0qP3ZAEVT56UbBew==
=eQuM
-----END PGP SIGNATURE-----
Merge tag 'scmi-updates-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into soc/drivers
Arm SCMI updates for v6.6
The main addition this time is the support for SCMI v3.2 perf level
indexing mode. SCMI v3.2 adds support for hardware which works on
performance indices, instead of levels. Certain platforms use indices
to identify performance levels. Level Indexing Mode is used to describe
such platform behavior. All commands which utilize performance level
as a parameter need to specify the corresponding level index instead of
the performance level when Level Indexing Mode is used.
While at it, these changes also include hardening of all the internal
accesses to the performance domain information.
* tag 'scmi-updates-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux:
firmware: arm_scmi: Add v3.2 perf level indexing mode support
firmware: arm_scmi: Harden perf domain info access
Link: https://lore.kernel.org/r/20230804123231.3258141-1-sudeep.holla@arm.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Couple of minor updates: Code simplification in the vexpress config bus
driver with the use of devm_platform_ioremap_resource() and simplification
of Arm Vexpress platform and related drivers entries in MAINTAINERS file.
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEEunHlEgbzHrJD3ZPhAEG6vDF+4pgFAmTM1OQACgkQAEG6vDF+
4pg8IBAAzLxEVqsNc+uR12rQSIHU19pO3bsWgPpSgZ0lph6ilnNkCra1LPotjWSP
RNfW/AFJ8z8KRXeZzAq06lNoiGcZ/iusiScRNfIumjnNgcKM3bOV+TdBI6XT7BXA
HWlL3cKkX2RVQ4TXB6DgSnhdfogPq1GkUI9mdU3wwWo6bvq8+zVeLYbhJzXeW7UR
IByhE/53io8o22IodtkDGVc56nDVioFJxvdE8BW0pSiD6Qxcj02maBRHioGMWstM
bs63kIcf4hmzNLGO1TuO0zCUZsXKc2dbyKZ2czrB0hhgSGx1Nh+Y4OBjrrfDZkcp
Jb/ICpVzdFhhz0rmxj1sgoD3VTvb+iNZ2dA7tsZFtPXZc6fHyW9bJycfLQKDTN7C
dd5zCJPco+qKvGEaSuxg/mFMc7ZyvWVAaPo75RSr3UafSscdV7re+4x6CQZAWwwo
L2C3MMkGJ62LjXfc58Hs9TxS4cBTw8JM8DHlGzjxMMxDwVVpkcD/Oq42Bp6+QHp8
xF68qCmO0WXPKYqWW7vlT81P74QOtSwlqfhuX14Z8RR4uN+FBFKyNqWFq7aRMsgj
Rq5XJTDUUcf5q1w4g43WEYE3XH4FlzriuxMOz8uvnkjw9DnVukZa9ZVUeQ+oYPho
H7nGJmimBJ0gildthj3c7vxZy+VmotgmNn9FfPyIW7X01oTyiKY=
=gL1v
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmTXWQIACgkQYKtH/8kJ
Uiek4hAAxlBLJCXNkT2/q12wQ5RvebldfYrigD6JSX+jU6mgtCfBqh7jxwyyQFaH
vyCCtAG/G4Q0tuCZdevy2qVtWrAu337g5LhX2PdI7sQnXa0NqhjYd4V4/ft2+YLe
UFuZI9sW9hJ04LKSIcTlyLdOqWd8Y6aGMpZPCcbBkpC1AjPkN5eizuAQHVBo/FN9
CQ0iC75Mm/WIirT54IJzni1M8rRrQV5zJpRVtjQMPA7phQYShEMQdKcALdb3wXMd
RJspQWRUpJgr+Bh30sEZZF1MXme++WE2b7mkDSuQYVoXXP1padKAxEwwbA33CXYk
bFbvcGauqX6nycccqEsBtmP9w4LNq6D9k+wxQyRvfpwz35Tb/NHL+jkrN2xp1vWn
xetXI+T2yPagWZ40q+9g705x6y9GGOHfvANlkEL4sJZiWDVE/5aIF6sCps03LgvC
kNfwRUzNxxRaNo7qpjpPNmIu/nn+pMowOjbkXRb4NnqqmZTGooSzpDjuDHZXDuji
HphJWA3Tw5BrABqf3jPT0v9mfsukVkKhPtHmspoK24FssDkG+vJaUzr3/F131Cfo
DblMbTjySV1TsskUBfMnJdyx3FMoIOewZn5ktTiPvp8c5oixv8tcwSLIxIm76VYT
/1jM/m06Rxd4BHqQHnXYYedtlP2SetPXWVSTQSM2DPeqdBblDrc=
=B1eB
-----END PGP SIGNATURE-----
Merge tag 'vexpress-updates-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into soc/drivers
Arm Vexpress updates for v6.6
Couple of minor updates: Code simplification in the vexpress config bus
driver with the use of devm_platform_ioremap_resource() and simplification
of Arm Vexpress platform and related drivers entries in MAINTAINERS file.
* tag 'vexpress-updates-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux:
MAINTAINERS: Simplify entries for Arm Vexpress platform and related drivers
bus: vexpress-config: Convert to devm_platform_ioremap_resource()
Link: https://lore.kernel.org/r/20230804123214.3258032-1-sudeep.holla@arm.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
- Cleanup remove callback in event driver
- Explicitly include correct DT header in power driver
- Fix logic around irq = 0 in power driver
-----BEGIN PGP SIGNATURE-----
iF0EABECAB0WIQQbPNTMvXmYlBPRwx7KSWXLKUoMIQUCZMzgwgAKCRDKSWXLKUoM
IRRjAJ4kS4jzkdR/UN4xha2v9fhLQIEtOwCgheqMzg553ap53DXFOsHobL7WGvY=
=rkA5
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmTXWM0ACgkQYKtH/8kJ
UidLUA//WVgeFb05d9UogRyouiKpHpsaCdcMN5PMfWgdgmbkfnDoYxeywpoT6J2j
U7wSpcBa4Uf7y3S/6VEShsSYDHJSQSAzIDLbK2Mb+7Sf+DCYm+2HXc9bUQaItt7b
+6iNOLVPOifAM+U2p8kmJTcPB/suTuA7P2w6KrA9R/Lk359/w9XI142zPhGCE3aj
jBmK2om68lwGK61G2x7fHsHPDTyDFhIHAuM7QpPInOMhPl9e71k63hwa3bDy79V5
emTb4aMLIueU7MqSUwjiwYHAH9k/eYltOlYUyo1x1HP3hnGi58v/wkLNaP4Guwnb
RvYvCuUD1ZkMfP8fxqFPEsXcshEQSK/D+9yMoD02VGnrZjeRl+jc4B4COQ2a4BFC
1ZzeAL13SX8f19Z/HoiHwRzCpoPNnpHf3npEPelqX/j2duGX/dA+XbmOsGVVwSC2
Fw2Jj9NId0qqd5wQosnB3neLhLMyQqAKx7sA4iD/maKC2fluvvDCz+nBYxQcdDZP
4QXjEfU+5n3in8S4uUBjZV2rxK/3YfOhQWB0Mrrr+IF1Wp/HTWdfVyX5w8wZ7ezz
EBzTBrSxB84aQRFNHCbSAL+GopJhAa6Zp1krT0XCvxS0EfzIAeY8x890EzmEuQMo
DxUoxTcY4kTO9Jkd5WWvgfmUYXmwLUHuoCD4yzvP8CfXjMXKrpM=
=yxvn
-----END PGP SIGNATURE-----
Merge tag 'zynqmp-soc-for-6.6' of https://github.com/Xilinx/linux-xlnx into soc/drivers
arm64: ZynqMP SoC changes for 6.6
- Cleanup remove callback in event driver
- Explicitly include correct DT header in power driver
- Fix logic around irq = 0 in power driver
* tag 'zynqmp-soc-for-6.6' of https://github.com/Xilinx/linux-xlnx:
soc: xilinx: Do not check for 0 return after calling platform_get_irq()
soc: xilinx: Explicitly include correct DT includes
driver: soc: xilinx: Convert to platform remove callback returning void
Link: https://lore.kernel.org/r/399efa45-df0a-4ec7-e25c-774bb8bf6fb4@monstr.eu
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This adds JTAG ID info for the AM62PX so as to enable SoC detection in
kernel.
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Reviewed-by: Praneeth Bajjuri <praneeth@ti.com>
Link: https://lore.kernel.org/r/20230811170127.250733-1-vigneshr@ti.com
Signed-off-by: Nishanth Menon <nm@ti.com>
Adding the full list of VMID's, which are used by different clients to
pass to the secure world.
Signed-off-by: Gokul krishna Krishnakumar <quic_gokukris@quicinc.com>
Acked-by: Rob Herring <robh@kernel.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20230403204455.6758-1-quic_gokukris@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Record SCU wakeup interrupt in /sys/power/pm_wakeup_irq
The user can further identify the exact wakeup source by using the
following interface:
cat /sys/firmware/scu_wakeup_source/wakeup_src
The above will print the wake groups and the irqs that could have
contributed to waking up the kernel. For example if ON/OFF button was the
wakeup source:
cat /sys/firmware/scu_wakeup_source/wakeup_src
Wakeup source group = 3, irq = 0x1
The user can refer to the SCFW API documentation to identify all the
wake groups and irqs.
Signed-off-by: Ranjani Vaidyanathan <ranjani.vaidyanathan@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
Extract the scu irq get status code from imx_scu_irq_work_handler and
make into a new function imx_scu_irq_get_status which could be used
by others, such as SECO.
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
Use blocking_notifier_chain instead of atomic_notifier_chain, otherwise
there will be RCU complaint, because unregister/register_virtio_device()
will issue mbox message.
mbox_send_message() is blocking again after received M4 partition reset.
Actually, no need atomic notifier for scu irq notification since this
notifier is called in worker instead of interrupt handler.
[ 389.706645] i2c-rpmsg virtio0.rpmsg-i2c-channel.-1.2: i2c rpmsg driver is removed
[ 389.767362] Wait for remote ready timeout, use first_notify.
[ 389.774084] ------------[ cut here ]------------
[ 389.778729] WARNING: CPU: 0 PID: 397 at kernel/rcu/tree_plugin.h:293 rcu_note_context_switch+0x34/0x338
[ 389.788131] Modules linked in:
[ 389.791195] CPU: 0 PID: 397 Comm: kworker/0:13 Not tainted 5.4.0-rc5-02977-g08f78722f07b #26
[ 389.799633] Hardware name: Freescale i.MX8DXL MEK (DT)
[ 389.805481] Workqueue: events imx_scu_irq_work_handler
Signed-off-by: Robin Gong <yibin.gong@nxp.com>
Reviewed-by: Dong Aisheng <aisheng.dong@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
Per checkpatch.pl, "ENOTSUPP is not a SUSV4 error code, prefer EOPNOTSUPP"
So use EOPNOTSUPP to replace ENOTSUPP.
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
Same as soc-imx8m and soc-imx driver, use soc name for soc_id which is
user friendly.
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
When system loading is high, we can meet some command timeout
issue occasionally, so increase the timeout to a safe value.
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
Change firmware init level to subsys_initcall_sync to ensure it's
probed before most devices to avoid unnecessary defer probe.
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
Dhruva reported a build warning with W=1 for "Function parameter or member
'sysconfig' not described in 'sysc'". Let's document sysconfig to fix this.
Reported-by: Dhruva Gole <d-gole@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Enable the uart quirks similar to the earlier SoCs. Let's assume we are
likely going to need a k3 specific quirk mask separate from the earlier
SoCs, so let's not start changing the revision register mask at this point.
Note that SYSC_QUIRK_LEGACY_IDLE will be needed until we can remove the
need for pm_runtime_irq_safe() from 8250_omap driver.
Reviewed-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Allow building ti-sysc also for K3 SoCs. This allows configuring the wkup
domain devices for SYSCONFIG register wake-up events in a generic way.
As this is an interconnect level driver, default to built-in on K3 SoCs
to probe the devices connected to the wkup domain like gpio, uart and
timers.
Reviewed-by: Dhruva Gole <d-gole@ti.com>
Reviewed-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Fix "warning: cast from pointer to integer of different size" on 64-bit
builds.
Note that this is a cosmetic fix at this point as the driver is not yet
used for 64-bit systems.
Fixes: feaa8baee8 ("bus: ti-sysc: Implement SoC revision handling")
Reviewed-by: Dhruva Gole <d-gole@ti.com>
Reviewed-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
platform_get_resource_byname() and devm_ioremap_resource() can be
replaced by devm_platform_ioremap_resource_byname(), which can
simplify the code logic a bit, No functional change here.
Signed-off-by: Zhang Zekun <zhangzekun11@huawei.com>
Reviewed-by: Dhruva Gole <d-gole@ti.com>
Link: https://lore.kernel.org/r/20230809081523.26196-1-zhangzekun11@huawei.com
Signed-off-by: Nishanth Menon <nm@ti.com>
Identify and print the error source before rebooting the board due to an l3
timeout error. This is helpful when debugging, e.g. via serial.
Signed-off-by: Sicelo A. Mhlongo <absicsz@gmail.com>
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Message-ID: <20230801192240.1063764-1-absicsz@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
This function call was found to be unnecessary as there is no equivalent
platform_get_drvdata() call to access the private data of the driver. Also,
the private data is defined in this driver, so there is no risk of it being
accessed outside of this driver file.
Signed-off-by: Andrei Coardos <aboutphysycs@gmail.com>
Acked-by: Andrew Davis <afd@ti.com>
Reviewed-by: Alexandru Ardelean <alex@shruggie.ro>
Link: https://lore.kernel.org/r/20230807111534.12392-1-aboutphysycs@gmail.com
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
This function call was found to be unnecessary as there is no equivalent
platform_get_drvdata() call to access the private data of the driver. Also,
the private data is defined in this driver, so there is no risk of it being
accessed outside of this driver file.
Signed-off-by: Andrei Coardos <aboutphysycs@gmail.com>
Reviewed-by: Alexandru Ardelean <alex@shruggie.ro>
Link: https://lore.kernel.org/r/20230807114344.15076-1-aboutphysycs@gmail.com
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>