tree 893923dff689e24b1277cdfd512725dae019c829
parent ec299e4dc21e8cc476c2c848813919db79492dda
parent 875691ceb8bd619de7791243b1cf6184ab534865
author Linus Torvalds <torvalds@linux-foundation.org> 1756935874 -0700
committer Linus Torvalds <torvalds@linux-foundation.org> 1756935874 -0700
mergetag object 875691ceb8bd619de7791243b1cf6184ab534865
 type commit
 tag soc-fixes-6.17-2
 tagger Arnd Bergmann <arnd@arndb.de> 1756934293 +0200
 
 soc: fixes for 6.17, part 2
 
 These are mainly devicetree fixes for the rockchip and nxp platforms on
 arm64, addressing mistakes in the board and soc specific descriptions.
 In particular the newly added Rock 5T board required multiple bugfixes for
 PCIe and USB, while on the i.MX platform there are a number of regulator
 related fixes. The only other platforms with devicetree fixes are at91
 with a fixup for SD/MMC and a change to enable all the available UARTS
 on the Axiado reference board.
 
 Also on the at91 platform, a Kconfig change addresses a regression that
 stopped the DMA engine from working in 6.17-rc.
 
 Three drivers each have a simple bugfix, stopping incorrect behavior in
 op-tee firmware, the tee subsystem and the qualcomm mdt_loader.
 
 Two trivial MAINTAINERS file changes are needed to make sure that
 patches reach the correct maintainer, but don't change the actual
 responsibilities.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmi4sJUACgkQmmx57+YA
 GNkT9hAAo/fUxRHfcAQHuvWb44+X7u30nL1gABnQgAfB056kA8awpGCtOJDfDp7X
 NweOtYy7/t7w+OBV0WYLaGEQR5neEQLn1TwLwRGNFT3zBClKVNZBOzQAe1ia8jHW
 Bxm/aTZkDP6+hKG7LddyFAmnOEaoryyR+DdFVfW7ApVoXAjFnnAeHr6o95wOzA7F
 QbgWLddtCrg5t8aYOyEcTyy20b4mve9A/ZQJqLv/QYl0fVP+YbGQ3OUbrlDeOrXh
 KPFKseFQQhd5Z6payPIo4cDl7griLIFW6rNSEkVJ5AuvVgXPXo1xPttLdmEl10kK
 /Z7NVA++nlDG6jSOJ0wuSbe2+kRmQzb5Ds0kMw8Cr3EjPjWQf0fLqPwmKNrVQeSd
 zphNAD+ljDI79jTRJLaAZ0Vpa/O0CysL3qgp020wSNpq1VrikV1ujCjCgxSeb/gL
 s/+BvgA4gVcagnsMDO/8Tg6Bk+baAlH9qSQXe2Xg7m3JGKto93LjKLEgyK5c6AAZ
 e1dijfgitwGz21zXZRUuCWuD8/4PO2hGrg/huz6pNZgUZQiBl1OWL6A1CIPfFX3X
 ionGZ+sTjBfYjbsmb9Cu1I03F2Ix8cPZAmi9yJL0UMJwvlOSt6u3EwrQNmo8MEGD
 G2vEwlL+hBN0o7HE8JhYAnCW7A6p2fiAlEGy9kL2EzLcK55TOcI=
 =OIgX
 -----END PGP SIGNATURE-----

Merge tag 'soc-fixes-6.17-2' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc

Pull SoC fixes from Arnd Bergmann:
 "These are mainly devicetree fixes for the rockchip and nxp platforms
  on arm64, addressing mistakes in the board and soc specific
  descriptions.

  In particular the newly added Rock 5T board required multiple bugfixes
  for PCIe and USB, while on the i.MX platform there are a number of
  regulator related fixes. The only other platforms with devicetree
  fixes are at91 with a fixup for SD/MMC and a change to enable all the
  available UARTS on the Axiado reference board.

  Also on the at91 platform, a Kconfig change addresses a regression
  that stopped the DMA engine from working in 6.17-rc.

  Three drivers each have a simple bugfix, stopping incorrect behavior
  in op-tee firmware, the tee subsystem and the qualcomm mdt_loader.

  Two trivial MAINTAINERS file changes are needed to make sure that
  patches reach the correct maintainer, but don't change the actual
  responsibilities"

* tag 'soc-fixes-6.17-2' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (27 commits)
  ARM: dts: microchip: sama7d65: Force SDMMC Legacy mode
  ARM: at91: select ARCH_MICROCHIP
  arm64: dts: rockchip: fix second M.2 slot on ROCK 5T
  arm64: dts: rockchip: fix USB on RADXA ROCK 5T
  MAINTAINERS: exclude defconfig from ARM64 PORT
  arm64: dts: axiado: Add missing UART aliases
  MAINTAINERS: Update Nobuhiro Iwamatsu's email address
  arm64: dts: rockchip: Add vcc-supply to SPI flash on Pinephone Pro
  arm64: dts: rockchip: fix es8388 address on rk3588s-roc-pc
  arm64: dts: rockchip: Fix Bluetooth interrupts flag on Neardi LBA3368
  arm64: dts: rockchip: correct network description on Sige5
  arm64: dts: rockchip: Minor whitespace cleanup
  ARM: dts: rockchip: Minor whitespace cleanup
  arm64: dts: rockchip: Add supplies for eMMC on rk3588-orangepi-5
  arm64: dts: rockchip: Fix the headphone detection on the orangepi 5 plus
  arm64: dts: imx95: Fix JPEG encoder node assigned clock
  arm64: dts: imx95-19x19-evk: correct the phy setting for flexcan1/2
  arm64: dts: imx8mp: Fix missing microSD slot vqmmc on Data Modul i.MX8M Plus eDM SBC
  arm64: dts: imx8mp: Fix missing microSD slot vqmmc on DH electronics i.MX8M Plus DHCOM
  arm64: dts: imx8mp-tqma8mpql: remove virtual 3.3V regulator
  ...
