]> www.infradead.org Git - users/jedix/linux-maple.git/log
users/jedix/linux-maple.git
6 weeks agoMerge tag 'riscv-cache-for-v6.18' of https://git.kernel.org/pub/scm/linux/kernel...
Arnd Bergmann [Wed, 24 Sep 2025 21:17:20 +0000 (23:17 +0200)]
Merge tag 'riscv-cache-for-v6.18' of https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux into soc/drivers

RISC-V cache drivers for v6.18

sifive:
Reduce the number of fences issued while flushing. Samuel reports that
this is approximately a 15% speed-up.

ax45mp:
Fix the binding so that it permits the cache-sets setting used by the
recently added QiLai SoC.

Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
* tag 'riscv-cache-for-v6.18' of https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux:
  cache: sifive_ccache: Optimize cache flushes
  dt-bindings: cache: ax45mp: add 2048 as a supported cache-sets value

Link: https://lore.kernel.org/r/20250924-relenting-aqua-a4a93b89809e@spud
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
6 weeks agoMerge tag 'soc_fsl-6.18-1' of https://github.com/chleroy/linux into soc/drivers
Arnd Bergmann [Wed, 24 Sep 2025 21:16:12 +0000 (23:16 +0200)]
Merge tag 'soc_fsl-6.18-1' of https://github.com/chleroy/linux into soc/drivers

FSL SOC Changes for 6.18:
- Use for_each_online_cpu() instead of for_each_cpu() in qbman
- Update FSL QUICC ENGINE GPIO driver to a standard platform driver
and stop using legacy-of-mm-gpiochip.h header
- Misc fixes on bus/fsl-mc

* tag 'soc_fsl-6.18-1' of https://github.com/chleroy/linux:
  soc/fsl/qbman: Use for_each_online_cpu() instead of for_each_cpu()
  soc: fsl: qe: Drop legacy-of-mm-gpiochip.h header from GPIO driver
  soc: fsl: qe: Change GPIO driver to a proper platform driver
  bus: fsl-mc: Replace snprintf and sprintf with sysfs_emit in sysfs show functions
  bus: fsl-mc: Check return value of platform_get_resource()

Link: https://lore.kernel.org/r/26615a15-3494-435f-b0c1-861122b4b5e1@csgroup.eu
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
6 weeks agoMerge tag 'tee-shm-register-fix-for-v6.17' of git://git.kernel.org/pub/scm/linux...
Arnd Bergmann [Wed, 24 Sep 2025 21:12:17 +0000 (23:12 +0200)]
Merge tag 'tee-shm-register-fix-for-v6.17' of git://git.kernel.org/pub/scm/linux/kernel/git/jenswi/linux-tee into soc/drivers

TEE fix2 for v6.17

Fixing incorrect error handling for a call to iov_iter_extract_pages().

* tag 'tee-shm-register-fix-for-v6.17' of git://git.kernel.org/pub/scm/linux/kernel/git/jenswi/linux-tee:
  tee: fix register_shm_helper()

Link: https://lore.kernel.org/r/20250924083404.GA3747732@rayden
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
6 weeks agoMerge tag 'tee-qcomtee-for-v6.18' of git://git.kernel.org/pub/scm/linux/kernel/git...
Arnd Bergmann [Tue, 23 Sep 2025 21:08:23 +0000 (23:08 +0200)]
Merge tag 'tee-qcomtee-for-v6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/jenswi/linux-tee into soc/drivers

Add Qualcomm TEE driver (QTEE)

This introduces a Trusted Execution Environment (TEE) driver for
Qualcomm TEE (QTEE).

QTEE enables Trusted Applications (TAs) and services to run securely. It
uses an object-based interface, where each service is an object with
sets of operations.

Kernel and userspace services are also available to QTEE through a
similar approach. QTEE makes callback requests that are converted into
object invocations. These objects can represent services within the
kernel or userspace process.

We extend the TEE subsystem to understand object parameters and an ioctl
call so client can invoke objects in QTEE:
  - TEE_IOCTL_PARAM_ATTR_TYPE_OBJREF_*
  - TEE_IOC_OBJECT_INVOKE

The existing ioctl calls TEE_IOC_SUPPL_RECV and TEE_IOC_SUPPL_SEND are
used for invoking services in the userspace process by QTEE.

The TEE backend driver uses the QTEE Transport Message to communicate
with QTEE. Interactions through the object INVOKE interface are
translated into QTEE messages. Likewise, object invocations from QTEE
for userspace objects are converted into SEND/RECV ioctl calls to
supplicants.

* tag 'tee-qcomtee-for-v6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/jenswi/linux-tee:
  Documentation: tee: Add Qualcomm TEE driver
  tee: qcom: enable TEE_IOC_SHM_ALLOC ioctl
  tee: qcom: add primordial object
  tee: add Qualcomm TEE driver
  tee: increase TEE_MAX_ARG_SIZE to 4096
  tee: add TEE_IOCTL_PARAM_ATTR_TYPE_OBJREF
  tee: add TEE_IOCTL_PARAM_ATTR_TYPE_UBUF
  tee: add close_context to TEE driver operation
  tee: allow a driver to allocate a tee_device without a pool

Link: https://lore.kernel.org/r/20250915174957.GA2040478@rayden
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
6 weeks agoMerge tag 'memory-controller-drv-6.18' of https://git.kernel.org/pub/scm/linux/kernel...
Arnd Bergmann [Tue, 23 Sep 2025 21:07:31 +0000 (23:07 +0200)]
Merge tag 'memory-controller-drv-6.18' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl into soc/drivers

Memory controller drivers for v6.18

1. STM32 OMM: Fix ineffective/missing setting of the req2ack in the
   device based on DT property, if the value is different than 0.

2. Samsung Exynos SROM: Fix IO map resource leak if
   of_platform_populate() in probe() failed.

3. Broadcom brcmstb: Document existing, older devices in Devicetree
   bindings.

4. Tegra 210 EMC: Document OPP table for interconnects (driver usage
   will come later) and define memory client IDs as bindings, because
   these are shared between DTS and driver.

* tag 'memory-controller-drv-6.18' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl:
  memory: tegra210: Use bindings for client ids
  dt-bindings: memory: tegra210: Add memory client IDs
  dt-bindings: memory: tegra210: emc: Document OPP table and interconnect
  dt-bindings: memory: Update brcmstb-memc-ddr binding with older chips
  memory: samsung: exynos-srom: Fix of_iomap leak in exynos_srom_probe
  memory: stm32_omm: Fix req2ack update test

Link: https://lore.kernel.org/r/20250912140030.204650-2-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
6 weeks agoMerge tag 'sunxi-drivers-for-6.18' of https://git.kernel.org/pub/scm/linux/kernel...
Arnd Bergmann [Tue, 23 Sep 2025 21:02:47 +0000 (23:02 +0200)]
Merge tag 'sunxi-drivers-for-6.18' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into soc/drivers

Allwinner driver changes for 6.18

Some changes to the sram driver. One to register a syscon explicitly.
Another to add a new driver entry for the A523, which has two Ethernet
controllers, and thus has two RGMII clock delay control registers.

* tag 'sunxi-drivers-for-6.18' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
  soc: sunxi: sram: register regmap as syscon
  soc: sunxi: sram: add entry for a523

Link: https://lore.kernel.org/r/aMrsfw-_v3IAiKH8@wens.tw
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
6 weeks agoMerge tag 'ti-driver-soc-for-v6.18' of https://git.kernel.org/pub/scm/linux/kernel...
Arnd Bergmann [Tue, 23 Sep 2025 21:01:25 +0000 (23:01 +0200)]
Merge tag 'ti-driver-soc-for-v6.18' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux into soc/drivers

TI SoC driver updates for v6.18

- ti_sci: Add support for abort handling of entry to Low Power Mode
- k3-socinfo: Add decode for AM62L SR1.1 silicon revision
- pruss: Replace usage of %pK in printk with safer %p formatting

* tag 'ti-driver-soc-for-v6.18' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux:
  soc: ti: k3-socinfo: Add information for AM62L SR1.1
  firmware: ti_sci: Enable abort handling of entry to LPM
  soc: ti: pruss: don't use %pK through printk

Link: https://lore.kernel.org/r/20250916175441.iehltsk2377rg5c6@alike
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
6 weeks agoMerge tag 'amlogic-drivers-for-v6.18' of https://git.kernel.org/pub/scm/linux/kernel...
Arnd Bergmann [Tue, 23 Sep 2025 21:00:33 +0000 (23:00 +0200)]
Merge tag 'amlogic-drivers-for-v6.18' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux into soc/drivers

Amlogic Drivers changes for v6.18:
- device leak at probe in meson_sm
- fix compile-test default for meson_sm

* tag 'amlogic-drivers-for-v6.18' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux:
  firmware: firmware: meson-sm: fix compile-test default
  firmware: meson_sm: fix device leak at probe

Link: https://lore.kernel.org/r/003cb467-531d-4a8d-a97f-19d59154132f@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
6 weeks agoMerge tag 'apple-soc-drivers-6.18' of https://git.kernel.org/pub/scm/linux/kernel...
Arnd Bergmann [Tue, 23 Sep 2025 20:59:16 +0000 (22:59 +0200)]
Merge tag 'apple-soc-drivers-6.18' of https://git.kernel.org/pub/scm/linux/kernel/git/sven/linux into soc/drivers

Apple SoC driver updates for 6.18

Krzysztof Kozlowski asked us to move away from generic compatibles:
- Adjust all dt-bindings to use apple,t8103-XXXX instead of apple,XXXX
  as fallback and add a comment that the old generic list should no
  longer be extended.
- Add new fallback compatibles to pinctrl, pmdomain, spi, and mca
  drivers. These changes have been Acked by their subsystem maintainers
  to be merged through our tree together with the dt-bindings.

Support for pre-M1 Apple Silicon:
- SART and mailbox gain support for Apple's A11, which are both
  required for NVMe.
- NVMe also gains support for Apple's A11 and the nvme maintainers
  prefer that we merge this through the soc tree together with
  the mailbox and SART changes.
- SPMI compatibles for A11 and T2 have been added, also going through
  the soc tree due to conflicts with the generic compatible removal and
  because no driver change is required.

Signed-off-by: Sven Peter <sven@kernel.org>
* tag 'apple-soc-drivers-6.18' of https://git.kernel.org/pub/scm/linux/kernel/git/sven/linux: (32 commits)
  pmdomain: apple: Add "apple,t8103-pmgr-pwrstate"
  dt-bindings: spmi: Add Apple A11 and T2 compatible
  spi: apple: Add "apple,t8103-spi" compatible
  ASoC: apple: mca: Add "apple,t8103-mca" compatible
  pinctrl: apple: Add "apple,t8103-pinctrl" as compatible
  spi: dt-bindings: apple,spi: Add t6020-spi compatible
  ASoC: dt-bindings: apple,mca: Add t6020-mca compatible
  dt-bindings: dma: apple,admac: Add t6020-admac compatible
  dt-bindings: clock: apple,nco: Add t6020-nco compatible
  dt-bindings: watchdog: apple,wdt: Add t6020-wdt compatible
  dt-bindings: spmi: apple,spmi: Add t6020-spmi compatible
  dt-bindings: mfd: apple,smc: Add t6020-smc compatible
  dt-bindings: net: bcm4329-fmac: Add BCM4388 PCI compatible
  dt-bindings: net: bcm4377-bluetooth: Add BCM4388 compatible
  dt-bindings: nvme: apple: Add apple,t6020-nvme-ans2 compatible
  dt-bindings: iommu: apple,sart: Add apple,t6020-sart compatible
  dt-bindings: gpu: apple,agx: Add agx-{g14s,g14c,g14d} compatibles
  dt-bindings: mailbox: apple,mailbox: Add t6020 compatible
  dt-bindings: pinctrl: apple,pinctrl: Add apple,t6020-pinctrl compatible
  dt-bindings: iommu: dart: Add apple,t6020-dart compatible
  ...

Link: https://lore.kernel.org/r/20250920123028.49973-1-sven@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
6 weeks agoMerge tag 'qcom-drivers-for-6.18-2' of https://git.kernel.org/pub/scm/linux/kernel...
Arnd Bergmann [Tue, 23 Sep 2025 20:56:29 +0000 (22:56 +0200)]
Merge tag 'qcom-drivers-for-6.18-2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/drivers

More Qualcomm device driver updates for v6.18

Introduce support for loading firmware into the QUP serial engines from
Linux, which allows deferring selection of which protocol (uart, i2c,
spi, etc) a given SE should have until the OS loads.

Also introduce the "object invoke" interface in the SCM driver, to
provide interface to the Qualcomm TEE driver.

* tag 'qcom-drivers-for-6.18-2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
  serial: qcom-geni: Load UART qup Firmware from linux side
  spi: geni-qcom: Load spi qup Firmware from linux side
  i2c: qcom-geni: Load i2c qup Firmware from linux side
  soc: qcom: geni-se: Add support to load QUP SE Firmware via Linux subsystem
  soc: qcom: geni-se: Cleanup register defines and update copyright
  dt-bindings: qcom: se-common: Add QUP Peripheral-specific properties for I2C, SPI, and SERIAL bus
  firmware: qcom: scm: add support for object invocation
  firmware: qcom: tzmem: export shm_bridge create/delete

Link: https://lore.kernel.org/r/20250921020225.595403-1-andersson@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
7 weeks agosoc/fsl/qbman: Use for_each_online_cpu() instead of for_each_cpu()
Fushuai Wang [Mon, 11 Aug 2025 06:52:16 +0000 (14:52 +0800)]
soc/fsl/qbman: Use for_each_online_cpu() instead of for_each_cpu()

Replace the opencoded for_each_cpu(cpu, cpu_online_mask) loop with the
more readable and equivalent for_each_online_cpu(cpu) macro.

Signed-off-by: Fushuai Wang <wangfushuai@baidu.com>
Link: https://lore.kernel.org/r/20250811065216.3320-1-wangfushuai@baidu.com
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
7 weeks agosoc: fsl: qe: Drop legacy-of-mm-gpiochip.h header from GPIO driver
Christophe Leroy [Thu, 18 Sep 2025 16:23:23 +0000 (18:23 +0200)]
soc: fsl: qe: Drop legacy-of-mm-gpiochip.h header from GPIO driver

Remove legacy-of-mm-gpiochip.h header file. The above mentioned
file provides an OF API that's deprecated. There is no agnostic
alternatives to it and we have to open code the logic which was
hidden behind of_mm_gpiochip_add_data(). Note, most of the GPIO
drivers are using their own labeling schemas and resource retrieval
that only a few may gain of the code deduplication, so whenever
alternative is appear we can move drivers again to use that one.

As a side effect this change fixes a potential memory leak on
an error path, if of_mm_gpiochip_add_data() fails.

[Text copied from commit 34064c8267a6 ("powerpc/8xx: Drop
legacy-of-mm-gpiochip.h header")]

Suggested-by: Bartosz Golaszewski <brgl@bgdev.pl>
Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Link: https://lore.kernel.org/r/e8a5d2c5b72233bd36da7fecc0a551ca54d39478.1758212309.git.christophe.leroy@csgroup.eu
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
7 weeks agosoc: fsl: qe: Change GPIO driver to a proper platform driver
Christophe Leroy [Thu, 18 Sep 2025 16:23:22 +0000 (18:23 +0200)]
soc: fsl: qe: Change GPIO driver to a proper platform driver

In order to be able to add interrupts to the GPIOs, first change the
QE GPIO driver to the proper platform driver in order to allow
initialisation to be done in the right order, otherwise the GPIOs
get added before the interrupts are registered.

Remove linux/of.h and linux/property.h which are unused.

And to improve readability and reduce risk of errors, add a macro to
transform a pin number into the mask that matches the associated bit
in registers.

Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Link: https://lore.kernel.org/r/b0b4480255569c7f0dfe58854a444f9a40da6681.1758212309.git.christophe.leroy@csgroup.eu
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
7 weeks agotee: fix register_shm_helper()
Jens Wiklander [Fri, 19 Sep 2025 08:48:31 +0000 (10:48 +0200)]
tee: fix register_shm_helper()

In register_shm_helper(), fix incorrect error handling for a call to
iov_iter_extract_pages(). A case is missing for when
iov_iter_extract_pages() only got some pages and return a number larger
than 0, but not the requested amount.

This fixes a possible NULL pointer dereference following a bad input from
ioctl(TEE_IOC_SHM_REGISTER) where parts of the buffer isn't mapped.

Cc: stable@vger.kernel.org
Reported-by: Masami Ichikawa <masami256@gmail.com>
Closes: https://lore.kernel.org/op-tee/CACOXgS-Bo2W72Nj1_44c7bntyNYOavnTjJAvUbEiQfq=u9W+-g@mail.gmail.com/
Tested-by: Masami Ichikawa <masami256@gmail.com>
Fixes: 7bdee4157591 ("tee: Use iov_iter to better support shared buffer registration")
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
7 weeks agopmdomain: apple: Add "apple,t8103-pmgr-pwrstate"
Janne Grunau [Thu, 28 Aug 2025 14:01:22 +0000 (16:01 +0200)]
pmdomain: apple: Add "apple,t8103-pmgr-pwrstate"

After discussion with the devicetree maintainers we agreed to not extend
lists with the generic compatible "apple,pmgr-pwrstate" anymore [1]. Use
"apple,t8103-pmgr-pwrstate" as base compatible as it is the SoC the
driver and bindings were written for.

[1]: https://lore.kernel.org/asahi/12ab93b7-1fc2-4ce0-926e-c8141cfe81bf@kernel.org/

Signed-off-by: Janne Grunau <j@jannau.net>
Acked-by: Ulf Hansson <ulf.hansson@linaro.org>
Reviewed-by: Neal Gompa <neal@gompa.dev>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Sven Peter <sven@kernel.org>
7 weeks agodt-bindings: spmi: Add Apple A11 and T2 compatible
Nick Chan [Mon, 15 Sep 2025 01:52:24 +0000 (09:52 +0800)]
dt-bindings: spmi: Add Apple A11 and T2 compatible

The SPMI bus found on Apple A11 and T2 SoCs are compatible with the
existing driver for t8103's spmi so add their compatibles.

Signed-off-by: Nick Chan <towinchenmi@gmail.com>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Sven Peter <sven@kernel.org>
7 weeks agoserial: qcom-geni: Load UART qup Firmware from linux side
Viken Dadhaniya [Thu, 11 Sep 2025 04:32:56 +0000 (10:02 +0530)]
serial: qcom-geni: Load UART qup Firmware from linux side

Add provision to load firmware of Serial engine for UART protocol from
Linux Execution Environment on running on APPS processor.

Co-developed-by: Mukesh Kumar Savaliya <mukesh.savaliya@oss.qualcomm.com>
Signed-off-by: Mukesh Kumar Savaliya <mukesh.savaliya@oss.qualcomm.com>
Signed-off-by: Viken Dadhaniya <viken.dadhaniya@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20250911043256.3523057-7-viken.dadhaniya@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
7 weeks agospi: geni-qcom: Load spi qup Firmware from linux side
Viken Dadhaniya [Thu, 11 Sep 2025 04:32:55 +0000 (10:02 +0530)]
spi: geni-qcom: Load spi qup Firmware from linux side

Add provision to load firmware of Serial engine for SPI protocol from
Linux Execution Environment on running on APPS processor.

Co-developed-by: Mukesh Kumar Savaliya <mukesh.savaliya@oss.qualcomm.com>
Signed-off-by: Mukesh Kumar Savaliya <mukesh.savaliya@oss.qualcomm.com>
Signed-off-by: Viken Dadhaniya <viken.dadhaniya@oss.qualcomm.com>
Acked-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20250911043256.3523057-6-viken.dadhaniya@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
7 weeks agoi2c: qcom-geni: Load i2c qup Firmware from linux side
Viken Dadhaniya [Thu, 11 Sep 2025 04:32:54 +0000 (10:02 +0530)]
i2c: qcom-geni: Load i2c qup Firmware from linux side

Add provision to load firmware of Serial engine for I2C protocol from
Linux Execution Environment on running on APPS processor.

Acked-by: Andi Shyti <andi.shyti@kernel.org>
Co-developed-by: Mukesh Kumar Savaliya <mukesh.savaliya@oss.qualcomm.com>
Signed-off-by: Mukesh Kumar Savaliya <mukesh.savaliya@oss.qualcomm.com>
Signed-off-by: Viken Dadhaniya <viken.dadhaniya@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20250911043256.3523057-5-viken.dadhaniya@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
7 weeks agosoc: qcom: geni-se: Add support to load QUP SE Firmware via Linux subsystem
Viken Dadhaniya [Thu, 11 Sep 2025 04:32:53 +0000 (10:02 +0530)]
soc: qcom: geni-se: Add support to load QUP SE Firmware via Linux subsystem

In Qualcomm SoCs, firmware loading for Serial Engines (SE) within the QUP
hardware has traditionally been managed by TrustZone (TZ). This restriction
poses a significant challenge for developers, as it limits their ability to
enable various protocols on any of the SEs from the Linux side, reducing
flexibility.

Load the firmware to QUP SE based on the 'firmware-name' property specified
in devicetree at bootup time.

Co-developed-by: Mukesh Kumar Savaliya <mukesh.savaliya@oss.qualcomm.com>
Signed-off-by: Mukesh Kumar Savaliya <mukesh.savaliya@oss.qualcomm.com>
Signed-off-by: Viken Dadhaniya <viken.dadhaniya@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20250911043256.3523057-4-viken.dadhaniya@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
7 weeks agosoc: qcom: geni-se: Cleanup register defines and update copyright
Viken Dadhaniya [Thu, 11 Sep 2025 04:32:52 +0000 (10:02 +0530)]
soc: qcom: geni-se: Cleanup register defines and update copyright

Refactor register macros for consistency and clarity and remove redundant
definitions and update naming for better alignment.
Update copyright to include Qualcomm Technologies, Inc.

Signed-off-by: Viken Dadhaniya <viken.dadhaniya@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20250911043256.3523057-3-viken.dadhaniya@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
7 weeks agodt-bindings: qcom: se-common: Add QUP Peripheral-specific properties for I2C, SPI...
Viken Dadhaniya [Thu, 11 Sep 2025 04:32:51 +0000 (10:02 +0530)]
dt-bindings: qcom: se-common: Add QUP Peripheral-specific properties for I2C, SPI, and SERIAL bus

Introduce a new YAML schema for QUP-supported peripherals. Define common
properties used across QUP-supported peripherals.

Add property `qcom,enable-gsi-dma` to configure the Serial Engine (SE) for
QCOM GPI DMA mode.

Reference the common schema YAML in the GENI I2C, SPI, and SERIAL YAML
files.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Co-developed-by: Mukesh Kumar Savaliya <mukesh.savaliya@oss.qualcomm.com>
Signed-off-by: Mukesh Kumar Savaliya <mukesh.savaliya@oss.qualcomm.com>
Signed-off-by: Viken Dadhaniya <viken.dadhaniya@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20250911043256.3523057-2-viken.dadhaniya@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
8 weeks agoDocumentation: tee: Add Qualcomm TEE driver
Amirreza Zarrabi [Fri, 12 Sep 2025 04:07:50 +0000 (21:07 -0700)]
Documentation: tee: Add Qualcomm TEE driver

Add documentation for the Qualcomm TEE driver.

Acked-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
Signed-off-by: Amirreza Zarrabi <amirreza.zarrabi@oss.qualcomm.com>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
8 weeks agotee: qcom: enable TEE_IOC_SHM_ALLOC ioctl
Amirreza Zarrabi [Fri, 12 Sep 2025 04:07:49 +0000 (21:07 -0700)]
tee: qcom: enable TEE_IOC_SHM_ALLOC ioctl

Enable userspace to allocate shared memory with QTEE. Since
QTEE handles shared memory as object, a wrapper is implemented
to represent tee_shm as an object. The shared memory identifier,
obtained through TEE_IOC_SHM_ALLOC, is transferred to the driver using
TEE_IOCTL_PARAM_ATTR_TYPE_OBJREF_INPUT/OUTPUT.

Tested-by: Neil Armstrong <neil.armstrong@linaro.org>
Acked-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
Tested-by: Harshal Dev <quic_hdev@quicinc.com>
Signed-off-by: Amirreza Zarrabi <amirreza.zarrabi@oss.qualcomm.com>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
8 weeks agotee: qcom: add primordial object
Amirreza Zarrabi [Fri, 12 Sep 2025 04:07:48 +0000 (21:07 -0700)]
tee: qcom: add primordial object

After booting, the kernel provides a static object known as the
primordial object. This object is utilized by QTEE for native
kernel services such as yield or privileged operations.

Acked-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
Tested-by: Neil Armstrong <neil.armstrong@linaro.org>
Tested-by: Harshal Dev <quic_hdev@quicinc.com>
Signed-off-by: Amirreza Zarrabi <amirreza.zarrabi@oss.qualcomm.com>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
8 weeks agotee: add Qualcomm TEE driver
Amirreza Zarrabi [Fri, 12 Sep 2025 04:07:47 +0000 (21:07 -0700)]
tee: add Qualcomm TEE driver

Introduce qcomtee_object, which represents an object in both QTEE and
the kernel. QTEE clients can invoke an instance of qcomtee_object to
access QTEE services. If this invocation produces a new object in QTEE,
an instance of qcomtee_object will be returned.

Similarly, QTEE can request services from by issuing a callback
request, which invokes an instance of qcomtee_object.

Implement initial support for exporting qcomtee_object to userspace
and QTEE, enabling the invocation of objects hosted in QTEE and userspace
through the TEE subsystem.

Tested-by: Neil Armstrong <neil.armstrong@linaro.org>
Tested-by: Harshal Dev <quic_hdev@quicinc.com>
Acked-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
Signed-off-by: Amirreza Zarrabi <amirreza.zarrabi@oss.qualcomm.com>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
8 weeks agotee: increase TEE_MAX_ARG_SIZE to 4096
Amirreza Zarrabi [Fri, 12 Sep 2025 04:07:46 +0000 (21:07 -0700)]
tee: increase TEE_MAX_ARG_SIZE to 4096

Increase TEE_MAX_ARG_SIZE to accommodate worst-case scenarios where
additional buffer space is required to pass all arguments to TEE.
This change is necessary for upcoming support for Qualcomm TEE, which
requires a larger buffer for argument marshaling.

Reviewed-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
Tested-by: Harshal Dev <quic_hdev@quicinc.com>
Signed-off-by: Amirreza Zarrabi <amirreza.zarrabi@oss.qualcomm.com>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
8 weeks agotee: add TEE_IOCTL_PARAM_ATTR_TYPE_OBJREF
Amirreza Zarrabi [Fri, 12 Sep 2025 04:07:45 +0000 (21:07 -0700)]
tee: add TEE_IOCTL_PARAM_ATTR_TYPE_OBJREF

The TEE subsystem allows session-based access to trusted services,
requiring a session to be established to receive a service. This
is not suitable for an environment that represents services as objects.
An object supports various operations that a client can invoke,
potentially generating a result or a new object that can be invoked
independently of the original object.

Add TEE_IOCTL_PARAM_ATTR_TYPE_OBJREF_INPUT/OUTPUT/INOUT to represent an
object. Objects may reside in either TEE or userspace. To invoke an
object in TEE, introduce a new ioctl. Use the existing SUPPL_RECV and
SUPPL_SEND to invoke an object in userspace.

Reviewed-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
Tested-by: Neil Armstrong <neil.armstrong@linaro.org>
Tested-by: Harshal Dev <quic_hdev@quicinc.com>
Signed-off-by: Amirreza Zarrabi <amirreza.zarrabi@oss.qualcomm.com>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
8 weeks agotee: add TEE_IOCTL_PARAM_ATTR_TYPE_UBUF
Amirreza Zarrabi [Fri, 12 Sep 2025 04:07:44 +0000 (21:07 -0700)]
tee: add TEE_IOCTL_PARAM_ATTR_TYPE_UBUF

For drivers that can transfer data to the TEE without using shared
memory from client, it is necessary to receive the user address
directly, bypassing any processing by the TEE subsystem. Introduce
TEE_IOCTL_PARAM_ATTR_TYPE_UBUF_INPUT/OUTPUT/INOUT to represent
userspace buffers.

Reviewed-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
Tested-by: Neil Armstrong <neil.armstrong@linaro.org>
Tested-by: Harshal Dev <quic_hdev@quicinc.com>
Signed-off-by: Amirreza Zarrabi <amirreza.zarrabi@oss.qualcomm.com>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
8 weeks agotee: add close_context to TEE driver operation
Amirreza Zarrabi [Fri, 12 Sep 2025 04:07:43 +0000 (21:07 -0700)]
tee: add close_context to TEE driver operation

The tee_context can be used to manage TEE user resources, including
those allocated by the driver for the TEE on behalf of the user.
The release() callback is invoked only when all resources, such as
tee_shm, are released and there are no references to the tee_context.

When a user closes the device file, the driver should notify the
TEE to release any resources it may hold and drop the context
references. To achieve this, a close_context() callback is
introduced to initiate resource release in the TEE driver when
the device file is closed.

Relocate teedev_ctx_get, teedev_ctx_put, tee_device_get, and
tee_device_get functions to tee_core.h to make them accessible
outside the TEE subsystem.

Reviewed-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
Tested-by: Neil Armstrong <neil.armstrong@linaro.org>
Tested-by: Harshal Dev <quic_hdev@quicinc.com>
Signed-off-by: Amirreza Zarrabi <amirreza.zarrabi@oss.qualcomm.com>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
8 weeks agotee: allow a driver to allocate a tee_device without a pool
Amirreza Zarrabi [Fri, 12 Sep 2025 04:07:42 +0000 (21:07 -0700)]
tee: allow a driver to allocate a tee_device without a pool

A TEE driver doesn't always need to provide a pool if it doesn't
support memory sharing ioctls and can allocate memory for TEE
messages in another way. Although this is mentioned in the
documentation for tee_device_alloc(), it is not handled correctly.

Reviewed-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
Signed-off-by: Amirreza Zarrabi <amirreza.zarrabi@oss.qualcomm.com>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
8 weeks agoMerge branch '20250911-qcom-tee-using-tee-ss-without-mem-obj-v12-2-17f07a942b8d@oss...
Jens Wiklander [Mon, 15 Sep 2025 15:26:53 +0000 (17:26 +0200)]
Merge branch '20250911-qcom-tee-using-tee-ss-without-mem-obj-v12-2-17f07a942b8d@oss.qualcomm.com' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux

      firmware: qcom: tzmem: export shm_bridge create/delete
      firmware: qcom: scm: add support for object invocation

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
8 weeks agoMerge tag 'v6.17-next-soc' of https://git.kernel.org/pub/scm/linux/kernel/git/mediate...
Arnd Bergmann [Mon, 15 Sep 2025 14:43:10 +0000 (16:43 +0200)]
Merge tag 'v6.17-next-soc' of https://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux into soc/drivers

mtk-svs:
* Drop reference taken on probe failure

* tag 'v6.17-next-soc' of https://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux:
  soc: mediatek: mtk-svs: fix device leaks on mt8192 probe failure
  soc: mediatek: mtk-svs: fix device leaks on mt8183 probe failure

Link: https://lore.kernel.org/r/87c8f50b-90a5-47ed-af60-99a4e075a266@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
8 weeks agoMerge tag 'microchip-soc-6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/at91...
Arnd Bergmann [Mon, 15 Sep 2025 14:23:40 +0000 (16:23 +0200)]
Merge tag 'microchip-soc-6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/at91/linux into soc/drivers

Microchip ARM64 SoC updates for v6.18:

This update includes:
- basic infrastructure support for Microchip LAN969x SoC
- SoC ARCH symbols (existing SparX-5, new LAN969x) under the
  ARCH_MICROCHIP hidden symbol (already in use by AT91 in 6.17)
- addition of that new symbol for drivers that are shared by
  Microchip SoC-s now and in the future

* tag 'microchip-soc-6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/at91/linux:
  crypto: atmel-aes: make it selectable for ARCH_MICROCHIP
  char: hw_random: atmel: make it selectable for ARCH_MICROCHIP
  i2c: at91: make it selectable for ARCH_MICROCHIP
  spi: atmel: make it selectable for ARCH_MICROCHIP
  tty: serial: atmel: make it selectable for ARCH_MICROCHIP
  mfd: at91-usart: Make it selectable for ARCH_MICROCHIP
  arm64: lan969x: Add support for Microchip LAN969x SoC
  arm64: Add config for Microchip SoC platforms

Link: https://lore.kernel.org/r/20250915123548.13722-1-nicolas.ferre@microchip.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
8 weeks agoMerge tag 'scmi-updates-6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep...
Arnd Bergmann [Mon, 15 Sep 2025 14:21:57 +0000 (16:21 +0200)]
Merge tag 'scmi-updates-6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into soc/drivers

Arm SCMI updates/fixes for v6.18

These SCMI changes bring a mix of improvements, fixes, and cleanups:

1. Device Tree bindings - allow multiple SCMI instances by suffixing
   node names (Nikunj Kela).
2. Code hardening - constify both scmi_{transport,voltage_proto}_ops
   so they reside in read-only memory (Christophe JAILLET).
3. VirtIO transport initialization - set DRIVER_OK before SCMI probing
   to prevent potential stalls; while recent rework removes the practical
   risk, this ensures correctness (Junnan Wu).
4. Quirk handling - fix a critical bug by preventing writes to string
   constants, avoiding faults in read-only memory (Johan Hovold).
5. i.MX SCMI MISC protocol - extend support to discover board info,
   retrieve configuration and build data, and document the new
   MISC_BOARD_INFO command; all handled gracefully if unsupported (Peng Fan).
6. Logging cleanup - simplify device tree node name logging by using
   the %pOF format to print full paths (Krzysztof Kozlowski).

* tag 'scmi-updates-6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux:
  firmware: arm_scmi: Simplify printks with pOF format
  firmware: arm_scmi: imx: Discover MISC board info from the system manager
  firmware: arm_scmi: imx: Support retrieving MISC protocol configuration info
  firmware: arm_scmi: imx: Discover MISC build info from the system manager
  firmware: arm_scmi: imx: Add documentation for MISC_BOARD_INFO
  firmware: arm_scmi: quirk: Prevent writes to string constants
  firmware: arm_scmi: Fix function name typo in scmi_perf_proto_ops struct
  firmware: arm_scmi: Mark VirtIO ready before registering scmi_virtio_driver
  firmware: arm_scmi: Constify struct scmi_transport_ops
  firmware: arm_scmi: Constify struct scmi_voltage_proto_ops
  dt-bindings: firmware: arm,scmi: Allow multiple instances

Link: https://lore.kernel.org/r/20250915101341.2987516-1-sudeep.holla@arm.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
8 weeks agoMerge tag 'tegra-for-6.18-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra...
Arnd Bergmann [Mon, 15 Sep 2025 14:21:00 +0000 (16:21 +0200)]
Merge tag 'tegra-for-6.18-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/drivers

soc/tegra: Changes for v6.18-rc1

NVMEM cells are added for Tegra114. These contain calibration data for
sensors and USB.

* tag 'tegra-for-6.18-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  soc/tegra: fuse: Add Tegra114 nvmem cells and fuse lookups

Link: https://lore.kernel.org/r/20250914063927.89981-2-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
8 weeks agoMerge tag 'samsung-drivers-6.18' of https://git.kernel.org/pub/scm/linux/kernel/git...
Arnd Bergmann [Mon, 15 Sep 2025 14:18:34 +0000 (16:18 +0200)]
Merge tag 'samsung-drivers-6.18' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into soc/drivers

Samsung SoC drivers for v6.18

1. Google GS101:
   Enable CPU Idle, which needs programming C2 idle hints
   via ACPM firmware (Alive Clock and Power Manager).  The patch
   introducing this depends on 'local-timer-stop' Devicetree property,
   which was merged in v6.17.

   Fix handling error codes in ACPM firmware driver when talking to
   PMIC.

2. Exynos2200: Add dedicated compatible for serial engines (USI).

* tag 'samsung-drivers-6.18' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  firmware: exynos-acpm: fix PMIC returned errno
  dt-bindings: soc: samsung: usi: add samsung,exynos2200-usi compatible
  soc: samsung: exynos-pmu: Enable CPU Idle for gs101

Link: https://lore.kernel.org/r/20250912135448.203678-2-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
8 weeks agoMerge tag 'renesas-drivers-for-v6.18-tag2' of git://git.kernel.org/pub/scm/linux...
Arnd Bergmann [Mon, 15 Sep 2025 14:17:21 +0000 (16:17 +0200)]
Merge tag 'renesas-drivers-for-v6.18-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into soc/drivers

Renesas driver updates for v6.18 (take two)

  - Identify the Renesas R-Car X5H (R8A78000) SoC.

* tag 'renesas-drivers-for-v6.18-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  soc: renesas: Identify R-Car X5H

Link: https://lore.kernel.org/r/cover.1757669914.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
8 weeks agoMerge tag 'tee-prot-dma-buf-for-v6.18' of git://git.kernel.org/pub/scm/linux/kernel...
Arnd Bergmann [Mon, 15 Sep 2025 14:05:04 +0000 (16:05 +0200)]
Merge tag 'tee-prot-dma-buf-for-v6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/jenswi/linux-tee into soc/drivers

TEE protected DMA-bufs for v6.18

- Allocates protected DMA-bufs from a DMA-heap instantiated from the TEE
  subsystem.
- The DMA-heap uses a protected memory pool provided by the backend TEE
  driver, allowing it to choose how to allocate the protected physical
  memory.
- Three use-cases (Secure Video Playback, Trusted UI, and Secure Video
  Recording) have been identified so far to serve as examples of what
  can be expected.
- The use-cases have predefined DMA-heap names,
  "protected,secure-video", "protected,trusted-ui", and
  "protected,secure-video-record". The backend driver registers protected
  memory pools for the use-cases it supports.

* tag 'tee-prot-dma-buf-for-v6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/jenswi/linux-tee:
  optee: smc abi: dynamic protected memory allocation
  optee: FF-A: dynamic protected memory allocation
  optee: support protected memory allocation
  tee: add tee_shm_alloc_dma_mem()
  tee: new ioctl to a register tee_shm from a dmabuf file descriptor
  tee: refactor params_from_user()
  tee: implement protected DMA-heap
  dma-buf: dma-heap: export declared functions
  optee: sync secure world ABI headers

Link: https://lore.kernel.org/r/20250912101752.GA1453408@rayden
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
8 weeks agoMerge tag 'tee-sha1-lib-for-v6.18' of git://git.kernel.org/pub/scm/linux/kernel/git...
Arnd Bergmann [Mon, 15 Sep 2025 14:01:35 +0000 (16:01 +0200)]
Merge tag 'tee-sha1-lib-for-v6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/jenswi/linux-tee into soc/drivers

Use SHA-1 library instead of crypto_shash

* tag 'tee-sha1-lib-for-v6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/jenswi/linux-tee:
  tee: Use SHA-1 library instead of crypto_shash

Link: https://lore.kernel.org/r/20250912091611.GA1442659@rayden
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
8 weeks agoMerge tag 'tee-improve-sysfs-for-v6.18' of git://git.kernel.org/pub/scm/linux/kernel...
Arnd Bergmann [Mon, 15 Sep 2025 13:58:03 +0000 (15:58 +0200)]
Merge tag 'tee-improve-sysfs-for-v6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/jenswi/linux-tee into soc/drivers

Use sysfs_emit() for sysfs buffers to userspace

* tag 'tee-improve-sysfs-for-v6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/jenswi/linux-tee:
  drivers: tee: improve sysfs interface by using sysfs_emit()

Link: https://lore.kernel.org/r/20250912091000.GA1441709@rayden
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
8 weeks agoMerge tag 'hisi-drivers-for-6.18' of https://github.com/hisilicon/linux-hisi into...
Arnd Bergmann [Mon, 15 Sep 2025 13:57:17 +0000 (15:57 +0200)]
Merge tag 'hisi-drivers-for-6.18' of https://github.com/hisilicon/linux-hisi into soc/drivers

HiSilicon driver updates for v6.18

- Fix a spelling mistake in the HCCS driver

* tag 'hisi-drivers-for-6.18' of https://github.com/hisilicon/linux-hisi:
  soc: hisilicon: kunpeng_hccs: Fix spelling mistake "decrese" -> "decrease"

Link: https://lore.kernel.org/r/68C376C4.2030808@hisilicon.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
8 weeks agoMerge tag 'qcom-drivers-for-6.18' of https://git.kernel.org/pub/scm/linux/kernel...
Arnd Bergmann [Mon, 15 Sep 2025 13:52:53 +0000 (15:52 +0200)]
Merge tag 'qcom-drivers-for-6.18' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/drivers

Qualcomm driver updates for v6.18

Allowlist the uefisec application, to provide UEFI variable access on
Dell Inspiron 7441 and Latitude 7455, the Hamoa EVK, and the Lenovo
Thinkbook 16.

Disable tzmem on the SC7180 platform, as this causes problems with
rmtfs.

Clean up unused, lingering, parameters in the MDT loader API.

Unconditinally clear TCS trigger bit, to avoid false completion IRQs in
the RPMh/RSC driver. Fix endianess issue in SMEM driver.

Add pd-mapper support for SM8750.

* tag 'qcom-drivers-for-6.18' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
  firmware: qcom: tzmem: disable sc7180 platform
  soc: qcom: use devm_kcalloc() for array space allocation
  dt-bindings: firmware: qcom,scm: Add MSM8937
  firmware: qcom: scm: Allow QSEECOM on Dell Inspiron 7441 / Latitude 7455
  firmware: qcom: scm: Allow QSEECOM on Lenovo Thinkbook 16
  soc: qcom: rpmh-rsc: Unconditionally clear _TRIGGER bit for TCS
  soc: qcom: pd-mapper: Add SM8750 compatible
  soc: qcom: icc-bwmon: Fix handling dev_pm_opp_find_bw_*() errors
  soc: remove unneeded 'fast_io' parameter in regmap_config
  soc: qcom: smem: Fix endian-unaware access of num_entries
  dt-bindings: soc: qcom,rpmh-rsc: Remove double colon from description
  dt-bindings: sram: qcom,imem: Document IPQ5424 compatible
  firmware: qcom: scm: Allow QSEECOM on HAMOA-IOT-EVK
  soc: qcom: mdt_loader: Remove unused parameter
  soc: qcom: mdt_loader: Remove pas id parameter
  soc: qcom: mdt_loader: Remove unused parameter
  firmware: qcom: scm: preserve assign_mem() error return value

Link: https://lore.kernel.org/r/20250911215017.3020481-1-andersson@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
8 weeks agoMerge tag 'arm-soc/for-6.18/drivers' of https://github.com/Broadcom/stblinux into...
Arnd Bergmann [Mon, 15 Sep 2025 13:51:43 +0000 (15:51 +0200)]
Merge tag 'arm-soc/for-6.18/drivers' of https://github.com/Broadcom/stblinux into soc/drivers

This pull request contains Broadcom SoC drivers updates for 6.18:

- Andrea adds the missing MIPI DSI clock defines for the RP1 and then
  continues to implement the remaining clocks for the RP1 chip (ADC,
  I2S, Audio in/out, DMA, MIPI, PWM, SDIO, UART, encoder)

- Akhilesh fixes a spelling typo in the bcm47xx_sprom driver

- Brian converts the RP1 clock driver to use the new determine_rate()
  API

* tag 'arm-soc/for-6.18/drivers' of https://github.com/Broadcom/stblinux:
  clk: rp1: convert from round_rate() to determine_rate()
  drivers: firmware: bcm47xx_sprom: fix spelling
  clk: rp1: Implement remaining clock tree
  dt-bindings: clock: rp1: Add missing MIPI DSI defines

Link: https://lore.kernel.org/r/20250910171910.666401-4-florian.fainelli@broadcom.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
8 weeks agoMerge tag 'reset-for-v6.18' of https://git.pengutronix.de/git/pza/linux into soc...
Arnd Bergmann [Mon, 15 Sep 2025 13:50:32 +0000 (15:50 +0200)]
Merge tag 'reset-for-v6.18' of https://git.pengutronix.de/git/pza/linux into soc/drivers

Reset controller updates for v6.18

* Fix the reset tree git repository link in MAINTAINERS.
* Add support for bcm63xx ephy reset control to reset-bcm6345.
* Add support for the AST2700 reset controller, as an auxiliary
  device driver to the corresponding clock controller driver.
* Add support for the remaining TH1520 VO subsystem reset controls to
  reset-th1520.
* Drop unnecessary .fast_io setting from MMIO regmap_configs.

* tag 'reset-for-v6.18' of https://git.pengutronix.de/git/pza/linux:
  reset: remove unneeded 'fast_io' parameter in regmap_config
  reset: th1520: add resets for display pipeline
  dt-bindings: reset: thead,th1520-reset: add more VOSYS resets
  reset: aspeed: register AST2700 reset auxiliary bus device
  reset: bcm6345: add support for bcm63xx ephy control register
  dt-bindings: reset: add compatible for bcm63xx ephy control
  MAINTAINERS: Use https:// protocol for Reset Controller Framework tree

Link: https://lore.kernel.org/r/20250904154135.2385905-1-p.zabel@pengutronix.de
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
8 weeks agoMerge branch '20250911-qcom-tee-using-tee-ss-without-mem-obj-v12-2-17f07a942b8d@oss...
Bjorn Andersson [Mon, 15 Sep 2025 13:43:03 +0000 (08:43 -0500)]
Merge branch '20250911-qcom-tee-using-tee-ss-without-mem-obj-v12-2-17f07a942b8d@oss.qualcomm.com' into drivers-for-6.18

Merge the addition of support for object invocation into the SCM driver
though a topic branch, to enable sharing this with TEE subsystem.

8 weeks agofirmware: qcom: scm: add support for object invocation
Amirreza Zarrabi [Fri, 12 Sep 2025 04:07:41 +0000 (21:07 -0700)]
firmware: qcom: scm: add support for object invocation

Qualcomm TEE (QTEE) hosts Trusted Applications (TAs) and services in
the secure world, accessed via objects. A QTEE client can invoke these
objects to request services. Similarly, QTEE can request services from
the nonsecure world using objects exported to the secure world.

Add low-level primitives to facilitate the invocation of objects hosted
in QTEE, as well as those hosted in the nonsecure world.

If support for object invocation is available, the qcom_scm allocates
a dedicated child platform device. The driver for this device communicates
with QTEE using low-level primitives.

Tested-by: Neil Armstrong <neil.armstrong@linaro.org>
Tested-by: Harshal Dev <quic_hdev@quicinc.com>
Signed-off-by: Amirreza Zarrabi <amirreza.zarrabi@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20250911-qcom-tee-using-tee-ss-without-mem-obj-v12-2-17f07a942b8d@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
8 weeks agofirmware: qcom: tzmem: export shm_bridge create/delete
Amirreza Zarrabi [Fri, 12 Sep 2025 04:07:40 +0000 (21:07 -0700)]
firmware: qcom: tzmem: export shm_bridge create/delete

Anyone with access to contiguous physical memory should be able to
share memory with QTEE using shm_bridge.

Tested-by: Neil Armstrong <neil.armstrong@linaro.org>
Tested-by: Harshal Dev <quic_hdev@quicinc.com>
Reviewed-by: Kuldeep Singh <quic_kuldsing@quicinc.com>
Signed-off-by: Amirreza Zarrabi <amirreza.zarrabi@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20250911-qcom-tee-using-tee-ss-without-mem-obj-v12-1-17f07a942b8d@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
8 weeks agospi: apple: Add "apple,t8103-spi" compatible
Janne Grunau [Thu, 28 Aug 2025 14:52:09 +0000 (16:52 +0200)]
spi: apple: Add "apple,t8103-spi" compatible

After discussion with the devicetree maintainers we agreed to not extend
lists with the generic compatible "apple,spi" anymore [1]. Use
"apple,t8103-spi" as base compatible as it is the SoC the driver and
bindings were written for.

[1]: https://lore.kernel.org/asahi/12ab93b7-1fc2-4ce0-926e-c8141cfe81bf@kernel.org/

Acked-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Janne Grunau <j@jannau.net>
8 weeks agoASoC: apple: mca: Add "apple,t8103-mca" compatible
Janne Grunau [Thu, 28 Aug 2025 14:01:48 +0000 (16:01 +0200)]
ASoC: apple: mca: Add "apple,t8103-mca" compatible

After discussion with the devicetree maintainers we agreed to not extend
lists with the generic compatible "apple,mca" anymore [1]. Use
"apple,t8103-mca" as base compatible as it is the SoC the driver and
bindings were written for.

[1]: https://lore.kernel.org/asahi/12ab93b7-1fc2-4ce0-926e-c8141cfe81bf@kernel.org/

Acked-by: Mark Brown <broonie@kernel.org>
Reviewed-by: Neal Gompa <neal@gompa.dev>
Signed-off-by: Janne Grunau <j@jannau.net>
8 weeks agopinctrl: apple: Add "apple,t8103-pinctrl" as compatible
Janne Grunau [Thu, 28 Aug 2025 14:01:27 +0000 (16:01 +0200)]
pinctrl: apple: Add "apple,t8103-pinctrl" as compatible

After discussion with the devicetree maintainers we agreed to not extend
lists with the generic compatible "apple,pinctrl" anymore [1]. Use
"apple,t8103-pinctrl" as fallback compatible as it is the SoC the driver
and bindings were written for.

[1]: https://lore.kernel.org/asahi/12ab93b7-1fc2-4ce0-926e-c8141cfe81bf@kernel.org/

Acked-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Neal Gompa <neal@gompa.dev>
Signed-off-by: Janne Grunau <j@jannau.net>
8 weeks agospi: dt-bindings: apple,spi: Add t6020-spi compatible
Janne Grunau [Thu, 28 Aug 2025 14:52:10 +0000 (16:52 +0200)]
spi: dt-bindings: apple,spi: Add t6020-spi compatible

After discussion with the devicetree maintainers we agreed to not extend
lists with the generic compatible "apple,spi" anymore [1]. Use
"apple,t8103-spi" as base compatible as it is the SoC the driver and
bindings were written for.

The SPI controller on Apple M2 Pro/Max/Ultra SoCs is compatible with
"apple,t8103-spi" so add its per-SoC compatible with the former as
fallback used by the existing driver.

[1]: https://lore.kernel.org/asahi/12ab93b7-1fc2-4ce0-926e-c8141cfe81bf@kernel.org/

Acked-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Janne Grunau <j@jannau.net>
8 weeks agoASoC: dt-bindings: apple,mca: Add t6020-mca compatible
Janne Grunau [Thu, 28 Aug 2025 14:01:49 +0000 (16:01 +0200)]
ASoC: dt-bindings: apple,mca: Add t6020-mca compatible

After discussion with the devicetree maintainers we agreed to not extend
lists with the generic compatible "apple,mca" anymore [1]. Use
"apple,t8103-mca" as base compatible as it is the SoC the driver and
bindings were written for.

mca on Apple's M2 Pro/Max/Ultra SoCs is compatible with
"apple,t8103-mca" so add its per-SoC compatible with the former as
fallbeck used by the existing driver.

[1]: https://lore.kernel.org/asahi/12ab93b7-1fc2-4ce0-926e-c8141cfe81bf@kernel.org/

Acked-by: Mark Brown <broonie@kernel.org>
Reviewed-by: Neal Gompa <neal@gompa.dev>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Janne Grunau <j@jannau.net>
8 weeks agodt-bindings: dma: apple,admac: Add t6020-admac compatible
Janne Grunau [Thu, 28 Aug 2025 14:01:47 +0000 (16:01 +0200)]
dt-bindings: dma: apple,admac: Add t6020-admac compatible

After discussion with the devicetree maintainers we agreed to not extend
lists with the generic compatible "apple,admac" anymore [1]. Use
"apple,t8103-admac" as base compatible as it is the SoC the driver and
bindings were written for.

admac on Apple's M2 Pro/Max/Ultra SoCs is compatible with
"apple,t8103-admac" so add its per-SoC compatible with the former as
fallback used by the existing driver.

[1]: https://lore.kernel.org/asahi/12ab93b7-1fc2-4ce0-926e-c8141cfe81bf@kernel.org/

Reviewed-by: Neal Gompa <neal@gompa.dev>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Janne Grunau <j@jannau.net>
8 weeks agodt-bindings: clock: apple,nco: Add t6020-nco compatible
Janne Grunau [Thu, 28 Aug 2025 14:01:45 +0000 (16:01 +0200)]
dt-bindings: clock: apple,nco: Add t6020-nco compatible

After discussion with the devicetree maintainers we agreed to not extend
lists with the generic compatible "apple,nco" anymore [1]. Use
"apple,t8103-nco" as base compatible as it is the SoC the driver and
bindings were written for.

The block found on Apple's M2 Pro/Max/Ultra SoCs is compatible with
"apple,t8103-nco" so add its per-SoC compatible with the former as
fallback used by the existing driver.

[1]: https://lore.kernel.org/asahi/12ab93b7-1fc2-4ce0-926e-c8141cfe81bf@kernel.org/

Reviewed-by: Neal Gompa <neal@gompa.dev>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Janne Grunau <j@jannau.net>
8 weeks agodt-bindings: watchdog: apple,wdt: Add t6020-wdt compatible
Janne Grunau [Thu, 28 Aug 2025 14:01:43 +0000 (16:01 +0200)]
dt-bindings: watchdog: apple,wdt: Add t6020-wdt compatible

After discussion with the devicetree maintainers we agreed to not extend
lists with the generic compatible "apple,wdt" anymore [1]. Use
"apple,t8103-wdt" as base compatible as it is the SoC the driver and
bindings were written for.

The block on the Apple M2 Pro/Max/Ultra SoCs is compatible with the
existing driver so add its per-SoC compatible.

[1]: https://lore.kernel.org/asahi/12ab93b7-1fc2-4ce0-926e-c8141cfe81bf@kernel.org/

Reviewed-by: Neal Gompa <neal@gompa.dev>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Janne Grunau <j@jannau.net>
8 weeks agodt-bindings: spmi: apple,spmi: Add t6020-spmi compatible
Janne Grunau [Thu, 28 Aug 2025 14:01:41 +0000 (16:01 +0200)]
dt-bindings: spmi: apple,spmi: Add t6020-spmi compatible

After discussion with the devicetree maintainers we agreed to not extend
lists with the generic compatible "apple,spmi" anymore [1]. Use
"apple,t8103-spmi" as base compatible as it is the SoC the driver and
bindings were written for.

The SPMI controller on Apple M2 Pro/Max/Ultra is compatible to
"apple,t8103-spmi" so add its per-SoC compatible with the former as
fallback used by the existing driver.

[1]: https://lore.kernel.org/asahi/12ab93b7-1fc2-4ce0-926e-c8141cfe81bf@kernel.org/

Reviewed-by: Neal Gompa <neal@gompa.dev>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Janne Grunau <j@jannau.net>
8 weeks agodt-bindings: mfd: apple,smc: Add t6020-smc compatible
Janne Grunau [Thu, 28 Aug 2025 14:01:38 +0000 (16:01 +0200)]
dt-bindings: mfd: apple,smc: Add t6020-smc compatible

After discussion with the devicetree maintainers we agreed to not extend
lists with the generic compatible "apple,smc" anymore [1]. Use
"apple,t8103-smc" as base compatible as it is the SoC the driver and
bindings were written for.

SMC on Apple's M2 Pro/Max/Ultra SoCs is compatible with the existing
driver so add its per-SoC compatible with the new base compatible as
fallback used by the driver.

[1]: https://lore.kernel.org/asahi/12ab93b7-1fc2-4ce0-926e-c8141cfe81bf@kernel.org/

Reviewed-by: Neal Gompa <neal@gompa.dev>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Janne Grunau <j@jannau.net>
8 weeks agodt-bindings: net: bcm4329-fmac: Add BCM4388 PCI compatible
Janne Grunau [Thu, 28 Aug 2025 14:01:36 +0000 (16:01 +0200)]
dt-bindings: net: bcm4329-fmac: Add BCM4388 PCI compatible

BCM4388 WiFi/BT modules are found on Apple silicon devices using
M2 Pro/Max/Ultra and later. Driver support for this module is not
submitted yet.

Reviewed-by: Neal Gompa <neal@gompa.dev>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Janne Grunau <j@jannau.net>
8 weeks agodt-bindings: net: bcm4377-bluetooth: Add BCM4388 compatible
Janne Grunau [Thu, 28 Aug 2025 14:01:35 +0000 (16:01 +0200)]
dt-bindings: net: bcm4377-bluetooth: Add BCM4388 compatible

Add BCM4388 PCI vendor/product ID as compatible. The BCM4388 WiFi/BT
module is found on Apple silicon devices with M2 Pro/Max/Ultra and
later. Support for this variant was added in 2024 without amending the
dt-bindings.

Link: https://lore.kernel.org/asahi/20240602-btbcm4388-v1-1-210e4b4eeb3b@svenpeter.dev/
Reviewed-by: Neal Gompa <neal@gompa.dev>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Janne Grunau <j@jannau.net>
8 weeks agodt-bindings: nvme: apple: Add apple,t6020-nvme-ans2 compatible
Janne Grunau [Thu, 28 Aug 2025 14:01:34 +0000 (16:01 +0200)]
dt-bindings: nvme: apple: Add apple,t6020-nvme-ans2 compatible

After discussion with the devicetree maintainers we agreed to not extend
lists with the generic compatible "apple,nvme-ans2" anymore [1]. Add
"apple,t8103-nvme-ans2" as fallback compatible as it is the SoC the
driver and bindings were written for.

Invert the condition for the 2 or 3 power-domains check to allow using
"apple,t8103-nvme-ans2" as base compatible.

"apple,t6020-nvme-ans2" on Apple M2 Pro/Max/Ultra SoCs is compatible
with "apple,t8103-nvme-ans2" so add its per-SoC compatible.

[1]: https://lore.kernel.org/asahi/12ab93b7-1fc2-4ce0-926e-c8141cfe81bf@kernel.org/

Reviewed-by: Neal Gompa <neal@gompa.dev>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Janne Grunau <j@jannau.net>
8 weeks agodt-bindings: iommu: apple,sart: Add apple,t6020-sart compatible
Janne Grunau [Thu, 28 Aug 2025 14:01:32 +0000 (16:01 +0200)]
dt-bindings: iommu: apple,sart: Add apple,t6020-sart compatible

"apple,t6020-sart" as found in Apple's M2 Pro/Max/Ultra SoCs is
compatible with SART3 used in t6000. Add its per-SoC compatible to allow
a distinction should it become necessary.

Reviewed-by: Neal Gompa <neal@gompa.dev>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Janne Grunau <j@jannau.net>
8 weeks agodt-bindings: gpu: apple,agx: Add agx-{g14s,g14c,g14d} compatibles
Janne Grunau [Thu, 28 Aug 2025 14:01:31 +0000 (16:01 +0200)]
dt-bindings: gpu: apple,agx: Add agx-{g14s,g14c,g14d} compatibles

Add compatibles for the GPU variants found on Apple's M2 Pro/Max/Ultra
SoCs.

Reviewed-by: Neal Gompa <neal@gompa.dev>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Janne Grunau <j@jannau.net>
8 weeks agodt-bindings: mailbox: apple,mailbox: Add t6020 compatible
Janne Grunau [Thu, 28 Aug 2025 14:01:30 +0000 (16:01 +0200)]
dt-bindings: mailbox: apple,mailbox: Add t6020 compatible

The mailbox hardware remains unchanged on M2 Pro/Max/Ultra SoCs so just
add its per-SoC compatible.

Reviewed-by: Neal Gompa <neal@gompa.dev>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Janne Grunau <j@jannau.net>
8 weeks agodt-bindings: pinctrl: apple,pinctrl: Add apple,t6020-pinctrl compatible
Janne Grunau [Thu, 28 Aug 2025 14:01:28 +0000 (16:01 +0200)]
dt-bindings: pinctrl: apple,pinctrl: Add apple,t6020-pinctrl compatible

After discussion with the devicetree maintainers we agreed to not extend
lists with the generic compatible "apple,pinctrl" anymore [1]. Use
"apple,t8103-pinctrl" as fallback compatible as it is the SoC the driver
and bindings were written for.

The M2 Pro/Max/Ultra SoCs use the same pinctrl hardware, so just add its
per-SoC compatible using the new base as fallback.

[1]: https://lore.kernel.org/asahi/12ab93b7-1fc2-4ce0-926e-c8141cfe81bf@kernel.org/

Acked-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Neal Gompa <neal@gompa.dev>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Janne Grunau <j@jannau.net>
8 weeks agodt-bindings: iommu: dart: Add apple,t6020-dart compatible
Janne Grunau [Thu, 28 Aug 2025 14:01:26 +0000 (16:01 +0200)]
dt-bindings: iommu: dart: Add apple,t6020-dart compatible

t6020-dart is compatible to t8110-dart and annotated as such in Apple's
device tree. Add its per-SoC compatible in case t6020 specific handling
becomes necessary. The dart instances on M2 Pro/Max/Ultra based SoCs
differ in one aspect from the M2 based ones. They indicate an IAS of 42
requiring implementing support for a fouth page table level in the dart
driver and its io-pgtable [1].

[1]: https://lore.kernel.org/asahi/20250821-apple-dart-4levels-v2-0-e39af79daa37@jannau.net/

Reviewed-by: Neal Gompa <neal@gompa.dev>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Janne Grunau <j@jannau.net>
8 weeks agodt-bindings: interrupt-controller: apple,aic2: Add apple,t6020-aic compatible
Janne Grunau [Thu, 28 Aug 2025 14:01:25 +0000 (16:01 +0200)]
dt-bindings: interrupt-controller: apple,aic2: Add apple,t6020-aic compatible

The Apple M2 Pro/Max/Ultra SoCs use AIC2 as interrupt controller. This
is the final SoC added as compatible as Apple M3 and later use AIC3.
Apple's A15 uses AIC2 as well but has no official support for alternate
operating systems.

Reviewed-by: Neal Gompa <neal@gompa.dev>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Janne Grunau <j@jannau.net>
8 weeks agodt-bindings: cpufreq: apple,cluster-cpufreq: Add t6020 compatible
Janne Grunau [Thu, 28 Aug 2025 14:01:24 +0000 (16:01 +0200)]
dt-bindings: cpufreq: apple,cluster-cpufreq: Add t6020 compatible

The CPU frequency control on M2 Pro/Max/Ultra SoCs is compatible to
the M2 (T8112) one. So add this with the per-SoC compatible to the
bindings.

Reviewed-by: Neal Gompa <neal@gompa.dev>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Janne Grunau <j@jannau.net>
8 weeks agodt-bindings: power: apple,pmgr-pwrstate: Add t6020 compatible
Janne Grunau [Thu, 28 Aug 2025 14:01:23 +0000 (16:01 +0200)]
dt-bindings: power: apple,pmgr-pwrstate: Add t6020 compatible

After discussion with the devicetree maintainers we agreed to not extend
lists with the generic compatible "apple,pmgr-pwrstate" anymore [1]. Use
"apple,t8103-pmgr-pwrstate" as base compatible as it is the SoC the
driver and bindings were written for.

The implementation on Apple M2 Pro/Max/Ultra SoCs is compatible so add
its per-SoC compatible with the new base.

[1]: https://lore.kernel.org/asahi/12ab93b7-1fc2-4ce0-926e-c8141cfe81bf@kernel.org/

Reviewed-by: Neal Gompa <neal@gompa.dev>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Janne Grunau <j@jannau.net>
8 weeks agodt-bindings: arm: apple: apple,pmgr: Add t6020-pmgr compatible
Janne Grunau [Thu, 28 Aug 2025 14:01:21 +0000 (16:01 +0200)]
dt-bindings: arm: apple: apple,pmgr: Add t6020-pmgr compatible

After discussion with the devicetree maintainers we agreed to not extend
lists with the generic compatible "apple,pmgr" anymore [1]. Use
"apple,t8103-pmgr" as base compatible as it is the SoC the bindings were
written for.

The block on Apple M2 Pro/Max/Ultra SoCs is compatible with
"apple,t8103-pmgr" so use it as fallback compatible and add t6020 as
per-SoC compatible.

[1]: https://lore.kernel.org/asahi/12ab93b7-1fc2-4ce0-926e-c8141cfe81bf@kernel.org/

Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Neal Gompa <neal@gompa.dev>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Janne Grunau <j@jannau.net>
8 weeks agofirmware: arm_scmi: Simplify printks with pOF format
Krzysztof Kozlowski [Fri, 12 Sep 2025 09:24:24 +0000 (11:24 +0200)]
firmware: arm_scmi: Simplify printks with pOF format

Print full device node name with %pOF format, so the code will be a bit
simpler.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Message-Id: <20250912092423.162497-2-krzysztof.kozlowski@linaro.org>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
8 weeks agosoc: ti: k3-socinfo: Add information for AM62L SR1.1
Bryan Brattlof [Mon, 8 Sep 2025 19:15:28 +0000 (14:15 -0500)]
soc: ti: k3-socinfo: Add information for AM62L SR1.1

The second silicon revision for the AM62L was mainly a ROM revision
and therefore this silicon revision is labeled SR1.1

Add a new decode array to properly identify this revision as SR1.1

Signed-off-by: Bryan Brattlof <bb@ti.com>
Link: https://patch.msgid.link/20250908-62l-chipid-v1-1-9c7194148140@ti.com
Signed-off-by: Nishanth Menon <nm@ti.com>
8 weeks agofirmware: qcom: tzmem: disable sc7180 platform
Nikita Travkin [Mon, 21 Jul 2025 13:28:03 +0000 (18:28 +0500)]
firmware: qcom: tzmem: disable sc7180 platform

When SHM bridge is enabled, assigning RMTFS memory causes the calling
core to hang if the system is running in EL1.

Disable SHM bridge on sc7180 devices to avoid that hang.

Signed-off-by: Nikita Travkin <nikita@trvn.ru>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20250721-sc7180-shm-hang-v1-1-99ad9ffeb5b4@trvn.ru
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
8 weeks agosoc: renesas: Identify R-Car X5H
Duy Nguyen [Wed, 10 Sep 2025 02:01:42 +0000 (02:01 +0000)]
soc: renesas: Identify R-Car X5H

Add support for identifying the R-Car X5H SoC.

Signed-off-by: Duy Nguyen <duy.nguyen.rh@renesas.com>
Signed-off-by: Huy Bui <huy.bui.wm@renesas.com>
[Kuninori: tidyup for upstreaming]
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://patch.msgid.link/87ldmnvzei.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
8 weeks agocache: sifive_ccache: Optimize cache flushes
Samuel Holland [Tue, 9 Sep 2025 22:41:27 +0000 (15:41 -0700)]
cache: sifive_ccache: Optimize cache flushes

Fence instructions are required only at the beginning and the end of
a flush operation, not separately for each cache line being flushed.
Speed up cache flushes by about 15% by removing the extra fences.

Signed-off-by: Samuel Holland <samuel.holland@sifive.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
8 weeks agosoc/tegra: fuse: Add Tegra114 nvmem cells and fuse lookups
Svyatoslav Ryhel [Thu, 28 Aug 2025 05:50:59 +0000 (08:50 +0300)]
soc/tegra: fuse: Add Tegra114 nvmem cells and fuse lookups

Add missing Tegra114 nvmem cells and fuse lookups which were added for
Tegra124+ but omitted for Tegra114.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Reviewed-by: Mikko Perttunen <mperttunen@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
8 weeks agofirmware: exynos-acpm: fix PMIC returned errno
Tudor Ambarus [Mon, 8 Sep 2025 14:02:00 +0000 (14:02 +0000)]
firmware: exynos-acpm: fix PMIC returned errno

ACPM PMIC command handlers returned a u8 value when they should
have returned either zero or negative error codes.
Translate the APM PMIC errno to linux errno.

Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Closes: https://lore.kernel.org/linux-input/aElHlTApXj-W_o1r@stanley.mountain/
Fixes: a88927b534ba ("firmware: add Exynos ACPM protocol driver")
Cc: stable@vger.kernel.org
Signed-off-by: Tudor Ambarus <tudor.ambarus@linaro.org>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
8 weeks agooptee: smc abi: dynamic protected memory allocation
Jens Wiklander [Wed, 13 Aug 2025 06:02:58 +0000 (08:02 +0200)]
optee: smc abi: dynamic protected memory allocation

Add support in the OP-TEE backend driver for dynamic protected memory
allocation using the SMC ABI.

Reviewed-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
8 weeks agooptee: FF-A: dynamic protected memory allocation
Jens Wiklander [Wed, 13 Aug 2025 06:02:57 +0000 (08:02 +0200)]
optee: FF-A: dynamic protected memory allocation

Add support in the OP-TEE backend driver dynamic protected memory
allocation with FF-A.

The protected memory pools for dynamically allocated protected memory
are instantiated when requested by user-space. This instantiation can
fail if OP-TEE doesn't support the requested use-case of protected
memory.

Restricted memory pools based on a static carveout or dynamic allocation
can coexist for different use-cases. We use only dynamic allocation with
FF-A.

Reviewed-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
8 weeks agooptee: support protected memory allocation
Jens Wiklander [Wed, 13 Aug 2025 06:02:56 +0000 (08:02 +0200)]
optee: support protected memory allocation

Add support in the OP-TEE backend driver for protected memory
allocation. The support is limited to only the SMC ABI and for secure
video buffers.

OP-TEE is probed for the range of protected physical memory and a
memory pool allocator is initialized if OP-TEE have support for such
memory.

Reviewed-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
8 weeks agotee: add tee_shm_alloc_dma_mem()
Jens Wiklander [Wed, 13 Aug 2025 06:02:55 +0000 (08:02 +0200)]
tee: add tee_shm_alloc_dma_mem()

Add tee_shm_alloc_dma_mem() to allocate DMA memory. The memory is
represented by a tee_shm object using the new flag TEE_SHM_DMA_MEM to
identify it as DMA memory. The allocated memory will later be lent to
the TEE to be used as protected memory.

Reviewed-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
8 weeks agotee: new ioctl to a register tee_shm from a dmabuf file descriptor
Etienne Carriere [Wed, 13 Aug 2025 06:02:54 +0000 (08:02 +0200)]
tee: new ioctl to a register tee_shm from a dmabuf file descriptor

Add a userspace API to create a tee_shm object that refers to a dmabuf
reference.

Userspace registers the dmabuf file descriptor as in a tee_shm object.
The registration is completed with a tee_shm returned file descriptor.

Userspace is free to close the dmabuf file descriptor after it has been
registered since all the resources are now held via the new tee_shm
object.

Closing the tee_shm file descriptor will eventually release all
resources used by the tee_shm object when all references are released.

The new IOCTL, TEE_IOC_SHM_REGISTER_FD, supports dmabuf references to
physically contiguous memory buffers. Dmabuf references acquired from
the TEE DMA-heap can be used as protected memory for Secure Video Path
and such use cases. It depends on the TEE and the TEE driver if dmabuf
references acquired by other means can be used.

A new tee_shm flag is added to identify tee_shm objects built from a
registered dmabuf, TEE_SHM_DMA_BUF.

Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
Signed-off-by: Olivier Masse <olivier.masse@nxp.com>
Reviewed-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
8 weeks agotee: refactor params_from_user()
Jens Wiklander [Wed, 13 Aug 2025 06:02:53 +0000 (08:02 +0200)]
tee: refactor params_from_user()

Break out the memref handling into a separate helper function.
No change in behavior.

Reviewed-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
8 weeks agotee: implement protected DMA-heap
Jens Wiklander [Wed, 13 Aug 2025 06:02:52 +0000 (08:02 +0200)]
tee: implement protected DMA-heap

Implement DMA heap for protected DMA-buf allocation in the TEE
subsystem.

Protected memory refers to memory buffers behind a hardware enforced
firewall. It is not accessible to the kernel during normal circumstances
but rather only accessible to certain hardware IPs or CPUs executing in
higher or differently privileged mode than the kernel itself. This
interface allows to allocate and manage such protected memory buffers
via interaction with a TEE implementation.

The protected memory is allocated for a specific use-case, like Secure
Video Playback, Trusted UI, or Secure Video Recording where certain
hardware devices can access the memory.

The DMA-heaps are enabled explicitly by the TEE backend driver. The TEE
backend drivers needs to implement protected memory pool to manage the
protected memory.

Reviewed-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
8 weeks agodma-buf: dma-heap: export declared functions
Jens Wiklander [Wed, 13 Aug 2025 06:02:51 +0000 (08:02 +0200)]
dma-buf: dma-heap: export declared functions

Export the dma-buf heap functions to allow them to be used by the OP-TEE
driver. The OP-TEE driver wants to register and manage specific secure
DMA heaps with it.

Reviewed-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
Reviewed-by: T.J. Mercier <tjmercier@google.com>
Acked-by: Sumit Semwal <sumit.semwal@linaro.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
8 weeks agooptee: sync secure world ABI headers
Jens Wiklander [Wed, 13 Aug 2025 06:02:50 +0000 (08:02 +0200)]
optee: sync secure world ABI headers

Update the header files describing the secure world ABI, both with and
without FF-A. The ABI is extended to deal with protected memory, but as
usual backward compatible.

Reviewed-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
2 months agosoc: sunxi: sram: register regmap as syscon
Chen-Yu Tsai [Mon, 8 Sep 2025 18:10:53 +0000 (02:10 +0800)]
soc: sunxi: sram: register regmap as syscon

If the system controller had a ethernet controller glue layer control
register, a limited access regmap would be registered and tied to the
system controller struct device for the ethernet driver to use.

Until now, for the ethernet driver to acquire this regmap, it had to
do a of_parse_phandle() + find device + dev_get_regmap() sequence.
Since the syscon framework allows a provider to register a custom
regmap for its device node, and the ethernet driver already uses
syscon for one platform, this provides a much more easier way to
pass the regmap.

Use of_syscon_register_regmap() to register our regmap with the
syscon framework so that consumers can retrieve it that way.

Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Link: https://patch.msgid.link/20250908181059.1785605-5-wens@kernel.org
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
2 months agosoc: sunxi: sram: add entry for a523
Chen-Yu Tsai [Mon, 8 Sep 2025 18:10:52 +0000 (02:10 +0800)]
soc: sunxi: sram: add entry for a523

The A523 has two Ethernet controllers. So in the system controller
address space, there are two registers for Ethernet clock delays,
one for each controller.

Add a new entry for the A523 system controller that allows access to
the second register.

Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Link: https://patch.msgid.link/20250908181059.1785605-4-wens@kernel.org
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
2 months agosoc: mediatek: mtk-svs: fix device leaks on mt8192 probe failure
Johan Hovold [Tue, 9 Sep 2025 09:56:51 +0000 (11:56 +0200)]
soc: mediatek: mtk-svs: fix device leaks on mt8192 probe failure

Make sure to drop the references taken by of_find_device_by_node() when
looking up the thermal sensor and opp devices during probe on probe
failure (e.g. probe deferral) and on driver unbind.

Fixes: 0bbb09b2af9d ("soc: mediatek: SVS: add mt8192 SVS GPU driver")
Cc: Roger Lu <roger.lu@mediatek.com>
Signed-off-by: Johan Hovold <johan@kernel.org>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20250909095651.5530-3-johan@kernel.org
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2 months agosoc: mediatek: mtk-svs: fix device leaks on mt8183 probe failure
Johan Hovold [Tue, 9 Sep 2025 09:56:50 +0000 (11:56 +0200)]
soc: mediatek: mtk-svs: fix device leaks on mt8183 probe failure

Make sure to drop the references taken by of_find_device_by_node() when
looking up the thermal sensor and opp devices during probe on probe
failure (e.g. probe deferral) and on driver unbind.

Fixes: 681a02e95000 ("soc: mediatek: SVS: introduce MTK SVS engine")
Cc: Roger Lu <roger.lu@mediatek.com>
Signed-off-by: Johan Hovold <johan@kernel.org>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20250909095651.5530-2-johan@kernel.org
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2 months agomemory: tegra210: Use bindings for client ids
Aaron Kling [Sat, 6 Sep 2025 20:16:54 +0000 (15:16 -0500)]
memory: tegra210: Use bindings for client ids

Since the related binding is being added, use that for the client ids
instead of hardcoded magic numbers.

Signed-off-by: Aaron Kling <webgeek1234@gmail.com>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2 months agodt-bindings: memory: tegra210: Add memory client IDs
Aaron Kling [Sat, 6 Sep 2025 20:16:53 +0000 (15:16 -0500)]
dt-bindings: memory: tegra210: Add memory client IDs

Each memory client has unique hardware ID, add these IDs.

Signed-off-by: Aaron Kling <webgeek1234@gmail.com>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2 months agodt-bindings: memory: tegra210: emc: Document OPP table and interconnect
Aaron Kling [Sat, 6 Sep 2025 20:16:52 +0000 (15:16 -0500)]
dt-bindings: memory: tegra210: emc: Document OPP table and interconnect

These are needed for dynamic frequency scaling of the EMC controller.

Signed-off-by: Aaron Kling <webgeek1234@gmail.com>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2 months agofirmware: firmware: meson-sm: fix compile-test default
Johan Hovold [Fri, 25 Jul 2025 07:54:29 +0000 (09:54 +0200)]
firmware: firmware: meson-sm: fix compile-test default

Enabling compile testing should not enable every individual driver (we
have "allyesconfig" for that).

Fixes: 4a434abc40d2 ("firmware: meson-sm: enable build as module")
Signed-off-by: Johan Hovold <johan@kernel.org>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Link: https://lore.kernel.org/r/20250725075429.10056-1-johan@kernel.org
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
2 months agofirmware: arm_scmi: imx: Discover MISC board info from the system manager
Peng Fan [Thu, 4 Sep 2025 10:40:45 +0000 (18:40 +0800)]
firmware: arm_scmi: imx: Discover MISC board info from the system manager

The i.MX SCMI MISC protocol can report board information from the
System Manager (SM), including a board name and board-specific
attributes. Query this during protocol initialization.

If the firmware does not implement BOARD_INFO, handle -EOPNOTSUPP
gracefully and continue.

Reviewed-by: Cristian Marussi <cristian.marussi@arm.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Message-Id: <20250904-sm-misc-api-v1-v4-4-0bf10eaabdf1@nxp.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
2 months agocrypto: atmel-aes: make it selectable for ARCH_MICROCHIP
Robert Marko [Wed, 13 Aug 2025 17:44:45 +0000 (19:44 +0200)]
crypto: atmel-aes: make it selectable for ARCH_MICROCHIP

LAN969x uses the Atmel crypto, so make it selectable for ARCH_MICROCHIP to
avoid needing to update depends in future if other Microchip SoC-s use it
as well.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
Acked-by: Daniel Machon <daniel.machon@microchip.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@microchip.com>
2 months agochar: hw_random: atmel: make it selectable for ARCH_MICROCHIP
Robert Marko [Wed, 13 Aug 2025 17:44:44 +0000 (19:44 +0200)]
char: hw_random: atmel: make it selectable for ARCH_MICROCHIP

LAN969x uses the Atmel HWRNG, so make it selectable for ARCH_MICROCHIP to
avoid needing to update depends in future if other Microchip SoC-s use it
as well.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
Acked-by: Daniel Machon <daniel.machon@microchip.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@microchip.com>
2 months agoi2c: at91: make it selectable for ARCH_MICROCHIP
Robert Marko [Wed, 13 Aug 2025 17:44:43 +0000 (19:44 +0200)]
i2c: at91: make it selectable for ARCH_MICROCHIP

LAN969x uses the Atmel TWI I2C, so make it selectable for ARCH_MICROCHIP to
avoid needing to update depends in future if other Microchip SoC-s use it
as well.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
Acked-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Acked-by: Daniel Machon <daniel.machon@microchip.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@microchip.com>
2 months agospi: atmel: make it selectable for ARCH_MICROCHIP
Robert Marko [Wed, 13 Aug 2025 17:44:42 +0000 (19:44 +0200)]
spi: atmel: make it selectable for ARCH_MICROCHIP

LAN969x uses the Atmel SPI, so make it selectable for ARCH_MICROCHIP to
avoid needing to update depends in future if other Microchip SoC-s use it
as well.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
Acked-by: Mark Brown <broonie@kernel.org>
Acked-by: Daniel Machon <daniel.machon@microchip.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@microchip.com>
2 months agotty: serial: atmel: make it selectable for ARCH_MICROCHIP
Robert Marko [Wed, 13 Aug 2025 17:44:41 +0000 (19:44 +0200)]
tty: serial: atmel: make it selectable for ARCH_MICROCHIP

LAN969x uses the Atmel USART serial, so make it selectable for
ARCH_MICROCHIP to avoid needing to update depends in future if other
Microchip SoC-s use it as well.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Acked-by: Daniel Machon <daniel.machon@microchip.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@microchip.com>