3107 Commits

Author SHA1 Message Date
Thomas Gleixner
20e2e09c09 soc: fsl: dpio: Remove linux/msi.h include
Nothing in this file needs anything from linux/msi.h

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20221113202428.760225831@linutronix.de
2022-11-23 23:07:37 +01:00
Arnd Bergmann
a7a7c00cdc TI SoC driver updates for v6.2 v2
* Minor bugfixes for knav_qmss_queue, smartreflex drivers
 * API optimizations including using devm, bitmap apis to
   ti-sci, soc-info drivers
 * k3-ringacc can now be built as modules for certain
   distros that mandate such usage.
 * k3-socinfo can now detect AM62A SoCs.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE+KKGk1TrgjIXoxo03bWEnRc2JJ0FAmN9SRsACgkQ3bWEnRc2
 JJ0YBQ/9F2cqRCAQNVMWBuvLL9YkkIQtmwWCKA5x2Ommjjb7uzIL4lXxihRTytaZ
 OpyFk5PcPRKyaHoQgUeHsa5B8aK95ItWFsDN/8yNyZkAcBvUujyRK2kZDMD0XqbV
 pfvpUFGCxbH3vCfQdYimw5k433unxLRmwR9N2byFFJmbCiGEr6LMjpLB/BAOUWjI
 N34L+ggJacVRfB3wrTLQ3FcTpN63lGWarDezcmrmuSkdefh2R/A7RPcnL7BOxgxu
 N1K5Ab9vbDSaUTbaUXHyM52WaFtxt3UWB+JMk9nuAJTXDllfOBuo6b5n1UjGNysx
 5L2q+OkN8gH3Yk3HGf8OmTocHi/6ybWl6ablHGfFwvizdmXdLU+QV4gLhN3xeNE9
 xMqZtkrA+1nEmyVr/07Xy85I4y8HGIeUXULsch3mz8KpnUnKbV3PWbhPP99I6qFX
 zDtmq6T3No0wfgWbFuEClLHYo7SFolFe70fKljAN4U8zrmSGMJ3tDye2ni7lt++M
 1zAkpNyrz7uIoacL22GEogjxhfwq6fB6rO/um0eVScKIA39/WApFDhoQp64dWHKg
 ctzOwqF72QwHXr0BmuhQTsN9YCl/T+VnUnxeyiIhAadvS0KzF/t9TbfD1bPFFnab
 QGPRvazAHDFXgk3JL5WkiimJZdFNordp7Lo/gPGAnw3QR2nuJKw=
 =Vpxw
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmN+DPcACgkQmmx57+YA
 GNm6ThAArSVogJP6kwdLC4VdsJBEHHR/IreAlRlD81m9g1ZeDG75hHo9V91MPL3u
 YAPQNt6T4wCRrn9CUefnm18tGxlg2uw6tX5Mmpgm/UmQ4zMjWKswIZmYPn5kIdVa
 paIEyqTK+y+Kz3Ga8X0nzNvDiOgPtAOW/kHsTxZ/9L5DfX7Q6d4fneZ0+miVza1J
 7Jg/Kc9uixSLyNipBSRWIx2hBn5Xisd+az/+25Fp6SaM8TMQF06U0XJmP50iR1IR
 hhpT5F4Ukz6X8Qgf6vvB6gKD9gmNEYy4gO+XaFpUmLM+E4VJ0tsVl3uZL8/sR4o+
 IaUEi7pih6iR5Nd/jxnKup2ryxCqfL98zKe32xzkgbJzdNH8CzhhZcuxpbr1dIQj
 IpQcq8HAObhaw25lMEfyi92+0coCPe9L3fiPSCY/ktkrCBxBA3QQeS7tniUfbDFh
 E2AyLTeD3E6/gD3LN6hE9X+NNnDjHfiqCloq6Jscsx+oO3iOu5+QpNhbkbdkPBnO
 mBrtHNdUIBXxHNPwUjbJmL+O6A7UmxMvHZrbuhlfQcgXN2cOu4vEYc0eHgMGsAYq
 3x9zPL9BcmhFRwIVds4WiPxTwJP27YcfvyuQPrIP6TRVQvZgQdKaJHbfDJZL4F3T
 d2VFQEV6PKDcAXpa8YjAmULrFhR1JID9aAznXwoak0ihXPUksdc=
 =UudG
 -----END PGP SIGNATURE-----

Merge tag 'ti-driver-soc-for-v6.2-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/ti/linux into soc/drivers

TI SoC driver updates for v6.2 v2

* Minor bugfixes for knav_qmss_queue, smartreflex drivers
* API optimizations including using devm, bitmap apis to
  ti-sci, soc-info drivers
* k3-ringacc can now be built as modules for certain
  distros that mandate such usage.
* k3-socinfo can now detect AM62A SoCs.

* tag 'ti-driver-soc-for-v6.2-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/ti/linux:
  soc: ti: k3-socinfo: Add AM62Ax JTAG ID
  soc: ti: smartreflex: Fix PM disable depth imbalance in omap_sr_probe
  soc: ti: knav_qmss_queue: Fix PM disable depth imbalance in knav_queue_probe
  firmware: ti_sci: Use devm_bitmap_zalloc when applicable
  soc: ti: k3-ringacc: Allow the driver to be built as module
  firmware: ti_sci: Fix polled mode during system suspend
  firmware: ti_sci: Use the non-atomic bitmap API when applicable
  firmware: ti_sci: Use the bitmap API to allocate bitmaps
  drivers: soc: ti: knav_qmss_queue: Mark knav_acc_firmwares as static

Link: https://lore.kernel.org/r/20221122223856.fwackjg7fbd5jcz7@wannabe
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-23 13:07:19 +01:00
Arnd Bergmann
66b55cae49
Merge tag 'qcom-drivers-for-6.2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/drivers
Qualcomm driver updates for 6.2

The qcom,msm-id and qcom,board-id DeviceTree properties are documented,
to allow them to be used in configurations or devices requiring these
and the socinfo driver is updated to reuse the introduced identifiers.

The rpmh-rsc driver is extended to register for PM runtime notifications
from the CPU clusters, in order to submit sleep and wake votes the last
core in a cluster is being powered down.

A mechanism for keeping rpmhpd resources voted until sync_state is
introduced, this ensures that power-domains required during boot are
kept enabled. The rpmhpd power-domains for SDM670 are also added.

Support for the new QDU1000/QRU1000 platform is introduced in the rpmhpd
and socinfo drivers.

The APR driver gains missing error handling. QMI message descriptors in
the PDR driver are made const.

Support for the RPM found in SM6375 is added. The SPM driver gains
support for MSM8939 and MSM8976 platforms.

The stats and command-db drvers are marked as not having PM support.

* tag 'qcom-drivers-for-6.2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (36 commits)
  dt-bindings: firmware: scm: add sdm670 compatible
  soc: qcom: rpmh-rsc: Write CONTROL_TCS with next timer wakeup
  soc: qcom: rpmh-rsc: Save base address of drv
  PM: domains: Store the next hrtimer wakeup in genpd
  soc: qcom: rpmh-rsc: Attach RSC to cluster PM domain
  dt-bindings: soc: qcom: Update devicetree binding document for rpmh-rsc
  dt-bindings: soc: qcom: qcom,smd-rpm: Use qcom,smd-channels on MSM8976
  soc: qcom: apr: Add check for idr_alloc and of_property_read_string_index
  soc: qcom: socinfo: Add QDU1000/QRU1000 SoC IDs to the soc_id table
  dt-bindings: arm: qcom,ids: Add SoC IDs for QDU1000/QRU1000
  soc: qcom: rpmhpd: Add QDU1000/QRU1000 power domains
  dt-bindings: power: rpmpd: Add QDU1000/QRU1000 to rpmpd binding
  dt-bindings: qcom: smp2p: Add WPSS node names to pattern property
  soc: qcom: spm: Implement support for SAWv2.3, MSM8976 L2 PM
  dt-bindings: soc: qcom: spm: Add compatibles for MSM8976 L2
  soc: qcom: llcc: make irq truly optional
  soc: qcom: spm: Add MSM8939 SPM register data
  dt-bindings: soc: qcom: spm: Add MSM8939 CPU compatible
  dt-bindings: soc: qcom: aoss: Add sc8280xp compatible
  dt-bindings: firmware: document Qualcomm SM6375 SCM
  ...

Link: https://lore.kernel.org/r/20221122202748.1854487-1-andersson@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-23 12:02:44 +01:00
Vignesh Raghavendra
c11b537e41 soc: ti: k3-socinfo: Add AM62Ax JTAG ID
Add JTAG ID entry to help identify AM62Ax SoC in kernel.

Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Reviewed-by: Bryan Brattlof <bb@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Link: https://lore.kernel.org/r/20221119152447.241166-1-vigneshr@ti.com
2022-11-22 16:08:34 -06:00
Arnd Bergmann
919977b690 mmsys:
- add support for MT8186
 - add correct compatible solution for vdosys[0,1] on MT8195
 
 pmic wrapper:
 - add support for MT8365
 -----BEGIN PGP SIGNATURE-----
 
 iQJLBAABCAA1FiEEUdvKHhzqrUYPB/u8L21+TfbCqH4FAmN7w7EXHG1hdHRoaWFz
 LmJnZ0BnbWFpbC5jb20ACgkQL21+TfbCqH7KyA/9GENzKYHhouW/0WiPp4whA3i6
 CU39NsztiHbTcoucymE4dtPBqOFm2PI0KAzkpixe41I0FhWbaleSo60oqPZyoAGZ
 4zdERs/MhpGW8OlHGfDk8x6QS0eoKT+wGNEaDNBp5KY7qeXQudbeUwMqf5ub73JK
 Ply4r3Lakn7NozGzvm55ECRmL+/IfRO5968cKSJNS3Oq43xrndvuGca1TkofQoBO
 uZpnFi+5xi9sxICY6DoXQsiJEhWgjHnNkcMFWkAP2W9wtvb2G8mIF9Axy019eyXD
 9yI5VeTrYRkq1FYStu9TUC9Q+DlWVx3D46EablnWM9R3Td8ZHuPxRByL6AC2LYr/
 vxCxCCY3MASfYPVdnyMBA9wHMz1moEdEwelobW5USmTsXuP+Jv3IVprHGR0h7ux+
 O1BnoRIOmdGjiU63kui/39B+0magZJoqsush8f7MqBXLVMLMl6+HySVSiYsyb/56
 8ZVOQPaphQa0/wFigY+9BYPkJrefq6NPAMaR3CrOVjuAMLt5Mj989jSXHhax29kI
 Q2OQQz3csxomKiDl8sySG6sf6kRFcGFXoETEkTDKDPB0BTD+I0/+Wj4BcShfqlAM
 Oac2eSIyRvqm/4eGr8IPcqRmF/2wHncPRR1wuMHFPqgMM7TOrOUaYovzrbXPlUb+
 YNiBJ/StzuP/M/MBqEQ=
 =HAFo
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmN9QYAACgkQmmx57+YA
 GNk0dg//YhAAVOQa8fzZ4pEjs7IsoUzNnJ1O29Hn/VmaHAsPntzpo8fa/Td+WI7f
 Js+ZwjIXRDv/SL/B0MGxI9fQFyfXr7V6IBZGZ2sfghz1WGCiV42zquSRPJaWXMib
 9JsyeghfhaLbWJBqd7tSGyuSpWC/4XKI1obzSZpTntCADp9a8mW871A+AiX8G4Iw
 XiIWsmbJZcvz5CTNAb7MuxvCT8964Eazcwen6Yxe6NpdhS7jzXurE3CXSG+SMf+4
 I+BDuyTY44d5lhtHHGYn+43vvRl5J42J7A6rNVpoByrvxwtcyIQXeptsJopXFrEg
 ilrvH6bVIoot2ZTi70j1DBiOG398B4hvSY5YLJwKR1aBCyYnwdV8iFZBWNyae+wT
 8MLRU73ygzLQbb2CEiopmpFyVTVVRJcYAdUveIJYgaCdM3IEycYBD5pUZBvpd2Lj
 KdHJm4tVgAqKyh39NxDnCh8aJYWlFYP+NnR/AlJ2c6DKnYWSqk1yfeCR/02gg/1k
 JTqrkC4ebhlIuJm6o7yjItG2HnDwuNnOgugQx5Jp56iPqLYPuuRh6b+SLxUHTTvR
 v5RhZ5cOHuu9ac5AHIaGyu7X3fI31ACCEM2B0iDZ1qRp9+OwCez9WGJNlsgfE5OE
 D7zqdCcm934XDuyawCDQXDEvTSIpFL94RtpIUhoeGyFt3cZtLV0=
 =eHkQ
 -----END PGP SIGNATURE-----

Merge tag 'v6.1-next-soc' of https://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux into soc/drivers

mmsys:
- add support for MT8186
- add correct compatible solution for vdosys[0,1] on MT8195

pmic wrapper:
- add support for MT8365

* tag 'v6.1-next-soc' of https://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux:
  soc: mediatek: Add deprecated compatible to mmsys
  soc: mediatek: pwrap: add mt8365 SoC support
  soc: mediatek: pwrap: add support for sys & tmr clocks
  dt-bindings: soc: mediatek: pwrap: add MT8365 SoC bindings
  soc: mediatek: add mtk-mmsys support for mt8195 vdosys0
  Revert "soc: mediatek: add mtk-mmsys support for mt8195 vdosys0"
  dt-bindings: arm: mediatek: mmsys: change compatible for MT8195
  soc: mediatek: Add all settings to mtk_mmsys_ddp_dpi_fmt_config func

Link: https://lore.kernel.org/r/cc756001-a942-90b0-b79d-62c1fc189828@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-22 22:39:12 +01:00
Arnd Bergmann
2a26daeeb8 soc/tegra: Changes for v6.2-rc1
In addition to a number of improvements and cleanups this contains a
 fix for the FUSE access on newer chips, adds Tegra234 I/O pad support
 and fixes various issues with wake events.
 
 The SoC sysfs revision attribute is updated to include the platform
 information so drivers can check for silicon vs. pre-silicon, among
 other things.
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCAAxFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmN7rkATHHRyZWRpbmdA
 bnZpZGlhLmNvbQAKCRDdI6zXfz6zoU/qEACtzNEmghAtJ+sSSr8+mawvM8DzcffW
 z5NaGkBnRCu588W+X5BLzHFKZA00SDfGCf/+wJE63lG4sZ7FxN3MoS1F/Wq/cpJ1
 eMKarEfzVmdGA2bk91OY5QgUmTi/zm6nlWZiXapbYv20xu6b73PLOR6egiMTBxl8
 dmbDugNhaQQ8hxQwS5fM/5KGP5emxjeCAtHX+l5lEQx/WVfU2qZLU7vaXuh3rvcV
 BTRfTbHSxpan80E/Rw8M91ymgqQTZCQ1Gwvzh412dgxTclHb6HCzliK9cLJHNHa6
 ipSZ9Sy8KSQrGwg+v5IPTuWHUTrkph8nzr0BtuLhqFS8TM4nYfiTeUHVLCn1EXoT
 AqzycHiZTjqThmP7dOIgJWr55RRj9184n/eJ3a5QLvtDx04nWMx/Wg40UsprpgiK
 dxGib/G0j17eK7UB/SWrSjJTVjsbWd+RCeNe4vhgD7nkhRvB+NMfq8o/U0nwIpSD
 +q7JL2jGD4wCJw0uNlTuqG2ZOyjENyKntyVRfH9e0IdWmXjTDBPYcpW5+4D37P9s
 NhBsKr3HOHuPjI4vMZh4MhVrEjwO1vcG6hKRZ8zrlmPI7avWdNb9iOktqm3S6+K8
 TBhfil/FHC1/ATQS9hgNG/vAwa1Ohq+lIPEEVQgCiHgaYLUejmsR/644E3Epstv7
 qN7xiIiWMPqAOA==
 =3mDo
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmN9OvcACgkQmmx57+YA
 GNn+gQ//X94tiKiL8D5K1Y3tby7Q1RraH0uYGHrzhKMX6+zL7wEIz5/SkR2BLVTV
 MHgYQ3mAsoF8HziPfKGo/mRmEWb8UsQYFwnZpbfCGxeHxuXOI/paEkyXQz9Omi7/
 v6XSliBolw5aRxXil0+E8gjnVysLg+IwTvZs78v7EkR8bgbs3D/yzEJu3aLgvuhn
 Ozg2Ix0B8QPK/ltjKp49Z1X7ai7/TI1JaW0ZLqDTJrpAFyyDqWI5KDwcK8pKPezI
 NV4sHwbZ2JHuig2Pl5AUwkuh+76oW0V1qwaEgkgWYyJQXKzXMDkxyTeU1+tZfcC6
 v7EwFrCJxpmBiTacCyPlGJeR7yg+EfKhtP0Mextgw+iRlwYpYqfBuh+0nCg9Ne4U
 3bzgtjqYRRqr13kem4vdlSbZTaOYOytfaZxEHRs1tjwniuWtHJECYQkwCEw8l5JE
 g2b4DiH5GwDwLVC63iNuDTOrmw+42bLihQJAxMwRn3i84Yy22p1a7Dvo6l0jmIOI
 CNF8wpbTNrc19pPTmsa4mAF8tsVd7VUE2nAyknBc9o1kZXjTKDow7KtWM28nIuff
 58lxarZsHKq/1JH+rPOtbZ2cNxZJl8+dqHHDVFrK/NulQUwQPt9OnU79zxnLujab
 vXCUg1n8q+edrEWcmihprqgmK/D0iDrGTop8GNygf0GU1tgau34=
 =A2Gp
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-6.2-soc-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/drivers

soc/tegra: Changes for v6.2-rc1

In addition to a number of improvements and cleanups this contains a
fix for the FUSE access on newer chips, adds Tegra234 I/O pad support
and fixes various issues with wake events.

The SoC sysfs revision attribute is updated to include the platform
information so drivers can check for silicon vs. pre-silicon, among
other things.

* tag 'tegra-for-6.2-soc-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  soc/tegra: cbb: Remove redundant dev_err call
  soc/tegra: cbb: Use DEFINE_SHOW_ATTRIBUTE to simplify tegra_cbb_err
  firmware: tegra: include IVC header file only once
  soc/tegra: cbb: Check firewall before enabling error reporting
  soc/tegra: cbb: Add checks for potential out of bound errors
  soc/tegra: cbb: Update slave maps for Tegra234
  soc/tegra: cbb: Use correct master_id mask for CBB NOC in Tegra194
  soc/tegra: fuse: Use platform info with SoC revision
  soc/tegra: pmc: Process wake events during resume
  soc/tegra: pmc: Fix dual edge triggered wakes
  soc/tegra: pmc: Add I/O pad table for Tegra234
  soc/tegra: fuse: Add nvmem keepout list
  soc/tegra: fuse: Use SoC specific nvmem cells
  soc/tegra: pmc: Select IRQ_DOMAIN_HIERARCHY

Link: https://lore.kernel.org/r/20221121171239.2041835-1-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-22 22:11:19 +01:00
Arnd Bergmann
862fe29b89 RISC-V SoC drivers for v6.2
SiFive:
 - add probe error handling to the ccache driver
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQRh246EGq/8RLhDjO14tDGHoIJi0gUCY3tKmQAKCRB4tDGHoIJi
 0gpXAP9qFisGpAdCWY4GIYv7ScQQxRHeMFZBJbSh4Pa16kWwPAD/X6MWBhpzqpX0
 1AOeDBcE4d5XnFpjs4d7TCNP+0E9MQc=
 =8F+U
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmN83HAACgkQmmx57+YA
 GNnjTRAAoGo2D5iecRcf+8PYeug7ApEpDMqCknr9gNiz+sErJgPlwWwCvD7AA5L/
 6oY69s/qrNSxdtJbcxpU5tHUJLwluckZzW9rdtBgfLHkqV1Gl4MyTCUZ+EG0CXWV
 wXV3RBA8qcT4ZYaqntEcHS+ouAxzWIQAs2BlqjgZwX/EOkkkQDRLQbTA4A2a78YQ
 sbzxIuyuOlwlkfMBs3cx16xYo5pusaIxRn2XeY8jKrCQ81LkFulUI7xkdzFrNNWH
 HL2esqYzN9GwLE7ehPbOMO7x9KW33taN05Gyl7cJVV4TRrqZ5zIAKiRKayiR04rl
 2GZzdTNCsRIsA0vxk/I4BEC9af74fF3hUrcqRd0W7G1MEOoXXt6bn2nYfuGxQFdR
 gXIm6MixOe0W0EY8MD0v/yTdUVl8J5hjtHjFbtKUK9HuVk3j/UkYUNdj06t47Li7
 FdkXLg8eJim+B6K7GGWD344Zslo4nFC5DjwfhmEwJPH39ngI0OOdvqVu6WSFEZHl
 AIl3yXASBYExzRhXuvB75Juu7pZEu7L+Z6JTp27XCAFbCX4dKLsBRnulhod7fuhm
 gcpAaVomefbkKpVG/VFTns3lOUjhhXp0h3BRcNNyWrq0DLnuJd92+gLLyZPmt53w
 bEiLZpBZ8HO5cdFW3ieQ/fnE1x982HYBy727fTQI5Kq0LtP3qFc=
 =vG8L
 -----END PGP SIGNATURE-----

Merge tag 'riscv-soc-for-v6.2-mw0' of https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux into soc/drivers

RISC-V SoC drivers for v6.2

SiFive:
- add probe error handling to the ccache driver

* tag 'riscv-soc-for-v6.2-mw0' of https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux:
  soc: sifive: ccache: fix missing of_node_put() in sifive_ccache_init()
  soc: sifive: ccache: fix missing free_irq() in error path in sifive_ccache_init()
  soc: sifive: ccache: fix missing iounmap() in error path in sifive_ccache_init()

Link: https://lore.kernel.org/r/Y3u0Oydiv2Wauda2@spud
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-22 15:28:00 +01:00
Matthias Brugger
7fd731a826 soc: mediatek: Add deprecated compatible to mmsys
For backward compatibility we add the deprecated compatible.

Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20221111082912.14557-1-matthias.bgg@kernel.org
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2022-11-21 19:25:34 +01:00
Fabien Parent
ba136b5ef5 soc: mediatek: pwrap: add mt8365 SoC support
Add PMIC Wrap support for MT8365 SoC.

Signed-off-by: Fabien Parent <fparent@baylibre.com>
Signed-off-by: Fadwa CHIBY <fchiby@baylibre.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20221031093401.22916-4-fchiby@baylibre.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2022-11-21 19:25:34 +01:00
Fabien Parent
55924157da soc: mediatek: pwrap: add support for sys & tmr clocks
MT8365 requires an extra 2 clocks to be enabled to behave correctly.
Add support these 2 clocks, they are made optional since they seem to
be present only on MT8365.

Signed-off-by: Fabien Parent <fparent@baylibre.com>
Signed-off-by: Fadwa CHIBY <fchiby@baylibre.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20221031093401.22916-3-fchiby@baylibre.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2022-11-21 19:25:34 +01:00
Jason-JH.Lin
b2b99a7a9b soc: mediatek: add mtk-mmsys support for mt8195 vdosys0
1. Add mt8195 driver data with compatible "mediatek-mt8195-vdosys0".
2. Add mt8195 routing table settings of vdosys0.

Signed-off-by: Jason-JH.Lin <jason-jh.lin@mediatek.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20220927152704.12018-4-jason-jh.lin@mediatek.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2022-11-21 19:25:34 +01:00
Jason-JH.Lin
8d8ccdd2e6 Revert "soc: mediatek: add mtk-mmsys support for mt8195 vdosys0"
This reverts commit b804923b7ccb9c9629703364e927b48cd02a9254.

Due to the compatible changing of mt8195 from "mediatek,mt8195-mmsys"
to "mediatek,mt8195-vdosys0", we have to revert this patch and send a
new patch with the new compatible.

Signed-off-by: Jason-JH.Lin <jason-jh.lin@mediatek.com>
Link: https://lore.kernel.org/r/20220927152704.12018-3-jason-jh.lin@mediatek.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2022-11-21 19:25:34 +01:00
Arnd Bergmann
26a1200241 i.MX drivers change for 6.2:
- Improve imx8m-blk-ctrl driver to allow deferred probe in case that
   'bus' genpd is not yet ready.
 - Add missing USB_1_PHY PD for i.MX scu-pd firmware driver.
 - Add GENPD_FLAG_ACTIVE_WAKEUP flag for i.MX8MM/N in GPCv2 driver, so
   that the power domain remains on if USB remote wakeup is enabled.
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmN4ijcUHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM5lRgf+ODRyVDspNDTrazYtvVgr7YVutIBu
 TMjlNPkUKiDtOEjwwCvm30vdKVeI/pWOFoBWCFfrzAcaMc6EGgNaPeO5LvN6NVHI
 ZIzr+gJEVfxbuF+oWpXxdKRl+iEbHy+d9952amhgHwG9Wo5dgEh6I5cCMmyvtJWm
 VBE1qZz6h8Nsj6dlWWPxh1U7aQoLSZeM7i0Dc/7JQfRPeohT5r6IZzNqbW4l40wP
 78ZE8jETMUsfjBKqAmgFqQs+NxGjxwTlPbpx5ZpL23Zj9CeB+C841aweIW0ZqCeX
 fYVqsxVKT5rVYlwZkKaMCtiJQGASPoTz4ZZtAsGoBsecxe/H8dpKF81EHA==
 =5Hgd
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmN7dQYACgkQmmx57+YA
 GNmuZw/9E9SstLZNBAossQOw/WnAgope6//f7RhsPHtDnvm2f826FkJwG6VAcvJS
 ctK8IlvjAHm9q4VVDW86R38aS5W7kyjnrwiNON0X/YW8dNPEciS7mSZzp+H5zw2a
 B0VDrSD0Eojt4ouHANQoLoDbjmz844K6X/N+CQsSr95u9elBy0SAx0QwXK3PM4Px
 sNSXcU6S1QU3WQ/tO0Wyl5yUYpv4Ow4nmTtQA+FqIA8Hz8ZC9+NEsnEWaVVNv9EA
 R1bCX4V39kfm7UyBp9adSAKSOLrbaSObiWSgM1zPmoxNPRkrAW4f3vIoNOjjuz9t
 ukwYpl5fpjT/FmMIuY9Ano+GSyPLTmeGSWXmtCggao/p29hHxoscMn+q2/Du/ZkJ
 HQBM8Qil7udQSzFyUaYjJ6QrX7LQReDpf0t/RQJSKldgSDYQM4qysJWqwOBsEq6r
 gcXrQ9/bHq+sQuHy8Jo0nDxgey/DTAhhsBPRWuqLcFjwR/BebuDWBbNyyBbjOa+v
 OVCi1oW8hF9GChV6ParELY+yAa3pxLTGsCfX9c5NcJZIGixvD5iOwSy+IlgudVni
 lBy7J39dHZTpDL+grPH63ijyL9Wct71SNx8WnYx1w1+EZcs/LBmWwXgXrbDm86Yg
 o3KWJqOFiXy325BF+rhzcNkLyNq1IjUPHkPCzqqI5W3NvZ66NU8=
 =8euY
 -----END PGP SIGNATURE-----

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

i.MX drivers change for 6.2:

- Improve imx8m-blk-ctrl driver to allow deferred probe in case that
  'bus' genpd is not yet ready.
- Add missing USB_1_PHY PD for i.MX scu-pd firmware driver.
- Add GENPD_FLAG_ACTIVE_WAKEUP flag for i.MX8MM/N in GPCv2 driver, so
  that the power domain remains on if USB remote wakeup is enabled.

* tag 'imx-drivers-6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  soc: imx: gpcv2: add GENPD_FLAG_ACTIVE_WAKEUP flag for usb of imx8mm/n
  firmware: imx: scu-pd: add missed USB_1_PHY pd
  soc: imx: imx8m-blk-ctrl: Defer probe if 'bus' genpd is not yet ready

Link: https://lore.kernel.org/r/20221119125733.32719-1-shawnguo@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-21 13:54:30 +01:00
Arnd Bergmann
cb667ad752 Renesas driver updates for v6.2 (take two)
- Add support for identifying the SoC revision on RZ/V2M.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCY3dffwAKCRCKwlD9ZEnx
 cDMNAP9Dh3nJoznrsXxLIeiPk0IhlsmwgseQrcivJqit1DhIxwEA+mg2VgCs5OEE
 r+bufQJElYSGx15r7UF/YZn90TSsPQY=
 =HjYI
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmN7dM4ACgkQmmx57+YA
 GNlTQg//bJ1aRxZJwxX8qcCwz82EJvaXIWu7S5xSeVLfGOFEURCB53IYHS9YiOi8
 10nH5Ee5/qLDDSJllGZJY3Y4JG2PurfUmFNpDmei1pM91wBm53+XhbSWrgff3fl+
 pbBlI/i8oszu6/HE9yRLVF3wDgCAIqwfkKQjGjlMsUNZfKv/Mqde6Y0EsoEwOe+5
 FQAHlSnFye3u3WiBc2Gg+ZNo3WsU/h3ORPEPk3zuOIq3f+di4DR1mKAr0rIwkW9/
 p16jq283KS8JEBafNuUM1P6GYXNdTNyMStib3vCOrwrCSVguYNXnSzN2mUmMBD1K
 15D+SgXJw76syBnZXJu18EjyWD1qgtFYLNLvMaqEo4o54LpxAC7uJfhVn6JFaLZj
 rk0tOWZ9YHBX1Vw4SOtPy7DYMDjIvmA6pgYwICWrc6J/aFa2J1nJItYWUkkKnc7w
 xJEvTVlP/1FPiKVeGYLrAy5+Ijpn45L5Wc0DROyVv0n5pJAJUanskZUAFMGWgS1y
 8sl4mkYwnDiujsx5l7BdgVvChcNAgt0r0R1FjhAUL+13I6VrHKKoRoNs0dV323wX
 k9SEyYig8Iupy2PJdViqki1bmVx/Kf+nc7znyBNNtuZxgZWSBvW3E0/pdsUOp3Sg
 MQm9Q6pGF2f9FTd29cJBKPZWGppGiYVLym8wPeAQDF0yF6neP6A=
 =z8Gm
 -----END PGP SIGNATURE-----

Merge tag 'renesas-drivers-for-v6.2-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into soc/drivers

Renesas driver updates for v6.2 (take two)

  - Add support for identifying the SoC revision on RZ/V2M.

* tag 'renesas-drivers-for-v6.2-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  soc: renesas: Identify RZ/V2M SoC

Link: https://lore.kernel.org/r/cover.1668788925.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-21 13:53:34 +01:00
Shang XiaoJing
b6c6bbfc65 soc/tegra: cbb: Remove redundant dev_err call
devm_ioremap_resource() prints error message in itself. Remove the
dev_err call to avoid redundant error message.

Signed-off-by: Shang XiaoJing <shangxiaojing@huawei.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2022-11-17 23:21:36 +01:00
Liu Shixin
fa9b5246e2 soc/tegra: cbb: Use DEFINE_SHOW_ATTRIBUTE to simplify tegra_cbb_err
Use DEFINE_SHOW_ATTRIBUTE helper macro to simplify the code. No
functional change.

Signed-off-by: Liu Shixin <liushixin2@huawei.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2022-11-17 23:21:00 +01:00
Phil Edworthy
7e20044052 soc: renesas: Identify RZ/V2M SoC
Add support for identifying the RZ/V2M (R9A09G011) SoC.
Note that the SoC does not have a identification register.

Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com>
[biju: removed config changes ]
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Link: https://lore.kernel.org/r/20221116102140.852889-3-biju.das.jz@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2022-11-17 20:20:42 +01:00
Thomas Gleixner
13e7accb81 genirq: Get rid of GENERIC_MSI_IRQ_DOMAIN
Adjust to reality and remove another layer of pointless Kconfig
indirection. CONFIG_GENERIC_MSI_IRQ is good enough to serve
all purposes.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/20221111122014.524842979@linutronix.de
2022-11-17 15:15:20 +01:00
Zhang Qilong
69460e68eb soc: ti: smartreflex: Fix PM disable depth imbalance in omap_sr_probe
The pm_runtime_enable will increase power disable depth. Thus
a pairing decrement is needed on the error handling path to
keep it balanced according to context.

Fixes: 984aa6dbf4ca ("OMAP3: PM: Adding smartreflex driver support.")
Signed-off-by: Zhang Qilong <zhangqilong3@huawei.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Link: https://lore.kernel.org/r/20221108080322.52268-3-zhangqilong3@huawei.com
2022-11-14 23:18:14 -06:00
Zhang Qilong
e961c0f194 soc: ti: knav_qmss_queue: Fix PM disable depth imbalance in knav_queue_probe
The pm_runtime_enable will increase power disable depth. Thus
a pairing decrement is needed on the error handling path to
keep it balanced according to context.

Fixes: 41f93af900a2 ("soc: ti: add Keystone Navigator QMSS driver")
Signed-off-by: Zhang Qilong <zhangqilong3@huawei.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Link: https://lore.kernel.org/r/20221108080322.52268-2-zhangqilong3@huawei.com
2022-11-14 23:18:04 -06:00
Arnd Bergmann
566fb6711f Renesas ARM SoC updates for v6.2
- Drop selecting GPIOLIB and PINCTRL, which are already automatically
     selected as part of the SOC_RENESAS config option in
     drivers/soc/renesas/Kconfig.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCY2TpSgAKCRCKwlD9ZEnx
 cHQuAP9NYIwY4vqDY9cAS3cqkvf/b/EFmGnGN938/OwR3Of7NAEAj6aeW0G3REqz
 uvKdCpRVtbgBQS5zYuTjjsV7Ypx7mAs=
 =Zzmv
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmNyWQwACgkQmmx57+YA
 GNn5HQ/8CsT0MaDtoKSL7cCkxniTZrIUgKW3dqWAszIIKGidNRNOkLWK5T5tAM/a
 Yq9nUKrGrfRlVYZNCnZBQRWb5+IYC763OKavHuQPyeg8JDMK1xxk/5OHv4ijdmtP
 133ImDLIJYuN8BL8GWgyzehluxVZcFCkOQMI1G0tvqMv1k/2kLK1JW1T3yGTYvX3
 j3srI+ekwkjyv5WjrTkbLT9rMRbTCOaZixfvPMcqueWoVqN+3RGGZlHsW1EuhMjX
 6/Sq7HGYdOmDXF3eF6jT/CVC4T1R1tIoOo+XVGOzIIUToTZfPMuIVwbJKredLjQT
 9WmtBGt85ZFhPL8wQ+0MKjCFfFHE0FYmPpQqdgv494RQ5OzFaYYuA0+bcsiyW12m
 C3HGJqlsPXZG25wyewozeiybLu6nuBltarOkpQhr87HsGHrhra5pedHg8dHqOFrd
 8fqH84zoklWMhq9HPQ6QroTqnrS6F7BCweY+x0g9PEVYUHX5jR8N3tMsb0Ew0YYF
 zTjtUg3eFgTzWIyyK11gknooGdpz/uRmR5SRwNR4SVH5DGx57mDila6dGFYPpjdv
 CQ5ndEqGaZjqk3lSM7ywrz0McKAVhfUuyv18P95h5NFBoo0UhpKWzpEUMQN5F4X4
 WT/DjFks7EHnO3DgTKQdoN/CDwIjI6i/uni6OYTrjkEC9FicE3k=
 =2v6V
 -----END PGP SIGNATURE-----

Merge tag 'renesas-arm-soc-for-v6.2-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into arm/soc

Renesas ARM SoC updates for v6.2

  - Drop selecting GPIOLIB and PINCTRL, which are already automatically
    selected as part of the SOC_RENESAS config option in
    drivers/soc/renesas/Kconfig.

* tag 'renesas-arm-soc-for-v6.2-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  arm64: renesas: Drop selecting GPIOLIB and PINCTRL
  ARM: shmobile: Drop selecting GPIOLIB and PINCTRL
  soc: renesas: Kconfig: Explicitly select GPIOLIB and PINCTRL config under SOC_RENESAS

Link: https://lore.kernel.org/r/cover.1667558746.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-14 16:04:44 +01:00
Yinbo Zhu
b82621ac84 soc: loongson: add GUTS driver for loongson-2 platforms
The global utilities block controls PCIE device enabling, alternate
function selection for multiplexed signals, consistency of HDA, USB
and PCIE, configuration of memory controller, rtc controller, lio
controller, and clock control.

This patch adds a driver to manage and access global utilities block
for LoongArch architecture Loongson-2 SoCs. Initially only reading SVR
and registering soc device are supported. Other guts accesses, such
as reading firmware configuration by default, should eventually be
added into this driver as well.

Signed-off-by: Yinbo Zhu <zhuyinbo@loongson.cn>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-14 16:01:32 +01:00
Arnd Bergmann
4c1c97fc70 Renesas driver updates for v6.2
- Let SOC_RENESAS select GPIOLIB and PINCTRL, so this does not have to
     be handled in two (soon three: arm/arm64/riscv), places.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCY2TqQwAKCRCKwlD9ZEnx
 cEYXAP4+knQOqJcBL8WHWSTNv4z4MBMg0ztt7De991euiuVnHQEA3AFf/VOHzxlJ
 zWQi5qMo011t30HCs4grCWAwInnmoQY=
 =GYFH
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmNyVu8ACgkQmmx57+YA
 GNkXKw/9GAvcdrN4Qo0lpcBYlTy14D33tt0mEIBxzeFX/6T/h8wSb0JGHCh4WN5I
 IHf8Sw2KKYlWIIWlfcKy6PmSag12y+fxzHIzorrfTOVrws9frdZZhnJxFCS0RIHa
 mQ8HESoQXVLNUf34qOe6D4s2YO04pdXHvpCs+X7RW0cFoyGj4fVriMJoHcQmdcc3
 PWkBqnRkC4Bg9jX6Mex+g11tfupmAG2S0bWDFnK33dLsGqYcpW9PHCEuaWIRWUZa
 Cfeum6ShkPN69//ztOR44V4SKEoaPdFt6H+OvT3LQ2qvXu92ov7Vz4n127/wbtr/
 svG3tqVm8sNgknetMlaW4LNzsOX24WARP4SYFGW6vMYqDlcvHTM+5ZNACtvG71y5
 r3pawZpW1ibigsWQRWlBC7iHNH8PtGxXipjeLfVb/FJ0U66RvO+T4whwWwgXvY3q
 RAY1M4fLPDiidTVeOdAumL6Twf4fryttDnBXATzN+uXSzzbTWjqCmlJtFibEWQXQ
 tzT1ZHj9RsAuy7dLNl0AkIyVMYItAvuqyulJq3A5Gqvk0qGIc83/RPsEB4XNry6v
 jqd9v/aZoTfyGc7kAxkMzEJagezsfGWga+lotyvJ48aRwUUcRGP9jZiMuR9Es+wQ
 2doCFYjFIZ/elK1SeHzXCI0UevfeyMFa5Ug7z0oEHdve2KOHjrY=
 =vQbD
 -----END PGP SIGNATURE-----

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

Renesas driver updates for v6.2

  - Let SOC_RENESAS select GPIOLIB and PINCTRL, so this does not have to
    be handled in two (soon three: arm/arm64/riscv), places.

* tag 'renesas-drivers-for-v6.2-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  soc: renesas: Kconfig: Explicitly select GPIOLIB and PINCTRL config under SOC_RENESAS

Link: https://lore.kernel.org/r/cover.1667558747.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-14 15:55:43 +01:00
Xiaolei Wang
836fb30949 soc: imx8m: Enable OCOTP clock before reading the register
Commit 7d981405d0fd ("soc: imx8m: change to use platform driver") ever
removed the dependency on bootloader for enabling OCOTP clock.  It
helped to fix a kexec kernel hang issue.  But unfortunately it caused
a regression on CAAM driver and got reverted.

This is the second try to enable the OCOTP clock by directly calling
clock API instead of indirectly enabling the clock via nvmem API.

Fixes: ac34de14ac30 ("Revert "soc: imx8m: change to use platform driver"")
Signed-off-by: Xiaolei Wang <xiaolei.wang@windriver.com>
Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2022-11-14 15:52:53 +08:00
Sumit Gupta
2927cf85f4 soc/tegra: cbb: Check firewall before enabling error reporting
To enable error reporting for a fabric to CCPLEX, we need to write its
register for enabling error interrupt to CCPLEX during boot and later
clear the error status register after error occurs. If a fabric's
registers are protected and not accessible from CCPLEX, then accessing
the registers will cause CBB firewall error.

Add support to check whether write access from CCPLEX to the registers
of a fabric is not blocked by it's firewall before enabling error
reporting to CCPLEX for that fabric.

Fixes: fc2f151d2314 ("soc/tegra: cbb: Add driver for Tegra234 CBB 2.0")
Signed-off-by: Sumit Gupta <sumitg@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2022-11-11 15:39:45 +01:00
Sumit Gupta
55084947d6 soc/tegra: cbb: Add checks for potential out of bound errors
Added checks to avoid potential out of bounds errors which can happen if
the 'slave map' and 'CBB errors' arrays are not correct or latest where
some entries are missing.

Fixes: fc2f151d2314 ("soc/tegra: cbb: Add driver for Tegra234 CBB 2.0")
Signed-off-by: Sumit Gupta <sumitg@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2022-11-11 15:39:23 +01:00
Sumit Gupta
cd1d719b47 soc/tegra: cbb: Update slave maps for Tegra234
Updating the slave map for fabrics and using the same maps for DCE, RCE
and SCE as they all are a replica in Tegra234.

Signed-off-by: Sumit Gupta <sumitg@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2022-11-11 15:39:06 +01:00
Sumit Gupta
33af51a652 soc/tegra: cbb: Use correct master_id mask for CBB NOC in Tegra194
In Tegra194 SoC, master_id bit range is different between cluster NOC
and CBB NOC. Currently same bit range is used which results in wrong
master_id value. Due to this, illegal accesses from the CCPLEX master
do not result in a crash as expected. Fix this by using the correct
range for the CBB NOC.

Finally, it is only necessary to extract the master_id when the
erd_mask_inband_err flag is set because when this is not set, a crash
is always triggered.

Fixes: b71344221466 ("soc/tegra: cbb: Add CBB 1.0 driver for Tegra194")
Fixes: fc2f151d2314 ("soc/tegra: cbb: Add driver for Tegra234 CBB 2.0")
Signed-off-by: Sumit Gupta <sumitg@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2022-11-11 15:38:26 +01:00
Kartik
bebf683ba6 soc/tegra: fuse: Use platform info with SoC revision
Tegra pre-silicon platforms do not have chip revisions. This makes the
revision SoC attribute meaningless on these platforms.

Instead, populate the revision SoC attribute with a combination of the
platform name and the chip revision for silicon platforms, and simply
with the platform name on pre-silicon platforms.

Signed-off-by: Kartik <kkartik@nvidia.com>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2022-11-11 15:00:07 +01:00
Maulik Shah
cccbe3e528 soc: qcom: rpmh-rsc: Write CONTROL_TCS with next timer wakeup
The next wakeup timer value needs to be set in always on domain timer
as the arch timer interrupt can not wakeup the SoC if after the deepest
CPUidle states the SoC also enters deepest low power state.

To wakeup the SoC in such scenarios the earliest wakeup time is set in
CONTROL_TCS and the firmware takes care of setting up its own timer in
always on domain with next wakeup time. The timer wakes up the RSC and
sets resources back to wake state.

Signed-off-by: Maulik Shah <quic_mkshah@quicinc.com>
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
Tested-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> # SM8450
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20221018152837.619426-7-ulf.hansson@linaro.org
2022-11-09 21:15:27 -06:00
Maulik Shah
ab33c8f3a8 soc: qcom: rpmh-rsc: Save base address of drv
Add changes to save drv's base address for rsc. This is
used to read drv's configuration such as solver mode is
supported or to write into CONTROL_TCS registers.

Signed-off-by: Maulik Shah <quic_mkshah@quicinc.com>
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
Tested-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> # SM8450
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20221018152837.619426-6-ulf.hansson@linaro.org
2022-11-09 21:14:21 -06:00
Lina Iyer
25092e6100 soc: qcom: rpmh-rsc: Attach RSC to cluster PM domain
RSC is part the CPU subsystem and powers off the CPU domains when all
the CPUs and no RPMH transactions are pending from any of the drivers.
The RSC needs to flush the 'sleep' and 'wake' votes that are critical
for saving power when all the CPUs are in idle.

Let's make RSC part of the CPU PM domains, by attaching it to the
cluster power domain. Registering for PM domain notifications, RSC
driver can be notified that the last CPU is powering down. When the last
CPU is powering down the domain, let's flush the 'sleep' and 'wake'
votes that are stored in the data buffers into the hardware and also
write next wakeup in CONTROL_TCS.

Signed-off-by: Lina Iyer <ilina@codeaurora.org>
Signed-off-by: Maulik Shah <quic_mkshah@quicinc.com>
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
Tested-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> # SM8450
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20221018152837.619426-3-ulf.hansson@linaro.org
2022-11-09 21:14:21 -06:00
Petlozu Pravareshwar
0474cc8489 soc/tegra: pmc: Process wake events during resume
During system resume, translate tier2 SC7 wake sources back into IRQs
and do generic_handle_irq() to invoke the interrupt handlers for edge
triggered wake events such as SW-wake.

Signed-off-by: Prathamesh Shete <pshete@nvidia.com>
Signed-off-by: Petlozu Pravareshwar <petlozup@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2022-11-10 02:55:23 +01:00
Petlozu Pravareshwar
1ddb8f6d44 soc/tegra: pmc: Fix dual edge triggered wakes
When a wake event is defined to be triggered on both positive and
negative edge of the input wake signal, it is crucial to know the
current state of the signal when going into suspend. The intended way to
obtain the current state of the wake signals is to read the
WAKE_AOWAKE_SW_STATUS register, which should contains the raw state of
the wake signals.

However, this register is edge triggered, an edge will not be generated
for signals that are already asserted prior to the assertion of
WAKE_LATCH_SW.

To workaround this, change the polarity of the wake level from '0' to
'1' while latching the signals, as this will generate an edge for
signals that are set to '1'.

Signed-off-by: Stefan Kristiansson <stefank@nvidia.com>
Signed-off-by: Petlozu Pravareshwar <petlozup@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2022-11-10 02:48:05 +01:00
Petlozu Pravareshwar
c9c4ddb20c soc/tegra: pmc: Add I/O pad table for Tegra234
Add I/O pad table for Tegra234 to allow configuring DPD mode and
switching the pins to 1.8V or 3.3V as needed.

On Tegra234, DPD registers are reorganized such that there is a DPD_REQ
register and a DPD_STATUS register per pad group. Update the PMC driver
accordingly.

While at it, use the generated tables from tegra-pinmux-scripts to make
the formatting of these tables more consistent.

Signed-off-by: Petlozu Pravareshwar <petlozup@nvidia.com>
[treding@nvidia.com: generate tables from tegra-pinmux-scripts]
Signed-off-by: Thierry Reding <treding@nvidia.com>
2022-11-10 02:21:12 +01:00
Yang Yingliang
8fbf94fea0 soc: sifive: ccache: fix missing of_node_put() in sifive_ccache_init()
The device_node pointer returned by of_find_matching_node() with
refcount incremented, when finish using it, the refcount need be
decreased.

Fixes: a967a289f169 ("RISC-V: sifive_l2_cache: Add L2 cache controller driver for SiFive SoCs")
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
2022-11-09 22:01:31 +00:00
Yang Yingliang
756344e7cb soc: sifive: ccache: fix missing free_irq() in error path in sifive_ccache_init()
Add missing free_irq() before return error from sifive_ccache_init().

Fixes: a967a289f169 ("RISC-V: sifive_l2_cache: Add L2 cache controller driver for SiFive SoCs")
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
2022-11-09 22:01:31 +00:00
Yang Yingliang
73e770f085 soc: sifive: ccache: fix missing iounmap() in error path in sifive_ccache_init()
Add missing iounmap() before return error from sifive_ccache_init().

Fixes: a967a289f169 ("RISC-V: sifive_l2_cache: Add L2 cache controller driver for SiFive SoCs")
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
2022-11-09 22:01:31 +00:00
Jason A. Donenfeld
65b0e307a1 ARM: ux500: do not directly dereference __iomem
Sparse reports that calling add_device_randomness() on `uid` is a
violation of address spaces. And indeed the next usage uses readl()
properly, but that was left out when passing it toadd_device_
randomness(). So instead copy the whole thing to the stack first.

Fixes: 4040d10a3d44 ("ARM: ux500: add DB serial number to entropy pool")
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/all/202210230819.loF90KDh-lkp@intel.com/
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Link: https://lore.kernel.org/r/20221108123755.207438-1-Jason@zx2c4.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2022-11-08 21:13:56 +01:00
Nick Desaulniers
a2faac3986 ARM: 9263/1: use .arch directives instead of assembler command line flags
Similar to commit a6c30873ee4a ("ARM: 8989/1: use .fpu assembler
directives instead of assembler arguments").

GCC and GNU binutils support setting the "sub arch" via -march=,
-Wa,-march, target function attribute, and .arch assembler directive.

Clang was missing support for -Wa,-march=, but this was implemented in
clang-13.

The behavior of both GCC and Clang is to
prefer -Wa,-march= over -march= for assembler and assembler-with-cpp
sources, but Clang will warn about the -march= being unused.

clang: warning: argument unused during compilation: '-march=armv6k'
[-Wunused-command-line-argument]

Since most assembler is non-conditionally assembled with one sub arch
(modulo arch/arm/delay-loop.S which conditionally is assembled as armv4
based on CONFIG_ARCH_RPC, and arch/arm/mach-at91/pm-suspend.S which is
conditionally assembled as armv7-a based on CONFIG_CPU_V7), prefer the
.arch assembler directive.

Add a few more instances found in compile testing as found by Arnd and
Nathan.

Link: 1d51c699b9
Link: https://bugs.llvm.org/show_bug.cgi?id=48894
Link: https://github.com/ClangBuiltLinux/linux/issues/1195
Link: https://github.com/ClangBuiltLinux/linux/issues/1315

Suggested-by: Arnd Bergmann <arnd@arndb.de>
Suggested-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Tested-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
2022-11-08 18:36:17 +00:00
Xinlei Lee
e6c7e6216d soc: mediatek: Add all settings to mtk_mmsys_ddp_dpi_fmt_config func
The difference between MT8186 and other ICs is that when modifying the
output format, we need to modify the mmsys_base+0x400 register to take
effect. So when setting the dpi output format, we need to call
mtk_mmsys_ddp_dpi_fmt_config to set it to MT8186 synchronously.

Commit a071e52f75d1 ("soc: mediatek: Add mmsys func to adapt to dpi
output for MT8186") lacked some of the possible output formats and also
had a wrong bitmask.

Add the missing output formats and fix the bitmask.

While at it, also update mtk_mmsys_ddp_dpi_fmt_config() to use generic
formats, so that it is slightly easier to extend for other platforms.

Fixes: a071e52f75d1 ("soc: mediatek: Add mmsys func to adapt to dpi output for MT8186")
Signed-off-by: Xinlei Lee <xinlei.lee@mediatek.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: CK Hu <ck.hu@mediatek.com>
Reviewed-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2022-11-08 19:25:30 +01:00
Jiasheng Jiang
6d7860f575 soc: qcom: apr: Add check for idr_alloc and of_property_read_string_index
As idr_alloc() and of_property_read_string_index() can return negative
numbers, it should be better to check the return value and deal with
the exception.
Therefore, it should be better to use goto statement to stop and return
error.

Fixes: 6adba21eb434 ("soc: qcom: Add APR bus driver")
Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>
Reviewed-by: Bjorn Andersson <andersson@kernel.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20221107014403.3606-1-jiasheng@iscas.ac.cn
2022-11-07 17:15:20 -06:00
Melody Olvera
759dcdf249 soc: qcom: socinfo: Add QDU1000/QRU1000 SoC IDs to the soc_id table
Add SoC ID table entries for the QDU1000 and QRU1000 platforms and
their variants.

Signed-off-by: Melody Olvera <quic_molvera@quicinc.com>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20221026190549.4005703-6-quic_molvera@quicinc.com
2022-11-07 11:49:41 -06:00
Melody Olvera
94949a014f soc: qcom: rpmhpd: Add QDU1000/QRU1000 power domains
Add the power domains exposed by RPMH in the Qualcomm QDU1000
and QRU1000 platforms.

Signed-off-by: Melody Olvera <quic_molvera@quicinc.com>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20221026190549.4005703-4-quic_molvera@quicinc.com
2022-11-07 11:49:41 -06:00
AngeloGioacchino Del Regno
33268bb9fd soc: qcom: spm: Implement support for SAWv2.3, MSM8976 L2 PM
Implement the support for SAW v2.3, used in at least MSM8976, MSM8956
and APQ variants and while at it also add the configuration for the
MSM8976's little (a53) and big (a72) clusters cache power management.

Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@somainline.org>
[Marijn: reorder struct definitions to follow high-to-low order]
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Marijn Suijten <marijn.suijten@somainline.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20221104133452.131227-3-angelogioacchino.delregno@collabora.com
2022-11-05 23:27:32 -05:00
Luca Weiss
c882c899ea soc: qcom: llcc: make irq truly optional
The function platform_get_irq prints an error message into the kernel
log when the irq isn't found.

Since the interrupt is actually optional and not provided by some SoCs,
use platform_get_irq_optional which does not print an error message.

Fixes: c081f3060fab ("soc: qcom: Add support to register LLCC EDAC driver")
Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20221104153041.412020-1-luca.weiss@fairphone.com
2022-11-05 23:23:13 -05:00
Vincent Knecht
f98e12a7e0 soc: qcom: spm: Add MSM8939 SPM register data
Add SPM register information and initialization values for
QCOM MSM8939 SoC.

Signed-off-by: Vincent Knecht <vincent.knecht@mailoo.org>
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Reviewed-by: Stephan Gerhold <stephan@gerhold.net>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20221019171004.1080911-2-vincent.knecht@mailoo.org
2022-11-05 22:32:47 -05:00
Peter Ujfalusi
c07f216a8b soc: ti: k3-ringacc: Allow the driver to be built as module
The ring accelerator driver can be built as module since all depending
functions are exported.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@gmail.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Tested-by: Nicolas Frayer <nfrayer@baylibre.com>
Reviewed-by: Nicolas Frayer <nfrayer@baylibre.com>
Link: https://lore.kernel.org/r/20221029075356.7296-1-peter.ujfalusi@gmail.com
2022-11-03 01:42:50 -05:00
Andy Shevchenko
c9eb6e546a soc: fsl: qe: Switch to use fwnode instead of of_node
The OF node in the GPIO library is deprecated and soon
will be removed.

GPIO library now accepts fwnode as a firmware node, so
switch the driver to use it.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
2022-11-02 13:09:04 +02:00
Linus Walleij
84582f9ed0
soc: fsl: qe: Avoid using gpio_to_desc()
The qe gpio driver is a custom API combined GPIO and pin control
driver that exist outside of the pin control subsystem for historical
reasons.

We want to get rid of the old GPIO numberspace, so instead of
calling gpio_to_desc() we get the gpio descriptor for the requested
line from the device tree directly without passing through the
GPIO numberspace, and then we get the gpiochip from the descriptor.

Using the reference counting inside the gpio descriptor we can drop
the reference counting code in this driver. A second gpiod_get()
will not succeed.

To obtain the local hardware offset of the GPIO line, the driver
need to include the header from the gpiolib internals. This isn't
pretty but it is the lesser evil compared to keeping the code
as a roadblock to gpiolib refactoring. A proper solution would be
to rewrite the driver as a real pin control driver with a
built-in gpio_chip.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Cc: Bartosz Golaszewski <brgl@bgdev.pl>
Cc: linux-gpio@vger.kernel.org
Link: https://lore.kernel.org/r/20221027081108.174662-1-linus.walleij@linaro.org'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2022-11-01 12:29:09 +01:00