Commit Graph

2778 Commits

Author SHA1 Message Date
Linus Torvalds
c1c76700a0 SPDX changes for 6.0-rc1
Here is the set of SPDX comment updates for 6.0-rc1.
 
 Nothing huge here, just a number of updated SPDX license tags and
 cleanups based on the review of a number of common patterns in GPLv2
 boilerplate text.  Also included in here are a few other minor updates,
 2 USB files, and one Documentation file update to get the SPDX lines
 correct.
 
 All of these have been in the linux-next tree for a very long time.
 
 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 -----BEGIN PGP SIGNATURE-----
 
 iG0EABECAC0WIQT0tgzFv3jCIUoxPcsxR9QN2y37KQUCYupz3g8cZ3JlZ0Brcm9h
 aC5jb20ACgkQMUfUDdst+ynPUgCgslaf2ssCgW5IeuXbhla+ZBRAzisAnjVgOvLN
 4AKdqbiBNlFbCroQwmeQ
 =v1sg
 -----END PGP SIGNATURE-----

Merge tag 'spdx-6.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/spdx

Pull SPDX updates from Greg KH:
 "Here is the set of SPDX comment updates for 6.0-rc1.

  Nothing huge here, just a number of updated SPDX license tags and
  cleanups based on the review of a number of common patterns in GPLv2
  boilerplate text.

  Also included in here are a few other minor updates, two USB files,
  and one Documentation file update to get the SPDX lines correct.

  All of these have been in the linux-next tree for a very long time"

* tag 'spdx-6.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/spdx: (28 commits)
  Documentation: samsung-s3c24xx: Add blank line after SPDX directive
  x86/crypto: Remove stray comment terminator
  treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_406.RULE
  treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_398.RULE
  treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_391.RULE
  treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_390.RULE
  treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_385.RULE
  treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_320.RULE
  treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_319.RULE
  treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_318.RULE
  treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_298.RULE
  treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_292.RULE
  treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_179.RULE
  treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_168.RULE (part 2)
  treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_168.RULE (part 1)
  treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_160.RULE
  treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_152.RULE
  treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_149.RULE
  treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_147.RULE
  treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_133.RULE
  ...
2022-08-04 12:12:54 -07:00
Linus Torvalds
47b62edcd4 ARM: SoC drivers for 6.0
The SoC driver updates contain changes to improve support for
 additional SoC variants, as well as cleanups an minor bugfixes
 in a number of existing drivers.
 
 Notable updates this time include:
 
  - Support for Qualcomm MSM8909 (Snapdragon 210) in various drivers
 
  - Updates for interconnect drivers on Qualcomm Snapdragon
 
  - A new driver support for NMI interrupts on Fujitsu A64fx
 
  - A rework of Broadcom BCMBCA Kconfig dependencies
 
  - Improved support for BCM2711 (Raspberry Pi 4) power management
    to allow the use of the V3D GPU
 
  - Cleanups to the NXP guts driver
 
  - Arm SCMI firmware driver updates to add tracing support, and
    use the firmware interfaces for system power control and for
    power capping.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmLo+0UACgkQmmx57+YA
 GNkkFw//eyeMxsJ/pqp0HeXTX7s2p0+39IQiak0hjFNe3XN12PIMRAHHtutKlt7F
 K0fKksokY9p+o1M86/5D4l7v7S6DcHQk2MdUD5AeMu/If7cfL0TI2mdIAVnoad4o
 p54ABR0q2Tr/Dr/2GK8kZPTnXkPPLd951mgCG/jwrlPgG3KjTgjhEWg86+F2s/B/
 P8ryYakCYfsxPJGnZqyw63JuVet9Tnv87jySxabukNfSRR8RbJ+OVKXxaBBmvYkA
 +UuDEkcuPtlrEyUoNe+WtM07BdxP6tl/jRwZ4EenQtFDSLCQnapgHK3bVRbLs/WL
 naKJZgI7OOwU8fjRi90/zYoPBW6UQ9OoxcmshNwgFM5yBLJtVgGM+Fp8XNfPIvm0
 BYvE7jf8cEtFDAOYWuB8jCdvBen8qzt5eeUpV+uOjHDxiWwfif15yUDxCE3GB7Ov
 vSPRpuTec/6Ry5hIbqcsrTcZRihnJbAJqDOHdlSVX3M+ohXcf5OMLd+IbD+oHgpo
 vSKvitkDnCKvdR6Uw1GSNAgeVm1ItMBlcL/8VsurOEUXR301pFNGdHEGuuxDu1Mm
 rEzk37ajYmiol5uBYIU8mdYrlK2+52sWd5/22zIwhMIEgQbuPbouYWPfUSP9bb+U
 9NlvjGVxK5U73UqcU/56nn7W9uRt0ArzSzON53wnBW3WjkcgMLk=
 =0dZI
 -----END PGP SIGNATURE-----

Merge tag 'arm-drivers-6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc

Pull ARM SoC drivers from Arnd Bergmann:
 "The SoC driver updates contain changes to improve support for
  additional SoC variants, as well as cleanups an minor bugfixes
  in a number of existing drivers.

  Notable updates this time include:

   - Support for Qualcomm MSM8909 (Snapdragon 210) in various drivers

   - Updates for interconnect drivers on Qualcomm Snapdragon

   - A new driver support for NMI interrupts on Fujitsu A64fx

   - A rework of Broadcom BCMBCA Kconfig dependencies

   - Improved support for BCM2711 (Raspberry Pi 4) power management to
     allow the use of the V3D GPU

   - Cleanups to the NXP guts driver

   - Arm SCMI firmware driver updates to add tracing support, and use
     the firmware interfaces for system power control and for power
     capping"

* tag 'arm-drivers-6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (125 commits)
  soc: a64fx-diag: disable modular build
  dt-bindings: soc: qcom: qcom,smd-rpm: add power-controller
  dt-bindings: soc: qcom: aoss: document qcom,sm8450-aoss-qmp
  dt-bindings: soc: qcom,rpmh-rsc: simplify qcom,tcs-config
  ARM: mach-qcom: Add support for MSM8909
  dt-bindings: arm: cpus: Document "qcom,msm8909-smp" enable-method
  soc: qcom: spm: Add CPU data for MSM8909
  dt-bindings: soc: qcom: spm: Add MSM8909 CPU compatible
  soc: qcom: rpmpd: Add compatible for MSM8909
  dt-bindings: power: qcom-rpmpd: Add MSM8909 power domains
  soc: qcom: smd-rpm: Add compatible for MSM8909
  dt-bindings: soc: qcom: smd-rpm: Add MSM8909
  soc: qcom: icc-bwmon: Remove unnecessary print function dev_err()
  soc: fujitsu: Add A64FX diagnostic interrupt driver
  soc: qcom: socinfo: Fix the id of SA8540P SoC
  soc: qcom: Make QCOM_RPMPD depend on PM
  tty: serial: bcm63xx: bcmbca: Replace ARCH_BCM_63XX with ARCH_BCMBCA
  spi: bcm63xx-hsspi: bcmbca: Replace ARCH_BCM_63XX with ARCH_BCMBCA
  clk: bcm: bcmbca: Replace ARCH_BCM_63XX with ARCH_BCMBCA
  hwrng: bcm2835: bcmbca: Replace ARCH_BCM_63XX with ARCH_BCMBCA
  ...
2022-08-02 08:10:10 -07:00
Linus Torvalds
e233cc59d0 ARM: SoC updates for 6.0
The updates for arch/arm/mach-* platform code this time are mainly
 minor cleanups.
 
 Most notably, the DaVinci DM644x/DM646x SoC support gets removed. This was
 also scheduled for later removal early next year, but Linus Walleij asked
 for having them removed earlier to avoid problems for the GPIO subsystem.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmLo+zkACgkQmmx57+YA
 GNkA9g/7BEprYGJ43eLY+sl4GNcNbtybxNdog62NIb+v/HyiLUuhsApJIbwy8lFn
 IIkaFwDt8xb/tFLtHyDO+ZqCycSlNLqWVT6c3//qhUREj1Ll01zQI8KEYO2GSqnG
 qV1fiF2ARrT/SUWwAEP9Rw+e/dCz3yQvNQQdrIRSOhAJy7D2R25/OSeQ/0I/bswH
 qY6VXUr6obV+fV++CuWjvkPhSI4Oa28j7QC47/rj634KoHXxIky1OH1xMyYCMd7l
 vPj0UbWvQrEM4EhLblLHDba3QBMyN9EzrTvByDDbFNBkYjostIKUXPl9mr2o5rgr
 7c+dfDz7a5LY00te3InxB+0Ij+bnrGUmAc3ohzQbdvRMFMzB67imcv1rEcX4I3K6
 2BekFz33xseYA8sVi4p2kDd8EGeNJrMoQVnD+eRJzPEwxVTRs0OmbRoeZwmsCuqb
 x8BPO9YZtcc/SsnTc2gIGvz2hdzgKro7paSTJGbs+6wQN02ZR7yFO4hSpfWaSpzu
 RcgtSq/wdTSZq721WGCKPP6qHqTxetas/n7VlVBl8u79OclVicfngkYsiKYs65nI
 zmLfMUGthaXny5Q70EYEcpBx8d1V2b5+rl/pp2i2yA8r/ry0EDvkuVTeRZqJgEsa
 zP8i4InDm4ca8vhdzLoyJtHgTTQxoIv+1sa8dUGEgbE6YpzucZ8=
 =LkG0
 -----END PGP SIGNATURE-----

Merge tag 'arm-soc-6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc

Pull ARM SoC updates from Arnd Bergmann:
 "The updates for arch/arm/mach-* platform code this time are mainly
  minor cleanups.

  Most notably, the DaVinci DM644x/DM646x SoC support gets removed. This
  was also scheduled for later removal early next year, but Linus
  Walleij asked for having them removed earlier to avoid problems for
  the GPIO subsystem"

* tag 'arm-soc-6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (38 commits)
  ARM: at91: setup outer cache .write_sec() callback if needed
  ARM: at91: add sam_linux_is_optee_available() function
  ARM: Marvell: Update PCIe fixup
  ARM: bcmbca: Include full family name in Kconfig
  ARM: bcm: NSP: Removed forced thermal selection
  ARM: debug: bcmbca: Replace ARCH_BCM_63XX with ARCH_BCMBCA
  arm: bcmbca: Add BCMBCA sub platforms
  arm: bcmbca: Move BCM63138 ARCH_BCM_63XX to ARCH_BCMBCA
  MAINTAINERS: Move BCM63138 to bcmbca arch entry
  ARM: shmobile: rcar-gen2: Increase refcount for new reference
  ARM: davinci: Delete DM646x board files
  ARM: davinci: Delete DM644x board files
  firmware: xilinx: Add TF_A_PM_REGISTER_SGI SMC call
  cpufreq: zynq: Fix refcount leak in zynq_get_revision
  ARM: OMAP2+: Kconfig: Fix indentation
  ARM: OMAP2+: Fix refcount leak in omap3xxx_prm_late_init
  ARM: OMAP2+: pdata-quirks: Fix refcount leak bug
  ARM: OMAP2+: display: Fix refcount leak bug
  ARM: OMAP2+: Fix refcount leak in omapdss_init_of
  ARM: imx25: support silicon revision 1.2
  ...
2022-08-02 08:02:59 -07:00
Arnd Bergmann
99978d2fd9 More Qualcomm driver changes for v5.20
This adds support for booting secondary cores, SPM, SMD-RPM and RPM
 power-domain support for the MSM8909 platform.
 
 It drops an unnecessary print in icc-bwmon, corrects SA8540P entries in
 socinfo and a Kconfig build dependency for QCOM_RPMPD.
 
 Lastly it continues to clean up up the Devicetree bindings for the
 Qualcomm drivers.
 -----BEGIN PGP SIGNATURE-----
 
 iQJPBAABCAA5FiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmLYinIbHGJqb3JuLmFu
 ZGVyc3NvbkBsaW5hcm8ub3JnAAoJEAsfOT8Nma3FryMQANQKam+7lJrykwF3bt8t
 e/ZR1SWPcKTu5dudsnA2GACnycQ8XQr5M06HRVghwveleXbjHyE3beLEy/NwfbTL
 P4ufdDtg/UCwZXJ+p2ZDtbKIWQQU1qgItekYiN3lDEnb3Y5R7vI2h2mhdDOZh8yn
 HtzI5EeI5gMilZ7yYtqPR3DrXpfdYBaGANshyzmP07eDTz+UyaSSKoALsy7jeWB2
 9d4/inH35Tuqv/98oLaf+gK1vH89AVA13N6fVaQxgPOne3FN1bsqBFGc/RvW+phH
 CG+D86lrxq7iChdEcvcoPCkabYi4lNqhbKZOiAAimqrwFCIksVJSE7adDul0JcPF
 g0ml1jWIx+Jsj5TmuRH01CaxCuLtv9WKARi64vqA8dwSYuak8irP3WXbbtv/sNgW
 PokJovzDwwSs71Rh8PmlXC//XY8gbsVj/umI8lEsS5/PrvdCXYsRTjRzvZ5uNtiQ
 5s1fm6xMT2AMbp+Y6ZcnmPhuGntfiJZFj9GivfZuaYF44Ov6mRScHnRADC9oXpBf
 7qlaC1T05PBUHOMB19xpOOsqtBpfX9TCaCqhsVxhH4bjzzYoMuV+yYlI3CqPv3yL
 v9bKfMkbsOpZywCxyve2d6jqCeL8fA2iPw3MzFIlmESRA4MwdXswmxHCE3C7FOHA
 SZkdXKa4EeWQRBf9g5ri3EM/
 =gLQ3
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmLZTeMACgkQmmx57+YA
 GNmWzg//eCc5hZXF1HumCX21ueWjwnAaZWZZECe+Plc0GB6nMnPVgCw2S29SCfYQ
 cpR1B0YME/AgK7GiwdxW7mh9wtRzAtR7aSn2Z3nsmF7lMTJI5mJTDVIApoCvgHDu
 5eyFIoiwtWYKFht5TLvC56fnOW73Jp6m5K4HElH2q6A387uurc8ClmuhnG7Dbhsp
 WCYB7aqfqYlMybf8EYo3BAng63v6wLDf93+HyGokRiRHeh/h7xF4liLVY9XCNxOH
 NSxBn8zZDRttEww+xSP+hDpTo316YG3SiNf3XW5ojVMrSUsbJM76DMTuPW70LJvK
 obL4SL7zPeo7yH0NiHK699k+jchozb6Uq9WNnWHc3b5ABXK1RV0BoUNPtTHjiYBs
 ojJnqjPmGJHaLmrvqEihyzRxXJtFMFU22t2EwdUmxQyYdgffS35W6lJtlNP/q7ph
 i+DFoyKsmH8T9zNibNXjoV5NAo73OyKKriWjQS/DYR2/T/kwooXo9h9RS8rppo4M
 kqumzGT2gdLoYI/1hBgXurQpMr231XvesLNSNJpQNz3UfYC0cuC7nAe6EQ5Jn2Da
 hLQrRSj+TMghSq8dw5yOx1fvWjyYT1uFKiSgOkWXvX6Pcui6UC5oJ3zivv7JOXuc
 Jjn+0B31KIBUyh8hq4cNrGaF8edVf8Y0vxp0mKsnnYjQxxuZHkc=
 =TP2T
 -----END PGP SIGNATURE-----

Merge tag 'qcom-drivers-for-5.20-2' of git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into arm/drivers

More Qualcomm driver changes for v5.20

This adds support for booting secondary cores, SPM, SMD-RPM and RPM
power-domain support for the MSM8909 platform.

It drops an unnecessary print in icc-bwmon, corrects SA8540P entries in
socinfo and a Kconfig build dependency for QCOM_RPMPD.

Lastly it continues to clean up up the Devicetree bindings for the
Qualcomm drivers.

* tag 'qcom-drivers-for-5.20-2' of git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
  dt-bindings: soc: qcom: qcom,smd-rpm: add power-controller
  dt-bindings: soc: qcom: aoss: document qcom,sm8450-aoss-qmp
  dt-bindings: soc: qcom,rpmh-rsc: simplify qcom,tcs-config
  ARM: mach-qcom: Add support for MSM8909
  dt-bindings: arm: cpus: Document "qcom,msm8909-smp" enable-method
  soc: qcom: spm: Add CPU data for MSM8909
  dt-bindings: soc: qcom: spm: Add MSM8909 CPU compatible
  soc: qcom: rpmpd: Add compatible for MSM8909
  dt-bindings: power: qcom-rpmpd: Add MSM8909 power domains
  soc: qcom: smd-rpm: Add compatible for MSM8909
  dt-bindings: soc: qcom: smd-rpm: Add MSM8909
  soc: qcom: icc-bwmon: Remove unnecessary print function dev_err()
  soc: qcom: socinfo: Fix the id of SA8540P SoC
  soc: qcom: Make QCOM_RPMPD depend on PM

Link: https://lore.kernel.org/r/20220720230648.2113609-1-bjorn.andersson@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-21 15:00:19 +02:00
Arnd Bergmann
f740949d41 soc: a64fx-diag: disable modular build
The NMI infrastructure cannot currently be used in loadable modules:

ERROR: modpost: "free_nmi" [drivers/soc/fujitsu/a64fx-diag.ko] undefined!
ERROR: modpost: "request_nmi" [drivers/soc/fujitsu/a64fx-diag.ko] undefined!
ERROR: modpost: "enable_nmi" [drivers/soc/fujitsu/a64fx-diag.ko] undefined!

Disable this for now to make allmodconfig build again. We may revisit
this and export those symbols instead in the future.

Reported-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-20 17:58:18 +02:00
Stephan Gerhold
fddb663de9 soc: qcom: spm: Add CPU data for MSM8909
Given the lack of public documentation for the SPM, the configuration
data is taken without modification from Qualcomm's msm-3.10 release [1].
It is pretty much identical to the one for MSM8916, except that 0x3B is
missing in the sequence for standalone power collapse for some reason.

[1]: https://git.codelinaro.org/clo/la/kernel/msm-3.10/-/blob/LA.BR.1.2.3-00910-8x09.0/arch/arm/boot/dts/qcom/msm8909-pm8909-pm.dtsi

Signed-off-by: Stephan Gerhold <stephan.gerhold@kernkonzept.com>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220705143523.3390944-7-stephan.gerhold@kernkonzept.com
2022-07-18 18:05:07 -05:00
Stephan Gerhold
488f1d96c3 soc: qcom: rpmpd: Add compatible for MSM8909
MSM8909 has the same power domains as MSM8916, so just define another
compatible for the existing definition.

Signed-off-by: Stephan Gerhold <stephan.gerhold@kernkonzept.com>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220705143523.3390944-5-stephan.gerhold@kernkonzept.com
2022-07-18 18:05:07 -05:00
Stephan Gerhold
73579f2a99 soc: qcom: smd-rpm: Add compatible for MSM8909
Add the new "qcom,rpm-msm8909" compatible to the driver so the interface
to the Resource Power Manager (RPM) is initialized correctly on MSM8909.

Signed-off-by: Stephan Gerhold <stephan.gerhold@kernkonzept.com>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220705143523.3390944-3-stephan.gerhold@kernkonzept.com
2022-07-18 18:05:07 -05:00
Yang Li
947bb0d165 soc: qcom: icc-bwmon: Remove unnecessary print function dev_err()
Eliminate the follow coccicheck warning:
./drivers/soc/qcom/icc-bwmon.c:349:2-9: line 349 is redundant because platform_get_irq() already prints an error

Fixes: b9c2ae6cac ("soc: qcom: icc-bwmon: Add bandwidth monitoring driver")
Signed-off-by: Yang Li <yang.lee@linux.alibaba.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220714075532.104665-1-yang.lee@linux.alibaba.com
2022-07-18 16:34:11 -05:00
Hitomi Hasegawa
64f89dfaa4
soc: fujitsu: Add A64FX diagnostic interrupt driver
Register the NMI/IRQ corresponding to the A64FX's device definition
dedicated to diagnostic interrupts, so that when this interrupt is
sent using the BMC, it causes a panic. This can be used to obtain
a kernel dump.

Signed-off-by: Hitomi Hasegawa <hasegawa-hitomi@fujitsu.com>
Link: https://lore.kernel.org/r/20220520074119.3574753-2-hasegawa-hitomi@fujitsu.com'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-18 13:37:08 +02:00
Parikshit Pareek
5bed21af00 soc: qcom: socinfo: Fix the id of SA8540P SoC
Change the id of SA8540P to its correct value, i.e., 461.
Also, map the id 460 to its correct values, i.e. SA8295P.

Fixes: 76ee15ae1b ("soc: qcom: socinfo: Add some more PMICs and SoCs")
Signed-off-by: Parikshit Pareek <quic_ppareek@quicinc.com>
Reviewed-by: Eric Chanudet <echanude@redhat.com>
Tested-by: Eric Chanudet <echanude@redhat.com>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220711083957.12091-1-quic_ppareek@quicinc.com
2022-07-16 10:09:08 -05:00
Konrad Dybcio
a6232f2aa9 soc: qcom: Make QCOM_RPMPD depend on PM
QCOM_RPMPD requires PM_GENERIC_DOMAINS/_OF, which in turns requires
CONFIG_PM. I forgot about the latter in my earlier patch (it's still
in -next as of the time of committing, hence no Fixes: tag). Fix it.

Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220707212158.32684-1-konrad.dybcio@somainline.org
2022-07-16 10:08:56 -05:00
Arnd Bergmann
3c37074f0d Qualcomm driver updates for v5.20
This introduces a new driver that requests interconnect bandwidth based
 on throughput measurements of the bwmon hardware blocks found associated
 with, among other things, the CPU subsystem on many Qualcomm platforms.
 
 It introduces support for the SCM wrapper driver to vote for
 interconnect bandwidth for operations that needs bandwidth to the crypto
 engine. This ensures both performance and guards against issues caused
 by lacking votes for this path.
 
 The socinfo driver gains knowledge about the SC7180P SoC.
 
 It contains a range of fixes for spelling mistakes, refcount leaks in
 various drivers and removes some redundant code from the apr remove
 path.
 
 The SCM DT bindings are updated to declare support for QCS404, SM6125
 and SDX65.
 
 The command db driver has a strncpy() converted to strscpy_pad() and
 then back again with proper documentation to why this was the right API.
 -----BEGIN PGP SIGNATURE-----
 
 iQJPBAABCAA5FiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmLLop4bHGJqb3JuLmFu
 ZGVyc3NvbkBsaW5hcm8ub3JnAAoJEAsfOT8Nma3F3TMP/ieGyulFlvASz8TxfZyL
 E0nJi29vPdGNfrQTe4Uijtn5v1eQzlunNfWfw2f3+hI2rhs94Y4TuFdHBNU7rTVo
 Ui0aFRRmlq3FZlc0KwUhyAP8tvI59Tna+w/8UgIqcKQpSiLNrYRQfyBGhUfMTI97
 SzwSklRNNTFhIa31n6F4+K9uWwlRBgavoVHaNZw4iJaoC5VKXwcROMLOzgZFh7BB
 dJgdKxnOhKNGAPq6w+WSxbvzF2bdX0GvwcaFJDvXtquEVk7sxEWmEwxhcFpuu1BJ
 WtOyb+GCrxntk3n7tq333ZPVCZBlwePXXP+Bn5Z+P5stbiSFDso4irZzGEScmlyi
 HRhN2h7Mqh/7KkXbkEYwISqL/T+EXuQThFV8l5hodCF2v2bPRIeRoz3a5Z1mZb7H
 M4eoldB0Ow4dcBaJppJ9Ux+xMEqZ7hrXvQmpQdtHi3ty3QceKwjA0byJK2nmwttt
 GmibYaFsm4cynsCIYqclxnSm55rrq+doKE6G5gn6gG8Qijg+TDOAVLKDS6heenH3
 9WCSeYUR4Wnyn6EUTEEfJamErhsVwKJYhLNfzfpst3+6RAoRM+C/js+S0fFqVImC
 1lWRe64nCoGp1QR+h/f8SltnPUfjvCuU5i2pjO+vErq8zo21vcFGuvReps6fDZxh
 /NIw/dMRJMuZEmIv7KBZ6c6q
 =AHeW
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmLN4SUACgkQmmx57+YA
 GNnCRA//bthrnU+D0KiuNogJASZZWs1y+PsMHbu27JNZMCaR14+sBKiNGhkfivKt
 6lqZIBSn49OCfL/SGg0E7TTZ/aMkbj+HU6aPxf6417gu1LhICOTZX81ffijwHlZu
 POzvwcTWRMbIlYA/JD68y81uL2jWUpiqLXtPrzzjiEK87MR9OLEjJ/YIXciyOqaX
 ao+/TW0dqHYibxWJQWb98HfuUCL0ZC9tkX3iYBu0yM2y9XJ5dVRfG6Rs++H6X83S
 MIMqKbygFZ9PawzdHuPJDOv5su7PH5Sh6pUGXsxWXtAmVQESBeoRqO0KsAns8Tmi
 +38olZGOuELDo4nllrPrh2fWxQKmrVolXRmwv4sq/yqgsrkXutcJdUVb2XxeiJwt
 mKLDaYr1vN+YuR7XK2B2a68hFFW6a804c3cttXvp5Z4KcNNQmSiT71sILX8vqSmO
 +d5URU7oSbv6c6CqTTP7aAF+sfcZiHHrRoI3IJBzUmtczNp7Eq/7cT8OZMs5eMk7
 yFIIdmr4fL4MvMmYMoibL7dCOpFfVoqlveAukG9utDpziXyMzNDZ89PMmjpdU2nR
 nLrwLe6NaB8h4B6GKO3HZqdiXHkP069+pKy1hOyPavp6g8qVo2JZxwQku4r0onAU
 jy+KhfRGb7W7mnC/hI5UtOQwGVx9S2RkUHEyaL3QNEjAXpDOeQw=
 =0Kp7
 -----END PGP SIGNATURE-----

Merge tag 'qcom-drivers-for-5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into arm/drivers

Qualcomm driver updates for v5.20

This introduces a new driver that requests interconnect bandwidth based
on throughput measurements of the bwmon hardware blocks found associated
with, among other things, the CPU subsystem on many Qualcomm platforms.

It introduces support for the SCM wrapper driver to vote for
interconnect bandwidth for operations that needs bandwidth to the crypto
engine. This ensures both performance and guards against issues caused
by lacking votes for this path.

The socinfo driver gains knowledge about the SC7180P SoC.

It contains a range of fixes for spelling mistakes, refcount leaks in
various drivers and removes some redundant code from the apr remove
path.

The SCM DT bindings are updated to declare support for QCS404, SM6125
and SDX65.

The command db driver has a strncpy() converted to strscpy_pad() and
then back again with proper documentation to why this was the right API.

* tag 'qcom-drivers-for-5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
  soc: qcom: icc-bwmon: Add bandwidth monitoring driver
  dt-bindings: interconnect: qcom,msm8998-cpu-bwmon: add BWMON device
  soc/qcom: Make QCOM_RPMPD select PM_GENERIC_DOMAINS/_OF
  soc: qcom: aoss: Fix refcount leak in qmp_cooling_devices_register
  soc: qcom: llcc: Fix syntax errors in comments
  soc: qcom: ocmem: Fix refcount leak in of_get_ocmem
  dt-bindings: soc: qcom,wcnss: remove unneeded ref for names
  firmware: qcom_scm: Add bw voting support to the SCM interface
  dt-bindings: firmware: qcom-scm: Add interconnects property
  soc: qcom: cmd-db: replace strscpy_pad() with strncpy()
  dt-bindings: firmware: scm: Add compatible for SDX65
  dt-bindings: arm: qcom: switch maintainer to Bjorn
  soc: qcom: rpmhpd: fix typos in comment
  soc: qcom: correct kerneldoc
  soc: qcom: cmd-db: replace strncpy() with strscpy_pad()
  firmware: qcom_scm-legacy: correct kerneldoc
  dt-bindings: firmware: document Qualcomm QCS404 and SM6125 SCM
  soc: qcom: apr: Drop redundant check in .remove()
  firmware: qcom_scm: drop unexpected word "the"
  soc: qcom: socinfo: Add an ID for sc7180P

Link: https://lore.kernel.org/r/20220712021830.1271398-1-bjorn.andersson@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-12 23:01:25 +02:00
Arnd Bergmann
9bc697091a This pull request contains Broadcom SoC drivers updatse for 5.20, please
pull the following:
 
 - Julia fixes a typo in the Broadcom STB legacy power management code
 
 - Liang fixes a device_node reference count leak in the Broadcom STB BIU
   driver code error path(s)
 
 - Nicolas and Stefan provide updates to the BCM2835 power management
   driver allowing its use on BCM2711 (Raspberry Pi 4) and to enable the
   use of the V3D GPU driver on such platforms. This is a merge of an
   immutable branch from Lee Jones' MFD tree
 
 - William removes the use of CONFIG_ARCH_BCM_63XX which is removed and
   replaces the dependencies with CONFIG_ARCH_BCMBCA which is how all of
   the DSL/PON SoCs from Broadcom are now supported in the upstream
   kernel.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEm+Rq3+YGJdiR9yuFh9CWnEQHBwQFAmLMTtEACgkQh9CWnEQH
 BwSmNw/+KC2qMPJ7e1favA8joQ+YCOWht3URTLDNrWpFrkAWLqjEkeYfSJQ3fBns
 vhDs42nt3318GZKa0YRFkttHEG4ZB5eV4pcf1GGV2/BtnUjr3tgD8iEIDLYeq8Z1
 Y1F5WVXrCx3ta+xADVy1MMIM82ycWjKsrF7f8iADdP/hJtrlpnEdhOIzqz8Az5g+
 ezFrs66/P0X+tc/a41mZ1BHIXa/4nnibo+A+hT/gtDK0g4uv/94XaQVaAn3VvELx
 m/RgkQsrKed3xGnniz9N+LX9oQ/IHQzz6HxZD3TokKlTS1rjHr0YMb++jo0430na
 NQ45Y9U0gl3gwalN+85YTabA0VWkVdkzn0YGydmcrJqphm3s78M+/FiMddaVQtMv
 D4ndLVqr6LXTKtsZIk97shuuxMHMaix5mA2hOOWFO0TjQFzsKOi/k2uZ0mo9hBPC
 FMsetOjmoeA1e01ztuW/3T2yQH1CQkHow/lp1xoidvLzgALraK3wAdhMX0lIR5Fg
 bxPNkrj1mTHPcBO7C7DKbvXt7bybZcn624/55FrTaYu5p0BdaazshMUHKBUb1l5K
 lhB4znh9dKQwc94VGdHzNISEjZSpjRbdnqBr/1qzpwR6SGR9jMFS1wTcjK2iAyMz
 iUR+O3vEeyOfRz2rSkgGSYIqkxdCX4Q6jyk4wz56gYP8FfIqmQ8=
 =O/9g
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmLN4J0ACgkQmmx57+YA
 GNnFBQ/8CMZHB963Azx+ybxj95ClLjtKKio7IjQRr4YoawXHYdNipLumrBS3V7BZ
 qu432X9gGHC5QP4U46d4zHUvWeLqPwsns6WnTa8wwbY2kAccnoCtOaVyWM8O2YyS
 n7Zwq6wSEul6GT7ig+eEsZ5NFhC3+i1C/mqCZfcEGWrIfzse5UwKVmcG/dmnavIP
 NtmaWMWr2PUvF3VJpgn71JpWJegkyANjDi7JJC/71h5MzjNrpGsE3XG5QyLpQfRZ
 +lAxT+2zJNbk+eSnISg1bpaeL/S9F8vrmzpgMEcCcydcpgQQ7I/M9nx+mNAbpRwn
 c7DuoXYB9VNX6bsI0pUjavhMc3qAIPtgYknGe/WhAmS6D4y/IfTJ7L91irULH/gC
 ZDH2aDTblhtefiSgd8X9RJyRTZb0CtTUoSR2ST0SfpMI8xJaaswXBS7nYfLib08v
 pSLAU6qalUpJpJ+ADeSEIbfUjuGR6GR1iT1R4dpdp3NfhR8u6bPdkphxzwdzctBL
 bZ+ZcFMlAfSp07FzII+2Ce5fuT5qM7rdqKurL5WFmJOYIHfqGDTESWp5vvViAHPJ
 2c+ONWnPvMXoKxC6d90E8AhOhvOeE1frfu5NWJtzU7OY98rI1J5nFEF9hmVQWZ3p
 hfEzP+wiBuN2mHRDNtgmmJFFhbzPdXlY5QafR2XDm1kpfuFh/cY=
 =yTZT
 -----END PGP SIGNATURE-----

Merge tag 'arm-soc/for-5.20/drivers' of https://github.com/Broadcom/stblinux into arm/drivers

This pull request contains Broadcom SoC drivers updatse for 5.20, please
pull the following:

- Julia fixes a typo in the Broadcom STB legacy power management code

- Liang fixes a device_node reference count leak in the Broadcom STB BIU
  driver code error path(s)

- Nicolas and Stefan provide updates to the BCM2835 power management
  driver allowing its use on BCM2711 (Raspberry Pi 4) and to enable the
  use of the V3D GPU driver on such platforms. This is a merge of an
  immutable branch from Lee Jones' MFD tree

- William removes the use of CONFIG_ARCH_BCM_63XX which is removed and
  replaces the dependencies with CONFIG_ARCH_BCMBCA which is how all of
  the DSL/PON SoCs from Broadcom are now supported in the upstream
  kernel.

* tag 'arm-soc/for-5.20/drivers' of https://github.com/Broadcom/stblinux:
  tty: serial: bcm63xx: bcmbca: Replace ARCH_BCM_63XX with ARCH_BCMBCA
  spi: bcm63xx-hsspi: bcmbca: Replace ARCH_BCM_63XX with ARCH_BCMBCA
  clk: bcm: bcmbca: Replace ARCH_BCM_63XX with ARCH_BCMBCA
  hwrng: bcm2835: bcmbca: Replace ARCH_BCM_63XX with ARCH_BCMBCA
  phy: brcm-sata: bcmbca: Replace ARCH_BCM_63XX with ARCH_BCMBCA
  i2c: brcmstb: bcmbca: Replace ARCH_BCM_63XX with ARCH_BCMBCA
  ata: ahci_brcm: bcmbca: Replace ARCH_BCM_63XX with ARCH_BCMBCA
  soc: bcm: bcm2835-power: Bypass power_on/off() calls
  soc: bcm: bcm2835-power: Add support for BCM2711's RPiVid ASB
  soc: bcm: bcm2835-power: Resolve ASB register macros
  soc: bcm: bcm2835-power: Refactor ASB control
  mfd: bcm2835-pm: Add support for BCM2711
  mfd: bcm2835-pm: Use 'reg-names' to get resources
  soc: bcm: brcmstb: biuctrl: Add missing of_node_put()
  soc: bcm: brcmstb: pm: pm-arm: fix typo in comment

Link: https://lore.kernel.org/r/20220711164451.3542127-6-f.fainelli@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-12 22:59:09 +02:00
Arnd Bergmann
03e316033c i.MX drivers change for 5.20:
- Update imx8m-blk-ctrl driver to print the name of the power domain,
   so that the error message becomes more useful.
 - Update the error messages in gpcv2 driver by printing the reason why
   a regulator fails to be enabled or disabled.
 - A series from Michael Walle to convert the guts driver from a platform
   driver to an core_initcall for getting rid of all those global static
   variables.
 - A couple of follow-up fixes on guts driver series.
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmLJJY8UHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM54iAgAjX40h6w2DOOyVZhM6VGBHmQIzfok
 MiVRjPVLsEf55brvG6IwY4KnWWCOb9bcET7JxBhYsreUsLAC8255B//mLoiLZM4x
 XfCFIaQ9XxnCyfzrJuXr1K0TuwlxVYAbVghcxYFpgCSpM9GwChhQstu1dgfQE3o3
 p8OXlVol3bu0NN5JkbKd2t7e9P2EoCBIb9N2JIjnlxs81W63hoKEhRkhPd2CKBIN
 gKEHrMf3CFFuLpSvwKKsNzwBj2y6LML413k9l7Wp5L/MEX0+Y0G/fuQ3i2fbzoDQ
 OF2SQfngaeSRy8kbp1iZ+GCqfGGoBjwinZ7v2tYElH0pheR074mxIjKntQ==
 =vt6q
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmLN3+wACgkQmmx57+YA
 GNmCcw/7BDTCkJw4IzzVEMDj29zqCIaCPB3b3heTfU+RaElkuz8EfasoKbC7TX5X
 XsEi4bULlVza0cKcr+tOur6xtcZSZltjp/DenolNTrQ/qQZSjD0Mh5ypxzsxqjqS
 EvpF7iZcnCpDFIKSji4XWreqmUIsHHFFLDw0zQBkmz5BbQXB7U9HlAP85cuGBq+L
 i1R21OX7ZQqG7Ik6JT+fD/XMmkRCiPlZP/aHoQilZYXy9j0wcuLUaeg4LIEcEj8Z
 fIK/mvNkk2skncPg9ZHdKUxoKLZ0OMl10WBLAsFsYrHFjOzGKB506nvev22FRG0E
 y0AnBbk1iBrwmkoR9zdAzED7AqBAKBdJQW9YXA5UTDgCQpAICsnAGiSWoM8ZFQDS
 biMqlRUcimZHUfmLOWplVYGeeHzTszYapLwjNEWg+/iV5cGC4KrtavYHccw0PNLJ
 896ctvJucK9iZ5GwJRG7oZhmdTTppbKZkFsOq9TIoAowJRICNs/3c8CfQDE+2Rkb
 BN7GJ833zjZiJkppye79pRxoLZNRlds68/zutaAGqIlVs7G1inN+L8FN5Dmc4Xhu
 4Bw59kF+v7I4mqz6gNCmKpDwohKiNWx5J8KDaVe/N/AS6nesKZnWuWBUuVIXY8Dp
 uFwCEztXwDLDHJNj/YJezCQOkMHOO1QWeI95Q1k+j8tpwRNSZd8=
 =FQvj
 -----END PGP SIGNATURE-----

Merge tag 'imx-drivers-5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/drivers

i.MX drivers change for 5.20:

- Update imx8m-blk-ctrl driver to print the name of the power domain,
  so that the error message becomes more useful.
- Update the error messages in gpcv2 driver by printing the reason why
  a regulator fails to be enabled or disabled.
- A series from Michael Walle to convert the guts driver from a platform
  driver to an core_initcall for getting rid of all those global static
  variables.
- A couple of follow-up fixes on guts driver series.

* tag 'imx-drivers-5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  soc: fsl: guts: check return value after calling of_iomap() in fsl_guts_get_soc_uid()
  soc: fsl: guts: fix return value check in fsl_guts_init()
  soc: imx: imx8m-blk-ctrl: Make error prints useful
  soc: fsl: guts: add serial_number support
  soc: fsl: guts: drop platform driver
  soc: fsl: guts: use of_root instead of own reference
  soc: fsl: guts: allocate soc_dev_attr on the heap
  soc: fsl: guts: embed fsl_guts_get_svr() in probe()
  soc: fsl: guts: remove module_exit() and fsl_guts_remove()
  soc: fsl: guts: machine variable might be unset
  soc: imx: gpcv2: print errno for regulator errors

Link: https://lore.kernel.org/r/20220709082951.15123-1-shawnguo@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-12 22:56:12 +02:00
Arnd Bergmann
62fcbc5c5d TI Driver updates for v5.20
* pruss: Enable support for AM62, bindings cleanups
 * wkup_m3_ipc: cosmetic cleanup
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE+KKGk1TrgjIXoxo03bWEnRc2JJ0FAmLIszwACgkQ3bWEnRc2
 JJ2NCw/9FP2NbmlUGYeKIBpPwodtyvbu0dFVGcfLycEr5HIugbVtQz7yLUa6HFJa
 siaAaK4ZJXncqkVksEcSnRsoleLJUjVSVUN15a1KqgLOA4eNazeE8Sh6xyhf+nyh
 DSbYWYxh423IQk7pPhO5CAThU/+8piSez/6c2hNPgJ5N1h2eu4H9ZQkz8IPOwthd
 6dLVPfsHLhVoK3E+cQAJxS6vlbZnzfvkC8faEOlo86npWSeVVoHGhuatsPH4ImBt
 90ZhLqu6qjH1WDRDVmb0lrNKSH6uNMEzN9qupikhfPUbM8faYh6IzBjcTAVAFqXP
 UYxTPI84gncLKFBvZcCrmiY061pYfM44YunDjcQ5IlhbQppydIv0adLbELNxlCiG
 pG3comeTRufHNWXYyVomYG1GcMHeB64jBQbj1JbH83KzcfPj4xdJGEj21a5xLWGN
 KjqFSZvviq1hbp1ilpB0PdZYBXn7TaTSEoNswWRznnRo/3G1Snlw18s3z17TAB7V
 TeRMNMUHRkQs3rZToAzZWHZDpAn2lDmECQyd/I85enPq8SdKn8/dtazrgUHOnCVP
 tICxL9zBKeuzxaPWivNnlorgHu2JT4Ic+j3YF660auTtvjNP44UYaVAaza1AOTJ0
 /gtmwyzFc2Y33O0oeO3c6JhrB54JZnCYdTJa6HkWK/WETD2Ah8M=
 =xWMZ
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmLN36oACgkQmmx57+YA
 GNm25w/+O3guYKzYmLKnUnXa3h8byIN4zMteK7HyaX7gvkoTRj3KZWkAnbmnAuXs
 Jpf6abryCwgO+BGpIBUKH7rGQ5rb1iAVOt7lcomSSM/AY8iiwSPiPoGr/9H29RGs
 o7t5x5Fz3I4y89QrQPZfFqK0DAcAf0mH2raP+wTPoKB+FhXCsXylrVoKFvhhzD+i
 aQVpsKHBiDs414+OeOo0OsHa0j2LAgM+Am/I424DgVQJWJDqvC0knAz3Kq/mZ7DR
 sF7Ebr8cC1a9TK/pMHWe7M6BdUYspywGe11+eiCaByKk+6l60DVpYN/loF5TPfKn
 6PfLYuOXHwgg9AZ4I/pU6z47xwyOZ9RtYyBBbRzHMbQ8nmU4zeGmwDzrpqtEKKc0
 G5H4iP+VN4i/FnbVMJuWcX51EQkvXPbYUWEMBmh6kkJ1Wps6JRlwIqtU0OlDNLWC
 48jyxH+2KTzDTzbDJ64PKrBp5/dMBdOWPM9crQFj17QjqEf3S8QtHuC1m8jgHFh1
 NGTDUJc5AOs6wd8PlES345ZNvi9FYkqSECLkBXPSLiPpkpzpGw80DlHgUVDjFd71
 kptZotYAHqVR6ZIW+EwTuQ/rEXbN6aCUSYJTsA36xAPGfgFs6mSubQIjSHAiDvVr
 RLJ3mFnN9kIJ794v4DufslLJh9BL8ijicB21/t4tO7m3/wr5p0I=
 =n8Bj
 -----END PGP SIGNATURE-----

Merge tag 'ti-driver-soc-for-v5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/ti/linux into arm/drivers

TI Driver updates for v5.20

* pruss: Enable support for AM62, bindings cleanups
* wkup_m3_ipc: cosmetic cleanup

* tag 'ti-driver-soc-for-v5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/ti/linux:
  soc: ti: pruss: Enable support for PRUSS-M subsystem on K3 AM62x SoCs
  dt-bindings: soc: ti: pruss: Update bindings for K3 AM62x SoCs
  dt-bindings: soc: ti: pruss: Re-arrange "compatible" in alphabetic order
  soc: ti: wkup_m3_ipc: Remove unneeded semicolon

Link: https://lore.kernel.org/r/20220708232655.reqjdbib52ejdja4@unadvised
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-12 22:55:06 +02:00
Arnd Bergmann
ff6c226953 pmic wrapper:
- code style improvements
 
 devapc:
 - add support for MT8186
 
 Smart Voltage Scaling (SVS)
 - add support for MT8183 and MT8192
 
 MMSYS:
 - Add more display paths for MT8365
 
 Mutex:
 - Add common interface for MOD and SOF table
 - Add support for MDP on MT8183
 - Move binding to soc folder
 - Add support to use CMDQ to enable the mutex, needed by MDP3
 
 Power domains:
 - Add support for MT6795
 -----BEGIN PGP SIGNATURE-----
 
 iQJLBAABCAA1FiEEUdvKHhzqrUYPB/u8L21+TfbCqH4FAmLIYUUXHG1hdHRoaWFz
 LmJnZ0BnbWFpbC5jb20ACgkQL21+TfbCqH5PJQ/9Ffxj2hvBIijbiomaah+854GZ
 Z6pJjozFRFLfsJW1EcVXVCGWGXm2b1Zj6SY0ReAw+SG0wb983N+ldym0onBjMozd
 Pzo5oImxgZzQVXIW9xreFDf0HsSI9i8IJJaABckW/ZjGPv15z1DRWhw99jeH3C/7
 /eogSqMZrKjxWO5AnGL+3VJxSadFr8sXkxSy0bCr4C0y13hKmp8d9udn5zlnjR/K
 Ubavm0oruCuOPilWgkJi2rwql85cQN+3/21dQTdr6klQK76yfeJgwEGKlqXShrzP
 Heuzn6STHhMaLcXm4I/65jwXIiBmyiLL9jdLtlfHvR4d+2o9oUd0fD+sqcjn6LF2
 K04vmKQ10cSFdXJq+YOzx/h+UThCrb8w0SSyHv83xNMNrjzLEf5ozfD9vjm+ogBd
 oYjrt/y6C61wQcRS/yqnb9AeNLxHdiOFcAmL8c4uwJwdH01OKOWxFfHGX+bGRt0M
 qvmvG9ctdZmQbo1sQmnIdU4za+rEzjMktCjuFY2bdy9CvgKYEUWir1/OGPkrnPQa
 7A+0Pd2QbpDFSLK6kD4Mut8QXckMq9mitMMKFWO4xHstAN0FYvvSIoUPwSTksIaa
 QMNPhKI3wIXFtWnHKyHTLY7IyIUNo34RrOsH5vLFnX63mjrwop+XAwDoa9mwIdN7
 7vZ0XlkI0Xkjkm8V0dI=
 =VZvg
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmLNcKsACgkQmmx57+YA
 GNmT6A/7BZy2sgLVuM8Z3rdvpWkuIw1LcvKs+66iAVEeZNrEOh5SWSuY1RffTMiL
 8cGbenKJlmIalBQkUUVVp3dNsGIU89sExdnYSTfKNuKaZpQw1dbY+5s7w6Y72C2h
 /tJ+10LnG2fUJunvdEluENBNqapy+nACazJu1sfXkTp7wD+WQO+bYv0nZrk9sAoo
 YjBU42SpJUX3y7nX/ljnqIqBbyHHIeF7JUByUa5wUlMfA3DnOqlA02DkOGxDUqn+
 F2e7Xozaj5P4pbxddTWX91CWfRcA77ho3R4jre2u8XZMzrClDnajQCtP+PwMssre
 WdWGUo6ENiy85ZohXIl5kBzXy8CoIgjsn6M09lqaEfQh+VVjHK54Ti3KX6ziGLeI
 Gfh12l2zcCtNa40L1oypsISdCDc3SSY79MXiEu8Ux1TJ7O9cmsMyjyKDCwhWixlL
 DFAe1bXMIcwjjC+eOEyBHaAmWOb1xLIn4bsp/A7XzmalSzgYyiU0G8hzx73VS3Q5
 MslcSVwPlHoR6G+RuFjwWJ6fcS/765E3mRN8lbaYUgO5vaJT9faFmgkH7ubOCk8g
 oBV/57f4nd8+ifDqPgDwv6DJNWq8jNBtyEQ+oHSc4lj7UE+jZMor7XPKnArdtL3Q
 /qMqQhTA6rCsXUij6ayKBg3IGia7M13ffP30WerMc8TOixUjQvY=
 =KbI7
 -----END PGP SIGNATURE-----

Merge tag 'v5.19-next-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux into arm/drivers

pmic wrapper:
- code style improvements

devapc:
- add support for MT8186

Smart Voltage Scaling (SVS)
- add support for MT8183 and MT8192

MMSYS:
- Add more display paths for MT8365

Mutex:
- Add common interface for MOD and SOF table
- Add support for MDP on MT8183
- Move binding to soc folder
- Add support to use CMDQ to enable the mutex, needed by MDP3

Power domains:
- Add support for MT6795

* tag 'v5.19-next-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux: (29 commits)
  soc: mediatek: mutex: Simplify with devm_platform_get_and_ioremap_resource()
  soc: mediatek: pm-domains: Add support for Helio X10 MT6795
  dt-bindings: power: Add MediaTek Helio X10 MT6795 power domains
  soc: mediatek: SVS: Use DEFINE_SIMPLE_DEV_PM_OPS for svs_pm_ops
  soc: mediatek: mtk-pm-domains: Allow probing vreg supply on two MFGs
  soc: mediatek: fix missing clk_disable_unprepare() on err in svs_resume()
  soc: mediatek: mutex: Use DDP_COMPONENT_DITHER0 mod index for MT8365
  soc: mediatek: mutex: add functions that operate registers by CMDQ
  dt-bindings: soc: mediatek: add gce-client-reg for MUTEX
  dt-bindings: soc: mediatek: move out common module from display folder
  soc: mediatek: mutex: add 8183 MUTEX MOD settings for MDP
  soc: mediatek: mutex: add common interface for modules setting
  soc: mediatek: pm-domains: Add support always on flag
  soc: mediatek: mt8365-mmsys: add DPI/HDMI display path
  soc: mediatek: mutex: add MT8365 support
  soc: mediatek: SVS: add mt8192 SVS GPU driver
  dt-bindings: soc: mediatek: add mt8192 svs dt-bindings
  soc: mediatek: SVS: add debug commands
  soc: mediatek: SVS: add monitor mode
  soc: mediatek: SVS: introduce MTK SVS engine
  ...

Link: https://lore.kernel.org/r/b733bd82-6d99-23ef-0541-98e98eb8d3bc@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-12 15:01:31 +02:00
Arnd Bergmann
611f6810aa - build mbus driver only for ARM/ARM64
-----BEGIN PGP SIGNATURE-----
 
 iHQEABYIAB0WIQSPRixG1tysKC2PKM10Ba7+DO8kkwUCYsheqwAKCRB0Ba7+DO8k
 k7xXAPUaMzZC7hw5aig/vfEbE9Q8NFijF6RNNr0U/S/v/+SyAP9DCz+VFenf4PlS
 7jYPclrQe96RVe6hiPiQUJ+IWbxdBg==
 =qzHn
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmLNcG0ACgkQmmx57+YA
 GNkGLQ/+MkLSKGKeemsL/Q7B+cGcQT87J08qHbVsI2le7JiO3G6uhdKssxbta0np
 Y3vW8YFhYYxPLS7o2XqghBKWMTr6dbmlwEKWechq73Zi5mHmb846lDUZ3CHMVbQN
 r65n2FghXdRM1dNrpqVGv5jHBSJnCaZwrNYfXXfEw5ETLTXMMtdBqsxLj1JHYGWJ
 HijfV5cR+iuW5LykmSsUSD3oj0JrxndGIrjh6qZ3fpSNdanGV1Z26vHfIfL/UMOu
 6m0SVLrlmQmNfdHOZEcz4/aaN3I5aVxOGXruw0jKVCCEQZzkIYHtI2D+2RbJDGMz
 9nkQOsH98AMgp46EPfBYZ19XofcFvomJvtq02jEEHyV8HrXZVSMt1jK77vvxjFJV
 XVpZr5UpnSVQx3ritRIG2yVYj2QGJGl1bJ+O2ypazz/shH/Fc2PbGKlsteboRNi4
 T3dSIrTy9B+tAonkXMwQ1l6Uc+4yQWgzOvIr5MK4WPJWq8TlRPr7i5ABZdT5krFM
 OqYwv1YCVZuNOjEU67/HWt+ICnU1OPZS8mLZUUMfb6nF3PuxH1F7GMhItaBfz75E
 cCa4+CglrGSedXnLAjw3ZrZ4BGhW+Hr8CbGmnNQNtdzUCzJasetUTyW6Z3aOTAIR
 Os9rKkUY3LmUMg7/9ogZaTMPp7w3BbNvUA0oBhppIZPangLHws0=
 =rne0
 -----END PGP SIGNATURE-----

Merge tag 'sunxi-drivers-for-5.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into arm/drivers

- build mbus driver only for ARM/ARM64

* tag 'sunxi-drivers-for-5.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
  soc: sunxi: mbus: Only build the driver on ARM/ARM64

Link: https://lore.kernel.org/r/YshfPux1c2x9S7Fi@kista.localdomain
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-12 15:00:29 +02:00
AngeloGioacchino Del Regno
4d3ddc9bce soc: mediatek: mutex: Simplify with devm_platform_get_and_ioremap_resource()
Convert platform_get_resource(), devm_ioremap_resource() to a single
call to devm_platform_get_and_ioremap_resource(), as this is exactly
what this function does.

While at it, also remove a redundant call to of_address_to_resource(),
as this was getting the address of the same resource index 0: we can
as well get the iostart from the 'regs' pointer.

Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20220623121701.107512-1-angelogioacchino.delregno@collabora.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2022-07-08 10:29:17 +02:00
AngeloGioacchino Del Regno
2b5764fb7b soc: mediatek: pm-domains: Add support for Helio X10 MT6795
Add pm-domains (mtcmos) data for MediaTek Helio X10 MT6795 SoC.

Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20220503141441.125852-3-angelogioacchino.delregno@collabora.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2022-07-08 10:26:30 +02:00
Arnd Bergmann
8fcdf10295 arm64: ZynqMP SoC changes for v5.20
- Register SGI separately out of EEMI
 -----BEGIN PGP SIGNATURE-----
 
 iF0EABECAB0WIQQbPNTMvXmYlBPRwx7KSWXLKUoMIQUCYsbo6QAKCRDKSWXLKUoM
 IRL/AJ9mGQtMNdf1hmlf6M+9IMGWcIFJ+gCeKzBZ5LTEDLszQDxqHyHrtxDQ0Uw=
 =SSyQ
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmLH2J0ACgkQmmx57+YA
 GNkNcg//VEbdBHgjNmTriDMWV1+g8dz4l0wrlUHBgza0ZEKZJ4DuM61r7WT5+M/3
 u+ahD4ZV2EdUk95OhHFRPI2bjKZBvHLJSdWColjD/Xd8Vd4PqmYkviv/080hB5tF
 lcM86m3G0IFWoeBExn7kdvc7q9uLEl7jn4UhqiukTqOeVquv54w/MG5df4k70oKX
 60KUY+eScYenj2cGKnb+/D1XMWde1bhAoADss3UtlxdS6PTc8zdHsoi6L/0BslPg
 5zOAH0Bat/Y+9Z92jHatw1LBpwh4pB8MRzD6E+m4t/hA7YvhF7MfWXEEKBRJ1XcI
 ekHzKqDO1+GBEfiZ1/+ZpgB4rGcTFqdtOYJPp5GiJbt/ju281fm7gq5WSP107kLN
 l6TR8WLC+PjJaR60oqWH9uooUWaMWP84WPwPGIWYt5En13KFDkQNlZnS2EKDMzlR
 c3O3v2FXkSrPb7XV7sg///dSuS4G2Qkt6LD5ZnU+qRE4mlOYhHdCZvC5e8bX4iFV
 vDTe8cUbmTmfdRI2kZrHeWKwRuMNLk9WM7w5OtL5NdD9155ZSUMs6VEtoWyDbFHT
 BEMMOm5YfufYG/h3ZvT3ylTeCO9BQ1T8biuKwmdvshy5t9OiJ5rthgtLIYwzWfZx
 M5XdESDnwCJVdnSpwvhSsDJ1HgU9tndVIHyubFPLg4sxb3U3TBw=
 =CF+P
 -----END PGP SIGNATURE-----

Merge tag 'zynqmp-soc-for-v5.20' of https://github.com/Xilinx/linux-xlnx into arm/soc

arm64: ZynqMP SoC changes for v5.20

- Register SGI separately out of EEMI

* tag 'zynqmp-soc-for-v5.20' of https://github.com/Xilinx/linux-xlnx:
  firmware: xilinx: Add TF_A_PM_REGISTER_SGI SMC call

Link: https://lore.kernel.org/r/0196d1f3-e9c7-ef51-143d-e98b14980f63@monstr.eu
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-08 09:11:25 +02:00
Nathan Chancellor
c749d676a3 soc: mediatek: SVS: Use DEFINE_SIMPLE_DEV_PM_OPS for svs_pm_ops
When building this driver for an architecture that does not support
CONFIG_PM_SLEEP, such as hexagon, the following warnings occur:

  drivers/soc/mediatek/mtk-svs.c:1481:12: error: unused function 'svs_suspend' [-Werror,-Wunused-function]
  static int svs_suspend(struct device *dev)
             ^
  drivers/soc/mediatek/mtk-svs.c:1515:12: error: unused function 'svs_resume' [-Werror,-Wunused-function]
  static int svs_resume(struct device *dev)
             ^
  2 errors generated.

This happens because SIMPLE_DEV_PM_OPS uses SET_SYSTEM_SLEEP_PM_OPS,
which evaluates to nothing when CONFIG_PM_SLEEP is not set, leaving the
functions unused in the eyes of the compiler.

This problem was rectified in commit 1a3c7bb088 ("PM: core: Add new
*_PM_OPS macros, deprecate old ones") with new macros. Use
DEFINE_SIMPLE_DEV_PM_OPS to fix the warning while not changing
svs_pm_ops when CONFIG_PM_SLEEP is set.

Fixes: 681a02e950 ("soc: mediatek: SVS: introduce MTK SVS engine")
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Link: https://lore.kernel.org/r/20220622175649.1856337-1-nathan@kernel.org
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2022-07-07 12:07:23 +02:00
AngeloGioacchino Del Regno
13bde169c6 soc: mediatek: mtk-pm-domains: Allow probing vreg supply on two MFGs
MediaTek SoCs have multiple MFG power-domains, exclusively used for
the GPU which, in turn, requires external power supplies: make sure
to have the MTK_SCPD_DOMAIN_SUPPLY cap on the two topmost MFGs to
allow voting for regulators on/off upon usage of these power domains.

This also ensures that the SRAM is actually powered and that we're
not relying on the bootloader leaving this supply on when performing
the first (and latter) poweron sequence for these domains' sram.

Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20220623123850.110225-2-angelogioacchino.delregno@collabora.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2022-07-07 12:07:23 +02:00
Kishon Vijay Abraham I
f16afe238a soc: ti: pruss: Enable support for PRUSS-M subsystem on K3 AM62x SoCs
The K3 AM62x family of SoC has one PRUSS-M instance and it has two
Programmable Real-Time Units (PRU0 and PRU1). This does not support
Industrial Communications Subsystem features like Ethernet.

The existing pruss platform driver has been updated to support this
through a new AM62x specific compatible.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Link: https://lore.kernel.org/r/20220602120613.2175-4-kishon@ti.com
2022-07-06 19:34:45 -05:00
Krzysztof Kozlowski
b9c2ae6cac soc: qcom: icc-bwmon: Add bandwidth monitoring driver
Bandwidth monitoring (BWMON) sits between various subsytems like CPU,
GPU, Last Level caches and memory subsystem.  The BWMON can be
configured to monitor the data throuhput between memory and other
subsytems.  The throughput is measured within specified sampling window
and is used to vote for corresponding interconnect bandwidth.

Current implementation brings support for BWMON v4, used for example on
SDM845 to measure bandwidth between CPU (gladiator_noc) and Last Level
Cache (memnoc).  Usage of this BWMON allows to remove fixed bandwidth
votes from cpufreq (CPU nodes) thus achieve high memory throughput even
with lower CPU frequencies.

The driver was tested on SDM845.

Co-developed-by: Thara Gopinath <thara.gopinath@gmail.com>
Signed-off-by: Thara Gopinath <thara.gopinath@gmail.com>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220704121730.127925-3-krzysztof.kozlowski@linaro.org
2022-07-06 15:57:51 -05:00
Florian Fainelli
681f872a2e Immutable branch between MFD and SoC due for the v5.20 merge window
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEdrbJNaO+IJqU8IdIUa+KL4f8d2EFAmLFdx8ACgkQUa+KL4f8
 d2H8RxAAqTUJPtcFTM3Yy3xBJo4kdVHac/aok5nn+GOQ4yP+UmZgsl6PA35Ly2dL
 fuNmGZonlMxiQ56S0vX1/AxJukTGDPti6bO1uIl2hd+9hk3CQLMEbu4l1FQ0sFW1
 6iUxKKu8VcfYqEVck6Hew2hn7xa/SlpaUcnb3bUj8+w/+0m9ejOQ2MjQD8WdvlFy
 QEDl4CY5MF/tYUCzqFbvMTGhpoCRi6XK0DTV9BIt9kogsYV7gmaIp0E3nr67BaUX
 hR9+yBfzjFqzzrqyMsVu+8kLeMi9rBFSKgiCn6Uvmgkpn6lz8wk2gQurs6bJSGo4
 B94DwaWpYCMBC6pv5VHCRESPSIbLbwiB8ct26TW2FWroVsp26G+ssXRpst2hn272
 ByVjyv3waewFTzCAmvXYrbdgBp7lvBvsnodEfPcaCfGdKOAe28j2qD1iutQUhA8S
 MwabDnhNr1X9zrtKfh0p+xJXQTby88euBnRBZn0r/gFH14mMiJiYHiU8u7+HedLH
 S/WypbJbhlNSXvhVrkaWP1krJfoD1eeuqlERvoADXHqquZQHaL2V2/9P0wwr0wFr
 2x4gROE8jmd+zKkuWNHCHgMl6AUOmoDOmZE7P3SVvh4f9tCcR/KO0uDT9DwW/cQk
 qWGdEcxGIeRyrEIoCOZs6LBEjNKHWg1e+Zau0pSPlJIbtugxjpI=
 =a2u7
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEm+Rq3+YGJdiR9yuFh9CWnEQHBwQFAmLFtcYACgkQh9CWnEQH
 BwTaog/+OO0ibxO2+okYcxVM5JQN3eYEc5iMGvNH53kyIe6+vA5S7hq2ceOkhkCs
 n6K0KyblYP9aqk9RXKFT41vXN1A3vdDc1Hbm0G+H8uPRmzkmgUAzoKp5H7cypGLB
 vq0x0QFgYau0HxDgTmr2BEes247SOFKj3t18CMn3WaUgGipbO4xIcL4ghHTPWgYc
 21NYupCBobikzZEGlDSl8N1J/MH8IpmaJyCeFzLySsL+Q2TpbtXsCGp/z4hm2KXn
 LcQONpL3aRKmGw91F2kgV3Hj1gVYLGD1dC62R+KtmFLfUW42+mLl32zQjVfEe5xm
 CdnEL3X4J2yyPxEU33dNCAldV6uq3UGjOdXCjn5pOSF9ZROer8Xuq7TEw7lrZYEP
 XCwyfmbddYtIXNk99IdupQz2QiGi9H8MBYjG4Mqw4xL/dw2wBvalNOWKnJc6kqOD
 dNvtlQEYxN7FOZILJmGF2K2rCNYi1AOmGRAlA1cBk3a0+ylL+T3TVALUlfpQAqN4
 Oro9HXeKBA9L09mNyK3by3ZgmpP8flYwmKbpwtINgIWMPzoirgZx4m5BK6XqVaMB
 LJ7RvxqYjroptAiAV+nZzlFF3a/gLQhu1SByDLP5phySnJIzPSmiP2Z9VzCld3k7
 /O8jMj+qTI7VoTqVLP7b5OjboMEfzTtfoWmt+DEqG+f4RbYYX6Q=
 =nZ56
 -----END PGP SIGNATURE-----

Merge tag 'tags/ib-mfd-soc-bcm-v5.20' into drivers/next

Immutable branch between MFD and SoC due for the v5.20 merge window

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2022-07-06 09:18:05 -07:00
Samuel Holland
db1bfbd60e soc: sunxi: mbus: Only build the driver on ARM/ARM64
This driver exists as a workaround for old devicetrees which are missing
interconnects properties, so it is only useful for those specific
platforms, which all happen to be ARM or ARM64.

This solves the issue that the driver fails to build on RISC-V, where
PHYS_OFFSET is not defined.

Signed-off-by: Samuel Holland <samuel@sholland.org>
Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Link: https://lore.kernel.org/r/20220702032520.22129-1-samuel@sholland.org
2022-07-05 22:05:59 +02:00
Konrad Dybcio
7d0221fb59 soc/qcom: Make QCOM_RPMPD select PM_GENERIC_DOMAINS/_OF
The driver uses generic genpd OF APIs and with a very minimal config
where nothing else selects them, this driver will not probe, as
of_genpd_add_provider_onecell will return -EOPNOTSUPP.

Make sure to select these in Kconfig to prevent that.

Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220701073700.17124-1-konrad.dybcio@somainline.org
2022-07-05 11:16:46 -05:00
Yang Yingliang
63f9815307 soc: fsl: guts: check return value after calling of_iomap() in fsl_guts_get_soc_uid()
of_iomap() may return NULL, so we need check the return value.

Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Reviewed-by: Michael Walle <michael@walle.cc>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2022-07-05 08:41:55 +08:00
Yang Yingliang
edf12b913a soc: fsl: guts: fix return value check in fsl_guts_init()
In case of error, of_iomap() returns NULL pointer not ERR_PTR().
The IS_ERR() test in the return value check should be replaced
with NULL test and return -ENOMEM as error value.

Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Reviewed-by: Michael Walle <michael@walle.cc>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2022-07-05 08:41:20 +08:00
Bill Wendling
0ec29ccf94 soc: qcom: smem: use correct format characters
When compiling with -Wformat, clang emits the following warnings:

drivers/soc/qcom/smem.c:847:41: warning: format specifies type 'unsigned
short' but the argument has type 'unsigned int' [-Wformat]
                        dev_err(smem->dev, "bad host %hu\n", remote_host);
                                                     ~~~     ^~~~~~~~~~~
                                                     %u
./include/linux/dev_printk.h:144:65: note: expanded from macro 'dev_err'
        dev_printk_index_wrap(_dev_err, KERN_ERR, dev, dev_fmt(fmt), ##__VA_ARGS__)
                                                               ~~~     ^~~~~~~~~~~
./include/linux/dev_printk.h:110:23: note: expanded from macro 'dev_printk_index_wrap'
                _p_func(dev, fmt, ##__VA_ARGS__);                       \
                             ~~~    ^~~~~~~~~~~
drivers/soc/qcom/smem.c:852:47: warning: format specifies type 'unsigned
short' but the argument has type 'unsigned int' [-Wformat]
                        dev_err(smem->dev, "duplicate host %hu\n", remote_host);
                                                           ~~~     ^~~~~~~~~~~
                                                           %u
./include/linux/dev_printk.h:144:65: note: expanded from macro 'dev_err'
        dev_printk_index_wrap(_dev_err, KERN_ERR, dev, dev_fmt(fmt), ##__VA_ARGS__)
                                                               ~~~     ^~~~~~~~~~~
./include/linux/dev_printk.h:110:23: note: expanded from macro 'dev_printk_index_wrap'
                _p_func(dev, fmt, ##__VA_ARGS__);                       \
                             ~~~    ^~~~~~~~~~~

The types of these arguments are unconditionally defined, so this patch
updates the format character to the correct one and change type of
remote_host to "u16" to match with other types.

Signed-off-by: Bill Wendling <morbo@google.com>
Tested-by: Justin Stitt <jstitt007@gmail.com>
Reviewed-by: Justin Stitt <jstitt007@gmail.com>
Link: https://github.com/ClangBuiltLinux/linux/issues/378
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-04 14:26:51 +02:00
Nicolas Saenz Julienne
9e95c67efa soc: bcm: bcm2835-power: Bypass power_on/off() calls
Bypass power_on/power_off() when running on BCM2711 as they are not
needed.

Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Reviewed-by: Peter Robinson <pbrobinson@gmail.com>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Link: https://lore.kernel.org/r/20220625113619.15944-12-stefan.wahren@i2se.com
2022-07-04 11:59:55 +01:00
Stefan Wahren
a7120238c2 soc: bcm: bcm2835-power: Add support for BCM2711's RPiVid ASB
In BCM2711 the new RPiVid ASB took over V3D. The old ASB is still present
with the ISP and H264 bits, and V3D is in the same place in the new ASB
as the old one.

Use the fact that 'pm->rpivid_asb' is populated as a hint that we're on
BCM2711.

Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Reviewed-by: Peter Robinson <pbrobinson@gmail.com>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Link: https://lore.kernel.org/r/20220625113619.15944-11-stefan.wahren@i2se.com
2022-07-04 11:59:43 +01:00
Stefan Wahren
a6a1747a5c soc: bcm: bcm2835-power: Resolve ASB register macros
The macros in order to access the ASB registers have a hard coded base
address. So extending them for other platforms would make them harder
to read. As a solution resolve these macros.

Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Reviewed-by: Peter Robinson <pbrobinson@gmail.com>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Link: https://lore.kernel.org/r/20220625113619.15944-10-stefan.wahren@i2se.com
2022-07-04 11:59:32 +01:00
Stefan Wahren
c494a447c1 soc: bcm: bcm2835-power: Refactor ASB control
The functions to control the async AXI bridges are almost identical.
So define a general function to handle it and keep the original ones as
wrapper. This should make this driver easier to extend.

Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Reviewed-by: Peter Robinson <pbrobinson@gmail.com>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Link: https://lore.kernel.org/r/20220625113619.15944-9-stefan.wahren@i2se.com
2022-07-04 11:59:21 +01:00
Arnd Bergmann
aa61fa3e36 Amlogic Drivers changes for v5.20:
- Fix refcount leak in meson-secure-pwrc.c
 - Fix refcount leak in meson_mx_socinfo_init
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEPVPGJshWBf4d9CyLd9zb2sjISdEFAmK+qqwACgkQd9zb2sjI
 SdERLRAA0CWCXOmUbHvpLZc/Pjac16sMJ5Cc7Y8Az/tf17UAAekuay6w11ZIdKWW
 XBSY7McC/+hVaJcT2QANo4Axo3Br2T80osGMEv2CdQ6X6m7fP/rAVCaq2T1CeuZS
 Vombc5tgqTdiNh3pT8sFV6dTorGe+mEUxy1p1epKIoHTm2TR9erbrCsV1yG+O83q
 yC+M89dqAtb925uAp6FbQX/e81vnbezBCdyWd3iNaseZ0pmPlOXHrTgtPmAcb2eC
 RxVOJo0Uc0SeEOd6Cq5sD92pNQ53jwJcs4KUzZZC52/Ni7TkDexcwIn7UqazFYe2
 vPPE66CgI0wWveDRPPyOVkh1QJrsk+TPDIBGLX8vxRv2VhEUykFle8tao1Tn4Cpx
 Nd0ApfuB60yEGsZnqbV1SxnJu59BbFETGKOWKcImKEnC/c1sne6DVbzkFfzUKyIr
 dIy48lIku9gQko6vk90iRzFIP0Dd2KhwJhWUbm0necakzNWBD2sB19r9dTmtfJ/Q
 SsiKo4Ts/oKAMfdttGt9iPdtfsysX8wnAuCo9UXdjPS60zuke64GEQ2ISKc/6VJN
 vny5ebNhkJbmdjqYlJZ5BzBbYTN307qSmHs8ZBhdLiSLMgfhyBtnooLyGtb+Ddb8
 P/L5g95jlpKzqaQAiMrvz2kmIjpPm2rZp9imGr7akL8sG50y1eU=
 =T3Kd
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmK/V6IACgkQmmx57+YA
 GNkBGw//WcS2pTHRjQUYg5Bcy+13dDgWq4XHwtoBuBPBg7J6CNVfbNKUqO9ukcY+
 paYroFcb+KVSP+aQqJndit4fSp+Pr4eKb5rwKnjbXg/OiJhpmiOrUb0xzoJCHIH/
 jtBJ/H7NLzY4gCGMy3bD7RyrE1J7KblenlYy8b+6c26zdGnQRI5tATTqNM3N6Y8X
 wMRphRGbdv87eZ0akGTp/lWgVlsD4LPpOGaxWpLyzRUwElDz2IE68rj5y5X14KBu
 yU2rvmx2Us3rVSKMA4xp6nlTzHkCN3Q/S8R4j2aR6DaYDpdSTmthk6Hm5/RR3il7
 xwWTQRB2U2Ap0zYDymmFd6KOnViM1sWghiQEL0celQVpkxWDKcFwbURiRLgnK+5z
 2sms67A2IcUpXNulZVoBFwwjlKlS4H4u5lW/B89Xm9lS2WYACEiPuBSixJ4C+vBY
 eYOvE2YqXQTY9Ylqv78ceAnpokcDrHPBz6ZQ8O7xWFF27yRihcoU8jS7RH2XB6DH
 zeQK6B0+btbFo9u7FTvhwFgVKkCg5z5VXjI1+nzZYyfOrApYDI7MCe3Vx2rfS/fu
 dmBZ+j/8GyDlpSYX5IWBMs3pBFEk37nHRckpLsRldKvK75wMrlMqDx9e5QaP6nTc
 2j+pjIVQt+PwdmQSt/bcTZOoO8AxYAE0q+a8pHFHgW9oHJs3Vuc=
 =KaI8
 -----END PGP SIGNATURE-----

Merge tag 'amlogic-drivers-for-v5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux into arm/drivers

Amlogic Drivers changes for v5.20:
- Fix refcount leak in meson-secure-pwrc.c
- Fix refcount leak in meson_mx_socinfo_init

* tag 'amlogic-drivers-for-v5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux:
  soc: amlogic: Fix refcount leak in meson-secure-pwrc.c
  meson-mx-socinfo: Fix refcount leak in meson_mx_socinfo_init

Link: https://lore.kernel.org/r/0c01e173-9abf-69ac-7882-e6ecc3935c33@baylibre.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-01 22:22:57 +02:00
Arnd Bergmann
92a1691b9d Renesas driver updates for v5.20
- Small fixes and improvements.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCYrVvaQAKCRCKwlD9ZEnx
 cErcAP9I7JffzrhKlkPAxuVWcjW1skuj4y5K31M2Wsz3sFRddgEAoyYRm9H2cUHu
 CJMqvds7W1MVtgvTbOKjnMx6pjx3egQ=
 =tqeB
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmK/V0sACgkQmmx57+YA
 GNnXFw/+MIOR9IgRmkb71G91IB4Y++e2TW5dTIu4elmWBgfLWx963wYSAsLAqSsn
 6kGqBoKOJCv5UM+EROeN/yiG97YtsDWa4nTZHHP0sTPmL8uzy9AeT2PhSE1weL8U
 R0BVnOL8WG94j/eQS9KbSDg1A6wvbxcp7796nCGkI2n7jCir0Tmu83Fa/TvWMtP+
 iq0ziZbXse1aPK4y/AVbg6yF9ONLo6WcebLu8tWkVUEAU4T8TvyM1pPiBVUlTqPB
 3dfKfnZ+xjTnJzCi15MuIvopYOozrSjYFmD4Wt9WIns6+ZZIccTzae0c9hfGpYFd
 ZfC6uS5ILWxUyyRbIwBW1EzcCkI7479g27wVWSuxc4inV1Y5MKp4yc0hsbX4vqZD
 po6AC0ciwG1NfE7pmPEPzcrxsxNLOdQ6UmtKQT9wHVik/b6vl7MkmFXV8Co13qNu
 Nz/4fh/Cq4+JdhFxYBUPAXTcEzWLmeUgozIXZKVy1xKTWP/9RoLtOmJkXsYZuyWo
 ZvJ23Q3zPu3/wkvVPBlUTHddt9m5t6bwt1KvCTA7SqJ2iwnr9NW3Wbyc0qYjoAqi
 ZS2Mjfhq4Wfme4eF+gXHfIO2Qx7Sln4pnzQzE1wz7jdj/wKhXYR/lzxt24BKlBKC
 HwcrnYlf8seQT8eTUPmuIMW7VkQHUrUHCMSHqr2/QRa0nBflR5g=
 =Y6m1
 -----END PGP SIGNATURE-----

Merge tag 'renesas-drivers-for-v5.20-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into arm/drivers

Renesas driver updates for v5.20

  - Small fixes and improvements.

* tag 'renesas-drivers-for-v5.20-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  soc: renesas: rcar-sysc: Optimize rcar_sysc_area struct sizes
  soc: renesas: r8a779a0-sysc: Fix A2DP1 and A2CV[2357] PDR values

Link: https://lore.kernel.org/r/cover.1656069638.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-01 22:21:31 +02:00
Arnd Bergmann
a38dbb4f20 AT91 fixes for 5.19
It contains 3 SoC fixes and 2 DT fixes:
 SoC:
 - fix the wakeup from RTC and RTT for ULP1 mode
 - fix section mismatch warning
 - fix SAM9X60 SiP detection
 
 DT:
 - fixes the EEPROMs compatibles for sama5d2_icp and sam9x60ek and EEPROM
   size for sam9x60ek
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQTsZ8eserC1pmhwqDmejrg/N2X7/QUCYrraHQAKCRCejrg/N2X7
 /SttAQDmoJ4WB6+osorxNV+G9CnHZHQJHjI0X2ZTUGj59k6vIAEAu+LGjHyUmxVe
 TfYbnfaAgOICc8HsC2CbdkeR01RqNAM=
 =x+2+
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmK+81wACgkQmmx57+YA
 GNlQiBAAjEhrj2SQkigFGgGR+YFo+se/gNwOBz3OXZ6VyVFVqAKaaqC0MBM9OyBD
 Yyf6nGTT+VLe+Ekc/y7GtIW2oaCDTansk6E+MXe8QSHzs3T6BmKONAIH1YqUFZ3a
 0YCR9jBlIL16l3X08KnAhOm35iaqO0SgEZ9RDfGfTIWDAFmBis5rst5VreAlEbPp
 9LPsKYFjd7tqP1jFYpgE8UTkDZgS3rQHnsBAKKCLXT0tFTudgGk5B9/3Ni0V1wM2
 3ubf+1CW2vvbfXFtpruRzNlZ+Li3fZ0/b1bXRGXLZLRh2+/LvMVLEb/KN9Ln20hZ
 pYT0IYJhfu8MWgcZUof1Qnc437nDie7YoJ1JrDV13uhDhlBwW/E3KMtXLWvX07n3
 9p6IvbVGX/Wen7j1MWyOztJ55j4XbJebNcm2s/uXygjT3f4zsVk9HbFHpfiElPSZ
 xfqGRz+3ygRRA/itE3SMnmiCKRKip99NH9ohstzPg6xJ882fPQo+3BGFGo1AN4Mw
 Evj4bvDWX6NBgR1LSJFv0JG82wWWKm9byxcpKGXJ6g5dTwmyC/a+HHnmZ+iDWiq/
 BYtyS3iuE/5YFp7tO9AXYBfQyiMZ3VlKt0KqCK2GFxa7KN7CY2fALusVt44WJY7E
 FFwDvQ5kvAdERvVG4ddYGHj7Hjg9euDpht/l3fqIkNaFtWM27fo=
 =CHPb
 -----END PGP SIGNATURE-----

Merge tag 'at91-fixes-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/at91/linux into arm/fixes

AT91 fixes for 5.19

It contains 3 SoC fixes and 2 DT fixes:
SoC:
- fix the wakeup from RTC and RTT for ULP1 mode
- fix section mismatch warning
- fix SAM9X60 SiP detection

DT:
- fixes the EEPROMs compatibles for sama5d2_icp and sam9x60ek and EEPROM
  size for sam9x60ek

* tag 'at91-fixes-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/at91/linux:
  ARM: at91: pm: Mark at91_pm_secure_init as __init
  ARM: at91: fix soc detection for SAM9X60 SiPs
  ARM: dts: at91: sama5d2_icp: fix eeprom compatibles
  ARM: dts: at91: sam9x60ek: fix eeprom compatible and size
  ARM: at91: pm: use proper compatibles for sama7g5's rtc and rtt
  ARM: at91: pm: use proper compatibles for sam9x60's rtc and rtt
  ARM: at91: pm: use proper compatible for sama5d2's rtc

Link: https://lore.kernel.org/r/20220628135130.3114878-1-claudiu.beznea@microchip.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-01 15:15:08 +02:00
Linus Walleij
620f83b832
soc: ixp4xx/npe: Fix unused match warning
The kernel test robot found this inconsistency:

  drivers/soc/ixp4xx/ixp4xx-npe.c:737:34: warning:
  'ixp4xx_npe_of_match' defined but not used [-Wunused-const-variable=]
     737 | static const struct of_device_id ixp4xx_npe_of_match[] = {

This is because the match is enclosed in the of_match_ptr()
which compiles into NULL when OF is disabled and this
is unnecessary.

Fix it by dropping of_match_ptr() around the match.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20220626074315.61209-1-linus.walleij@linaro.org'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-07-01 15:14:26 +02:00
Miaoqian Lin
e6e0951414 soc: qcom: aoss: Fix refcount leak in qmp_cooling_devices_register
Every iteration of for_each_available_child_of_node() decrements
the reference count of the previous node.
When breaking early from a for_each_available_child_of_node() loop,
we need to explicitly call of_node_put() on the child node.
Add missing of_node_put() to avoid refcount leak.

Fixes: 05589b30b2 ("soc: qcom: Extend AOSS QMP driver to support resources that are used to wake up the SoC.")
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220606064252.42595-1-linmq006@gmail.com
2022-06-30 22:03:58 -05:00
Xiang wangx
a3e7259f9e soc: qcom: llcc: Fix syntax errors in comments
Delete the redundant word 'and'.

Signed-off-by: Xiang wangx <wangxiang@cdjrlc.com>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220604142327.14714-1-wangxiang@cdjrlc.com
2022-06-30 22:00:27 -05:00
Miaoqian Lin
92a563fcf1 soc: qcom: ocmem: Fix refcount leak in of_get_ocmem
of_parse_phandle() returns a node pointer with refcount
incremented, we should use of_node_put() on it when not need anymore.
Add missing of_node_put() to avoid refcount leak.
of_node_put() will check NULL pointer.

Fixes: 88c1e9404f ("soc: qcom: add OCMEM driver")
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
Reviewed-by: Brian Masney <masneyb@onstation.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220602042430.1114-1-linmq006@gmail.com
2022-06-30 21:50:46 -05:00
Tanmay Shah
acd6510dd7 firmware: xilinx: Add TF_A_PM_REGISTER_SGI SMC call
SGI interrupt register and reset is performed by EEMI ioctl
IOCTL_REGISTER_SGI. However, this is not correct use of EEMI call.
SGI registration functionality does not qualify as energy management
activity and so shouldn't be mapped to EEMI call.

This new call will replace IOCTL_REGISTER_SGI and will  be handled by TF-A
specific handler in TF-A. To maintain backward compatibility for a while
firmware driver will still use IOCTL_REGISTER_SGI as fallback strategy if
new call fails or is not supported by TF-A.

This new design also helps to make TF-A as pass through layer for EEMI
calls. So we don't have to maintain PM_IOCTL as EEMI API ID in TF-A.

Signed-off-by: Tanmay Shah <tanmay.shah@xilinx.com>
Acked-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/20220607224253.54919-1-tanmay.shah@xilinx.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
2022-06-29 14:46:22 +02:00
Douglas Anderson
fe72f9bce1 soc: qcom: cmd-db: replace strscpy_pad() with strncpy()
Commit ac0126a017 ("soc: qcom: cmd-db: replace strncpy() with
strscpy_pad()") breaks booting on my sc7280-herobrine-herobrine
device. From printouts I see that at bootup the function is called
with an id of "lnbclka2" which is 8 bytes big.

Previously all 8 bytes of this string were copied to the
destination. Now only 7 bytes will be copied since strscpy_pad() saves
a byte for '\0' termination.

We don't need the '\0' termination in the destination. Let's go back
to strncpy(). According to the warning:
  If a caller is using non-NUL-terminated strings, strncpy() can still
  be used, but destinations should be marked with the __nonstring
  attribute to avoid future compiler warnings.
...so we'll do that.

While we're at it, let's change the query array to use
"sizeof(ent->id)" so it can't possibly go out of sync with our later
copy.

Fixes: ac0126a017 ("soc: qcom: cmd-db: replace strncpy() with strscpy_pad()")
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220628064301.v3.1.Ie7b480cd99e2c13319220cbc108caf2bcd41286b@changeid
2022-06-28 14:44:44 -05:00
Mihai Sain
35074df65a ARM: at91: fix soc detection for SAM9X60 SiPs
Fix SoC detection for SAM9X60 SiPs:
SAM9X60D5M
SAM9X60D1G
SAM9X60D6K

Fixes: af3a10513c ("drivers: soc: atmel: add per soc id and version match masks")
Signed-off-by: Mihai Sain <mihai.sain@microchip.com>
Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Link: https://lore.kernel.org/r/20220616081344.1978664-1-claudiu.beznea@microchip.com
2022-06-28 12:55:32 +03:00
Marek Vasut
1ec32a4f1c soc: imx: imx8m-blk-ctrl: Make error prints useful
Print the name of the power domain which failed to make the error
prints actually useful for finding the error.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Alexander Stein <alexander.stein@ew.tq-group.com>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: Martyn Welch <martyn.welch@collabora.com>
Cc: Paul Elder <paul.elder@ideasonboard.com>
Cc: Shawn Guo <shawnguo@kernel.org>
Acked-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2022-06-27 16:16:15 +08:00
Michael Walle
786dde1e59 soc: fsl: guts: add serial_number support
Most layerscapes provide a security fuse processor where the vendor
will store a unique id per part. Unfortunately, we cannot use the
corresponding efuse driver because this driver needs to be ready
early during the boot phase. To get the unique identifier, we just
need to access two registers. Thus we just search the device tree
for the corresponding device, map its memory to read the id and then
unmap it again.

Because it is likely that the offset within the fuses is dependent
on the SoC, we need a per SoC data. Also, the compatible string is
different among the SoCs. For now, this add support for the LS1028A
SoC.

Signed-off-by: Michael Walle <michael@walle.cc>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2022-06-27 14:52:02 +08:00
Michael Walle
55488c90b3 soc: fsl: guts: drop platform driver
This driver cannot be unloaded and it will be needed very early in the
boot process because other driver (weakly) depend on it (eg. for chip
errata handling). Drop all the platform driver and devres stuff and
simply make it a core_initcall.

Signed-off-by: Michael Walle <michael@walle.cc>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2022-06-27 14:51:59 +08:00
Michael Walle
b46dd0cb93 soc: fsl: guts: use of_root instead of own reference
There is already a global of_root reference. Use that instead of getting
one on our own. We don't need to care about the reference count either
this way.

Signed-off-by: Michael Walle <michael@walle.cc>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2022-06-27 14:51:56 +08:00
Michael Walle
5d707e4e3f soc: fsl: guts: allocate soc_dev_attr on the heap
This is the last global static variable. Drop it and allocate the memory
on the heap instead.

Signed-off-by: Michael Walle <michael@walle.cc>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2022-06-27 14:51:54 +08:00