tree 0b799f0e85f2b578d72c2e9835240f26cc936a07
parent 823846c3107197b6eae9fb656a23e986926d6c07
parent c8042d1e5cb3e654b47447229ace3cd092a8fc27
author Linus Torvalds <torvalds@linux-foundation.org> 1585342352 -0700
committer Linus Torvalds <torvalds@linux-foundation.org> 1585342352 -0700
mergetag object c8042d1e5cb3e654b47447229ace3cd092a8fc27
 type commit
 tag arm-soc-fixes-5.6
 tagger Arnd Bergmann <arnd@arndb.de> 1585327211 +0100
 
 ARM: DT and driver fixes for v5.6
 
 For the devicetree files, there are a total of 20 patches, almost
 entirely for 32-bit machines:
 
 - The Allwinner/sun9i r40 SoC dtsi file contains a number of issues,
   both for correctness and for style that are addressed in separate
   patches. This causes most of the changed lines of the DT updates
   this time.
 
 - More Allwinner updates fixing the identification of the security
   system on sun8i/A33, a recent regression of the A83t ethernet, and a
   few board specific issues on the TBS-A711 macine.
 
 - Several bug fixes for OMAP dts files, most notably fixing the timings
   for the NAND flash on the Nokia N900 that regressed a while ago after
   the move to configuring them from DT.  Some other OMAPs now set the
   correct dma limits on the L3 bus, and a regression fix addresses lost
   Ethernet on dm814x
 
 - One incorrect setting in the newly added Raspberry Pi Zero W that
   may cause issues with the SD card controller.
 
 - A missing property on the bcm2835 firmware node caused incorrect
   DMA settings.
 
 - An old bug on the oxnas platform causing spurious interrupts is
   finally addressed.
 
 - A regression on the Exynos Midas board broke the OLED panel
   power supply.
 
 - The i.MX6 phycore SoM specified the wrong voltage for the SoC,
   this is now set to the values from the datasheet.
 
 - Some 64-bit machines use a deprecated string to identify the PSCI
   firmware.
 
 There are also several small code fixes addressing mostly serious
 issues:
 
 - Fix the sunxi rsb bus access to no longer return incorrect data when
   mixing 8 and 16 bit I/O.
 
 - Fix a suspend/resume regression on the OMAP2+ lcdc from a missing
   quirk in the ti-sysc driver
 
 - Fix a NULL pointer access from a race in the fsl dpio driver
 
 - Fix a v5.5 regression in the exynos-chipid driver that caused an
   invalid error code probing the device on non-exynos platforms
 
 - Fix an out-of-bounds access in the AMD TEE driver
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAl5+LG0ACgkQmmx57+YA
 GNkZhhAAtWTv4sRf2faVzjAngWTs1LXuVpoX8UT2JXOMvY20Y1tQ6YzH8bkJahIr
 oqPsEFOANkDGON+72+7YCFUVuT2rle9xPLUpdCv3F1Q3TAP8jslkvI/7tK21UKnG
 OAsMaJdKeKg4yK+KJnh7OtOBvSJzJ0YUU8BCFs8rsSeTkMdPDz74YbC+jV974SVD
 eCYj/Nih/wt1tG+q/W0tk0LdUtAsgQWbn3WFOrbQ0SSu8i+SVbulBc2oLsltO7VX
 TFhSRimPAhxGcHJcCoD/enNuHGwKWFkGdQ7jGU3138ZP4PUztNMYKVgZmeUAH1m1
 HXlZkpCSIDUjydEAPFJPJMGJumoKvPIf9kwq9f0ceukR8DKWW3suq/gl6C/AJcHE
 K21ofuYftFZ13QXI3khv9SaBKSesEZ1qCVOj4jHNwunAjOc2+sNHdceO4rlD+N5M
 xyIG/U3rO/6VOO7ex32q39x8vCDu2TFi4nxTPQTKIslKj55DgWLayhIyBPiEyo0R
 UMopcoBOrw9LL2AA+ugTHU9CyXW1G3CMsUY/V+i2sZLElsJuVL3kvWaudttXzjei
 O3yV9J8MNTTCPyN981nu+iBAoanqbRP+JZJf0dC2kj+fjB3N9Q8Bziy6XmN3P9Kv
 7qvuSmG5YN3bc3oQKlaUPUWJVqYnsYVEjWh2SqhOmLn5WhK6F5c=
 =31+Z
 -----END PGP SIGNATURE-----

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

Pull ARM DT and driver fixes from Arnd Bergmann:
 "For the devicetree files, there are a total of 20 patches, almost
  entirely for 32-bit machines:

   - The Allwinner/sun9i r40 SoC dtsi file contains a number of issues,
     both for correctness and for style that are addressed in separate
     patches. This causes most of the changed lines of the DT updates
     this time.

   - More Allwinner updates fixing the identification of the security
     system on sun8i/A33, a recent regression of the A83t ethernet, and
     a few board specific issues on the TBS-A711 macine.

   - Several bug fixes for OMAP dts files, most notably fixing the
     timings for the NAND flash on the Nokia N900 that regressed a while
     ago after the move to configuring them from DT. Some other OMAPs
     now set the correct dma limits on the L3 bus, and a regression fix
     addresses lost Ethernet on dm814x

   - One incorrect setting in the newly added Raspberry Pi Zero W that
     may cause issues with the SD card controller.

   - A missing property on the bcm2835 firmware node caused incorrect
     DMA settings.

   - An old bug on the oxnas platform causing spurious interrupts is
     finally addressed.

   - A regression on the Exynos Midas board broke the OLED panel power
     supply.

   - The i.MX6 phycore SoM specified the wrong voltage for the SoC, this
     is now set to the values from the datasheet.

   - Some 64-bit machines use a deprecated string to identify the PSCI
     firmware.

  There are also several small code fixes addressing mostly serious
  issues:

   - Fix the sunxi rsb bus access to no longer return incorrect data
     when mixing 8 and 16 bit I/O.

   - Fix a suspend/resume regression on the OMAP2+ lcdc from a missing
     quirk in the ti-sysc driver

   - Fix a NULL pointer access from a race in the fsl dpio driver

   - Fix a v5.5 regression in the exynos-chipid driver that caused an
     invalid error code probing the device on non-exynos platforms

   - Fix an out-of-bounds access in the AMD TEE driver"

* tag 'arm-soc-fixes-5.6' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (24 commits)
  soc: samsung: chipid: Fix return value on non-Exynos platforms
  arm64: dts: Fix leftover entry-methods for PSCI
  ARM: dts: exynos: Fix regulator node aliasing on Midas-based boards
  ARM: dts: oxnas: Fix clear-mask property
  ARM: dts: bcm283x: Fix vc4's firmware bus DMA limitations
  ARM: dts: omap5: Add bus_dma_limit for L3 bus
  ARM: dts: omap4-droid4: Fix lost touchscreen interrupts
  ARM: dts: dra7: Add bus_dma_limit for L3 bus
  ARM: bcm2835-rpi-zero-w: Add missing pinctrl name
  ARM: dts: sun8i: a33: add the new SS compatible
  dt-bindings: crypto: add new compatible for A33 SS
  ARM: dts: sun8i: r40: Move SPI device nodes based on address order
  ARM: dts: sun8i: r40: Fix register base address for SPI2 and SPI3
  ARM: dts: sun8i: r40: Move AHCI device node based on address order
  ARM: dts: imx6: phycore-som: fix arm and soc minimum voltage
  soc: fsl: dpio: register dpio irq handlers after dpio create
  tee: amdtee: out of bounds read in find_session()
  ARM: dts: N900: fix onenand timings
  bus: ti-sysc: Fix quirk flags for lcdc on am335x
  ARM: dts: Fix dm814x Ethernet by changing to use rgmii-id mode
  ...
