Commit Graph

62565 Commits

Author SHA1 Message Date
Arnd Bergmann
c7cf673399 Ux500 DTS updates for the v5.11 kernels:
- Rename the DSI controllers to match the preferred
   schema.
 - Pull down the SDI2 feedback clock on the Skomer.
 - Add proper supplies to the MaxToch touchscreen on
   the Golden.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEElDRnuGcz/wPCXQWMQRCzN7AZXXMFAl+7zCoACgkQQRCzN7AZ
 XXNVLRAAg1fJ5J9amirIAX2oeAjvs9Ac893EfBYu8pMe7Voi3urI6G1jyt47JW6k
 Q96j/Sv490jiPUB8ulTj+Ofc1a0YtHVmw/sCVhOR0EKDS1PIhkR38/enfd4v7VkC
 +DUcwrCsOHBEidF2vXh8oZAH2rWvDdP0tHhi17eb6p521neJFmV7zl5ZpGeeCtl4
 gQTdtyuCccWVj2ze0up2Fp32H5PRBy7D2y9tBvg25fMmZNtCzJvf0ulffNgiZYyn
 ru5baVf/Yary5YZ+8wpAofjiFnjExVxLEsRYlPXq9FJK0iGwwokona4JnLc0idPk
 Mgl3+0Fi0F2xHJ0VqUvxtaYcVl4MpyWXpL6TUYyDoomPLUmXf/RLkbHXSkR2umAM
 5k7WOiFkBOTc4QFxgkFLTBvtSn5orZyNl8T0ZULfId3BVWOH9cTwaeFMtOuW5Kfo
 xkLGttH1U9yF2QYlv/OXhU6Eh5kuP69bZiPBX7F9i7Hn2YBbBq97FHiazunMevuA
 KN1PP8BlR5ZzEHSQW9+e2zZ+eH0aCk9MF5qAzCvYhLvuC7itmQ3K6BxH4bmHYkhB
 cUrvxESx4BzztbvpCM2npBBaNyeVcVDx6mNlrOYmnzVuVufj5VeGKApixkQTNzTf
 oT/EArFOP2qdbY2tUJbxt84Wd8lEgl+GkI9O33qUaAL5RDRMVSQ=
 =TF1x
 -----END PGP SIGNATURE-----

Merge tag 'ux500-dts-for-v5.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson into arm/dt

Ux500 DTS updates for the v5.11 kernels:

- Rename the DSI controllers to match the preferred
  schema.
- Pull down the SDI2 feedback clock on the Skomer.
- Add proper supplies to the MaxToch touchscreen on
  the Golden.

* tag 'ux500-dts-for-v5.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson:
  ARM: dts: ux500-golden: Add proper supplies to touchscreen
  ARM: dts: ux500: skomer: Pull down SDI2 FBCLK
  ARM: dts: ux500: Rename DSI controller nodes

Link: https://lore.kernel.org/r/CACRpkdY_M4xj++QhRPqX6N3x9YmFNJkz70DnvBj7Ai-dOtCJSQ@mail.gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-11-23 17:15:25 +01:00
Tomer Maimon
b2d91953b6 ARM: dts: add Nuvoton NPCM730 device tree
Add Nuvoton NPCM730 SoC device tree.

The Nuvoton NPCN730 SoC is a part of the
Nuvoton NPCM7xx SoCs family.

Signed-off-by: Tomer Maimon <tmaimon77@gmail.com>
Reviewed-by: Benjamin Fair <benjaminfair@google.com>
Link: https://lore.kernel.org/r/20201119080002.100342-1-tmaimon77@gmail.com'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-11-23 17:13:41 +01:00
Arnd Bergmann
1e548b6782 Samsung DTS ARM changes for v5.11
1. Many cleanups of DTS and alignments to dtschema. Most of them do not
    have any functional effect except passing dtschema checks or dtc W=2
    builds.
 2. Fix USB 3.0 ports on Odroid XU board: wrong roles assigned to two
    ports, missing supply to the USB over-current and VBUS control pins
    and finally missing pin configuration for these pins.
 3. Switch Exynos5422 DMC driver to monitoring/polling mode, instead of
    using interrupts.
 4. Correct the usage of "opp-shared" properties which lead to disabling
    the bus frequency and voltage scaling.
 5. Enable Bluetooth on few Exynos4210 and Exynos4412 boards.
 6. Enable dual-role USB on Odroid U3+ board.
 7. Add Ethernet description in multiple Odroid DTS allowing also easy
    MAC address filling by bootloader.
 8. Add Ethernet to Artik 5 (Exynos3250) board.
 9. Add interconnect properties to Exynos4412 to fix old Mixer issues.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAl+usdYQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD1y9bD/4gMww53tOQdr1nzTOwR7eNQiV2D+7/iJ8P
 EBAxumZ4XI0R6AN9vfBajEO8L76ny3v3r78Jtz+dN2LtxaXy0OaVRsX53PNyUFS3
 h+WUhk9w8Tujfbe55ac4uYquBg/yrItG8YmqFrCu7dQ1fHT6+5IxoN7kRM+gdIBj
 g2/DeEJkIsQGAGRWhcPP3k6ghfCtBY47iY8MGtP7Y/gdXC640fk2pnxWjaeZ13oE
 WCJ4/eb0jRS/uB76Ok7g/VJYb36wQ3s/uMBOZ994iFCECxQ//q+dE4uB+8L1MWXp
 hv7aVxw46rKhtEBqKm2UlHfJLS4Q6Smsf+jP1jelRYeGROhWjX+1cO8Ul4lyGggG
 arjPx3+1b+NwWkg6kR7Nz8OzYHIws0u3+AJPwpWrJ6Iyq3nEe8Aj3rg9iF1P26Zh
 CBYMRjuW3OqCF9CNjy8DoOhHmB4zilFwHptrZwz9V6AH/Yqx3jlRvsDmB8ulQQSh
 lCq5uLe6U2K+JQAz+Jq/IRZ7zsLn7NxAl9vexLIe0eRAZNcYy44i6I799JYSsB9M
 sULvoPRNxEcQh4BScAKoJuZnh8eH/2kUngln/YXtgcdwUlssMhPamAx07Hz35/8Z
 NbRwE1nX6HOGp1UGc8mz89uUUaTOlztJE1mdxLe0HXZAt8uppqR8XdHsLXqto8Iv
 YlxFVH/O+w==
 =TybJ
 -----END PGP SIGNATURE-----

Merge tag 'samsung-dt-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into arm/dt

Samsung DTS ARM changes for v5.11

1. Many cleanups of DTS and alignments to dtschema. Most of them do not
   have any functional effect except passing dtschema checks or dtc W=2
   builds.
2. Fix USB 3.0 ports on Odroid XU board: wrong roles assigned to two
   ports, missing supply to the USB over-current and VBUS control pins
   and finally missing pin configuration for these pins.
3. Switch Exynos5422 DMC driver to monitoring/polling mode, instead of
   using interrupts.
4. Correct the usage of "opp-shared" properties which lead to disabling
   the bus frequency and voltage scaling.
5. Enable Bluetooth on few Exynos4210 and Exynos4412 boards.
6. Enable dual-role USB on Odroid U3+ board.
7. Add Ethernet description in multiple Odroid DTS allowing also easy
   MAC address filling by bootloader.
8. Add Ethernet to Artik 5 (Exynos3250) board.
9. Add interconnect properties to Exynos4412 to fix old Mixer issues.

* tag 'samsung-dt-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: (36 commits)
  ARM: dts: exynos: use hyphens in MFC reserved memory node names
  ARM: dts: exynos: use hyphens in Exynos5 node names
  ARM: dts: exynos: use generic name for max77693 motor in Midas
  ARM: dts: exynos: use hyphens in Exynos4 node names
  ARM: dts: exynos: use hyphens in Exynos3250 node names
  ARM: dts: exynos: Add interconnects to Exynos4412 mixer
  ARM: dts: exynos: Add interconnect properties to Exynos4412 bus nodes
  ARM: dts: exynos: Add Ethernet to Artik 5 board
  ARM: dts: exynos: Add a placeholder for a MAC address
  ARM: dts: exynos: Add Ethernet interface description for Odroid X/X2
  ARM: dts: exynos: Add Ethernet interface description for Odroid U3
  ARM: dts: exynos: Add Ethernet interface description for Odroid XU
  ARM: dts: exynos: Add Ethernet interface description for Odroid XU3 Lite
  ARM: dts: exynos: Enable DWC2 dual-role support on OdroidU3+ boards
  ARM: dts: s5pv210: adjust node names to DT spec
  ARM: dts: exynos: adjust node names to DT spec in Exynos542x boards
  ARM: dts: exynos: adjust node names to DT spec in Odroid XU
  ARM: dts: exynos: adjust node names to DT spec in Exynos5250 boards
  ARM: dts: exynos: remove redundant status=okay in Exynos4412 boards
  ARM: dts: exynos: adjust node names to DT spec in Exynos4412 boards
  ...

Link: https://lore.kernel.org/r/20201113162211.10020-2-krzk@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-11-23 16:52:05 +01:00
Arnd Bergmann
95f595d1f0 Renesas ARM DT updates for v5.11
- Touch screen and OV5640 camera support for the iWave RainboW Qseven
     board (G21D), and its camera expansion board,
   - Support for the AISTARVISION MIPI Adapter V2.1 board connected to
     HiHope RZ/G2 boards,
   - SPI (MSIOF) support for the R-Car M3-W+ SoC,
   - Digital Radio Interface (DRIF) support for the R-Car M3-N SoC,
   - Initial support for the R-Car M3-W+ ULCB/Kingfisher board combo,
   - Minor fixes and improvements.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCX66VTQAKCRCKwlD9ZEnx
 cFhnAP9W9Jp5o/gp9JQ+Y2Js3xMDD9JngTYRQ+9x4qu2HTf0AAEAjfSzb0T2ub/x
 HaW5LisNk1LZNp09+9ugw/nNZxp45AQ=
 =QdJ8
 -----END PGP SIGNATURE-----

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

Renesas ARM DT updates for v5.11

  - Touch screen and OV5640 camera support for the iWave RainboW Qseven
    board (G21D), and its camera expansion board,
  - Support for the AISTARVISION MIPI Adapter V2.1 board connected to
    HiHope RZ/G2 boards,
  - SPI (MSIOF) support for the R-Car M3-W+ SoC,
  - Digital Radio Interface (DRIF) support for the R-Car M3-N SoC,
  - Initial support for the R-Car M3-W+ ULCB/Kingfisher board combo,
  - Minor fixes and improvements.

* tag 'renesas-arm-dt-for-v5.11-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  arm64: dts: renesas: hihope-rev4: Add a comment explaining switch SW2404
  arm64: dts: renesas: r8a77961: ulcb-kf: Initial device tree
  arm64: dts: renesas: r8a77961: Add CAN{0,1} placeholder nodes
  arm64: dts: renesas: beacon-renesom-baseboard: Move connector node out of hd3ss3220 device
  arm64: dts: renesas: cat874: Move connector node out of hd3ss3220 device
  arm64: dts: renesas: rzg2: Convert EtherAVB to explicit delay handling
  arm64: dts: renesas: rcar-gen3: Convert EtherAVB to explicit delay handling
  arm64: dts: renesas: r8a77965: Add DRIF support
  arm64: dts: renesas: Add support for MIPI Adapter V2.1 connected to HiHope RZ/G2N
  arm64: dts: renesas: Add support for MIPI Adapter V2.1 connected to HiHope RZ/G2M
  arm64: dts: renesas: Add support for MIPI Adapter V2.1 connected to HiHope RZ/G2H
  arm64: dts: renesas: aistarvision-mipi-adapter-2.1: Add parent macro for each sensor
  arm64: dts: renesas: cat875: Remove rxc-skew-ps from ethernet-phy node
  arm64: dts: renesas: hihope-rzg2-ex: Drop rxc-skew-ps from ethernet-phy node
  ARM: dts: r8a7742-iwg21d-q7-dbcm-ca: Enable VIN instances
  arm64: dts: renesas: r8a77961: Add MSIOF nodes
  arm64: dts: renesas: Align GPIO hog names with dtschema
  ARM: dts: r8a7742-iwg21d-q7: Add LCD support

Link: https://lore.kernel.org/r/20201113150854.3923885-3-geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-11-23 16:48:48 +01:00
Arnd Bergmann
4b44b61a68 Renesas ARM defconfig updates for v5.11
- Enable support for the new R-Car V3U SoC in the arm64 defconfig,
   - Refresh shmobile_defconfig for v5.10-rc1.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCX66RqgAKCRCKwlD9ZEnx
 cLC5AP493HI4gYGzpdkwikaOR6sMM5iwI0v3n1AYcuw79Ep11gEAyEg0DpLMAOG8
 aHDYqSv6Zo10pYjbHBJRwYRrOJMarw4=
 =eio1
 -----END PGP SIGNATURE-----

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

Renesas ARM defconfig updates for v5.11

  - Enable support for the new R-Car V3U SoC in the arm64 defconfig,
  - Refresh shmobile_defconfig for v5.10-rc1.

* tag 'renesas-arm-defconfig-for-v5.11-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  arm64: defconfig: Enable R8A779A0 SoC
  ARM: shmobile: defconfig: Refresh for v5.10-rc1

Link: https://lore.kernel.org/r/20201113150854.3923885-2-geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-11-23 16:44:30 +01:00
Linus Walleij
ef5704b535 ARM: dts: ux500-golden: Add proper supplies to touchscreen
This sets up the Atmel maXTouch touchscreen to use proper
VDDA and VDD supplies as now supported by bindings and
driver.

Cc: Stephan Gerhold <stephan@gerhold.net>
Cc: Nick Reitemeyer <nick.reitemeyer@web.de>
Cc: Nick Dyer <nick@shmanahar.org>
Link: https://lore.kernel.org/r/20201120124212.1086063-1-linus.walleij@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2020-11-23 15:36:17 +01:00
Thomas Gleixner
7fd70c65fa ARM: irqstat: Get rid of duplicated declaration
irq_cpustat_t is exactly the same as the asm-generic one. Define
ack_bad_irq so the generic header does not emit the generic version of it.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Frederic Weisbecker <frederic@kernel.org>
Reviewed-by: Valentin Schneider <valentin.schneider@arm.com>
Link: https://lore.kernel.org/r/20201113141733.276505871@linutronix.de
2020-11-23 10:31:05 +01:00
Geert Uytterhoeven
d4a617c9bb ARM: shmobile: Stop using __raw_*() I/O accessors
There is no reason to keep on using the __raw_{read,write}l() I/O
accessors in Renesas ARM platform code.  Switch to using the plain
{read,write}l() I/O accessors, to have a chance that this works on
big-endian.

Suggested-by: Arnd Bergmann <arnd@kernel.org>
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Link: https://lore.kernel.org/r/20201117142447.2205664-1-geert+renesas@glider.be
2020-11-23 09:54:59 +01:00
Geert Uytterhoeven
5705747c0c ARM: shmobile: sh73a0: Remove obsolete static mapping
There are no more users of the statically mapped IOMEM region on
SH-Mobile AG5.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20201117103022.2136527-8-geert+renesas@glider.be
2020-11-23 09:54:00 +01:00
Geert Uytterhoeven
a0a6624dbe ARM: shmobile: sh73a0: Use ioremap() to map SMP registers
Replace using the legacy IOMEM() macro to map various registers related
to secondary CPU bringup by ioremap().

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20201117103022.2136527-7-geert+renesas@glider.be
2020-11-23 09:54:00 +01:00
Geert Uytterhoeven
cc85e21d6d ARM: shmobile: sh73a0: Use ioremap() to map L2C registers
Replace using the legacy IOMEM() macro to map the L2C registers by
ioremap().

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20201117103022.2136527-6-geert+renesas@glider.be
2020-11-23 09:54:00 +01:00
Geert Uytterhoeven
5b0480f53d ARM: shmobile: r8a7779: Remove obsolete static mappings
There are no more users of the statically mapped IOMEM regions on R-Car
H1.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20201117103022.2136527-5-geert+renesas@glider.be
2020-11-23 09:53:59 +01:00
Geert Uytterhoeven
617ff9e657 ARM: shmobile: r8a7779: Use ioremap() to map SMP registers
Replace using the legacy IOMEM() macro to map the ARM Reset Vector
Address Register (AVECR) by ioremap().

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20201117103022.2136527-4-geert+renesas@glider.be
2020-11-23 09:53:59 +01:00
Geert Uytterhoeven
caf67a9357 ARM: shmobile: r8a7779: Use ioremap() to map INTC2 registers
Replace using the legacy IOMEM() macro to map various registers related
to INTC2 configuration by ioremap().

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20201117103022.2136527-3-geert+renesas@glider.be
2020-11-23 09:53:59 +01:00
Geert Uytterhoeven
ae04aad75b ARM: shmobile: r8a7778: Introduce HPBREG_BASE
Replace the hardcoded address of the HPB Register block by a macro.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20201117103022.2136527-2-geert+renesas@glider.be
2020-11-23 09:53:59 +01:00
Linus Torvalds
68d3fa235f Couple of EFI fixes for v5.10:
- fix memory leak in efivarfs driver
 - fix HYP mode issue in 32-bit ARM version of the EFI stub when built in
   Thumb2 mode
 - avoid leaking EFI pgd pages on allocation failure
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCgAdFiEEnNKg2mrY9zMBdeK7wjcgfpV0+n0FAl+tRcoACgkQwjcgfpV0
 +n1LZQf/af1p9A0zT1nC3IrcaABceJDnD3dJuV9SD6QhFuD2Dw/Mshr+MVzDsO+3
 btvuu0r4CzQ5ajfpfcGcvBFFWbbPTwKvWQe++9Unwoz5acw7hpV5yxNwMivdaJEh
 3o4pkgpCmwtliTwiroDficO7Vlqefqf4LZd7/iQYQTnuPK3waYQBjwp9t2D9tlx7
 kXiEQDP2BDRCUrKEjlR7AHTZ156mw+UsiquAuxMCGTKBqwiELEEV6aPseqa5MmNV
 RDV1IXWdhOQyQfzg0s6vTzwGeN0JubSxHng6O9UbE+tctz4EqaaHIEsRuMBq8oLD
 Y8JeGp1ovypTJxeLE5t6eEzsfvTRsg==
 =GnmM
 -----END PGP SIGNATURE-----

Merge tag 'efi-urgent-for-v5.10-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull EFI fixes from Borislav Petkov:
 "Forwarded EFI fixes from Ard Biesheuvel:

   - fix memory leak in efivarfs driver

   - fix HYP mode issue in 32-bit ARM version of the EFI stub when built
     in Thumb2 mode

   - avoid leaking EFI pgd pages on allocation failure"

* tag 'efi-urgent-for-v5.10-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  efi/x86: Free efi_pgd with free_pages()
  efivarfs: fix memory leak in efivarfs_create()
  efi/arm: set HSCTLR Thumb2 bit correctly for HVC calls from HYP
2020-11-22 13:05:48 -08:00
Martin Jücker
afbd0bdebe ARM: dts: exynos: switch Atmel mxt reset GPIO to active low on P4 Note
The reset GPIO logic of the Atmel maxtouch driver was changed to be
active low at around the same time P4 Note device tree was accepted into
the kernel.  Adjust the configuration so that the touchscreen is in a
usable state.

Signed-off-by: Martin Jücker <martin.juecker@gmail.com>
Link: https://lore.kernel.org/r/20201120160053.18942-1-martin.juecker@gmail.com
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-11-22 12:36:11 +01:00
Peter Ujfalusi
ea270ef71d ARM: dts: keystone-k2g-evm: add HDMI and analog audio data
The board is using McASP2 for both analog (tlv320aic3106) and
HDMI (SiI9022) audio.
12.288MHz oscillator provides the MCLK for both aic3106 and SiI9022.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
2020-11-21 19:26:32 -08:00
Florian Fainelli
f722fbac1e - Maxime introduces a quirk to avoid EMI between WiFi and HDMI@1440p on
RPi4b.
 
 - Pavel fixes dwc2's fifo size to properly support isochronous
 transfers.
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCAAdFiEErOkkGDHCg2EbPcGjlfZmHno8x/4FAl+385wACgkQlfZmHno8
 x/65ZAf+NrrcETXCoxSWJ23e2+ic2WUUpGg0OenPisItkPeOy5f+zHnaI65wa4Qe
 9mg9R9Snh9MmiGTCF2L2PhOQzYzBbmS8lE651HMvrvbaMbXWCnBIDdpl6iVuangJ
 SUDupcDwFWbdDbHsjpPtCrFhYYASsu4HrCGtjLY9jOvtJd+27VrtZ2JP5yH8oTOo
 aPMBESMY7i5m9l5d6EJe4K1zOV2VVmE2ksh4xLxC6BvU6vMwhlDYlYMFwLE9/0Vi
 aNs/cXrnQ0X6JkUxB6X6U8TyWgtGKygj7/hO83Q9BWf6olP8p+D/gX0Bpc+LIE62
 VH9FAAr+uSlGAeEQNldSpnU6xW9+Hg==
 =I1Dl
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEm+Rq3+YGJdiR9yuFh9CWnEQHBwQFAl+4hgUACgkQh9CWnEQH
 BwSHow//Rh46gGbpXhExX+qYwBGiVNJtyxqRzl5sGatvVmPUGN+q9GIZuZ7YQWeW
 lvaZdnFPG/cLXYhpGjX+AFQ5BVWmQaKO8dzUfqtD7JGpwmu/xwlsUOmh4vjBjxuy
 Xy/4adMxdtazFdaKwm3pVbr+HauXax+wOIVGkDTPSF43g501YsrUJRc8eUU6/lYl
 5c103uHKVB897Ab7zYfjazGlJKOjEQ46kgtBXP/046JJz6TPayQdfPxxyPk8g90g
 Gq7F+7xRjbay57KOZXrVM+uz01C77bNTjt6uVJrIuKwoBy5MKjn2YH1IExynQyMs
 Mw2u416lU70UIdxfKiaGGnxMFP+fGbu7DA9+5cqx4WdrI8OUQaPh0bNVynIpeScP
 pnu+TdOp3vYogSOrF2kQb/eDuuxYEHCXZ8+qbj3Jv3nFGGb0ibWC225EtUYdHu/W
 Pimho397eqVe3sckRWN2iyqbcrnLVIxITE2pUuKjp394trN/sc9st9i/ZiKC4v2u
 bY2ifCW9dvANlxX5KZ2jPVdwq63D9FTz/IYcoI6E5O2IPfBlRcvo2o5nCEDWAU4d
 LMgkk5OEVYPEbkhkCtzPqYKAeN//cnD+lzJnx63NkNCBWCc7OjpBSfLvDbnrHBqP
 2iKeciTneE7jIBuJAdGUmN+nvg9V2uhsMPKbPTCzELhwWHmLnPk=
 =6hNC
 -----END PGP SIGNATURE-----

Merge tag 'tags/bcm2835-dt-next-2020-11-20' into devicetree/next

- Maxime introduces a quirk to avoid EMI between WiFi and HDMI@1440p on
RPi4b.

- Pavel fixes dwc2's fifo size to properly support isochronous
transfers.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2020-11-20 19:14:01 -08:00
Florian Fainelli
51e40c25aa ARM: dts: NSP: Provide defaults ports container node
Provide an empty 'ports' container node with the correct #address-cells
and #size-cells properties. This silences the following warning:

arch/arm/boot/dts/bcm958522er.dt.yaml:
ethernet-switch@36000: 'oneOf' conditional failed, one must be fixed:
            'ports' is a required property
            'ethernet-ports' is a required property
            From schema:
Documentation/devicetree/bindings/net/dsa/b53.yaml

Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2020-11-20 18:55:31 -08:00
Florian Fainelli
42791b317d ARM: dts: NSP: Add a SRAB compatible string for each board
Provide a valid compatible string for the Ethernet switch node based on
the board including the switch. This allows us to have sane defaults and
silences the following warnings:

 arch/arm/boot/dts/bcm958522er.dt.yaml:
    ethernet-switch@36000: compatible: 'oneOf' conditional failed,
one
    must be fixed:
            ['brcm,bcm5301x-srab'] is too short
            'brcm,bcm5325' was expected
            'brcm,bcm53115' was expected
            'brcm,bcm53125' was expected
            'brcm,bcm53128' was expected
            'brcm,bcm5365' was expected
            'brcm,bcm5395' was expected
            'brcm,bcm5389' was expected
            'brcm,bcm5397' was expected
            'brcm,bcm5398' was expected
            'brcm,bcm11360-srab' was expected
            'brcm,bcm5301x-srab' is not one of ['brcm,bcm53010-srab',
    'brcm,bcm53011-srab', 'brcm,bcm53012-srab', 'brcm,bcm53018-srab',
    'brcm,bcm53019-srab']
            'brcm,bcm5301x-srab' is not one of ['brcm,bcm11404-srab',
    'brcm,bcm11407-srab', 'brcm,bcm11409-srab', 'brcm,bcm58310-srab',
    'brcm,bcm58311-srab', 'brcm,bcm58313-srab']
            'brcm,bcm5301x-srab' is not one of ['brcm,bcm58522-srab',
    'brcm,bcm58523-srab', 'brcm,bcm58525-srab', 'brcm,bcm58622-srab',
    'brcm,bcm58623-srab', 'brcm,bcm58625-srab', 'brcm,bcm88312-srab']
            'brcm,bcm5301x-srab' is not one of ['brcm,bcm3384-switch',
    'brcm,bcm6328-switch', 'brcm,bcm6368-switch']
            From schema:
    Documentation/devicetree/bindings/net/dsa/b53.yaml

Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2020-11-20 18:55:31 -08:00
Florian Fainelli
8b0235d1de ARM: dts: NSP: Fix Ethernet switch SGMII register name
The register name should be "sgmii_config", not "sgmii", this is not a
functional change since no code is currently looking for that register
by name (or at all).

Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2020-11-20 18:55:31 -08:00
Florian Fainelli
fd66cd0d79 ARM: dts: NSP: Update ethernet switch node name
Update the switch unit name from srab to ethernet-switch, allowing us
to fix warnings such as:

     CHECK   arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dt.yaml
    arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dt.yaml:
    srab@18007000: $nodename:0: 'srab@18007000' does not match
    '^(ethernet-)?switch(@.*)?$'
            From schema:
    Documentation/devicetree/bindings/net/dsa/b53.yaml

Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2020-11-20 18:55:31 -08:00
Florian Fainelli
fd577b4142 ARM: dts: BCM5301X: Provide defaults ports container node
Provide an empty 'ports' container node with the correct #address-cells
and #size-cells properties. This silences the following warning:

arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dt.yaml:
ethernet-switch@18007000: 'oneOf' conditional failed, one must be fixed:
        'ports' is a required property
        'ethernet-ports' is a required property
        From schema:
Documentation/devicetree/bindings/net/dsa/b53.yaml

Acked-by: Rafał Miłecki <rafal@milecki.pl>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2020-11-20 18:55:31 -08:00
Florian Fainelli
953efcb0c0 ARM: dts: BCM5301X: Add a default compatible for switch node
Provide a default compatible string which is based on the 53011 SRAB
compatible by default. The 4709 and 47094 default to the 53012 SRAB
compatible.

This allows us to have sane defaults and silences the following
warnings:

arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dt.yaml:
ethernet-switch@18007000: compatible: 'oneOf' conditional failed, one
must be fixed:
        ['brcm,bcm5301x-srab'] is too short
        'brcm,bcm5325' was expected
        'brcm,bcm53115' was expected
        'brcm,bcm53125' was expected
        'brcm,bcm53128' was expected
        'brcm,bcm5365' was expected
        'brcm,bcm5395' was expected
        'brcm,bcm5389' was expected
        'brcm,bcm5397' was expected
        'brcm,bcm5398' was expected
        'brcm,bcm11360-srab' was expected
        'brcm,bcm5301x-srab' is not one of ['brcm,bcm53010-srab',
'brcm,bcm53011-srab', 'brcm,bcm53012-srab', 'brcm,bcm53018-srab',
'brcm,bcm53019-srab']
        'brcm,bcm5301x-srab' is not one of ['brcm,bcm11404-srab',
'brcm,bcm11407-srab', 'brcm,bcm11409-srab', 'brcm,bcm58310-srab',
'brcm,bcm58311-srab', 'brcm,bcm58313-srab']
        'brcm,bcm5301x-srab' is not one of ['brcm,bcm58522-srab',
'brcm,bcm58523-srab', 'brcm,bcm58525-srab', 'brcm,bcm58622-srab',
'brcm,bcm58623-srab', 'brcm,bcm58625-srab', 'brcm,bcm88312-srab']
        'brcm,bcm5301x-srab' is not one of ['brcm,bcm3384-switch',
'brcm,bcm6328-switch', 'brcm,bcm6368-switch']
        From schema:
Documentation/devicetree/bindings/net/dsa/b53.yaml

Acked-by: Rafał Miłecki <rafal@milecki.pl>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2020-11-20 18:55:31 -08:00
Florian Fainelli
f527cb6f33 ARM: dts: BCM5301X: Update Ethernet switch node name
Update the switch unit name from srab to ethernet-switch, allowing us to
fix warnings such as:

  CHECK   arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dt.yaml
arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dt.yaml:
srab@18007000: $nodename:0: 'srab@18007000' does not match
'^(ethernet-)?switch(@.*)?$'
        From schema:
Documentation/devicetree/bindings/net/dsa/b53.yaml

Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2020-11-20 18:55:31 -08:00
Kees Cook
424c9102fa arm: Enable seccomp architecture tracking
To enable seccomp constant action bitmaps, we need to have a static
mapping to the audit architecture and system call table size. Add these
for arm.

Signed-off-by: Kees Cook <keescook@chromium.org>
2020-11-20 11:16:34 -08:00
Icenowy Zheng
a98fd117a2
ARM: dts: sun8i: v3s: fix GIC node memory range
Currently the GIC node in V3s DTSI follows some old DT examples, and
being broken. This leads a warning at boot.

Fix this.

Fixes: f989086ccb ("ARM: dts: sunxi: add dtsi file for V3s SoC")
Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://lore.kernel.org/r/20201120050851.4123759-1-icenowy@aosc.io
2020-11-20 17:56:07 +01:00
Pavel Hofman
278407a53c ARM: dts: bcm283x: increase dwc2's RX FIFO size
The previous version of the dwc2 overlay set the RX FIFO size to
256 4-byte words. This is not enough for 1024 bytes of the largest
isochronous high speed packet allowed, because it doesn't take into
account extra space needed by dwc2.

RX FIFO's size is calculated based on the following (in 4byte words):
- 13 locations for SETUP packets
  5*n + 8 for Slave and Buffer DMA mode where n is number of control
  endpoints which is 1 on the bcm283x core

- 1 location for Global OUT NAK

- 2 * 257 locations for status information and the received packet.
  Typically two spaces are recommended so that when the previous packet
  is being transferred to AHB, the USB can receive the subsequent
  packet.

- 10 * 1 location for transfer complete status for last packet of each
  endpoint. The bcm283x core has 5 IN and 5 OUT EPs

- 10 * 1 additional location for EPDisable status for each endpoint

- 5 * 2 additional locations are recommended for each OUT endpoint

Total is 558 locations.

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
Signed-off-by: Pavel Hofman <pavel.hofman@ivitera.com>
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Link: https://lore.kernel.org/r/e9e7d070-593c-122f-3a5c-2435bb147ab2@ivitera.com/
2020-11-20 17:43:10 +01:00
Maxime Ripard
358afb8b74 ARM: dts: rpi-4: disable wifi frequencies
The RPi4 WiFi chip and HDMI outputs have some frequency overlap with
crosstalk around 2.4GHz. Let's mark it as such so we can use some evasive
maneuvers.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Link: https://lore.kernel.org/r/20201029134018.1948636-3-maxime@cerno.tech
2020-11-20 17:43:02 +01:00
Eric Biggers
a24d22b225 crypto: sha - split sha.h into sha1.h and sha2.h
Currently <crypto/sha.h> contains declarations for both SHA-1 and SHA-2,
and <crypto/sha3.h> contains declarations for SHA-3.

This organization is inconsistent, but more importantly SHA-1 is no
longer considered to be cryptographically secure.  So to the extent
possible, SHA-1 shouldn't be grouped together with any of the other SHA
versions, and usage of it should be phased out.

Therefore, split <crypto/sha.h> into two headers <crypto/sha1.h> and
<crypto/sha2.h>, and make everyone explicitly specify whether they want
the declarations for SHA-1, SHA-2, or both.

This avoids making the SHA-1 declarations visible to files that don't
want anything to do with SHA-1.  It also prepares for potentially moving
sha1.h into a new insecure/ or dangerous/ directory.

Signed-off-by: Eric Biggers <ebiggers@google.com>
Acked-by: Ard Biesheuvel <ardb@kernel.org>
Acked-by: Jason A. Donenfeld <Jason@zx2c4.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2020-11-20 14:45:33 +11:00
Jakub Kicinski
56495a2442 Merge https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2020-11-19 19:08:46 -08:00
Tony Lindgren
baa2a61176 ARM: dts: Configure power domain for omap5 dss
This allows shutting down dss domain when the screen blanks.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-19 15:09:01 +02:00
Tero Kristo
ee9ddfd781 ARM: dts: omap5: add remaining PRM instances
Add remaining PRM instances for the omap5 SoC. Additionally enable the
genpd support for them.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-19 15:09:01 +02:00
Tony Lindgren
11fdf598d0 ARM: OMAP2+: Drop legacy platform data for dra7 gpmc
We can now probe devices with ti-sysc interconnect driver and dts
data. Let's drop the related platform data and custom ti,hwmods
dts property.

Cc: Roger Quadros <rogerq@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-19 15:09:01 +02:00
Tony Lindgren
ae57d15589 ARM: dts: Configure interconnect target module for dra7 iva
We can now probe devices with device tree only configuration using
ti-sysc interconnect target module driver.

Cc: Suman Anna <s-anna@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-19 15:09:01 +02:00
Tero Kristo
1021b37ecd ARM: dts: dra7: add remaining PRM instances
Add remaining PRM instances for the dra7 SoC. Additionally enable the
genpd support for them.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-19 15:09:00 +02:00
Tony Lindgren
fb0bf6aa8d ARM: OMAP2+: Drop legacy platform data for omap4 gpmc
We can now probe devices with ti-sysc interconnect driver and dts
data. Let's drop the related platform data and custom ti,hwmods
dts property.

Cc: Roger Quadros <rogerq@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-19 14:26:47 +02:00
Tony Lindgren
dfdaf8643e ARM: OMAP2+: Drop legacy platform data for omap4 iva
We can now probe devices with ti-sysc interconnect driver and dts
data. Let's drop the related platform data and custom ti,hwmods
dts property.

Cc: Suman Anna <s-anna@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-19 14:26:47 +02:00
Tony Lindgren
399882c199 ARM: dts: Configure power domain for omap4 dsp
This allows shutting down the dsp domain when not in use.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-19 14:26:47 +02:00
Tony Lindgren
0c7815f306 ARM: dts: Configure power domain for omap4 dss
This allows shutting down dss domain when the screen blanks.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-19 14:26:47 +02:00
Tero Kristo
6d4b65e31a ARM: dts: omap4: add remaining PRM instances
Add remaining PRM instances for the omap4 SoC. Additionally enable the
genpd support for them.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-19 14:26:47 +02:00
Joel Stanley
2ba56f464f ARM: dts: aspeed: ast2600evb: Add MAC0
MAC0 was not functional in the AST2600A0 SoC. This has been resolved
with the A1, so allow use of this port on EVBs with the A1 and
subsequent revisions.

A0 EVBs will still boot with this change, but the first Ethernet device
will not be functional.

Signed-off-by: Joel Stanley <joel@jms.id.au>
2020-11-19 22:31:18 +10:30
Andrew Jeffery
c680dd4e60 ARM: dts: aspeed: rainier: Don't shout addresses
Make them lowercase.

Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Link: https://lore.kernel.org/r/20201002063414.275161-4-andrew@aj.id.au
Signed-off-by: Joel Stanley <joel@jms.id.au>
2020-11-19 22:25:34 +10:30
Eddie James
bb74fdbd8a ARM: dts: aspeed: rainier: Mark FSI SPI controllers as restricted
Some of the FSI-attached SPI controllers can't use the loop command
due to security requirements. Indicate this in the devicetree with
the restricted compatible string.

Signed-off-by: Eddie James <eajames@linux.ibm.com>
Link: https://lore.kernel.org/r/20201102194713.14812-1-eajames@linux.ibm.com
Signed-off-by: Joel Stanley <joel@jms.id.au>
2020-11-19 22:25:30 +10:30
Tang Bin
2e023b9380 ARM: OMAP1: clock: Use IS_ERR_OR_NULL() to clean code
Use IS_ERR_OR_NULL() to make the code cleaner.

Signed-off-by: Zhang Shengju <zhangshengju@cmss.chinamobile.com>
Signed-off-by: Tang Bin <tangbin@cmss.chinamobile.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-19 11:45:42 +02:00
Xu Wang
e106698cbb ARM: OMAP2+: Remove redundant null check before clk_prepare_enable/clk_disable_unprepare
Because clk_prepare_enable() and clk_disable_unprepare() already checked
NULL clock parameter, so the additional checks are unnecessary, just
remove them.

Signed-off-by: Xu Wang <vulab@iscas.ac.cn>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-19 11:45:42 +02:00
Jing Xiangfeng
6d9be9376b ARM: OMAP2+: Remove redundant assignment to variable ret
The variable ret has been initialized with '-ENOMEM'. The assignment
in the if branch is redundant. So remove it.

Signed-off-by: Jing Xiangfeng <jingxiangfeng@huawei.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-19 11:45:42 +02:00
Youling Tang
c3f244d577 ARM: OMAP2+: Fix kfree NULL pointer in omap2xxx_clkt_vps_init
The returns pointer is NULL when kzalloc fails to apply for space, so fix
kfree NULL pointer.

Signed-off-by: Youling Tang <tangyouling@loongson.cn>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-19 11:44:46 +02:00
Youling Tang
3c5902d270 ARM: OMAP2+: Fix memleak in omap2xxx_clkt_vps_init
If the clk_register fails, we should free hw before function returns to
prevent memleak.

Signed-off-by: Youling Tang <tangyouling@loongson.cn>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-19 11:44:46 +02:00
Marc Kleine-Budde
05d5de6ba7 ARM: dts: dra76x: m_can: fix order of clocks
According to the bosch,m_can.yaml bindings the first clock shall be the "hclk",
while the second clock "cclk".

This patch fixes the order accordingly.

Fixes: 0adbe832f2 ("ARM: dts: dra76x: Add MCAN node")
Cc: Faiz Abbas <faiz_abbas@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Cc: linux-omap@vger.kernel.org
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-19 11:37:57 +02:00
Lancelot Kao
14579c76f5 ARM: dts: nuvoton: Add Fii Kudo system
Add device tree for the Kudo BMC. Kudo is an Ampere (Altra)
server platform manufactured by Fii and is based on a Nuvoton
NPCM730 SoC.

Signed-off-by: Mustatfa Shehabi <Mustafa.Shehabi@fii-na.com>
Signed-off-by: Mohaimen alsmarai <Mohaimen.alsamarai@fii-na.com>
Signed-off-by: Lancelot Kao <lancelot.kao@fii-usa.com>
Reviewed-by: Vivekanand Veeracholan <vveerach@google.com>
Reviewed-by: Benjamin Fair <benjaminfair@google.com>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Link: https://lore.kernel.org/r/20201116232127.7066-1-lancelot.kao@fii-usa.com
Signed-off-by: Joel Stanley <joel@jms.id.au>
2020-11-19 17:40:34 +10:30
Tomer Maimon
0e0610d24e ARM: dts: nuvoton: Add NPCM7xx RunBMC Olympus Quanta machine
Add Nuvoton NPCM7xx RunBMC Olympus Quanta board device tree.

Signed-off-by: Tomer Maimon <tmaimon77@gmail.com>
Signed-off-by: Joel Stanley <joel@jms.id.au>
2020-11-19 17:40:34 +10:30
Fran Hsu
59f5abe09f ARM: dts: nuvoton: Add Quanta GSJ BMC
The Quanta GSJ BMC uses the Nuvoton NPCM730 SoC.

Included features:

 1. Image partitions
 2. PWM fan controller
 3. USB device
 4. Serial port
 5. FIU
 6. LEDs and GPIOs

Signed-off-by: Fran Hsu <Fran.Hsu@quantatw.com>
Reviewed-by: Benjamin Fair <benjaminfair@google.com>
Signed-off-by: Joel Stanley <joel@jms.id.au>
2020-11-19 17:40:34 +10:30
Fran Hsu
c2a983a7a8 ARM: dts: nuvoton: Add Quanta GSJ BMC pinctrl
Add pinctrl definition for the Quanta GSJ BMC machine.

Signed-off-by: Fran Hsu <Fran.Hsu@quantatw.com>
Reviewed-by: Benjamin Fair <benjaminfair@google.com>
Signed-off-by: Joel Stanley <joel@jms.id.au>
2020-11-19 17:40:31 +10:30
Tomer Maimon
136b2124d7 ARM: dts: nuvoton: Add Nuvoton NPCM730 device tree
The Nuvoton NPCN730 SoC is a part of the Nuvoton NPCM7xx SoCs family.

Signed-off-by: Tomer Maimon <tmaimon77@gmail.com>
Signed-off-by: Joel Stanley <joel@jms.id.au>
2020-11-19 17:29:07 +10:30
Andrew Jeffery
c1fc133f5b ARM: dts: tacoma: Add reserved memory for ramoops
Reserve a 1.5MiB region of memory to record kmsg dumps, console and
userspace message state into 16kiB ring-buffer slots. The sizing allows
for up to 16 dumps to be captured and read out.

Set max-reason to KMSG_DUMP_EMERG to capture bad-path reboots.

Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Link: https://lore.kernel.org/r/20201022014731.2035438-7-andrew@aj.id.au
Signed-off-by: Joel Stanley <joel@jms.id.au>
2020-11-19 15:51:05 +10:30
Andrew Jeffery
c7b74131c7 ARM: dts: rainier: Add reserved memory for ramoops
Reserve a 1.5MiB region of memory to record kmsg dumps, console and
userspace message state into 16kiB ring-buffer slots. The sizing allows
for up to 16 dumps to be captured and read out.

Set max-reason to KMSG_DUMP_EMERG to capture bad-path reboots.

Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Link: https://lore.kernel.org/r/20201022014731.2035438-6-andrew@aj.id.au
Signed-off-by: Joel Stanley <joel@jms.id.au>
2020-11-19 15:50:34 +10:30
Andrew Jeffery
cbee028da6 ARM: dts: tacoma: Fix node vs reg mismatch for flash memory
The mismatch lead to a miscalculation of regions in another patch, and
shouldn't be mismatched anyway, so make them consistent.

Fixes: 575640201e ("ARM: dts: aspeed: tacoma: Use 64MB for firmware memory")
Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Link: https://lore.kernel.org/r/20201022014731.2035438-2-andrew@aj.id.au
Signed-off-by: Joel Stanley <joel@jms.id.au>
2020-11-19 15:49:48 +10:30
Christoph Hellwig
16fee29b07
dma-mapping: remove the dma_direct_set_offset export
Drop the dma_direct_set_offset export and move the declaration to
dma-map-ops.h now that the Allwinner drivers have stopped calling it.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
2020-11-18 09:11:38 +01:00
Linus Walleij
feedaacdad Input: atmel_mxt_ts - fix up inverted RESET handler
This driver uses GPIO descriptors to drive the touchscreen RESET line. In
the existing device trees this has in conflict with intution been flagged
as GPIO_ACTIVE_HIGH and the driver then applies the reverse action by
driving the line low (setting to 0) to enter reset state and driving the
line high (setting to 1) to get out of reset state.

The correct way to handle active low GPIO lines is to provide the
GPIO_ACTIVE_LOW in the device tree (thus properly describing the hardware)
and letting the GPIO framework invert the assertion (driving high) to a
low level and vice versa.

This is considered a bug since the device trees are incorrectly
mis-specifying the line as active high.

Fix the driver and all device trees specifying a reset line.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Philippe Schenker <philippe.schenker@toradex.com>
Acked-by: Krzysztof Kozlowski <krzk@kernel.org>
Link: https://lore.kernel.org/r/20201104153032.1387747-1-linus.walleij@linaro.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2020-11-17 18:14:08 -08:00
Xie He
f73659192b net: wan: Delete the DLCI / SDLA drivers
The DLCI driver (dlci.c) implements the Frame Relay protocol. However,
we already have another newer and better implementation of Frame Relay
provided by the HDLC_FR driver (hdlc_fr.c).

The DLCI driver's implementation of Frame Relay is used by only one
hardware driver in the kernel - the SDLA driver (sdla.c).

The SDLA driver provides Frame Relay support for the Sangoma S50x devices.
However, the vendor provides their own driver (along with their own
multi-WAN-protocol implementations including Frame Relay), called WANPIPE.
I believe most users of the hardware would use the vendor-provided WANPIPE
driver instead.

(The WANPIPE driver was even once in the kernel, but was deleted in
commit 8db60bcf30 ("[WAN]: Remove broken and unmaintained Sangoma
drivers.") because the vendor no longer updated the in-kernel WANPIPE
driver.)

Cc: Mike McLagan <mike.mclagan@linux.org>
Signed-off-by: Xie He <xie.he.0141@gmail.com>
Link: https://lore.kernel.org/r/20201114150921.685594-1-xie.he.0141@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2020-11-17 13:33:29 -08:00
Jonathan Cameron
0f8159371c ARM: dts: s5pv210: Drop unneeded io-channel-ranges property in Aries
This property is only useful if a node has children as it allows them
to then use io-channel properties in the parent.  Here there are no
children.

This is harmless, but we are planning to shortly drop this property
as it is rarely used correctly and there is little reason it would
ever be needed as we can just provide the io-channels property to
any child nodes that need it.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/20201115192951.1073632-8-jic23@kernel.org
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-11-17 20:47:26 +01:00
Jonathan Cameron
43379417e3 ARM: dts: s5pv210: Drop incorrect use of io-channel-ranges property
This property is relevant to consumers of io-channels.  Here it is
used by a provider.

dt-schema will now report and error as this property must be in the
same node as io-channels and it is not here.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/20201115192951.1073632-6-jic23@kernel.org
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-11-17 20:47:22 +01:00
Jonathan Cameron
e73840f316 ARM: dts: exynos: Drop incorrect use of io-channel-ranges
This property is only relevant to consumers of io-channels, not providers.
All these dtsi files have it alongside #io-channel-cells which indicates
they are providers of io-channels, not consumers.

Note that dt-schema will now flag this up due to a dependency between
this property and io-channels.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/20201115192951.1073632-5-jic23@kernel.org
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-11-17 20:45:25 +01:00
Eddie James
fd6a1e60a0 ARM: dts: aspeed: rainier: Add 4U device-tree
Add a device-tree for the Rainier 4U system. Change the model name
on the existing Rainier device-tree to 2U, and remove the two
extra power supplies that are only present on the 4U system. Also
add labels to the fan nodes for use in the 4U device-tree.

Signed-off-by: Eddie James <eajames@linux.ibm.com>
Reviewed-by: Andrew Jeffery <andrew@aj.id.au>
Link: https://lore.kernel.org/r/20201028185647.14565-1-eajames@linux.ibm.com
Signed-off-by: Joel Stanley <joel@jms.id.au>
2020-11-18 00:18:42 +10:30
Marek Vasut
b5269b6664 ARM: dts: stm32: Add KS8851 on FMC2 to STM32MP1 DHCOM
Add bindings for the KS8851 ethernet present on the STM32MP1 DHCOM SoM.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Alexandre Torgue <alexandre.torgue@st.com>
Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com>
Cc: Patrice Chotard <patrice.chotard@st.com>
Cc: Patrick Delaunay <patrick.delaunay@st.com>
Cc: linux-stm32@st-md-mailman.stormreply.com
To: linux-arm-kernel@lists.infradead.org
Signed-off-by: Alexandre Torgue <alexandre.torgue@st.com>
2020-11-17 09:30:31 +01:00
Marek Vasut
b0c0c8b400 ARM: dts: stm32: Add alternate pinmux for FMC EBI bus
Add another mux option for FMC EBI bus, this is used on DHCOM SoM
for the second ethernet and on the PDK2 devkit for SRAM.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Alexandre Torgue <alexandre.torgue@st.com>
Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com>
Cc: Patrice Chotard <patrice.chotard@st.com>
Cc: Patrick Delaunay <patrick.delaunay@st.com>
Cc: linux-stm32@st-md-mailman.stormreply.com
To: linux-arm-kernel@lists.infradead.org
Signed-off-by: Alexandre Torgue <alexandre.torgue@st.com>
2020-11-17 09:30:31 +01:00
Marek Vasut
516728273d ARM: dts: stm32: Connect PHY IRQ line on DH STM32MP1 SoM
On the production DHCOM STM32MP15xx SoM, the PHY IRQ line is connected
to the PI11 pin. Describe it in the DT as well, so the PHY IRQ can be
used e.g. to detect cable insertion and removal.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Alexandre Torgue <alexandre.torgue@st.com>
Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com>
Cc: Patrice Chotard <patrice.chotard@st.com>
Cc: Patrick Delaunay <patrick.delaunay@st.com>
Cc: linux-stm32@st-md-mailman.stormreply.com
To: linux-arm-kernel@lists.infradead.org
Signed-off-by: Alexandre Torgue <alexandre.torgue@st.com>
2020-11-17 09:30:31 +01:00
Hugues Fruchet
3e1f79e431 ARM: dts: stm32: fix DCMI DMA features on stm32mp15 family
Enable FIFO mode with half-full threshold.

Signed-off-by: Hugues Fruchet <hugues.fruchet@st.com>
Signed-off-by: Alexandre Torgue <alexandre.torgue@st.com>
2020-11-17 09:30:31 +01:00
Tomer Maimon
e42b650f82 ARM: dts: nuvoton: Add new device nodes to NPCM750 EVB
Add the following new device nodes to NPCM750 evolution board device
tree:

        - NPCM7xx Pin controller and GPIO
        - NPCM7xx PWM and FAN
        - NPCM7xx EHCI USB
        - NPCM7xx KCS
        - NPCM Reset
        - NPCM Peripheral SPI
        - NPCM FIU SPI
        - NPCM HWRNG
        - NPCM I2C
        - STMicro STMMAC

Signed-off-by: Tomer Maimon <tmaimon77@gmail.com>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Link: https://lore.kernel.org/r/20200929131807.15378-6-tmaimon77@gmail.com
Signed-off-by: Joel Stanley <joel@jms.id.au>
2020-11-17 12:41:24 +10:30
Tomer Maimon
77c72b33f0 ARM: dts: nuvoton: Add new device nodes
Add the following new device nodes to NPCM7XX:

        - NPCM7xx PWM and FAN.
        - NPCM7xx EHCI USB.
        - NPCM7xx KCS.
        - NPCM Reset.
        - NPCM Peripheral SPI.
        - NPCM FIU SPI.
        - NPCM HWRNG.
        - NPCM I2C.
        - STMicro STMMAC.

Signed-off-by: Tomer Maimon <tmaimon77@gmail.com>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Link: https://lore.kernel.org/r/20200929131807.15378-5-tmaimon77@gmail.com
Signed-off-by: Joel Stanley <joel@jms.id.au>
2020-11-17 12:41:15 +10:30
Tomer Maimon
0153c82b12 ARM: dts: nuvoton: Add pinctrl and GPIO node
Add pin controller and GPIO node to NPCM7XX device tree.

Signed-off-by: Tomer Maimon <tmaimon77@gmail.com>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Link: https://lore.kernel.org/r/20200929131807.15378-4-tmaimon77@gmail.com
Signed-off-by: Joel Stanley <joel@jms.id.au>
2020-11-17 12:41:09 +10:30
Tomer Maimon
7a28a9957c ARM: dts: nuvoton: Modify timer register size
Modify NPCM7xx device tree timer register size
from 0x50 to 0x1C to control only the timer registers
and not other hw modules.

Signed-off-by: Tomer Maimon <tmaimon77@gmail.com>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Link: https://lore.kernel.org/r/20200929131807.15378-3-tmaimon77@gmail.com
Signed-off-by: Joel Stanley <joel@jms.id.au>
2020-11-17 12:41:01 +10:30
Tomer Maimon
3e50523fe6 ARM: dts: nuvoton: Modify clock parameters
Modify NPCM7xx device tree clock parameter to clock constants that
define at include/dt-bindings/clock/nuvoton,npcm7xx-clock.h file.

Signed-off-by: Tomer Maimon <tmaimon77@gmail.com>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Link: https://lore.kernel.org/r/20200929131807.15378-2-tmaimon77@gmail.com
Signed-off-by: Joel Stanley <joel@jms.id.au>
2020-11-17 12:40:49 +10:30
Linus Torvalds
9c87c9f412 ARM: SoC fixes for v5.10, part 2
Around one third of the fixes this time are for dts files that list
 their ethernet controller as using 'phy-mode="rgmii"' but are changed to
 'phy-mode="rgmii-id"' now, because the PHY drivers (realtek, ksz9031,
 dp83867, ...) now configure the internal delay based on that when they
 used to stay on the hardware default.
 
 The long story is archived at
 https://lore.kernel.org/netdev/CAMj1kXEEF_Un-4NTaD5iUN0NoZYaJQn-rPediX0S6oRiuVuW-A@mail.gmail.com/
 I was trying to hold off on the bugfixes until there was a solution that
 would avoid breaking all boards, but that does not seem to be happening
 any time soon, so I am now sending the correct version of the dts files to
 ensure that at least these machines can use their network devices again.
 
 The other changes this time are:
 
 - Updating the MAINTAINER lists for Allwinner and Samsung SoCs
 
 - Multiple i.MX8MN machines get updates for their CPU
   operating points to match the data sheet
 
 - A revert for a dts patch that caused a regression in USB
   support on Odroid U3
 
 - Two fixes for the AMD Tee driver, addressing a memory leak
   and missing locking
 
 - Mark the network subsystem on qoriq-fman3 as cache coherent
   for correctness as better performance.
 
 - Minor dts fixes elsewhere, addressing dtc warnings and similar
   problems
 
 Signed-off-by: Arnd Bergmann <arnd@arndb.de>
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAl+yqIMACgkQmmx57+YA
 GNniQxAAnv8RAPMt8Jv4tyA0RshkD5+6JtgD6KfYccbI5Df+1O3YKJm90SA4Tpwg
 03GHpAsgIs9SYNP7gSs9HPYCOJwC4rmgmfbnbB4Ezpr+oe+w6C8FI7160BBgb4f8
 3/0LC6YyF48SPJ40lF/GOnTLbD5hxGw08oHCh/oL+b+bwn21JZoXAtkloCz8o6Ax
 u98G5MAaJhoTFaE3jq+8F1t6PNJ518HTulzod7uLAjn4iQtAmE96J7q9ncwcGu6a
 HNNcAGuz7X5QfEwWuAJai8eWvtMyGLvB5x1LXjjCNKgIqG+cD1tqpQ3FMedi36fg
 N+fxMxTJKuvBaQ83h/yyNk4/W3h6ddTbuEH0s320xSP5eiZ4r+/2Ry3WPHxHR3Rq
 YYDFbN6I19pQmgedJhgEmUEJXMcyId4SqN85l+uB58lOzu4zGf4WwVd+CBnEoIu3
 wMGHbwruP1t+4hvZjiga53iOzWTR2EzTYkKxfDrV3mPZY6gmov5Xjb0JZNl164WF
 0IJEa61HKf/ueJ5UNwWXpObNyD9rD2Ucugvok/KC1s06NFKjebGK4JhwChxMN0Sk
 baynLGSDe8utENrYgW+KmgZTQHTEICimT5ogW7H+W3trXqxvTKpwCsv5zZM0e238
 vULK/YGZLQZaZrxsCG2WylL6SlJQfptMy8wzOoKmbgTOkcsBasA=
 =Qgm/
 -----END PGP SIGNATURE-----

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

Pull ARM SoC fixes from Arnd Bergmann:
 "Around one third of the fixes this time are for dts files that list
  their ethernet controller as using 'phy-mode="rgmii"' but are changed
  to 'phy-mode="rgmii-id"' now, because the PHY drivers (realtek,
  ksz9031, dp83867, ...) now configure the internal delay based on that
  when they used to stay on the hardware default.

  The long story is archived at

    https://lore.kernel.org/netdev/CAMj1kXEEF_Un-4NTaD5iUN0NoZYaJQn-rPediX0S6oRiuVuW-A@mail.gmail.com/

  I was trying to hold off on the bugfixes until there was a solution
  that would avoid breaking all boards, but that does not seem to be
  happening any time soon, so I am now sending the correct version of
  the dts files to ensure that at least these machines can use their
  network devices again.

  The other changes this time are:

   - Updating the MAINTAINER lists for Allwinner and Samsung SoCs

   - Multiple i.MX8MN machines get updates for their CPU operating
     points to match the data sheet

   - A revert for a dts patch that caused a regression in USB support on
     Odroid U3

   - Two fixes for the AMD Tee driver, addressing a memory leak and
     missing locking

   - Mark the network subsystem on qoriq-fman3 as cache coherent for
     correctness as better performance.

   - Minor dts fixes elsewhere, addressing dtc warnings and similar
     problems"

* tag 'arm-soc-fixes-v5.10-2' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (48 commits)
  ARM: dts: exynos: revert "add input clock to CMU in Exynos4412 Odroid"
  ARM: dts: imx50-evk: Fix the chip select 1 IOMUX
  arm64: dts: imx8mm: fix voltage for 1.6GHz CPU operating point
  ARM: dts: stm32: Keep VDDA LDO1 always on on DHCOM
  ARM: dts: stm32: Enable thermal sensor support on stm32mp15xx-dhcor
  ARM: dts: stm32: Define VIO regulator supply on DHCOM
  ARM: dts: stm32: Fix LED5 on STM32MP1 DHCOM PDK2
  ARM: dts: stm32: Fix TA3-GPIO-C key on STM32MP1 DHCOM PDK2
  arm64: dts: renesas: r8a774e1: Add missing audio_clk_b
  tee: amdtee: synchronize access to shm list
  tee: amdtee: fix memory leak due to reset of global shm list
  arm64: dts: agilex/stratix10: Fix qspi node compatible
  ARM: dts: imx6q-prti6q: fix PHY address
  ARM: dts: vf610-zii-dev-rev-b: Fix MDIO over clocking
  arm: dts: imx6qdl-udoo: fix rgmii phy-mode for ksz9031 phy
  arm64: dts imx8mn: Remove non-existent USB OTG2
  arm64: dts: imx8mm-beacon-som: Fix Choppy BT audio
  arm64: dts: fsl: DPAA FMan DMA operations are coherent
  arm64: dts: fsl: fix endianness issue of rcpm
  arm64: dts: imx8mn-evk: fix missing PMIC's interrupt line pull-up
  ...
2020-11-16 15:07:08 -08:00
Martin Jücker
f48b5050c3 ARM: dts: exynos: add Samsung's Exynos4412-based P4 Note boards
The P4 Note family contains a couple of variants of the Galaxy Note 10.1
tablet with mainly different modems. The GT-N8010/GT-N8013 is the WiFi
only version.

Signed-off-by: Martin Jücker <martin.juecker@gmail.com>
Link: https://lore.kernel.org/r/20201113212525.13455-3-martin.juecker@gmail.com
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-11-16 17:32:11 +01:00
Martin Jücker
7e8af057bd ARM: exynos_defconfig: compile Atmel MXT touchscreeen as module
The Atmel MXT touchscreen can load firmware and settings from the
/lib/firmware directory, it makes sense to have it as a module to have
more control over the loading process.

Signed-off-by: Martin Jücker <martin.juecker@gmail.com>
Link: https://lore.kernel.org/r/20201113212525.13455-5-martin.juecker@gmail.com
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-11-16 17:31:38 +01:00
Martin Jücker
d8f0ddc838 ARM: defconfig: add STMPE ADC driver for P4 Note
Enable the STMPE ADC driver for the P4 Note device family in exynos and
multi_v7 defconfigs.

Signed-off-by: Martin Jücker <martin.juecker@gmail.com>
Link: https://lore.kernel.org/r/20201113212525.13455-4-martin.juecker@gmail.com
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-11-16 17:31:29 +01:00
Martin Jücker
f9135aaf27 ARM: exynos: extend cpuidle support to P4 Note boards
The P4 Note family supports cpuidle, so allow it to make use of this
feature.

Signed-off-by: Martin Jücker <martin.juecker@gmail.com>
Link: https://lore.kernel.org/r/20201113212525.13455-6-martin.juecker@gmail.com
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-11-16 17:31:01 +01:00
Arnd Bergmann
cc05af8e2e i.MX fixes for 5.10, round 4:
- Fix MDIO over clocking on vf610-zii-dev-rev-b board to get switch
   device work reliably.
 - Fix imx50-evk IOMUX for the chip select 1 to use GPIO4_13 instead of
   the native CSPI_SSI function.
 - Fix voltage for 1.6GHz CPU operating point on i.MX8MM to match
   hardware datasheet.
 - Fix phy-mode for KSZ9031 PHY on imx6qdl-udoo board.
 -----BEGIN PGP SIGNATURE-----
 
 iQFHBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAl+yQKUUHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM7dVgf1GkIY1GbPIvkMZB3CiQZ0e40vUmWx
 CW70bOrGAcSSgYvL7tBqb7I5U5+01m4whtsal6jK/TTZ4w2PAItZpgi3ZiXooyO9
 3qGHr7IgcuCWzQ2Bjg+YGR1esGTi2+KKggCWog0R8ipy5gUCvIcuLNyBtxjlkbKt
 1kkxEDOdmeXPAUQboEdRPZF4m6J/q8g/QgY8GeLsPeContEvAXBMMdNgIRHmWZ6H
 iu3H33ogseBkm5RvSfdjmTKPnz9/5hF94yEpGgTkWrawq2bMXwt7loBsQl/TyUVg
 d01gZl5yOxjtMXcnJ5bW+6SOpPbjUBFczg1+C2u2tDpeES5DjjYLS0fb
 =zT+s
 -----END PGP SIGNATURE-----

Merge tag 'imx-fixes-5.10-4' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/fixes

i.MX fixes for 5.10, round 4:

- Fix MDIO over clocking on vf610-zii-dev-rev-b board to get switch
  device work reliably.
- Fix imx50-evk IOMUX for the chip select 1 to use GPIO4_13 instead of
  the native CSPI_SSI function.
- Fix voltage for 1.6GHz CPU operating point on i.MX8MM to match
  hardware datasheet.
- Fix phy-mode for KSZ9031 PHY on imx6qdl-udoo board.

* tag 'imx-fixes-5.10-4' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  ARM: dts: imx50-evk: Fix the chip select 1 IOMUX
  arm64: dts: imx8mm: fix voltage for 1.6GHz CPU operating point
  ARM: dts: vf610-zii-dev-rev-b: Fix MDIO over clocking
  arm: dts: imx6qdl-udoo: fix rgmii phy-mode for ksz9031 phy

Link: https://lore.kernel.org/r/20201116090702.GM5849@dragon
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-11-16 17:05:00 +01:00
Arnd Bergmann
cef3970381 arch: pgtable: define MAX_POSSIBLE_PHYSMEM_BITS where needed
Stefan Agner reported a bug when using zsram on 32-bit Arm machines
with RAM above the 4GB address boundary:

  Unable to handle kernel NULL pointer dereference at virtual address 00000000
  pgd = a27bd01c
  [00000000] *pgd=236a0003, *pmd=1ffa64003
  Internal error: Oops: 207 [#1] SMP ARM
  Modules linked in: mdio_bcm_unimac(+) brcmfmac cfg80211 brcmutil raspberrypi_hwmon hci_uart crc32_arm_ce bcm2711_thermal phy_generic genet
  CPU: 0 PID: 123 Comm: mkfs.ext4 Not tainted 5.9.6 #1
  Hardware name: BCM2711
  PC is at zs_map_object+0x94/0x338
  LR is at zram_bvec_rw.constprop.0+0x330/0xa64
  pc : [<c0602b38>]    lr : [<c0bda6a0>]    psr: 60000013
  sp : e376bbe0  ip : 00000000  fp : c1e2921c
  r10: 00000002  r9 : c1dda730  r8 : 00000000
  r7 : e8ff7a00  r6 : 00000000  r5 : 02f9ffa0  r4 : e3710000
  r3 : 000fdffe  r2 : c1e0ce80  r1 : ebf979a0  r0 : 00000000
  Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
  Control: 30c5383d  Table: 235c2a80  DAC: fffffffd
  Process mkfs.ext4 (pid: 123, stack limit = 0x495a22e6)
  Stack: (0xe376bbe0 to 0xe376c000)

As it turns out, zsram needs to know the maximum memory size, which
is defined in MAX_PHYSMEM_BITS when CONFIG_SPARSEMEM is set, or in
MAX_POSSIBLE_PHYSMEM_BITS on the x86 architecture.

The same problem will be hit on all 32-bit architectures that have a
physical address space larger than 4GB and happen to not enable sparsemem
and include asm/sparsemem.h from asm/pgtable.h.

After the initial discussion, I suggested just always defining
MAX_POSSIBLE_PHYSMEM_BITS whenever CONFIG_PHYS_ADDR_T_64BIT is
set, or provoking a build error otherwise. This addresses all
configurations that can currently have this runtime bug, but
leaves all other configurations unchanged.

I looked up the possible number of bits in source code and
datasheets, here is what I found:

 - on ARC, CONFIG_ARC_HAS_PAE40 controls whether 32 or 40 bits are used
 - on ARM, CONFIG_LPAE enables 40 bit addressing, without it we never
   support more than 32 bits, even though supersections in theory allow
   up to 40 bits as well.
 - on MIPS, some MIPS32r1 or later chips support 36 bits, and MIPS32r5
   XPA supports up to 60 bits in theory, but 40 bits are more than
   anyone will ever ship
 - On PowerPC, there are three different implementations of 36 bit
   addressing, but 32-bit is used without CONFIG_PTE_64BIT
 - On RISC-V, the normal page table format can support 34 bit
   addressing. There is no highmem support on RISC-V, so anything
   above 2GB is unused, but it might be useful to eventually support
   CONFIG_ZRAM for high pages.

Fixes: 61989a80fb ("staging: zsmalloc: zsmalloc memory allocation library")
Fixes: 02390b87a9 ("mm/zsmalloc: Prepare to variable MAX_PHYSMEM_BITS")
Acked-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Reviewed-by: Stefan Agner <stefan@agner.ch>
Tested-by: Stefan Agner <stefan@agner.ch>
Acked-by: Mike Rapoport <rppt@linux.ibm.com>
Link: https://lore.kernel.org/linux-mm/bdfa44bf1c570b05d6c70898e2bbb0acf234ecdf.1604762181.git.stefan@agner.ch/
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-11-16 16:57:18 +01:00
Corentin Labbe
38c212c90b
ARM: configs: sunxi: enable Realtek PHY
Lot of sunxi boards has a Realtek PHY, so let's enable it.

Signed-off-by: Corentin Labbe <clabbe@baylibre.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Acked-by: Jernej Skrabec <jernej.skrabec@siol.net>
Link: https://lore.kernel.org/r/20201112202652.27676-1-clabbe@baylibre.com
2020-11-16 16:52:06 +01:00
Alexander Shiyan
d7356a7ab1 ARM: dts: am335x: Fix comments for AM335X_PIN_GPMC_WPN pin in GPIO mode
According to AM335x datasheet pin AM335X_PIN_GPMC_WPN in MODE7 works as
GPIO0[31].

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16 13:38:29 +02:00
David Lechner
672081b5dd ARM: dts: am335x-boneblue: Enable eQEP
This enables the Enhanced Quadrature Encoder Pulse (eQEP) module for
connectors E1, E2 and E3 on BeagleBone Blue.

Signed-off-by: David Lechner <david@lechnology.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16 13:32:42 +02:00
David Lechner
02564e1ad7 ARM: dts: am33xx: Add nodes for eQEP
This adds new nodes for the Texas Instruments Enhanced Quadrature
Encoder Pulse (eQEP) module in the PWM subsystem on AM33XX.

Signed-off-by: David Lechner <david@lechnology.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16 13:32:34 +02:00
Tero Kristo
be5cd39a5e ARM: dts: dra7: add second SHA instance
DRA7 SoC has two SHA instances, add the missing second one under the
main dts file.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16 13:29:40 +02:00
Tony Lindgren
df6c2ec872 ARM: OMAP2+: Drop legacy remaining legacy platform data for am4
We can now drop the remaining legacy platform data as we are
probing devices with device tree data.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16 13:11:17 +02:00
Tony Lindgren
4cf6a21411 ARM: dts: Use simple-pm-bus for genpd for am4 l3
We can now enable simple-pm-bus to use genpd.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16 13:11:17 +02:00
Tony Lindgren
994b86e8fd ARM: dts: Move am4 l3 noc to a separate node
In preparation for probing l3 with simple-pm-bus and genpd, we must move
l3 noc to a separate node to prevent omap_l3_noc.c driver from claiming
the whole l3 instance before simple-pm-bus has a chance to probe.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16 13:11:17 +02:00
Tony Lindgren
2e4da7eab4 ARM: dts: Use simple-pm-bus for genpd for am4 l4_per
We can now enable simple-pm-bus to use genpd.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16 13:11:17 +02:00
Tony Lindgren
3de94f076c ARM: dts: Use simple-pm-bus for genpd for am4 l4_fast
We can now enable simple-pm-bus to use genpd.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16 13:11:17 +02:00
Tony Lindgren
209ca3e8ad ARM: dts: Use simple-pm-bus for genpd for am4 l4_wkup
We can now enable simple-pm-bus to use genpd.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16 13:11:17 +02:00
Tony Lindgren
98e6c0ae14 ARM: OMAP2+: Drop legacy platform data for am4 mpuss
We can now probe devices with ti-sysc interconnect driver and dts
data. Let's drop the related platform data and custom ti,hwmods
dts property.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16 13:11:17 +02:00
Tony Lindgren
ffbf46a362 ARM: OMAP2+: Drop legacy platform data for am4 ocmcram
We can now probe devices with ti-sysc interconnect driver and dts
data. Let's drop the related platform data and custom ti,hwmods
dts property.

Note that we need to use "ti,no-idle" here.

Cc: Dave Gerlach <d-gerlach@ti.com>
Cc: Suman Anna <s-anna@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16 13:11:17 +02:00
Tony Lindgren
04af40fc74 ARM: OMAP2+: Drop legacy platform data for am4 emif
We can now probe devices with ti-sysc interconnect driver and dts
data. Let's drop the related platform data and custom ti,hwmods
dts property.

Cc: Dave Gerlach <d-gerlach@ti.com>
Cc: Suman Anna <s-anna@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16 13:11:17 +02:00
Tony Lindgren
f7ddc2c974 ARM: OMAP2+: Drop legacy platform data for am4 wkup_m3
We can now probe devices with ti-sysc interconnect driver and dts
data. Let's drop the related platform data and custom ti,hwmods
dts property.

As we're just dropping data, and the early platform data init
is based on the custom ti,hwmods property, we want to drop both
the platform data and ti,hwmods property in a single patch.

Cc: Dave Gerlach <d-gerlach@ti.com>
Cc: Suman Anna <s-anna@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16 13:11:17 +02:00
Tony Lindgren
302502efaf ARM: dts: Configure interconnect target module for am4 wkup_m3
We can now probe devices with device tree only configuration using
ti-sysc interconnect target module driver.

Note that we no longer need ti,no-reset-on-init as the rstctrl resets
are properly handled by the reset driver and claimed by the RTC driver.
And we need to squash together the module ranges for driver compability.

Cc: Dave Gerlach <d-gerlach@ti.com>
Cc: Suman Anna <s-anna@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16 13:11:17 +02:00
Tony Lindgren
d8fecb36f4 ARM: dts: Configure RTC powerdomain for am4
For genpd we need the RTC powerdomain configured.

Cc: Dave Gerlach <d-gerlach@ti.com>
Cc: Suman Anna <s-anna@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16 13:11:17 +02:00
Tony Lindgren
2b999ae15b ARM: OMAP2+: Drop legacy platform data for am4 control module
We can now probe devices with ti-sysc interconnect driver and dts
data. Let's drop the related platform data and custom ti,hwmods
dts property.

To drop the legacy platform data for am3 control module, we need
to configure the missing functional clock and tag the module to
not idle as platform data also had it configured with
HWMOD_INIT_NO_IDLE.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16 13:11:17 +02:00
Tony Lindgren
00cb24bec0 ARM: dts: Configure also interconnect clocks for am4 system timer
We now manage clocksource and clockevent clocks directly with
timer-ti-dm-systimer. In order to use genpd with prm_omap,
GENPD_FLAG_PM_CLK and simple-pm-bus, we need to keep the system
timer related interconnect clocks enabled until clocksource suspend
is done.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16 13:11:17 +02:00
Tero Kristo
50896b7451 ARM: dts: am43xx: add remaining PRM instances
Add remaining PRM instances for the am43xx SoC. Additionally enable the
genpd support for them.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16 13:11:17 +02:00
Tony Lindgren
133ad7ab70 ARM: OMAP2+: Build hwmod related code as needed
If we have only am3 selected, there's no need to build the
hwmod related code as we are probing devices with device tree
data.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16 12:58:21 +02:00
Tony Lindgren
68fc5990b8 ARM: OMAP2+: Drop legacy remaining legacy platform data for am3
We can now drop the remaining legacy platform data as we are
probing devices with device tree data.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16 12:58:19 +02:00
Tony Lindgren
472931c641 ARM: dts: Use simple-pm-bus for genpd for am3 l3
We can now enable simple-pm-bus to use genpd.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16 12:58:17 +02:00
Tony Lindgren
25ddbb2b88 ARM: dts: Use simple-pm-bus for genpd for am3 l4_per
We can now enable simple-pm-bus to use genpd.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16 12:58:15 +02:00
Tony Lindgren
ac1c14f51a ARM: dts: Use simple-pm-bus for genpd for am3 l4_fast
We can now enable simple-pm-bus to use genpd.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16 12:58:13 +02:00
Tony Lindgren
5a230524f8 ARM: dts: Use simple-pm-bus for genpd for am3 l4_wkup
We can now enable simple-pm-bus to use genpd.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16 12:58:11 +02:00
Tony Lindgren
b0625afe30 ARM: OMAP2+: Drop legacy platform data for am3 mpuss
We can now probe devices with ti-sysc interconnect driver and dts
data. Let's drop the related platform data and custom ti,hwmods
dts property.

As we're just dropping data, and the early platform data init
is based on the custom ti,hwmods property, we want to drop both
the platform data and ti,hwmods property in a single patch.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16 12:58:09 +02:00
Tony Lindgren
675755705f ARM: OMAP2+: Drop legacy platform data for am3 instr
We can now probe devices with ti-sysc interconnect driver and dts
data. Let's drop the related platform data and custom ti,hwmods
dts property.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16 12:58:07 +02:00
Tony Lindgren
2e5395684b ARM: OMAP2+: Drop legacy platform data for am3 ocmcram
We can now probe devices with ti-sysc interconnect driver and dts
data. Let's drop the related platform data and custom ti,hwmods
dts property.

Note that we need to use "ti,no-idle" here.

Cc: Dave Gerlach <d-gerlach@ti.com>
Cc: Suman Anna <s-anna@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16 12:58:04 +02:00
Tony Lindgren
966c5e9f14 ARM: OMAP2+: Drop legacy platform data for am3 emif
We can now probe devices with ti-sysc interconnect driver and dts
data. Let's drop the related platform data and custom ti,hwmods
dts property.

Cc: Dave Gerlach <d-gerlach@ti.com>
Cc: Suman Anna <s-anna@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16 12:58:02 +02:00
Tony Lindgren
e990ebae4c ARM: OMAP2+: Drop legacy platform data for am3 debugss
We can now probe devices with ti-sysc interconnect driver and dts
data. Let's drop the related platform data and custom ti,hwmods
dts property.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16 12:58:00 +02:00
Tony Lindgren
df7f2f9504 ARM: OMAP2+: Drop legacy platform data for am3 and am4 gpmc
We can now probe devices with ti-sysc interconnect driver and dts
data. Let's drop the related platform data and custom ti,hwmods
dts property.

As we're just dropping data, and the early platform data init
is based on the custom ti,hwmods property, we want to drop both
the platform data and ti,hwmods property in a single patch.

Cc: Roger Quadros <rogerq@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16 12:57:58 +02:00
Tony Lindgren
3856e86f86 ARM: OMAP2+: Drop legacy platform data for am3 wkup_m3
We can now probe devices with ti-sysc interconnect driver and dts
data. Let's drop the related platform data and custom ti,hwmods
dts property.

As we're just dropping data, and the early platform data init
is based on the custom ti,hwmods property, we want to drop both
the platform data and ti,hwmods property in a single patch.

Cc: Dave Gerlach <d-gerlach@ti.com>
Cc: Suman Anna <s-anna@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16 12:57:55 +02:00
Tony Lindgren
b2304c5b0c ARM: dts: Configure interconnect target module for am3 wkup_m3
We can now probe devices with device tree only configuration using
ti-sysc interconnect target module driver.

Note that we no longer need ti,no-reset-on-init as the rstctrl resets
are properly handled by the reset driver and claimed by the RTC driver.
And we need to squash together the module ranges for driver compability.

Cc: Dave Gerlach <d-gerlach@ti.com>
Cc: Suman Anna <s-anna@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16 12:57:53 +02:00
Tony Lindgren
bfbad30690 ARM: dts: Configure RTC powerdomain for am3
For genpd we need the RTC powerdomain configured.

Cc: Dave Gerlach <d-gerlach@ti.com>
Cc: Suman Anna <s-anna@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16 12:57:50 +02:00
Tony Lindgren
6bcc5f9989 ARM: OMAP2+: Drop legacy platform data for am3 control module
We can now probe devices with ti-sysc interconnect driver and dts
data. Let's drop the related platform data and custom ti,hwmods
dts property.

To drop the legacy platform data for am3 control module, we need
to configure the missing functional clock and tag the module to
not idle as platform data also had it configured with
HWMOD_INIT_NO_IDLE.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16 12:57:48 +02:00
Tony Lindgren
b7427dc49f ARM: dts: Configure also interconnect clocks for am4 system timer
We now manage clocksource and clockevent clocks directly with
timer-ti-dm-systimer. In order to use genpd with prm_omap,
GENPD_FLAG_PM_CLK and simple-pm-bus, we need to keep the system
timer related interconnect clocks enabled until clocksource suspend
is done.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16 12:57:45 +02:00
Tero Kristo
1041b2d0ca ARM: dts: am33xx: add remaining PRM instances
Add remaining PRM instances for the am33xx SoC. Additionally, enable the
genpd support for them.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
[tony@atomide.com: fixed a typo for #power-domain-cells]
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16 12:57:43 +02:00
Tony Lindgren
ae5f70f707 ARM: OMAP2+: Probe PRCM first to probe l4_wkup with simple-pm-bus
In preparation for probing the interconnects with simple-pm-bus to
make use of genpd, we need to probe the always-on PRCM first for the
clocks needed by l4_wkup instance.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16 12:57:21 +02:00
Tony Lindgren
9261c5b2f5 ARM: OMAP2+: Check for inited flag
If we have no hwmods configured and omap_hwmod_init() is not called,
we don't want to call omap_hwmod_setup_all() as it will fail with
checks for configured MPU at least.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16 12:57:18 +02:00
Tony Lindgren
df85429959 Merge tag 'ti-sysc-fixes' into fixes 2020-11-16 11:18:56 +02:00
Carl Philipp Klemm
a6b2a18060 ARM: omap2plus_defconfig: add CONFIG_AK8975=m and CONFIG_KXCJK1013=m
ARM: omap2plus_defconfig: add CONFIG_AK8975=m and CONFIG_KXCJK1013=m to
support motorola xt894's magnetometer and motorola xt875's
accelerometer respectivly

Signed-off-by: Carl Philipp Klemm <philipp@uvos.xyz>
[tony@atomide.com: shortened subject a bit]
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16 11:10:22 +02:00
Adam Ford
a82820fcd0 ARM: omap2plus_defconfig: Enable OMAP3_THERMAL
With the additional power management options enabled,
this patch enables OMAP3_THERMAL by default.

Signed-off-by: Adam Ford <aford173@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16 10:56:33 +02:00
Jonathan Neuschäfer
b9639a8b5e ARM: dts: imx50-kobo-aura: Enable eKTF2132 touchscreen
The Kobo Aura has an eKTF2132 touchscreen controller.

Although the vendor kernel toggles a reset pin (GPIO5-12) during the
startup sequence, the touchscreen works without it.

Signed-off-by: Jonathan Neuschäfer <j.neuschaefer@gmx.net>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-11-16 16:27:20 +08:00
Marc Kleine-Budde
21658d51cf ARM: dts: imx: Change flexcan node name to "can"
Change i.MX SoCs nand node name from "flexcan" to "can" to be compliant with
yaml schema, it requires the nodename to be "can". This fixes the following
error found by dtbs_check:

arch/arm/boot/dts/imx6dl-apf6dev.dt.yaml: flexcan@2090000: $nodename:0: 'flexcan@2090000' does not match '^can(@.*)?$'
    From schema: Documentation/devicetree/bindings/net/can/fsl,flexcan.yaml

Cc: Shawn Guo <shawnguo@kernel.org>
Cc: devicetree@vger.kernel.org
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-11-16 16:24:21 +08:00
Krzysztof Kozlowski
1186a522c3 ARM: dts: imx6q-pico: fix board compatibles
There are four flavors of TechNexion PICO-IMX6 boards.  They have their
own DTSes, even though in Dwarf, Nymph and Pi are exactly the same.
They also have their own bindings so adjust the compatibles to match the
bindings.

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-11-16 16:02:56 +08:00
Paul Fertser
6ff286225d arm: dts: aspeed: tiogapass: Enable second MAC
Tioga Pass reference design includes Intel I210 Ethernet controller
connected to the BMC with NC/SI.

MAC readout is not supported.

Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-by: Vijay Khemka <vijaykhemkalinux@gmail.com>
Tested-by: Vijay Khemka <vijaykhemkalinux@gmail.com>
Signed-off-by: Joel Stanley <joel@jms.id.au>
2020-11-16 16:31:42 +10:30
Tao Ren
2e7cd913ea ARM: dts: aspeed: minipack: Fixup I2C tree
Create all the i2c switches in device tree and use aliases to assign
child channels with consistent bus numbers.

Besides, "i2c-mux-idle-disconnect" is set for all the i2c switches to
avoid potential conflicts when multiple devices (beind the switches) use
the same device address.

Signed-off-by: Tao Ren <rentao.bupt@gmail.com>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Link: https://lore.kernel.org/r/20201110072446.8218-1-rentao.bupt@gmail.com
Signed-off-by: Joel Stanley <joel@jms.id.au>
2020-11-16 14:06:23 +10:30
Tao Ren
c9f6aa9d1f ARM: dts: aspeed: wedge400: Fix FMC flash0 layout
Update "data0" partition's size from 8MB to 4MB to fix "partition data0
extends beyond the end of device" warning at bootup time.

Signed-off-by: Tao Ren <rentao.bupt@gmail.com>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Link: https://lore.kernel.org/r/20201110072159.7941-1-rentao.bupt@gmail.com
Signed-off-by: Joel Stanley <joel@jms.id.au>
2020-11-16 14:05:58 +10:30
Jonathan Cameron
7f41567742 ARM: dts: Cygnus: Drop incorrect io-channel-ranges property.
This property applies to consumers of io-channels.  In this case we
have a provider so the property is not used.

Recent changes to dt-schema result int his being reported as an error
as a dependency is enforced between this property and io-channels.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2020-11-15 19:23:12 -08:00
Linus Torvalds
64b609d6a6 A set of fixes for perf:
- A set of commits which reduce the stack usage of various perf event
    handling functions which allocated large data structs on stack causing
    stack overflows in the worst case.
 
  - Use the proper mechanism for detecting soft interrupts in the recursion
    protection.
 
  - Make the resursion protection simpler and more robust.
 
  - Simplify the scheduling of event groups to make the code more robust and
    prepare for fixing the issues vs. scheduling of exclusive event groups.
 
  - Prevent event multiplexing and rotation for exclusive event groups
 
  - Correct the perf event attribute exclusive semantics to take pinned
    events, e.g. the PMU watchdog, into account
 
  - Make the anythread filtering conditional for Intel's generic PMU
    counters as it is not longer guaranteed to be supported on newer
    CPUs. Check the corresponding CPUID leaf to make sure.
 
  - Fixup a duplicate initialization in an array which was probably cause by
    the usual copy & paste - forgot to edit mishap.
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCgAxFiEEQp8+kY+LLUocC4bMphj1TA10mKEFAl+xIi0THHRnbHhAbGlu
 dXRyb25peC5kZQAKCRCmGPVMDXSYofixD/4+4gc8DhOmAkMrN0Z9tiW8ebgMKmb9
 wZRkMr5Osi0GzLJOPZ6SdY6jd0A3rMN/sW6P1DT6pDtcty4bKFoW5VZBuUDIAhel
 BC4C93L3y1En/GEZu1GTy3LvsBwLBQTOoY4goDjbdAbk60S/0RTHOGyQsRsOQFe6
 fVs3iXozAFuaR6I6N3dlxuJAE51zvr8MyBWaUoByNDB//1+lLNW+JfClaAOG1oXx
 qZIg/niatBVGzSGgKNRUyh3g8G1HJtabsA/NZ4PH8ZHuYABfmj4lmmUPR77ICLfV
 wMITEBG7eaktB8EqM9hvaoOZLA5kpXHO2JbCFSs4c4x11mlC8g7QMV3poCw33YoN
 a5TmT1A3muri1riy1/Ee9lXACOq7/tf2+Xfn9o6dvDdBwd6s5pzlhLGR8gILp2lF
 2bcg3IwYvHT/Kiurb/WGNpbCqQIPJpcUcfs3tNBCCtKegahUQNnGjxN3NVo9RCit
 zfL6xIJ8eZiYnsxXx4NKm744AukWiql3aRNgRkOdBP5WC68xt6VLcxG1YZKUoDhy
 jRSOCD/DuPSMSvAAgN7S8OWlPsKWBxVxxWYV+K8FpwhgzbQ3WbS3UDiYkhgjeOxu
 OlM692oWpllKvQWlvYthr2Be6oPCRRi1vvADNNbTKzgHk5i61bwympsGl1EZx3Pz
 2ROp7NJFRESnqw==
 =FzCf
 -----END PGP SIGNATURE-----

Merge tag 'perf-urgent-2020-11-15' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull perf fixes from Thomas Gleixner:
 "A set of fixes for perf:

    - A set of commits which reduce the stack usage of various perf
      event handling functions which allocated large data structs on
      stack causing stack overflows in the worst case

    - Use the proper mechanism for detecting soft interrupts in the
      recursion protection

    - Make the resursion protection simpler and more robust

    - Simplify the scheduling of event groups to make the code more
      robust and prepare for fixing the issues vs. scheduling of
      exclusive event groups

    - Prevent event multiplexing and rotation for exclusive event groups

    - Correct the perf event attribute exclusive semantics to take
      pinned events, e.g. the PMU watchdog, into account

    - Make the anythread filtering conditional for Intel's generic PMU
      counters as it is not longer guaranteed to be supported on newer
      CPUs. Check the corresponding CPUID leaf to make sure

    - Fixup a duplicate initialization in an array which was probably
      caused by the usual 'copy & paste - forgot to edit' mishap"

* tag 'perf-urgent-2020-11-15' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  perf/x86/intel/uncore: Fix Add BW copypasta
  perf/x86/intel: Make anythread filter support conditional
  perf: Tweak perf_event_attr::exclusive semantics
  perf: Fix event multiplexing for exclusive groups
  perf: Simplify group_sched_in()
  perf: Simplify group_sched_out()
  perf/x86: Make dummy_iregs static
  perf/arch: Remove perf_sample_data::regs_user_copy
  perf: Optimize get_recursion_context()
  perf: Fix get_recursion_context()
  perf/x86: Reduce stack usage for x86_pmu::drain_pebs()
  perf: Reduce stack usage of perf_output_begin()
2020-11-15 09:46:36 -08:00
Łukasz Stelmach
c0f5d3873b ARM: dts: exynos: Add an alias for the Ethernet interface on Odroid XU3
Add an alias to enable bootloaders to find the Ethernet
interface and assign a MAC address.

Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
Link: https://lore.kernel.org/r/20201103184412.18874-3-l.stelmach@samsung.com
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-11-15 11:38:37 +01:00
Łukasz Stelmach
f949d414fc ARM: dts: exynos: Fix Ethernet interface description on Odroid XU3
Assign appropriate compatible properties matching real USB vendor and
product ID.

Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
Link: https://lore.kernel.org/r/20201103184412.18874-2-l.stelmach@samsung.com
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-11-15 11:37:50 +01:00
Rafał Miłecki
b2ab5e8697 ARM: dts: BCM5301X: Enable USB 3 PHY on Luxul XWR-3150
This device has a functional USB 3 port so PHY is required.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2020-11-13 15:17:34 -08:00
Rafał Miłecki
632ddf9785 ARM: dts: BCM5301X: Disable USB 3 PHY on devices without USB 3
It seems pointless to have it enabled.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2020-11-13 15:11:31 -08:00
Linus Torvalds
e45f90fc72 ARM fix for 5.10-rc:
Just one bug fix:
 - avoid a fortify panic when copying optprobe template
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEuNNh8scc2k/wOAE+9OeQG+StrGQFAl+tVuwACgkQ9OeQG+St
 rGTXww//fHEQyp9oLBAiLd5EtUVZMsyhZNZyori6kCReTK5Hcsxbjwh0v0394GCX
 RSwWOX6MEypmuzt0dIEIKCtIKmac6YR736kZzoq23evB6eA5ZHbYk/BVKI718BIq
 mKiPTzR0n5MCjUlNIOoGcAXW+LIsWqGz6aeCa0QcgcpPZbw5wpyNgl4CpoIKn5Aq
 c2s16GHaipozDh4BSjfd9RahkPKekJggbzRrSb4oIxe2dFj5hFJDpQgMuTs2nzWV
 UnP/6pqCapg/p0zq5Ea14T5Ay3ZTUU5FVpbA4sJxm3jnOKIg5Z6JZqWbPpskJrgw
 0ytZWN9UuzRai+80X9W7gKO5XuZ+G8esE2QbRZ6axLdPWs791/oiKiwiOPQhQRjk
 61J4FXQasuGoyQXcfYYxBw+aS1e2FQ90V1hDbmRbmJSvDmlR8rK8wXvWSWx8qjl/
 VAwuvbG0EJO4mVg2V5nQCBduKTeN8jVbKcOws5cozN2+cUOh3syVIYddH3nGzZ2Q
 u2B7vQGob2P5bMAeB19KRpVpT+EzTuUhrO2cK+n725b9R9AAKX169n/vPRiOOcAJ
 ev/vc8UDUlQ2Yp8xvCqAcGiIFVuRIJTsS7M039ZqCS5TBoTIydJp4JQtqxfhLRVn
 ha5bWxY3yTo8CjIv2+uc1eIHEaVKeQ6WcdsKOhSwh5JuKSToVPY=
 =ef2i
 -----END PGP SIGNATURE-----

Merge tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm

Pull ARM fix from Russell King:
 "Just one bug fix: avoid a fortify panic when copying optprobe template"

* tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm:
  ARM: 9019/1: kprobes: Avoid fortify_panic() when copying optprobe template
2020-11-13 09:31:20 -08:00
Arnd Bergmann
b57d5437e3 Mostly some fixes for a fallout in a PHY driver that pointed out errors
in our DTs. Along with that, Jernej agreed to be a reviewer!
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQRcEzekXsqa64kGDp7j7w1vZxhRxQUCX5sSewAKCRDj7w1vZxhR
 xV+IAP4g+HPbxIJBN5RjLJG+ONRV4DqHa5124e/VidlsnMTt6QEApuJVqK5suuJJ
 71vmTxbLGS9TwerbFMLyw41hNf9egQQ=
 =Rx6E
 -----END PGP SIGNATURE-----

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

Mostly some fixes for a fallout in a PHY driver that pointed out errors
in our DTs. Along with that, Jernej agreed to be a reviewer!

* tag 'sunxi-fixes-for-5.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
  arm64: dts: allwinner: h5: OrangePi Prime: Fix ethernet node
  arm64: dts: allwinner: a64: bananapi-m64: Enable RGMII RX/TX delay on PHY
  arm64: dts: allwinner: h5: libretech-all-h5-cc: Enable RGMII RX/TX delay on PHY
  ARM: dts: sunxi: bananapi-m2-plus: Enable RGMII RX/TX delay on Ethernet PHY
  ARM: dts: sun9i: Enable both RGMII RX/TX delay on Ethernet PHY
  ARM: dts: sun8i: a83t: Enable both RGMII RX/TX delay on Ethernet PHY
  ARM: dts: sun8i: h3: orangepi-plus2e: Enable RGMII RX/TX delay on Ethernet PHY
  ARM: dts: sun7i: bananapi-m1-plus: Enable RGMII RX/TX delay on Ethernet PHY
  ARM: dts: sun7i: cubietruck: Enable RGMII RX/TX delay on Ethernet PHY
  ARM: dts: sun6i: a31-hummingbird: Enable RGMII RX/TX delay on Ethernet PHY
  Revert "arm: sun8i: orangepi-pc-plus: Set EMAC activity LEDs to active high"
  ARM: dts: sun8i: r40: bananapi-m2-ultra: Fix ethernet node
  arm64: dts: allwinner: h5: OrangePi PC2: Fix ethernet node
  arm64: dts: allwinner: a64: Pine64 Plus: Fix ethernet node
  arm64: dts: allwinner: a64: OrangePi Win: Fix ethernet node
  arm64: dts: allwinner: Pine H64: Enable both RGMII RX/TX delay
  arm64: dts: allwinner: beelink-gs1: Enable both RGMII RX/TX delay
  arm64: dts: allwinner: pinetab: Drop unnecessary address/size-cells information
  MAINTAINERS: Add Jernej Škrabec as a reviewer for Allwinner SoCs support

Link: https://lore.kernel.org/r/d1a1a6a6-fca4-4f1b-93b3-f2f6963b4e04.lettre@localhost
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-11-13 14:00:08 +01:00
Arnd Bergmann
7e47a75011 STM32 DT fixes for v5.10, round 2
Highlights:
 -----------
 
  -Fixes are for DHCOM/DHCOR boards:
   - Fix TA3-GPIO-C button
   - Fix LED5 mapping
   - Define VIO regulator supply on DHCOM
   - Enable thermal sensor support on stm32mp15xx-dhcor
   - Keep VDDA LDO1 always on to avoid leakage
 -----BEGIN PGP SIGNATURE-----
 
 iQJMBAABCgA2FiEEctl9+nxzUSUqdELdf5rJavIecIUFAl+pVeEYHGFsZXhhbmRy
 ZS50b3JndWVAc3QuY29tAAoJEH+ayWryHnCFOIwP/Aq3bn0ixNk52eWs2ocHqup/
 +kYPg6n+8C6AXNjIUb5ZuZT4Mrh2v2VqgIsY/hXXFr1Et4mgBhs5KKvSguCJ7m0y
 W8X9MGNNm4jmjRLAEklDhOla32XK00OlF1LUQY5g7TJI4HPnOHe7OE2FIdIQ6sBw
 vHRnpx5nCNPqGLhIFvRH3ISZkhARqbPGIS1RKFQ183GA8HecuaFqSRBCTzQxLKmv
 9esfSW0sV30peQ3GpR7Zqw1zD3nQTAxQQ8iriL3nsqlGE+d46FGBt7btqgpA4K8F
 0REMU0prR5XTPJza0pD7aWPwcmU9F19Qz0ieZGqDPTtNIdvGjHN3DOaFxSKxXAbR
 z0D5TuHwu7AhY3Z4Noh43Q2pWgRRZz5QylYCWBkTogVr0BD3ZYhm8ty+bFeEpVGc
 ZkMqPXZzXpiaby6k+RJzLpXgCr5noN9Xprg0L0/FKGrzK9mKyRcJrYmUWt0ISQpf
 b9IiUd/DZgRRM30I0iNOEwvRsqRsY4GGrTz3TnTvCQbxrVO3KuCuf6GSw06RvWtK
 wsgAzlgTvjQNH67Rdu+V3BuD55u9knd3uFrFluMPPg+M+Uq5nWvnBShScXzPihR+
 UPEjL+X/6E23n+Nek5kxii3liD7qOPeFhtXxyv16aldj8O4xRGfR1xO+SjUvPmmA
 Wrho1OKDJayFjW/Nhk3v
 =SP8h
 -----END PGP SIGNATURE-----

Merge tag 'stm32-dt-for-v5.10-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32 into arm/fixes

STM32 DT fixes for v5.10, round 2

Highlights:
-----------

 -Fixes are for DHCOM/DHCOR boards:
  - Fix TA3-GPIO-C button
  - Fix LED5 mapping
  - Define VIO regulator supply on DHCOM
  - Enable thermal sensor support on stm32mp15xx-dhcor
  - Keep VDDA LDO1 always on to avoid leakage

* tag 'stm32-dt-for-v5.10-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32:
  ARM: dts: stm32: Keep VDDA LDO1 always on on DHCOM
  ARM: dts: stm32: Enable thermal sensor support on stm32mp15xx-dhcor
  ARM: dts: stm32: Define VIO regulator supply on DHCOM
  ARM: dts: stm32: Fix LED5 on STM32MP1 DHCOM PDK2
  ARM: dts: stm32: Fix TA3-GPIO-C key on STM32MP1 DHCOM PDK2

Link: https://lore.kernel.org/r/65bfc73d-aae1-5309-2e11-1e3da647ad46@st.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-11-13 13:59:54 +01:00
Krzysztof Kozlowski
53bf2776e3 ARM: dts: exynos: revert "add input clock to CMU in Exynos4412 Odroid"
This reverts commit eaf2d2f689.

The commit eaf2d2f689 ("ARM: dts: exynos: add input clock to CMU in
Exynos4412 Odroid") breaks probing of usb3503 USB hub on Odroid U3.

It changes the order of clock drivers probe: the clkout (Exynos PMU)
driver is probed before the main clk-exynos4 driver.  The clkout driver
on Exynos4412 depends on clk-exynos4 but it does not support deferred
probe, therefore this dependency and changed probe order causes probe
failure.

The usb3503 USB hub on Odroid U3 on the other hand requires clkout
clock.  This can be seen in logs:

    [    5.007442] usb3503 0-0008: unable to request refclk (-517)

Reported-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Link: https://lore.kernel.org/r/20200921174818.15525-1-krzk@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-11-13 13:42:20 +01:00
Arnd Bergmann
47cd1eac33 i.MX fixes for 5.10, 3rd round:
- A series from Krzysztof Kozlowski to fix missing PMIC's interrupt
   line pull-up for i.MX8MM and i.MX8MN boards.
 - Set Bluetooth chip max-speed to 4000000 on imx8mm-beacon-som board
   to fix the choppy Bluetooth audio sound.
 - Remove non-existent OTG2, usbphynop2, and the usbmisc2 from i.MX8MN
   device tree.
 - Fix the endianness setting of RCPM node on Layerscape SoCs.
 - Add the missing dma-coherent property for qoriq-fman device to improve
   the performance.
 - Fix the Ethernet PHY address on imx6q-prti6q board.
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAl+fStkUHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM6UJggAgRnnMfVrvpZqZSYlj3CirW4jOeeo
 oxkh8L3XcvOh5f1StI15879a93E5fq4CLoVUda5vdWJLO8Q0pl5VGJsTfzNpekAY
 mswq8ratwKragLOX8FhSr/YLICoF6qLmIDn0EtAuOwLrcii4i5pgLqj0t/5MQm9U
 NyAbb/nYZWWm2S8szOaB6+OfYbXxV9YHMFkFL9ZetppS/ezYq3UNq2i//aTBB33z
 wFhqt8+scuT3cikdtFumb+vbMMYtUcGfJxkgLEoQz3P53WL1w0jzJXQ47egWI6/d
 16zEUavTk9WUKcWS8knY8KKToVaU6GKIr+JLUOczWOhMPUtxANsLvLOmjQ==
 =M32F
 -----END PGP SIGNATURE-----

Merge tag 'imx-fixes-5.10-3' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/fixes

i.MX fixes for 5.10, 3rd round:

- A series from Krzysztof Kozlowski to fix missing PMIC's interrupt
  line pull-up for i.MX8MM and i.MX8MN boards.
- Set Bluetooth chip max-speed to 4000000 on imx8mm-beacon-som board
  to fix the choppy Bluetooth audio sound.
- Remove non-existent OTG2, usbphynop2, and the usbmisc2 from i.MX8MN
  device tree.
- Fix the endianness setting of RCPM node on Layerscape SoCs.
- Add the missing dma-coherent property for qoriq-fman device to improve
  the performance.
- Fix the Ethernet PHY address on imx6q-prti6q board.

* tag 'imx-fixes-5.10-3' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  ARM: dts: imx6q-prti6q: fix PHY address
  arm64: dts imx8mn: Remove non-existent USB OTG2
  arm64: dts: imx8mm-beacon-som: Fix Choppy BT audio
  arm64: dts: fsl: DPAA FMan DMA operations are coherent
  arm64: dts: fsl: fix endianness issue of rcpm
  arm64: dts: imx8mn-evk: fix missing PMIC's interrupt line pull-up
  arm64: dts: imx8mn-ddr4-evk: fix missing PMIC's interrupt line pull-up
  arm64: dts: imx8mn-var-som: fix missing PMIC's interrupt line pull-up
  arm64: dts: imx8mm-evk: fix missing PMIC's interrupt line pull-up
  arm64: dts: imx8mm-beacon-som: fix missing PMIC's interrupt line pull-up
  arm64: dts: imx8mm-var-som: fix missing PMIC's interrupt line pull-up

Link: https://lore.kernel.org/r/20201030151821.GA28266@dragon
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-11-13 13:07:54 +01:00
Ard Biesheuvel
86cd97ec4b crypto: arm/chacha-neon - optimize for non-block size multiples
The current NEON based ChaCha implementation for ARM is optimized for
multiples of 4x the ChaCha block size (64 bytes). This makes sense for
block encryption, but given that ChaCha is also often used in the
context of networking, it makes sense to consider arbitrary length
inputs as well.

For example, WireGuard typically uses 1420 byte packets, and performing
ChaCha encryption involves 5 invocations of chacha_4block_xor_neon()
and 3 invocations of chacha_block_xor_neon(), where the last one also
involves a memcpy() using a buffer on the stack to process the final
chunk of 1420 % 64 == 12 bytes.

Let's optimize for this case as well, by letting chacha_4block_xor_neon()
deal with any input size between 64 and 256 bytes, using NEON permutation
instructions and overlapping loads and stores. This way, the 140 byte
tail of a 1420 byte input buffer can simply be processed in one go.

This results in the following performance improvements for 1420 byte
blocks, without significant impact on power-of-2 input sizes. (Note
that Raspberry Pi is widely used in combination with a 32-bit kernel,
even though the core is 64-bit capable)

   Cortex-A8  (BeagleBone)       :   7%
   Cortex-A15 (Calxeda Midway)   :  21%
   Cortex-A53 (Raspberry Pi 3)   :   3%
   Cortex-A72 (Raspberry Pi 4)   :  19%

Cc: Eric Biggers <ebiggers@google.com>
Cc: "Jason A . Donenfeld" <Jason@zx2c4.com>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2020-11-13 20:38:44 +11:00
Jens Axboe
32d59773da arm: add support for TIF_NOTIFY_SIGNAL
Wire up TIF_NOTIFY_SIGNAL handling for arm.

Cc: linux-arm-kernel@lists.infradead.org
Acked-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2020-11-12 08:45:51 -07:00
Geert Uytterhoeven
730b5764ea ARM: 9024/1: Drop useless cast of "u64" to "long long"
As "u64" is equivalent to "unsigned long long", there is no need to cast
a "u64" parameter for printing it using the "0x%08llx" format specifier.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2020-11-12 14:53:21 +00:00
Geert Uytterhoeven
df8eda0f1f ARM: 9023/1: Spelling s/mmeory/memory/
Fix a misspelling of the word "memory".

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2020-11-12 14:53:20 +00:00
Fangrui Song
735e8d93dc ARM: 9022/1: Change arch/arm/lib/mem*.S to use WEAK instead of .weak
Commit d6d51a96c7 ("ARM: 9014/2: Replace string mem* functions for
KASan") add .weak directives to memcpy/memmove/memset to avoid collision
with KASAN interceptors.

This does not work with LLVM's integrated assembler (the assembly snippet
`.weak memcpy ... .globl memcpy` produces a STB_GLOBAL memcpy while GNU as
produces a STB_WEAK memcpy). LLVM 12 (since https://reviews.llvm.org/D90108)
will error on such an overridden symbol binding.

Use the appropriate WEAK macro instead.

Link: https://github.com/ClangBuiltLinux/linux/issues/1190
--

Fixes: d6d51a96c7 ("ARM: 9014/2: Replace string mem* functions for KASan")
Reported-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Fangrui Song <maskray@google.com>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Tested-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2020-11-12 14:53:19 +00:00
Tao Ren
71b802d2d5 ARM: dts: aspeed: Add Facebook Galaxy100 (AST2400) BMC
Add initial version of device tree for Facebook Galaxy100 (AST2400) BMC.

Signed-off-by: Tao Ren <rentao.bupt@gmail.com>
Reviewed-by: Patrick Williams <patrick@stwcx.xyz>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Link: https://lore.kernel.org/r/20201111232330.30843-5-rentao.bupt@gmail.com
Signed-off-by: Joel Stanley <joel@jms.id.au>
2020-11-12 16:19:04 +10:30
Tao Ren
41376fb94c ARM: dts: aspeed: wedge100: Use common dtsi
Simplify the Wedge100 device tree by using the common dtsi.

In addition this enables the second firmware flash, and turns on the
"i2c-mux-idle-disconnect" flag for I2C switch 7-0070.

Signed-off-by: Tao Ren <rentao.bupt@gmail.com>
Reviewed-by: Patrick Williams <patrick@stwcx.xyz>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Link: https://lore.kernel.org/r/20201111232330.30843-4-rentao.bupt@gmail.com
Signed-off-by: Joel Stanley <joel@jms.id.au>
2020-11-12 16:19:04 +10:30
Tao Ren
e4c1633325 ARM: dts: aspeed: wedge40: Use common dtsi
Simplify the Wedge40 device tree by using the common dtsi.

Signed-off-by: Tao Ren <rentao.bupt@gmail.com>
Reviewed-by: Patrick Williams <patrick@stwcx.xyz>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Link: https://lore.kernel.org/r/20201111232330.30843-3-rentao.bupt@gmail.com
Signed-off-by: Joel Stanley <joel@jms.id.au>
2020-11-12 16:19:03 +10:30
Tao Ren
800b92ef92 ARM: dts: aspeed: Common dtsi for Facebook AST2400 Network BMCs
This common descirption is included by all Facebook AST2400 Network BMC
platforms to minimize duplicated device entries across Facebook Network
BMC device trees.

Signed-off-by: Tao Ren <rentao.bupt@gmail.com>
Reviewed-by: Patrick Williams <patrick@stwcx.xyz>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Link: https://lore.kernel.org/r/20201111232330.30843-2-rentao.bupt@gmail.com
Signed-off-by: Joel Stanley <joel@jms.id.au>
2020-11-12 16:19:03 +10:30
Rafał Miłecki
776461b179 ARM: dts: BCM5301X: Move CRU devices to the CRU node
Clocks and thermal blocks are part of the CRU ("Clock and Reset Unit" or
"Central Resource Unit").

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2020-11-11 20:38:16 -08:00
Vivek Unune
c862059875 ARM: dts: BCM5301X: Linksys EA9500 make use of pinctrl
Now that we have a pin controller, use that instead of manuplating the
mdio/mdc pins directly. i.e. we no longer require the mdio-mii-mux

Signed-off-by: Vivek Unune <npcomplete13@gmail.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2020-11-11 20:38:15 -08:00
Vivek Unune
2f34ae32f5 ARM: dts: BCM5301X: Use corretc pinctrl compatible for 4709x
BCM47094 version of pinmux uses different compatible and supports MDIO
pinmux pins. Hence, use the correct compatible string and defines the
MDIO pins group.

Signed-off-by: Vivek Unune <npcomplete13@gmail.com>
Acked-by: Rafał Miłecki <rafal@milecki.pl>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2020-11-11 20:38:15 -08:00
Vivek Unune
bd9a01e28e ARM: dts: BCM5301X: Linksys EA9500 add fixed partitions
This router has dual paritions to store trx firmware image and
dual partitions for nvram. The second one in each of these cases acts
as a backup store.

When tested with OpenWrt, the default partition parser causes two issues:

1. It labels both nvram partitions as nvram. In factory, second one is
labeled devinfo.
2. It parses second trx image and tries to create second 'linux' partition
and fails with - cannot create duplicate 'linux' partition

The following patch works around both of these issues.

Signed-off-by: Vivek Unune <npcomplete13@gmail.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2020-11-11 20:38:14 -08:00
Serge Semin
4b650a20bd ARM: dts: BCM5310X: Harmonize xHCI DT nodes name
In accordance with the Generic xHCI bindings the corresponding node
name is suppose to comply with the Generic USB HCD DT schema, which
requires the USB nodes to have the name acceptable by the regexp:
"^usb(@.*)?" . Make sure the "generic-xhci"-compatible nodes are
correctly named.

Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
Acked-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2020-11-11 20:38:14 -08:00
Serge Semin
74abbfe99f ARM: dts: BCM5301X: Harmonize EHCI/OHCI DT nodes name
In accordance with the Generic EHCI/OHCI bindings the corresponding node
name is suppose to comply with the Generic USB HCD DT schema, which
requires the USB nodes to have the name acceptable by the regexp:
"^usb(@.*)?" . Make sure the "generic-ehci" and "generic-ohci"-compatible
nodes are correctly named.

Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Acked-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2020-11-11 20:38:14 -08:00
Vivek Unune
1ca5f2430c ARM: dts: BCM5301X: Linksys EA9500 add port 5 and port 7
Add ports 5 and 7 which are connected to gmac cores 1 & 2.
These will be disabled for now.

Signed-off-by: Vivek Unune <npcomplete13@gmail.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2020-11-11 20:38:13 -08:00
Konstantin Aladyshev
c74da5cf00 ARM: dts: aspeed: amd-ethanolx: Add GPIO line names
Add GPIO line names for AMD EthanolX customer reference board.
It populates AST2500 GPIO lines (A0-A7 to AC0-AC7) with AMD EthanolX
designated names.

Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
Reviewed-by: Supreeth Venkatesh <supreeth.venkatesh@amd.com>
Link: https://lore.kernel.org/r/20201111132133.1253-1-aladyshev22@gmail.com
Signed-off-by: Joel Stanley <joel@jms.id.au>
2020-11-12 09:56:27 +10:30
Linus Walleij
e77ce5ec8b ARM: dts: ux500: skomer: Pull down SDI2 FBCLK
The feedback clock on SDI2 needs to be pulled down on
this machine.

Link: https://lore.kernel.org/r/20201111002513.2271351-1-linus.walleij@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2020-11-11 10:00:36 +01:00
Grygorii Strashko
99fba3205c ARM: dts: am437x-l4: fix compatible for cpsw switch dt node
Fix compatible the new CPSW switchdev DT node to avoid probing of legacy
CPSW driver which fails:
[    2.781009] cpsw 4a100000.switch: invalid resource

Fixes: 7bf8f37aea ("ARM: dts: am437x-l4: add dt node for new cpsw switchdev driver")
Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-11 09:24:52 +02:00
Krzysztof Kozlowski
73f882a0f3 ARM: dts: exynos: use hyphens in MFC reserved memory node names
Use hyphens instead of underscores in the MFC reserved memory node names
which is expected by naming convention, multiple dtschema files and
pointed out by dtc W=2 builds.

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Link: https://lore.kernel.org/r/20201105184506.215648-5-krzk@kernel.org
2020-11-10 19:21:21 +01:00
Krzysztof Kozlowski
9b846ba7c1 ARM: dts: exynos: use hyphens in Exynos5 node names
Use hyphens instead of underscores in the Exynos5250 and Exynos542x node
names which is expected by naming convention, multiple dtschema files
and pointed out by dtc W=2 builds.

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Link: https://lore.kernel.org/r/20201105184506.215648-4-krzk@kernel.org
2020-11-10 19:21:18 +01:00
Krzysztof Kozlowski
32f9abc326 ARM: dts: exynos: use generic name for max77693 motor in Midas
Use a generic name for the max77693 motor driver in Exynos4412 Midas
boards to align with Devicetree specification naming convention.

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Link: https://lore.kernel.org/r/20201105184506.215648-3-krzk@kernel.org
2020-11-10 19:21:11 +01:00
Krzysztof Kozlowski
1c6831b472 ARM: dts: exynos: use hyphens in Exynos4 node names
Use hyphens instead of underscores in the Exynos4210 and Exynos4412 node
names which is expected by naming convention, multiple dtschema files
and pointed out by dtc W=2 builds.  Use also generic "ppmu" node name
for PPMU nodes to match Devicetree specification.

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Link: https://lore.kernel.org/r/20201105184506.215648-2-krzk@kernel.org
2020-11-10 19:20:54 +01:00
Krzysztof Kozlowski
b357e6aa41 ARM: dts: exynos: use hyphens in Exynos3250 node names
Use hyphens instead of underscores in the Exynos3250 node names which is
expected by naming convention, multiple dtschema files and pointed out
by dtc W=2 builds.  Use also generic "ppmu" node name for PPMU nodes to
match Devicetree specification.

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Link: https://lore.kernel.org/r/20201105184506.215648-1-krzk@kernel.org
2020-11-10 19:20:32 +01:00
Artur Świgoń
246c1a37f5 ARM: dts: exynos: Add interconnects to Exynos4412 mixer
This patch adds an 'interconnects' property to Exynos4412 DTS in order to
declare the interconnect path used by the mixer. Please note that the
'interconnect-names' property is not needed when there is only one path in
'interconnects', in which case calling of_icc_get() with a NULL name simply
returns the right path.

Signed-off-by: Artur Świgoń <a.swigon@samsung.com>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Tested-by: Chanwoo Choi <cw00.choi@samsung.com>
Reviewed-by: Chanwoo Choi <cw00.choi@samsung.com>
Link: https://lore.kernel.org/r/20201104103657.18007-7-s.nawrocki@samsung.com
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-11-10 19:10:19 +01:00
Sylwester Nawrocki
5334df3a4b ARM: dts: exynos: Add interconnect properties to Exynos4412 bus nodes
This patch adds the following properties for Exynos4412 interconnect
bus nodes:
 - interconnects: to declare connections between nodes in order to
   guarantee PM QoS requirements between nodes,
 - #interconnect-cells: required by the interconnect framework,
 - samsung,data-clk-ratio: which allows to specify minimum data clock
   frequency corresponding to requested bandwidth for each bus.

Note that #interconnect-cells is always zero and node IDs are not
hardcoded anywhere.

Signed-off-by: Artur Świgoń <a.swigon@samsung.com>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Tested-by: Chanwoo Choi <cw00.choi@samsung.com>
Reviewed-by: Chanwoo Choi <cw00.choi@samsung.com>
Link: https://lore.kernel.org/r/20201104103657.18007-6-s.nawrocki@samsung.com
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-11-10 19:10:01 +01:00
Tony Lindgren
c993158281 Merge branch 'omap-for-v5.11/dt-mot-take2' into omap-for-v5.11/dt 2020-11-10 15:42:31 +02:00
Carl Philipp Klemm
5a7b624037 ARM: dts: xt875: add section for kionix kxtf9
Add section for kionix kxtf9.

Signed-off-by: Carl Philipp Klemm <philipp@uvos.xyz>
[tony@atomide.com: removed extra header from description]
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-10 15:35:55 +02:00
Carl Philipp Klemm
06607cfa0f ARM: dts: mapphone: separate out xt894 specific things
Remove xt894 specific things from motorola-mapphone-common.dtsi and add
them to omap4-droid4-xt894.dts and omap4-droid-bionic-xt875.dts as
applicable.

Signed-off-by: Carl Philipp Klemm <philipp@uvos.xyz>
[tony@atomide.com: shortened subject, wrapped description]
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-10 15:32:48 +02:00
Alexander Dahl
f487e6d6c5 ARM: dts: omap: Fix schema warnings for pwm-leds
The node names for devices using the pwm-leds driver follow a certain
naming scheme (now).  Parent node name is not enforced, but recommended
by DT project.

  DTC     arch/arm/boot/dts/omap3-beagle-xm.dt.yaml
  CHECK   arch/arm/boot/dts/omap3-beagle-xm.dt.yaml
/home/alex/build/linux/arch/arm/boot/dts/omap3-beagle-xm.dt.yaml: pwmleds: 'pmu_stat' does not match any of the regexes: '^led(-[0-9a-f]+)?$', 'pinctrl-[0-9]+'
        From schema: /home/alex/src/linux/leds/Documentation/devicetree/bindings/leds/leds-pwm.yaml
  DTC     arch/arm/boot/dts/omap3-beagle-xm-ab.dt.yaml
  CHECK   arch/arm/boot/dts/omap3-beagle-xm-ab.dt.yaml
/home/alex/build/linux/arch/arm/boot/dts/omap3-beagle-xm-ab.dt.yaml: pwmleds: 'pmu_stat' does not match any of the regexes: '^led(-[0-9a-f]+)?$', 'pinctrl-[0-9]+'
        From schema: /home/alex/src/linux/leds/Documentation/devicetree/bindings/leds/leds-pwm.yaml
  DTC     arch/arm/boot/dts/omap3-overo-alto35.dt.yaml
  CHECK   arch/arm/boot/dts/omap3-overo-alto35.dt.yaml
/home/alex/build/linux/arch/arm/boot/dts/omap3-overo-alto35.dt.yaml: pwmleds: 'overo' does not match any of the regexes: '^led(-[0-9a-f]+)?$', 'pinctrl-[0-9]+'
        From schema: /home/alex/src/linux/leds/Documentation/devicetree/bindings/leds/leds-pwm.yaml
  DTC     arch/arm/boot/dts/omap3-overo-chestnut43.dt.yaml
  CHECK   arch/arm/boot/dts/omap3-overo-chestnut43.dt.yaml
/home/alex/build/linux/arch/arm/boot/dts/omap3-overo-chestnut43.dt.yaml: pwmleds: 'overo' does not match any of the regexes: '^led(-[0-9a-f]+)?$', 'pinctrl-[0-9]+'
        From schema: /home/alex/src/linux/leds/Documentation/devicetree/bindings/leds/leds-pwm.yaml
  DTC     arch/arm/boot/dts/omap3-overo-gallop43.dt.yaml
  CHECK   arch/arm/boot/dts/omap3-overo-gallop43.dt.yaml
/home/alex/build/linux/arch/arm/boot/dts/omap3-overo-gallop43.dt.yaml: pwmleds: 'overo' does not match any of the regexes: '^led(-[0-9a-f]+)?$', 'pinctrl-[0-9]+'
        From schema: /home/alex/src/linux/leds/Documentation/devicetree/bindings/leds/leds-pwm.yaml
  DTC     arch/arm/boot/dts/omap3-overo-palo35.dt.yaml
  CHECK   arch/arm/boot/dts/omap3-overo-palo35.dt.yaml
/home/alex/build/linux/arch/arm/boot/dts/omap3-overo-palo35.dt.yaml: pwmleds: 'overo' does not match any of the regexes: '^led(-[0-9a-f]+)?$', 'pinctrl-[0-9]+'
        From schema: /home/alex/src/linux/leds/Documentation/devicetree/bindings/leds/leds-pwm.yaml
  DTC     arch/arm/boot/dts/omap3-overo-palo43.dt.yaml
  CHECK   arch/arm/boot/dts/omap3-overo-palo43.dt.yaml
/home/alex/build/linux/arch/arm/boot/dts/omap3-overo-palo43.dt.yaml: pwmleds: 'overo' does not match any of the regexes: '^led(-[0-9a-f]+)?$', 'pinctrl-[0-9]+'
        From schema: /home/alex/src/linux/leds/Documentation/devicetree/bindings/leds/leds-pwm.yaml
  DTC     arch/arm/boot/dts/omap3-overo-storm-alto35.dt.yaml
  CHECK   arch/arm/boot/dts/omap3-overo-storm-alto35.dt.yaml
/home/alex/build/linux/arch/arm/boot/dts/omap3-overo-storm-alto35.dt.yaml: pwmleds: 'overo' does not match any of the regexes: '^led(-[0-9a-f]+)?$', 'pinctrl-[0-9]+'
        From schema: /home/alex/src/linux/leds/Documentation/devicetree/bindings/leds/leds-pwm.yaml
  DTC     arch/arm/boot/dts/omap3-overo-storm-chestnut43.dt.yaml
  CHECK   arch/arm/boot/dts/omap3-overo-storm-chestnut43.dt.yaml
/home/alex/build/linux/arch/arm/boot/dts/omap3-overo-storm-chestnut43.dt.yaml: pwmleds: 'overo' does not match any of the regexes: '^led(-[0-9a-f]+)?$', 'pinctrl-[0-9]+'
        From schema: /home/alex/src/linux/leds/Documentation/devicetree/bindings/leds/leds-pwm.yaml
  DTC     arch/arm/boot/dts/omap3-overo-storm-gallop43.dt.yaml
  CHECK   arch/arm/boot/dts/omap3-overo-storm-gallop43.dt.yaml
/home/alex/build/linux/arch/arm/boot/dts/omap3-overo-storm-gallop43.dt.yaml: pwmleds: 'overo' does not match any of the regexes: '^led(-[0-9a-f]+)?$', 'pinctrl-[0-9]+'
        From schema: /home/alex/src/linux/leds/Documentation/devicetree/bindings/leds/leds-pwm.yaml
  DTC     arch/arm/boot/dts/omap3-overo-storm-palo35.dt.yaml
  CHECK   arch/arm/boot/dts/omap3-overo-storm-palo35.dt.yaml
/home/alex/build/linux/arch/arm/boot/dts/omap3-overo-storm-palo35.dt.yaml: pwmleds: 'overo' does not match any of the regexes: '^led(-[0-9a-f]+)?$', 'pinctrl-[0-9]+'
        From schema: /home/alex/src/linux/leds/Documentation/devicetree/bindings/leds/leds-pwm.yaml
  DTC     arch/arm/boot/dts/omap3-overo-storm-palo43.dt.yaml
  CHECK   arch/arm/boot/dts/omap3-overo-storm-palo43.dt.yaml
/home/alex/build/linux/arch/arm/boot/dts/omap3-overo-storm-palo43.dt.yaml: pwmleds: 'overo' does not match any of the regexes: '^led(-[0-9a-f]+)?$', 'pinctrl-[0-9]+'
        From schema: /home/alex/src/linux/leds/Documentation/devicetree/bindings/leds/leds-pwm.yaml
  DTC     arch/arm/boot/dts/omap3-overo-storm-summit.dt.yaml
  CHECK   arch/arm/boot/dts/omap3-overo-storm-summit.dt.yaml
/home/alex/build/linux/arch/arm/boot/dts/omap3-overo-storm-summit.dt.yaml: pwmleds: 'overo' does not match any of the regexes: '^led(-[0-9a-f]+)?$', 'pinctrl-[0-9]+'
        From schema: /home/alex/src/linux/leds/Documentation/devicetree/bindings/leds/leds-pwm.yaml
  DTC     arch/arm/boot/dts/omap3-overo-storm-tobi.dt.yaml
  CHECK   arch/arm/boot/dts/omap3-overo-storm-tobi.dt.yaml
/home/alex/build/linux/arch/arm/boot/dts/omap3-overo-storm-tobi.dt.yaml: pwmleds: 'overo' does not match any of the regexes: '^led(-[0-9a-f]+)?$', 'pinctrl-[0-9]+'
        From schema: /home/alex/src/linux/leds/Documentation/devicetree/bindings/leds/leds-pwm.yaml
  DTC     arch/arm/boot/dts/omap3-overo-storm-tobiduo.dt.yaml
  CHECK   arch/arm/boot/dts/omap3-overo-storm-tobiduo.dt.yaml
/home/alex/build/linux/arch/arm/boot/dts/omap3-overo-storm-tobiduo.dt.yaml: pwmleds: 'overo' does not match any of the regexes: '^led(-[0-9a-f]+)?$', 'pinctrl-[0-9]+'
        From schema: /home/alex/src/linux/leds/Documentation/devicetree/bindings/leds/leds-pwm.yaml
  DTC     arch/arm/boot/dts/omap3-overo-summit.dt.yaml
  CHECK   arch/arm/boot/dts/omap3-overo-summit.dt.yaml
/home/alex/build/linux/arch/arm/boot/dts/omap3-overo-summit.dt.yaml: pwmleds: 'overo' does not match any of the regexes: '^led(-[0-9a-f]+)?$', 'pinctrl-[0-9]+'
        From schema: /home/alex/src/linux/leds/Documentation/devicetree/bindings/leds/leds-pwm.yaml
  DTC     arch/arm/boot/dts/omap3-overo-tobi.dt.yaml
  CHECK   arch/arm/boot/dts/omap3-overo-tobi.dt.yaml
/home/alex/build/linux/arch/arm/boot/dts/omap3-overo-tobi.dt.yaml: pwmleds: 'overo' does not match any of the regexes: '^led(-[0-9a-f]+)?$', 'pinctrl-[0-9]+'
        From schema: /home/alex/src/linux/leds/Documentation/devicetree/bindings/leds/leds-pwm.yaml
  DTC     arch/arm/boot/dts/omap3-overo-tobiduo.dt.yaml
  CHECK   arch/arm/boot/dts/omap3-overo-tobiduo.dt.yaml
/home/alex/build/linux/arch/arm/boot/dts/omap3-overo-tobiduo.dt.yaml: pwmleds: 'overo' does not match any of the regexes: '^led(-[0-9a-f]+)?$', 'pinctrl-[0-9]+'
        From schema: /home/alex/src/linux/leds/Documentation/devicetree/bindings/leds/leds-pwm.yaml
  DTC     arch/arm/boot/dts/omap4-kc1.dt.yaml
  CHECK   arch/arm/boot/dts/omap4-kc1.dt.yaml
/home/alex/build/linux/arch/arm/boot/dts/omap4-kc1.dt.yaml: pwmleds: 'green', 'orange' do not match any of the regexes: '^led(-[0-9a-f]+)?$', 'pinctrl-[0-9]+'
        From schema: /home/alex/src/linux/leds/Documentation/devicetree/bindings/leds/leds-pwm.yaml
  DTC     arch/arm/boot/dts/omap4-sdp.dt.yaml
  CHECK   arch/arm/boot/dts/omap4-sdp.dt.yaml
/home/alex/build/linux/arch/arm/boot/dts/omap4-sdp.dt.yaml: pwmleds: 'charging', 'kpad' do not match any of the regexes: '^led(-[0-9a-f]+)?$', 'pinctrl-[0-9]+'
        From schema: /home/alex/src/linux/leds/Documentation/devicetree/bindings/leds/leds-pwm.yaml
  DTC     arch/arm/boot/dts/omap4-sdp-es23plus.dt.yaml
  CHECK   arch/arm/boot/dts/omap4-sdp-es23plus.dt.yaml
/home/alex/build/linux/arch/arm/boot/dts/omap4-sdp-es23plus.dt.yaml: pwmleds: 'charging', 'kpad' do not match any of the regexes: '^led(-[0-9a-f]+)?$', 'pinctrl-[0-9]+'
        From schema: /home/alex/src/linux/leds/Documentation/devicetree/bindings/leds/leds-pwm.yaml

Signed-off-by: Alexander Dahl <post@lespocky.de>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-10 15:24:53 +02:00
Serge Semin
bdb65ec381 ARM: dts: omap5: Harmonize DWC USB3 DT nodes name
In accordance with the DWC USB3 bindings the corresponding node
name is suppose to comply with the Generic USB HCD DT schema, which
requires the USB nodes to have the name acceptable by the regexp:
"^usb(@.*)?" . Make sure the "snps,dwc3"-compatible nodes are correctly
named.

Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
Acked-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-10 15:17:10 +02:00
Serge Semin
35f9a0d32e ARM: dts: am437x: Correct DWC USB3 compatible string
Syonpsys IP cores are supposed to be defined with "snps" vendor-prefix.
Use it instead of the deprecated "synopsys" one.

Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-10 15:16:43 +02:00
H. Nikolaus Schaller
b86516452c ARM: dts: pandaboard es: add bluetooth uart for HCI
The wl271 bluetooth uart is connected to uart2.
Setup a serdev uart child and separate bluetooth and uart2 pinmux
from wl12xx pinmux to better group the pins and muxes.

Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-10 15:15:04 +02:00
H. Nikolaus Schaller
df9dbaf2c4 ARM: dts: pandaboard: fix pinmux for gpio user button of Pandaboard ES
The pinmux control register offset passed to OMAP4_IOPAD is odd.

Fixes: ab9a13665e ("ARM: dts: pandaboard: add gpio user button")
Cc: stable@vger.kernel.org
Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-10 15:14:36 +02:00
Fabio Estevam
33d0d84387 ARM: dts: imx50-evk: Fix the chip select 1 IOMUX
The SPI chip selects are represented as:

cs-gpios = <&gpio4 11 GPIO_ACTIVE_LOW>, <&gpio4 13 GPIO_ACTIVE_LOW>;

, which means that they are used in GPIO function instead of native
SPI mode.

Fix the IOMUX for the chip select 1 to use GPIO4_13 instead of
the native CSPI_SSI function.

Fixes: c605cbf5e1 ("ARM: dts: imx: add device tree support for Freescale imx50evk board")
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-11-10 10:36:10 +08:00
Sven Van Asbroeck
53cc6bc69e ARM: imx: mach-imx6q: correctly identify i.MX6QP SoCs
The i.MX6QP rev 1.1 SoC on my board is mis-identified by Linux:
the log (incorrectly) shows "i.MX6Q rev 2.1".

Correct this by assuming that every SoC that identifies as
i.MX6Q with rev >= 2.0 is really an i.MX6QP.

Signed-off-by: Sven Van Asbroeck <TheSven73@gmail.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-11-10 10:21:32 +08:00
Fabio Estevam
7544bfc086 ARM: imx: imx7ulp: Add a comment explaining the B2 silicon version
To help the users to understand the meaning of bits 31-28 of the
JTAG_ID_REG register, add a comment explaining the value that is
expected from a i.MX7ULP rev B2.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-11-10 09:56:01 +08:00
Oleksij Rempel
d1f1858f51 ARM: dts: add Van der Laan LANMCU board
Van der Laan LANMCU is a module for the food storage rooms to control
proper gas composition.

Co-developed-by: Robin van der Gracht <robin@protonic.nl>
Signed-off-by: Robin van der Gracht <robin@protonic.nl>
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-11-10 09:04:19 +08:00
Oleksij Rempel
df0852c234 ARM: dts: add Altesco I6P board
Altesco (Altus-Escon-Company BV) I6P is a part of the diagnostic system
for the vehicle inspection stations.

Co-developed-by: David Jander <david@protonic.nl>
Signed-off-by: David Jander <david@protonic.nl>
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-11-10 08:42:47 +08:00
Stefan Riedmueller
93c0289c11 ARM: dts: imx6ul: segin: peb-av-02: Mark stmpe touch as wakeup-source
Mark the STMPE resistive touch controller as a wakeup-source.

Signed-off-by: Stefan Riedmueller <s.riedmueller@phytec.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-11-10 08:39:38 +08:00
Stefan Riedmueller
6d4e1ff528 ARM: dts: imx6ul: phytec: Add support for optional PEB-AV-02 LCD adapter
The PHYTEC PEB-AV-02 adapter adds the capability to connect a parallel
LCD display to the phyBOARD-Segin full featured, either with capacitive
or resistive touch.

Signed-off-by: Stefan Riedmueller <s.riedmueller@phytec.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-11-10 08:39:25 +08:00
Yunus Bas
f4d0fea16a ARM: dts: imx6ul: segin: Add phyBOARD-Segin with eMMC phyCORE-i.MX6UL
Add a PHYTEC phyBOARD-Segin full featured with phyCORE-i.MX 6UL with
eMMC and following features:
    - i.MX 6UL
    - 512 MB RAM
    - eMMC
    - USB Host/OTG
    - 2x 100 Mbit/s Ethernet
    - RS232
    - CAN

Signed-off-by: Yunus Bas <y.bas@phytec.de>
Signed-off-by: Stefan Riedmueller <s.riedmueller@phytec.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-11-10 08:33:53 +08:00
Peter Zijlstra
76a4efa809 perf/arch: Remove perf_sample_data::regs_user_copy
struct perf_sample_data lives on-stack, we should be careful about it's
size. Furthermore, the pt_regs copy in there is only because x86_64 is a
trainwreck, solve it differently.

Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Tested-by: Steven Rostedt <rostedt@goodmis.org>
Link: https://lkml.kernel.org/r/20201030151955.258178461@infradead.org
2020-11-09 18:12:34 +01:00
Marek Vasut
f4c7fa3941 ARM: dts: stm32: Keep VDDA LDO1 always on on DHCOM
The VDDA LDO1 PMIC output supplies the analog VDDA input of the
STM32MP1 on DHCOM, keep it always on, otherwise there could be
leakage through the SoC.

Fixes: 34e0c7847d ("ARM: dts: stm32: Add DH Electronics DHCOM STM32MP1 SoM and PDK2 board")
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Alexandre Torgue <alexandre.torgue@st.com>
Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com>
Cc: Patrice Chotard <patrice.chotard@st.com>
Cc: Patrick Delaunay <patrick.delaunay@st.com>
Cc: linux-stm32@st-md-mailman.stormreply.com
To: linux-arm-kernel@lists.infradead.org
Signed-off-by: Alexandre Torgue <alexandre.torgue@st.com>
2020-11-09 14:36:50 +01:00
Marek Vasut
e5ace7f626 ARM: dts: stm32: Enable thermal sensor support on stm32mp15xx-dhcor
Enable STM32 Digital Thermal Sensor driver for stm32mp15xx-dhcor SoMs.

Fixes: 94cafe1b64 ("ARM: dts: stm32: Add Avenger96 devicetree support based on STM32MP157A")
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Alexandre Torgue <alexandre.torgue@st.com>
Cc: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Cc: linux-stm32@st-md-mailman.stormreply.com
To: linux-arm-kernel@lists.infradead.org
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Alexandre Torgue <alexandre.torgue@st.com>
2020-11-09 14:33:50 +01:00
Marek Vasut
1f3d7fc279 ARM: dts: stm32: Define VIO regulator supply on DHCOM
The VIO regulator is supplied by PMIC Buck3, describe this in the DT.

Fixes: 34e0c7847d ("ARM: dts: stm32: Add DH Electronics DHCOM STM32MP1 SoM and PDK2 board")
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Alexandre Torgue <alexandre.torgue@st.com>
Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com>
Cc: Patrice Chotard <patrice.chotard@st.com>
Cc: Patrick Delaunay <patrick.delaunay@st.com>
Cc: linux-stm32@st-md-mailman.stormreply.com
To: linux-arm-kernel@lists.infradead.org
Signed-off-by: Alexandre Torgue <alexandre.torgue@st.com>
2020-11-09 14:05:45 +01:00
Marek Vasut
7e5f3155dc ARM: dts: stm32: Fix LED5 on STM32MP1 DHCOM PDK2
On the prototype DHCOM, the LED5 was connected to pin PG2 of the
STM32MP15xx, however on the production SoM this was changed to pin
PC6. Update the connection in the DT.

Fixes: 81d5fc7197 ("ARM: dts: stm32: Add GPIO LEDs for STM32MP1 DHCOM PDK2")
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Alexandre Torgue <alexandre.torgue@st.com>
Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com>
Cc: Patrice Chotard <patrice.chotard@st.com>
Cc: Patrick Delaunay <patrick.delaunay@st.com>
Cc: linux-stm32@st-md-mailman.stormreply.com
To: linux-arm-kernel@lists.infradead.org
Signed-off-by: Alexandre Torgue <alexandre.torgue@st.com>
2020-11-09 14:04:52 +01:00
Marek Vasut
52d9edbe6e ARM: dts: stm32: Fix TA3-GPIO-C key on STM32MP1 DHCOM PDK2
On the prototype DHCOM, the TA3-GPIO-C button was connected to pin PI11 of
the STM32MP15xx, however on the production SoM this was changed to pin PG0
to free up the IRQ line 11 for LAN8710i PHY IRQ. Update the connection in
the DT. Since the IRQ line 0 is used for PMIC as well and cannot be shared
with the button, make the button polled.

Fixes: 87cabf9405 ("ARM: dts: stm32: Add GPIO keys for STM32MP1 DHCOM PDK2")
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Alexandre Torgue <alexandre.torgue@st.com>
Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com>
Cc: Patrice Chotard <patrice.chotard@st.com>
Cc: Patrick Delaunay <patrick.delaunay@st.com>
Cc: linux-stm32@st-md-mailman.stormreply.com
To: linux-arm-kernel@lists.infradead.org
Signed-off-by: Alexandre Torgue <alexandre.torgue@st.com>
2020-11-09 13:50:20 +01:00
Geert Uytterhoeven
c5f883d1a6 ARM: shmobile: defconfig: Refresh for v5.10-rc1
Refresh the defconfig for Renesas ARM systems:
  - Reorder SoC-specific config options (cfr. commit 6d5aded8d5
    ("soc: renesas: Sort driver description title")).

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20201103084136.1378875-1-geert+renesas@glider.be
2020-11-09 11:45:40 +01:00
Thomas Gleixner
2a15ba82fa ARM: highmem: Switch to generic kmap atomic
No reason having the same code in every architecture.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Russell King <linux@armlinux.org.uk>
Cc: Arnd Bergmann <arnd@arndb.de>
Link: https://lore.kernel.org/r/20201103095857.582196476@linutronix.de
2020-11-06 23:14:56 +01:00
Łukasz Stelmach
dfe21dcaba ARM: defconfig: Enable ax88796c driver for Exynos boards
Enable ax88796c driver for the Ethernet chip on Exynos3250-based
ARTIK5 boards in exynos and multi_v7 defconfigs.

Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
Link: https://lore.kernel.org/r/20201103151536.26472-6-l.stelmach@samsung.com
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-11-06 20:39:52 +01:00
Łukasz Stelmach
2024b130b0 ARM: dts: exynos: Add Ethernet to Artik 5 board
Add node for ax88796c ethernet chip.

Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
Link: https://lore.kernel.org/r/20201103151536.26472-5-l.stelmach@samsung.com
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-11-06 20:38:54 +01:00
Linus Walleij
6cbf13e311 ARM: dts: ux500: Rename DSI controller nodes
Rename the DSI controller nodes from "dsi-controller@"
to "dsi@" so they match the naming convention in the
YAML schema for DSI controllers.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20201104133758.1373298-1-linus.walleij@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2020-11-06 15:06:31 +01:00
Yu-Tung Chang
9340c293eb
ARM: dts: sun8i: h3: Add initial NanoPi R1 support
The NanoPi R1 is a complete open source board developed
by FriendlyElec for makers, hobbyists, fans and etc.

NanoPi R1 key features
- Allwinner H3, Quad-core Cortex-A7@1.2GHz
- 512MB/1GB DDR3 RAM
- 8GB eMMC
- microSD slot
- 10/100/1000M Ethernet x 1
- 10/100 Ethernet x 1
- Wifi 802.11b/g/n
- Bluetooth 4.0
- Serial Debug Port
- 5V 2A DC power-supply

Signed-off-by: Yu-Tung Chang <mtwget@gmail.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://lore.kernel.org/r/20201102100157.85801-2-mtwget@gmail.com
2020-11-06 12:25:08 +01:00
Matteo Scordino
da42b98d5c
ARM: dts: sun8i: s3: Add dts for the Elimo Initium SBC
The Elimo Engineering Initium is an Open Source Hardware Single Board
Computer based on the Elimo Impetus SoM.

It is meant as the first development platform for the Impetus, providing
convenient access to the peripherals on the Impetus.

It provides:
USB-C power input
UART-to-USB bridge on the USB-C connector, connected to UART1
USB-A connector for USB2.0 (Host, Device, OTG)
Audio Line In/Out
Pin header to access all signals on the M2 connector of the SoM

Signed-off-by: Matteo Scordino <matteo.scordino@gmail.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://lore.kernel.org/r/20201105183231.12952-4-matteo.scordino@gmail.com
2020-11-06 11:47:23 +01:00
Matteo Scordino
33958b22f3
ARM: dts: sun8i: s3: Add dtsi for the Elimo Impetus SoM
The Elimo Engineering Impetus is an Open Source Hardware System-on-Module
based on the SoChip S3 SoC.

It is meant for integration into carrier boards or, more generally,
larger designs, and uses an M2 connector to facilitate that.

Interfaces on the M.2/NGFF 42mm connector:
WiFi IEEE 802. 11abgn (on-module Realtek)
Bluetooth 4.2/BLE (on-module Realtek)
RGB LCD Interface (on-module connector)
MIPI Camera Interface (on-module connector)
IEEE 802. 3u Ethernet MAC (external connecto)
USB2.0 (Host, Device, OTG) (external connector)
Audio Line In/Out (external connector)

Signed-off-by: Matteo Scordino <matteo.scordino@gmail.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://lore.kernel.org/r/20201105183231.12952-2-matteo.scordino@gmail.com
2020-11-06 11:47:01 +01:00
Horia Geantă
a2715fbdc6 crypto: arm/aes-neonbs - fix usage of cbc(aes) fallback
Loading the module deadlocks since:
-local cbc(aes) implementation needs a fallback and
-crypto API tries to find one but the request_module() resolves back to
the same module

Fix this by changing the module alias for cbc(aes) and
using the NEED_FALLBACK flag when requesting for a fallback algorithm.

Fixes: 00b99ad2ba ("crypto: arm/aes-neonbs - Use generic cbc encryption path")
Signed-off-by: Horia Geantă <horia.geanta@nxp.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2020-11-06 14:31:15 +11:00
Łukasz Stelmach
8902a66427 ARM: dts: exynos: Add a placeholder for a MAC address
Add a placeholder for a MAC address. A bootloader may fill it
to set the MAC address and override EEPROM settings.

Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
Link: https://lore.kernel.org/r/20201001135254.28178-1-l.stelmach@samsung.com
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-11-05 22:48:03 +01:00
Łukasz Stelmach
d9e1af3a13 ARM: dts: exynos: Add Ethernet interface description for Odroid X/X2
Add Ethernet interface description for Odroid X/X2.

Add an alias to enable bootloaders to find the Ethernet interface
and assign a MAC address.

Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
Link: https://lore.kernel.org/r/20201103184412.18874-7-l.stelmach@samsung.com
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-11-05 20:30:20 +01:00
Łukasz Stelmach
6eff260412 ARM: dts: exynos: Add Ethernet interface description for Odroid U3
Add Ethernet interface description for Odroid U3.

Add an alias to enable bootloaders to find the Ethernet interface
and assign a MAC address.

Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
Link: https://lore.kernel.org/r/20201103184412.18874-6-l.stelmach@samsung.com
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-11-05 20:30:15 +01:00
Łukasz Stelmach
dff7ae5c50 ARM: dts: exynos: Add Ethernet interface description for Odroid XU
Add Ethernet interface description for Odroid XU.

Add an alias to enable bootloaders to find the Ethernet interface
and assign a MAC address.

Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
Link: https://lore.kernel.org/r/20201103184412.18874-5-l.stelmach@samsung.com
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-11-05 20:30:12 +01:00
Łukasz Stelmach
9ef3a2c585 ARM: dts: exynos: Add Ethernet interface description for Odroid XU3 Lite
Add Ethernet interface description for Odroid XU3 Lite.

Add an alias to enable bootloaders to find the Ethernet interface
and assign a MAC address.

Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
Link: https://lore.kernel.org/r/20201103184412.18874-4-l.stelmach@samsung.com
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-11-05 20:30:07 +01:00
Marek Szyprowski
007fda302d ARM: dts: exynos: Enable DWC2 dual-role support on OdroidU3+ boards
MicroUSB port on OdroidU3+ boards can operate both as peripheral or as
host port. Till now it was configured as pheriperal only port, but it
turned out that the DWC2 driver code already handles everything needed to
support USB role-switch, so switch it to dual-role (OTG) mode. This has
no effect on OdroidU3 (without 'plus') and OdroidX2, which doesn't have
USB needed ID pin and VBUS wiring. Those will still operate correctly in
pheriperal mode only.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Tested-by: Anand Moon <linux.amoon@gmail.com>
Link: https://lore.kernel.org/r/20201103140214.21690-1-m.szyprowski@samsung.com
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-11-05 20:10:18 +01:00
Johan Hovold
7604ce70b8 USB: serial: keyspan_pda: clean up xircom/entrega support
Drop the separate Kconfig symbol for Xircom / Entrega and always include
support in the keyspan_pda driver.

Note that all configs that enabled CONFIG_USB_SERIAL_XIRCOM also enable
CONFIG_USB_SERIAL_KEYSPAN_PDA.

Acked-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Johan Hovold <johan@kernel.org>
2020-11-04 11:01:49 +01:00
Ard Biesheuvel
b9bc36704c ARM, xtensa: highmem: avoid clobbering non-page aligned memory reservations
free_highpages() iterates over the free memblock regions in high
memory, and marks each page as available for the memory management
system.

Until commit cddb5ddf2b ("arm, xtensa: simplify initialization of
high memory pages") it rounded beginning of each region upwards and end of
each region downwards.

However, after that commit free_highmem() rounds the beginning and end of
each region downwards, and we may end up freeing a page that is
memblock_reserve()d, resulting in memory corruption.

Restore the original rounding of the region boundaries to avoid freeing
reserved pages.

Fixes: cddb5ddf2b ("arm, xtensa: simplify initialization of high memory pages")
Link: https://lore.kernel.org/r/20201029110334.4118-1-ardb@kernel.org/
Link: https://lore.kernel.org/r/20201031094345.6984-1-rppt@kernel.org
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Co-developed-by:  Mike Rapoport <rppt@linux.ibm.com>
Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
Acked-by: Max Filippov <jcmvbkbc@gmail.com>
2020-11-04 10:42:57 +02:00
Jonathan Neuschäfer
895387231e ARM: dts: imx50-kobo-aura: Add 'grp' suffix to pinctrl node names
i.MX pinctrl group nodes should have names that ends with 'grp'.

Reported-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Jonathan Neuschäfer <j.neuschaefer@gmx.net>
Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-11-03 18:56:47 +08:00
Peng Fan
5c8b3b8a18 ARM: dts: imx: add usb alias
Add usb alias for bootloader searching the controller in correct order.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-11-03 08:08:34 +08:00
Pablo Greco
8a82d91fa2
ARM: dts: sun8i: v40: bananapi-m2-berry: Fix ethernet node
Ethernet PHY on BananaPi M2 Berry provides RX and TX delays. Fix ethernet
node to reflect that fact.

Fixes: 27e81e1970 ("ARM: dts: sun8i: v40: bananapi-m2-berry: Enable GMAC ethernet controller")
Signed-off-by: Pablo Greco <pgreco@centosproject.org>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://lore.kernel.org/r/1604326769-39802-1-git-send-email-pgreco@centosproject.org
2020-11-02 18:06:27 +01:00
Pablo Greco
bd5cdcdc66
ARM: dts: sun8i: r40: bananapi-m2-berry: Fix dcdc1 regulator
DCDC1 regulator powers many different subsystems. While some of them can
work at 3.0 V, some of them can not. For example, VCC-HDMI can only work
between 3.24 V and 3.36 V. According to OS images provided by the board
manufacturer this regulator should be set to 3.3 V.

Set DCDC1 and DCDC1SW to 3.3 V in order to fix this.

Fixes: 23edc168bd ("ARM: dts: sun8i: Add board dts file for Banana Pi M2 Berry")
Fixes: 27e81e1970 ("ARM: dts: sun8i: v40: bananapi-m2-berry: Enable GMAC ethernet controller")
Signed-off-by: Pablo Greco <pgreco@centosproject.org>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://lore.kernel.org/r/1604326755-39742-1-git-send-email-pgreco@centosproject.org
2020-11-02 18:06:24 +01:00
Pablo Greco
8c9cb4094c
ARM: dts: sun7i: bananapi: Enable RGMII RX/TX delay on Ethernet PHY
The Ethernet PHY on the Bananapi M1 has the RX and TX delays enabled on
the PHY, using pull-ups on the RXDLY and TXDLY pins.

Fix the phy-mode description to correct reflect this so that the
implementation doesn't reconfigure the delays incorrectly. This
happened with commit bbc4d71d63 ("net: phy: realtek: fix rtl8211e
rx/tx delay config").

Fixes: 8a5b272fbf ("ARM: dts: sun7i: Add Banana Pi board")
Signed-off-by: Pablo Greco <pgreco@centosproject.org>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://lore.kernel.org/r/1604326600-39544-1-git-send-email-pgreco@centosproject.org
2020-11-02 18:06:20 +01:00
Marcus Cooper
cd7c897821
arm: dts: sunxi: h3/h5: Add I2S2 node
Add H3/H5 I2S2 node connected to the HDMI interface.

Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
Signed-off-by: Marcus Cooper <codekipper@gmail.com>
Signed-off-by: Clément Péron <peron.clem@gmail.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Acked-by: Chen-Yu Tsai <wens@csie.org>
Link: https://lore.kernel.org/r/20201030144648.397824-16-peron.clem@gmail.com
2020-11-02 15:09:31 +01:00
Konstantin Aladyshev
f69456d322 ARM: dts: aspeed: amd-ethanolx: Enable devices for the iKVM functionality
Enable the USB 2.0 Virtual Hub Controller and
the Video Engine with it's reserved memory region for the implementation
of the iKVM functionality in the BMC.

Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
Reviewed-by: Supreeth Venkatesh <supreeth.venkatesh@amd.com>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Link: https://lore.kernel.org/r/20201027123722.2935-3-aladyshev22@gmail.com
Signed-off-by: Joel Stanley <joel@jms.id.au>
2020-11-02 23:27:07 +11:00
Konstantin Aladyshev
efc5dae95a ARM: dts: aspeed: amd-ethanolx: Enable KCS channel 3
The KCS interface on the LPC channel 3 in the controller
is used for the in-band BMC<->BIOS IPMI communication.
0xCA2 is a default host CPU LPC IO address for this
interface.

Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
Reviewed-by: Supreeth Venkatesh <supreeth.venkatesh@amd.com>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Link: https://lore.kernel.org/r/20201027123722.2935-2-aladyshev22@gmail.com
Signed-off-by: Joel Stanley <joel@jms.id.au>
2020-11-02 23:27:02 +11:00
Paul Kocialkowski
52a70e641a
ARM: dts: sun8i-v3s: Add I2C1 PB pins description
I2C1 can be exposed through PB pins in addition to PE pins on the V3s.
Add the device-tree description for these pins.

Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://lore.kernel.org/r/20201031182137.1879521-4-contact@paulk.fr
2020-11-02 11:08:23 +01:00
Matteo Scordino
6ab48105aa
ARM: dts: s3: pinecube: align compatible property to other S3 boards
The compatible string in the Pine64 Pinecube dts diverges from the ones
used in other S3 based boards, like the LicheePi and the Elimo Impetus
and Initium. Discussion on LKML decided the PineCube should align to the
others.

Signed-off-by: Matteo Scordino <matteo.scordino@gmail.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://lore.kernel.org/r/20201030234325.5865-7-matteo.scordino@gmail.com
2020-11-02 11:07:10 +01:00
Matteo Scordino
85f296433e
ARM: dts: sun8i: V3/S3: Add UART1 pin definitions to the V3/S3 dtsi
The Allwinner V3 and S3 can use PG6/7 as RX/TX for UART1. Since no other
functions are assigned to those pins, they are a convenient choice for
a debugging or application UART.
This is specific to V3/S3 as the V3s's non-BGA package did not have
those pins.

Signed-off-by: Matteo Scordino <matteo.scordino@gmail.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://lore.kernel.org/r/20201030234325.5865-3-matteo.scordino@gmail.com
2020-11-02 11:03:03 +01:00
Paul Kocialkowski
ad2091f893
ARM: sunxi: Add machine match for the Allwinner V3 SoC
The Allwinner V3 SoC shares the same base as the V3s but comes with
extra pins and features available. As a result, it has its dedicated
compatible string (already used in device trees), which is added here.

Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://lore.kernel.org/r/20201031182137.1879521-2-contact@paulk.fr
2020-11-02 10:28:14 +01:00
Vijay Khemka
14f100c00f ARM: dts: aspeed: tiogapass: Remove vuart
Removed vuart for facebook tiogapass platform as it uses uart2 and
uart3 pin with aspeed uart routing feature.

Signed-off-by: Vijay Khemka <vijaykhemka@fb.com>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Fixes: ffdbf49482 ("ARM: dts: aspeed: tiogapass: Enable VUART")
Link: https://lore.kernel.org/r/20200813190431.3331026-1-vijaykhemka@fb.com
Signed-off-by: Joel Stanley <joel@jms.id.au>
2020-11-02 10:32:34 +10:30
Oleksij Rempel
e402599e5e ARM: dts: imx6q-prti6q: fix PHY address
Due to bug in the bootloader, the PHY has floating address and may
randomly change on each PHY reset. To avoid it, the updated bootloader
with the following patch[0] should be used:

| ARM: protonic: disable on-die termination to fix PHY bootstrapping
|
| If on-die termination is enabled, the RXC pin of iMX6 will be pulled
| high. Since we already have an 10K pull-down on board, the RXC level on
| PHY reset will be ~800mV, which is mostly interpreted as 1. On some
| reboots we get 0 instead and kernel can't detect the PHY properly.
|
| Since the default 0x020e07ac value is 0, it is sufficient to remove this
| entry from the affected imxcfg files.
|
| Since we get stable 0 on pin PHYADDR[2], the PHY address is changed from
| 4 to 0.

With latest bootloader update, the PHY address will be fixed to "0".

[0] https://git.pengutronix.de/cgit/barebox/commit/?id=93f7dcf631edfcda19e7757b28d66017ea274b81

Fixes: 0d446a5055 ("ARM: dts: add Protonic PRTI6Q board")
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-11-02 07:51:24 +08:00
Andrew Lunn
f8b5a33707 ARM: dts: vf610-zii-dev-rev-b: Fix MDIO over clocking
The ZII devel B board has two generations of Marvell Switches.  The
mv88e6352 supports an MDIO clock of 12MHz. However the older 88e6185
does not like 12MHz, and often fails to probe.

Reduce the clock speed to 5MHz, which seems to work reliably.

Cc: Chris Healy <cphealy@gmail.com>
Fixes: b955387667 ("ARM: dts: ZII: update MDIO speed and preamble")
Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Chris Healy <cphealy@gmail.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-11-02 07:51:24 +08:00
Sergey Matyukevich
7dd8f0ba88 arm: dts: imx6qdl-udoo: fix rgmii phy-mode for ksz9031 phy
Commit bcf3440c6d ("net: phy: micrel: add phy-mode support for the
KSZ9031 PHY") fixed micrel phy driver adding proper support for phy
modes. Adapt imx6q-udoo board phy settings : explicitly set required
delay configuration using "rgmii-id".

Fixes: cbd54fe0b2 ("ARM: dts: imx6dl-udoo: Add board support based off imx6q-udoo")
Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-11-02 07:51:24 +08:00
Alexandru Stan
225c59b923 ARM: dts: rockchip: Remove 0 point from brightness-levels on rk3288-veyron
The extra 0 only adds one point in the userspace visible range,
so this change is almost a noop with the current driver behavior.

We don't need the 0% point, userspace seems to handle this just fine
because it uses the bl_power property to turn off the display.

Furthermore after adding "backlight: pwm_bl: Fix interpolation" patch,
the backlight interpolation will work a little differently. So we need
to preemptively remove the 0-3 segment since otherwise we would have a
252 long interpolation that would slowly go between 0 and 3, looking
really bad in userspace. So it's almost a noop/cleanup now, but it will
be required in the future.

Signed-off-by: Alexandru Stan <amstan@chromium.org>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Acked-by: Daniel Thompson <daniel.thompson@linaro.org>
Link: https://lore.kernel.org/r/20201021220404.v3.1.I96b8d872ec51171f19274e43e96cadc092881271@changeid
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2020-11-01 12:35:52 +01:00
Guillaume Tucker
5a76c474e8 ARM: exynos: clear prefetch bits in default l2c_aux_val
Clear the L310_AUX_CTRL_DATA_PREFETCH and L310_AUX_CTRL_INSTR_PREFETCH
bits in the l2c_aux_val defaults for Exynos since they can now be set
using the standard l2c2x0 devicetree bindings.

Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>
Link: https://lore.kernel.org/r/e44b5226f3ad1551459830c678ed183762d8e458.1597061474.git.guillaume.tucker@collabora.com
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-10-31 12:48:55 +01:00
Oleksij Rempel
73db215119 ARM: dts: imx6/7: sync fsl,stop-mode with current flexcan driver
After this patch we need 2 arguments less for the fsl,stop-mode
property:

| commit d9b081e3fc
| Author: Marc Kleine-Budde <mkl@pengutronix.de>
| Date:   Sun Jun 14 21:09:20 2020 +0200
|
| can: flexcan: remove ack_grp and ack_bit handling from driver
|
| Since commit:
|
|  048e3a34a2 can: flexcan: poll MCR_LPM_ACK instead of GPR ACK for stop mode acknowledgment
|
| the driver polls the IP core's internal bit MCR[LPM_ACK] as stop mode
| acknowledge and not the acknowledgment on chip level.
|
| This means the 4th and 5th value of the property "fsl,stop-mode" isn't used
| anymore. This patch removes the used "ack_gpr" and "ack_bit" from the driver.

This patch removes the two last arguments, as they are not needed
anymore.

Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Reviewed-by: Joakim Zhang <qiangqing.zhang@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-10-31 16:29:39 +08:00
Arnd Bergmann
0774a6ed29 timekeeping: default GENERIC_CLOCKEVENTS to enabled
Almost all machines use GENERIC_CLOCKEVENTS, so it feels wrong to
require each one to select that symbol manually.

Instead, enable it whenever CONFIG_LEGACY_TIMER_TICK is disabled as
a simplification. It should be possible to select both
GENERIC_CLOCKEVENTS and LEGACY_TIMER_TICK from an architecture now
and decide at runtime between the two.

For the clockevents arch-support.txt file, this means that additional
architectures are marked as TODO when they have at least one machine
that still uses LEGACY_TIMER_TICK, rather than being marked 'ok' when
at least one machine has been converted. This means that both m68k and
arm (for riscpc) revert to TODO.

At this point, we could just always enable CONFIG_GENERIC_CLOCKEVENTS
rather than leaving it off when not needed. I built an m68k
defconfig kernel (using gcc-10.1.0) and found that this would add
around 5.5KB in kernel image size:

   text	   data	    bss	    dec	    hex	filename
3861936	1092236	 196656	5150828	 4e986c	obj-m68k/vmlinux-no-clockevent
3866201	1093832	 196184	5156217	 4ead79	obj-m68k/vmlinux-clockevent

On Arm (MACH_RPC), that difference appears to be twice as large,
around 11KB on top of an 6MB vmlinux.

Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Tested-by: Geert Uytterhoeven <geert@linux-m68k.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-10-30 21:57:07 +01:00
Arnd Bergmann
6239da2972 ARM: rpc: use legacy_timer_tick
rpc is the only user of the timer_tick() function now, and can
just call the newly added generic version instead.

Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-10-30 21:57:05 +01:00
Arnd Bergmann
3e3f354bc3 ARM: remove ebsa110 platform
Russell said that he is no longer using this machine, and it seems that
nobody else has in a long time, so it's time to say goodbye to it.

As this is the last platform using CONFIG_ARCH_USES_GETTIMEOFFSET,
there are some follow-up patches to remove that as well.

Acked-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-10-30 21:57:03 +01:00
Linus Torvalds
65b55d4c85 ARM: SoC fixes for v5.10
This is a fairly large set of bug fixes on top of -rc1,
 as most of them were ready but didn't quite make it into
 the last-minute pull requests for the merge window.
 
 Allwinner:
 	Fix for incorrect CPU overtemperature limit
 
 Amlogic:
 	Multiple smaller DT bugfixes, and missing device nodes
 
 Marvell EBU:
 	Add missing aliases for ethernet switch ports on
 	espressobin board
 
 Marvell MMP:
 	One DTC warning fix
 	one bugfix for camera interface power-down
 
 NXP i.MX:
 	Re-enable the GPIO driver on all defconfigs
 
 ST STM32MP1:
 	Fix random crashes from incorrect voltage settings
 
 Synaptics Berlin:
 	Enable the correct hardware timer driver
 
 Texas Instruments K2G:
 	fix a boot regression in the power domain code
 
 TEE drivers:
 	Fix regression in TEE "login" method
 
 SCMI drivers:
 	multiple code fixes for corner cases in newly added code
 
 MAINTAINERS file:
 	Move Kukjin Kim and Sangbeom Kim used to work on
 	Samsung Exynos.
 	Masahiro Yamada is stepping down as Uniphier maintainer
 
 I did not include a series of patches that work around a
 regression caused by a bugfix in an ethernet phy driver
 that resulted in an inadvertent DT binding change. This is
 still under discussion.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAl+cPisACgkQmmx57+YA
 GNndoQ/+OGlE6x78OzveTbwr0uAGI5QMFnUu6y94ju9wmHJQ4s88UwIvMf5a1ATX
 QxR3F8e+ywhKklRZiGlJoQhc87NOtFOnQduwtrQmwj71r+3deFRfXv+ExYFtHQnK
 1kj1fG7MuvQfw1BYg6FIUkhKAjuNh3tsz5SIkFbpT1QhPJVOimb4Vkda+MEQTTCL
 i/YQFk+j1tqYXqjR2JiQTxEDgIWkSb02toyZUstC6nEt7mneAKETYyMMd5rctf+i
 ZOP9pMoXNLtC/DSYfZrMj8oYX+96p6YdfiqS8wGELuIgcXh99ArOMlk/4ZeGz1PW
 Wq2q97r0qXA5BNUFBW5ZA3PDbT+FchBlqAnKpI7PZZYU5RNb40AMXHjxiGi6sIKd
 TBykUDjYTTiOIinxLzf6nJ6Sv/0yQEo2+IZImE/s7qJYQKC1fRw01O897ee7AI2G
 Xzs2TGL4h/1Mce1hhwce15ZWmy3GRleBJj1gFd8/iCmaXdKAMB7WMO3J7xTeoUnX
 JUBzFZ67hTGugLdrshr/pOncO9ZoX4U11ybkrDGsLjT+8kE8erEGzWn2IHCj9yTv
 gxQclxCBYYygA2MzHFO70hKnklfhtZKQzs00UrJZTqB2AjBdBA4sJecYzfExLEdd
 AVsRz5n5XsE/ahb/MC1fNBBPWRO9YkgvVmmrLN5XWQ+fh0fkemk=
 =cKNJ
 -----END PGP SIGNATURE-----

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

Pull ARM SoC fixes from Arnd Bergmann:
 "This is a fairly large set of bug fixes on top of -rc1, as most of
  them were ready but didn't quite make it into the last-minute pull
  requests for the merge window.

  Allwinner:
   - fix for incorrect CPU overtemperature limit

  Amlogic:
   - multiple smaller DT bugfixes, and missing device nodes

  Marvell EBU:
   - add missing aliases for ethernet switch ports on espressobin board

  Marvell MMP:
   - DTC warning fix
   - bugfix for camera interface power-down

  NXP i.MX:
   - re-enable the GPIO driver on all defconfigs

  ST STM32MP1:
   - fix random crashes from incorrect voltage settings

  Synaptics Berlin:
   - enable the correct hardware timer driver

  Texas Instruments K2G:
   - fix a boot regression in the power domain code

  TEE drivers:
   - fix regression in TEE "login" method

  SCMI drivers:
   - multiple code fixes for corner cases in newly added code

  MAINTAINERS file:
   - move Kukjin Kim and Sangbeom Kim to credits (used to work on
     Samsung Exynos)
   - Masahiro Yamada is stepping down as Uniphier maintainer

  I did not include a series of patches that work around a regression
  caused by a bugfix in an ethernet phy driver that resulted in an
  inadvertent DT binding change. This is still under discussion"

* tag 'arm-soc-fixes-v5.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (31 commits)
  soc: ti: ti_sci_pm_domains: check for proper args count in xlate
  ARM: dts: stm32: Describe Vin power supply on stm32mp157c-edx board
  ARM: dts: stm32: Describe Vin power supply on stm32mp15xx-dkx board
  ARM: multi_v5_defconfig: Select CONFIG_GPIO_MXC
  ARM: imx_v4_v5_defconfig: Select CONFIG_GPIO_MXC
  ARM: dts: mmp2-olpc-xo-1-75: Use plural form of "-gpios"
  ARM: dts: mmp3: Add power domain for the camera
  arm64: berlin: Select DW_APB_TIMER_OF
  dt-bindings: sram: sunxi-sram: add V3s compatible string
  MAINTAINERS: Move Sangbeom Kim to credits
  MAINTAINERS: Move Kukjin Kim to credits
  MAINTAINERS: step down as maintainer of UniPhier SoCs and Denali driver
  ARM: multi_v7_defconfig: Build in CONFIG_GPIO_MXC by default
  ARM: imx_v6_v7_defconfig: Build in CONFIG_GPIO_MXC by default
  arm64: defconfig: Build in CONFIG_GPIO_MXC by default
  arm64: dts: meson: odroid-n2 plus: fix vddcpu_a pwm
  ARM: dts: meson8: remove two invalid interrupt lines from the GPU node
  arm64: dts: amlogic: add missing ethernet reset ID
  firmware: arm_scmi: Fix duplicate workqueue name
  firmware: arm_scmi: Fix locking in notifications
  ...
2020-10-30 13:06:07 -07:00
Alexander Dahl
97f1dd5ba2 ARM: dts: imx: Fix schema warnings for pwm-leds
The node names for devices using the pwm-leds driver follow a certain
naming scheme (now).  Parent node name is not enforced, but recommended
by DT project.

  DTC     arch/arm/boot/dts/imx53-ppd.dt.yaml
  CHECK   arch/arm/boot/dts/imx53-ppd.dt.yaml
arch/arm/boot/dts/imx53-ppd.dt.yaml: leds-brightness: 'alarm-brightness' does not match any of the regexes: '^led(-[0-9a-f]+)?$', 'pinctrl-[0-9]+'
        From schema: Documentation/devicetree/bindings/leds/leds-pwm.yaml
  DTC     arch/arm/boot/dts/imx6dl-cubox-i.dt.yaml
  CHECK   arch/arm/boot/dts/imx6dl-cubox-i.dt.yaml
arch/arm/boot/dts/imx6dl-cubox-i.dt.yaml: pwmleds: 'front' does not match any of the regexes: '^led(-[0-9a-f]+)?$', 'pinctrl-[0-9]+'
        From schema: Documentation/devicetree/bindings/leds/leds-pwm.yaml
  DTC     arch/arm/boot/dts/imx6dl-cubox-i-emmc-som-v15.dt.yaml
  CHECK   arch/arm/boot/dts/imx6dl-cubox-i-emmc-som-v15.dt.yaml
arch/arm/boot/dts/imx6dl-cubox-i-emmc-som-v15.dt.yaml: pwmleds: 'front' does not match any of the regexes: '^led(-[0-9a-f]+)?$', 'pinctrl-[0-9]+'
        From schema: Documentation/devicetree/bindings/leds/leds-pwm.yaml
  DTC     arch/arm/boot/dts/imx6dl-cubox-i-som-v15.dt.yaml
  CHECK   arch/arm/boot/dts/imx6dl-cubox-i-som-v15.dt.yaml
arch/arm/boot/dts/imx6dl-cubox-i-som-v15.dt.yaml: pwmleds: 'front' does not match any of the regexes: '^led(-[0-9a-f]+)?$', 'pinctrl-[0-9]+'
        From schema: Documentation/devicetree/bindings/leds/leds-pwm.yaml
  DTC     arch/arm/boot/dts/imx6sx-softing-vining-2000.dt.yaml
  CHECK   arch/arm/boot/dts/imx6sx-softing-vining-2000.dt.yaml
arch/arm/boot/dts/imx6sx-softing-vining-2000.dt.yaml: pwmleds: 'blue', 'green', 'red' do not match any of the regexes: '^led(-[0-9a-f]+)?$', 'pinctrl-[0-9]+'
        From schema: Documentation/devicetree/bindings/leds/leds-pwm.yaml

Signed-off-by: Alexander Dahl <post@lespocky.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-10-30 15:44:27 +08:00
Krzysztof Kozlowski
a486d18c0a ARM: dts: imx7s-warp: correct vendor in compatible to Element14
The WaRP7 board (Wearable Development Platform) was apparently made by
Element14, not by "Warp".  Correct the  vendor in compatible to reflect
this.  The compatibles were not documented in the bindings before.

Link: https://www.element14.com/community/docs/DOC-79058
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-10-30 15:09:29 +08:00
Krzysztof Kozlowski
ef8b31051a ARM: dts: imx6sl-warp: correct vendor in compatible to Revotics
The WaRP board (Wearable Development Platform) was apparently made by
Revolution Robotics, Inc (brand: Revotics), not by "Warp".  Correct the
vendor in compatible to reflect this.  The compatibles were not
documented in the bindings before.

Link: https://revotics.com/warp
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-10-30 15:09:19 +08:00
Krzysztof Kozlowski
8fc8e8129e ARM: dts: imx6dl: add compatibles for Aristainetos boards
The Aristainetos and Aristainetos2 boards have only SoC compatible.

Cc: Heiko Schocher <hs@denx.de>
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Reviewed-by: Heiko Schocher <hs@denx.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-10-30 14:50:09 +08:00
Krzysztof Kozlowski
5cad03883f ARM: dts: imx6dl-pico: fix board compatibles
There are four flavors of TechNexion PICO-IMX6 boards.  They have their
own DTSes, even though in Dwarf, Nymph and Pi are exactly the same.
They also have their own bindings so adjust the compatibles to match the
bindings.

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-10-30 14:49:47 +08:00
Anson Huang
2f4ac2d79e ARM: imx: Add revision support for i.MX7ULP revision 2.2
On i.MX7ULP revision 2.2, the value is 3, so add support for this
revision, otherwise, it will use default revision of 1.0 which is
incorrect.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-10-30 08:15:27 +08:00
Krzysztof Kozlowski
a913e88ffb ARM: dts: vf: align watchdog node name with dtschema
The dtschema expects watchdog device node name to be "watchdog":

  arch/arm/boot/dts/vf500-colibri-eval-v3.dt.yaml: wdog@4003e000:
    $nodename:0: 'wdog@4003e000' does not match '^watchdog(@.*|-[0-9a-f])?$'

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-10-29 22:37:48 +08:00
Krzysztof Kozlowski
cec12cd8d1 ARM: dts: imx: align watchdog node name with dtschema
The dtschema expects watchdog device node name to be "watchdog":

  arch/arm/boot/dts/imx31-bug.dt.yaml: wdog@53fdc000:
    $nodename:0: 'wdog@53fdc000' does not match '^watchdog(@.*|-[0-9a-f])?$'

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-10-29 22:36:21 +08:00
Eugen Hristev
036f224ef8 ARM: configs: at91_dt: resync with media changes
The media tree Kconfig has changed recently, and a lot of modules were
built unintentionally, like the dvb frontends and encoders.
Resync the defconfig to build the ISI drivers and tested sensors.

Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Link: https://lore.kernel.org/r/20201029121223.871531-1-eugen.hristev@microchip.com
2020-10-29 14:32:07 +01:00
Krzysztof Kozlowski
b04544ac0d ARM: dts: s5pv210: adjust node names to DT spec
The Devicetree specification expects device node names to have a generic
name, representing the class of a device.  Also the convention for node
names is to use hyphens, not underscores.

No functional changes.

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Link: https://lore.kernel.org/r/20201027170947.132725-10-krzk@kernel.org
2020-10-28 22:46:26 +01:00
Krzysztof Kozlowski
77c91853a6 ARM: dts: exynos: adjust node names to DT spec in Exynos542x boards
The Devicetree specification expects device node names to have a generic
name, representing the class of a device.  Also the convention for node
names is to use hyphens, not underscores.

No functional changes.

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Link: https://lore.kernel.org/r/20201027170947.132725-9-krzk@kernel.org
2020-10-28 22:46:25 +01:00
Krzysztof Kozlowski
e5fbceb07e ARM: dts: exynos: adjust node names to DT spec in Odroid XU
The Devicetree specification expects device node names to have a generic
name, representing the class of a device.  Also the convention for node
names is to use hyphens, not underscores.

No functional changes.

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Link: https://lore.kernel.org/r/20201027170947.132725-8-krzk@kernel.org
2020-10-28 22:46:25 +01:00
Krzysztof Kozlowski
5a1323023f ARM: dts: exynos: adjust node names to DT spec in Exynos5250 boards
The Devicetree specification expects device node names to have a generic
name, representing the class of a device.  Also the convention for node
names is to use hyphens, not underscores.

No functional changes.

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Link: https://lore.kernel.org/r/20201027170947.132725-7-krzk@kernel.org
2020-10-28 22:46:25 +01:00
Krzysztof Kozlowski
2d29d03003 ARM: dts: exynos: remove redundant status=okay in Exynos4412 boards
New nodes are enabled by default, so status=okay is not needed for them.

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Link: https://lore.kernel.org/r/20201027170947.132725-6-krzk@kernel.org
2020-10-28 22:46:25 +01:00
Krzysztof Kozlowski
108463f568 ARM: dts: exynos: adjust node names to DT spec in Exynos4412 boards
The Devicetree specification expects device node names to have a generic
name, representing the class of a device.  Also the convention for node
names is to use hyphens, not underscores.

No functional changes.

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Link: https://lore.kernel.org/r/20201027170947.132725-5-krzk@kernel.org
2020-10-28 22:46:25 +01:00
Krzysztof Kozlowski
43552e6d5a ARM: dts: exynos: override GPIO keys node by label in Exynos4412 Odroid family
Using full paths to extend or override a device tree node is error
prone.  If there was a typo error, a new node will be created instead of
extending the existing node.  This will lead to run-time errors that
could be hard to detect.

A mistyped label on the other hand, will cause a dtc compile error
(during build time).

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Link: https://lore.kernel.org/r/20201027170947.132725-4-krzk@kernel.org
2020-10-28 22:46:25 +01:00
Krzysztof Kozlowski
d918633c8a ARM: dts: exynos: adjust node names to DT spec in Exynos4210 boards
The Devicetree specification expects device node names to have a generic
name, representing the class of a device.  Also the convention for node
names is to use hyphens, not underscores.

No functional changes.

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Link: https://lore.kernel.org/r/20201027170947.132725-3-krzk@kernel.org
2020-10-28 22:46:25 +01:00
Krzysztof Kozlowski
157a5697f6 ARM: dts: exynos: adjust node names to DT spec in Exynos3250 boards
The Devicetree specification expects device node names to have a generic
name, representing the class of a device.  Also the convention for node
names is to use hyphens, not underscores.

No functional changes.

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Link: https://lore.kernel.org/r/20201027170947.132725-2-krzk@kernel.org
2020-10-28 22:46:25 +01:00
Bartosz Golaszewski
c9dc33d13c ARM: dts: at91: at91-sama5d27_som1: fix EEPROM compatible
AT24 compatibles require a vendor prefix. Use the default "atmel".

Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Link: https://lore.kernel.org/r/20201026104618.23415-1-brgl@bgdev.pl
2020-10-28 21:50:33 +01:00
Eugen Hristev
fb533fc76d ARM: configs: at91: sama5: resync with media changes
The media tree Kconfig has changed recently, and a lot of modules were
built unintentionally, like the dvb frontends and encoders.
Resync the defconfig to build the sama5 drivers and tested sensors.

Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Link: https://lore.kernel.org/r/20201016075109.287506-1-eugen.hristev@microchip.com
2020-10-28 21:30:00 +01:00
Marek Szyprowski
970f6cf2e9 ARM: exynos: Simplify code in Exynos3250 CPU core restart path
exynos_core_restart() is called by secondary CPU boot procedure, used by
CPU hotplug and coupled CPU idle. Replace of_machine_is_compatible() call
with a simple SoC revision check.

of_machine_is_compatible() function performs a dozen of string comparisons
during the full device tree walk, while soc_is_exynos3250() is a simple
integer check on SoC revision variable. This change also fixes the
following warning:

=============================
WARNING: suspicious RCU usage
5.10.0-rc1-00001-g6f65599d1f4f-dirty #1800 Not tainted
-----------------------------
./include/trace/events/lock.h:37 suspicious rcu_dereference_check() usage!

other info that might help us debug this:

rcu_scheduler_active = 2, debug_locks = 1
RCU used illegally from extended quiescent state!
no locks held by swapper/0/0.

stack backtrace:
CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.10.0-rc1-00001-g6f65599d1f4f-dirty #1800
Hardware name: Samsung Exynos (Flattened Device Tree)
[<c0111514>] (unwind_backtrace) from [<c010ceb8>] (show_stack+0x10/0x14)
[<c010ceb8>] (show_stack) from [<c0b1d8dc>] (dump_stack+0xb4/0xd4)
[<c0b1d8dc>] (dump_stack) from [<c0194acc>] (lock_acquire+0x418/0x584)
[<c0194acc>] (lock_acquire) from [<c0b29e58>] (_raw_spin_lock_irqsave+0x4c/0x60)
[<c0b29e58>] (_raw_spin_lock_irqsave) from [<c0897af4>] (of_device_is_compatible+0x1c/0x4c)
[<c0897af4>] (of_device_is_compatible) from [<c01216d8>] (exynos_core_restart+0x14/0xb0)
[<c01216d8>] (exynos_core_restart) from [<c0120a78>] (exynos_cpu0_enter_aftr+0x1d0/0x1dc)
[<c0120a78>] (exynos_cpu0_enter_aftr) from [<c08575b0>] (exynos_enter_coupled_lowpower+0x44/0x74)
[<c08575b0>] (exynos_enter_coupled_lowpower) from [<c085477c>] (cpuidle_enter_state+0x178/0x660)
[<c085477c>] (cpuidle_enter_state) from [<c08572dc>] (cpuidle_enter_state_coupled+0x35c/0x378)
[<c08572dc>] (cpuidle_enter_state_coupled) from [<c0854cc8>] (cpuidle_enter+0x50/0x54)
[<c0854cc8>] (cpuidle_enter) from [<c0164854>] (do_idle+0x224/0x2a4)
[<c0164854>] (do_idle) from [<c0164c88>] (cpu_startup_entry+0x18/0x1c)
[<c0164c88>] (cpu_startup_entry) from [<c1100fa0>] (start_kernel+0x640/0x67c)
[<c1100fa0>] (start_kernel) from [<00000000>] (0x0)

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Link: https://lore.kernel.org/r/20201027201716.15745-1-m.szyprowski@samsung.com
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-10-28 21:00:32 +01:00
Marek Szyprowski
d35cdc833b ARM: dts: exynos: Enable Bluetooth support for Midas board family
Add a node for the BCM4334 Bluetooth chip on the serial bus #0 on
the Exynos4412-based Midas board family.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Link: https://lore.kernel.org/r/20201027142330.5121-3-m.szyprowski@samsung.com
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-10-28 20:04:51 +01:00
Marek Szyprowski
4e77879298 ARM: dts: exynos: Enable Bluetooth support for Universal C210 board
Add a node for the BCM4330 Bluetooth chip on the serial bus #0 on
the Exynos4210-based Universal C210 boards.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Link: https://lore.kernel.org/r/20201027142330.5121-2-m.szyprowski@samsung.com
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-10-28 20:04:47 +01:00
Marek Szyprowski
132e900a47 ARM: dts: exynos: Enable Bluetooth support for Trats board
Add a node for the BCM4334 Bluetooth chip on the serial bus #0 on
the Exynos4210-based Trats boards.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Link: https://lore.kernel.org/r/20201027142330.5121-1-m.szyprowski@samsung.com
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-10-28 20:04:43 +01:00
Alexander Dahl
997ebd64df ARM: dts: at91: Fix schema warnings for pwm-leds
The node names for devices using the pwm-leds driver follow a certain
naming scheme (now).  Parent node name is not enforced, but recommended
by DT project.

  DTC     arch/arm/boot/dts/at91-kizbox2-2.dt.yaml
  CHECK   arch/arm/boot/dts/at91-kizbox2-2.dt.yaml
/home/alex/build/linux/arch/arm/boot/dts/at91-kizbox2-2.dt.yaml: pwm_leds: 'blue', 'green', 'red' do not match any of the regexes: '^led(-[0-9a-f]+)?$', 'pinctrl-[0-9]+'
        From schema: /home/alex/src/linux/leds/Documentation/devicetree/bindings/leds/leds-pwm.yaml
  DTC     arch/arm/boot/dts/at91-kizbox3-hs.dt.yaml
  CHECK   arch/arm/boot/dts/at91-kizbox3-hs.dt.yaml
/home/alex/build/linux/arch/arm/boot/dts/at91-kizbox3-hs.dt.yaml: pwm_leds: 'blue', 'green', 'red', 'white' do not match any of the regexes: '^led(-[0-9a-f]+)?$', 'pinctrl-[0-9]+'
        From schema: /home/alex/src/linux/leds/Documentation/devicetree/bindings/leds/leds-pwm.yaml

(Warnings above are for armv7 only, armv5 would produce similar warnings.)

Signed-off-by: Alexander Dahl <post@lespocky.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Link: https://lore.kernel.org/r/20201005203451.9985-6-post@lespocky.de
2020-10-28 19:55:04 +01:00
Alexander Dahl
02e46262af ARM: dts: at91: smartkiz: Reference led node directly
Do it the simple way like for the other kizbox boards.  This will allow
renaming the led controller node name later without breaking things.

Signed-off-by: Alexander Dahl <post@lespocky.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Link: https://lore.kernel.org/r/20201005203451.9985-5-post@lespocky.de
2020-10-28 19:55:04 +01:00
Arnd Bergmann
01eea23687 STM32 DT fixes for v5.10, round 1
Highlights:
 -----------
 
  -On STM32MP157 DK & ED boards: Add Vin supply description to avoid
   random kernel crash due to vref_ddr regulator issue.
 -----BEGIN PGP SIGNATURE-----
 
 iQJMBAABCgA2FiEEctl9+nxzUSUqdELdf5rJavIecIUFAl+ZhRoYHGFsZXhhbmRy
 ZS50b3JndWVAc3QuY29tAAoJEH+ayWryHnCFdWUP/34Gy3R+7h29dP2BSM+ce/wT
 YAmPq3mjwra7pfBnTHd9r7b8lek1UrBsdGGe8unSG7hOeM4aPCQdE9SF6WAT1IoH
 n+Ec659TudclnopuFGzmHPYR/VH0VSjie95yE5dJ7rGyFKDVGlIZiAqIpZp0dAWw
 Qcf54Spm2Q/ia8VViQ1GKKOdAsJL8XPyzYZMJqUWU2IJGv5djicLXr3WVEt01zkN
 HYPm38HHt3RW/h7IEuo9yGdezI9H70gy3VgP9c4OcjMRivl33qMM+1A1PBiJxhcI
 C/RQOtXG8Vwn6S2dSA2lqW40nvGwaVapaRDCemHr6npux5tsjv0U/lZVG5UJE6qp
 81DFLb8tlxxjAwBPK8mzTqFHOZbC1MqRcaE99FDB4FCiD5w/T3l6DEtTW9Iwq9sT
 6kGeyPD1FW7Y9hLv72nZgPt9jiIlua28II89TdUMlJlVv7Mi7hfE5rqQjEqkVTe6
 6DirpkvQGW58uH9daaaDrH4jcTIloDHd2w+ujXtp9Fzp7o8i+Q46J3NoQLBdWl0b
 D17MB+VA6064feoYHwNhWOrgx9PI9DpRrIAipzwbsLdwUqrNbon3AUiPhCfaJ+UF
 nomitInR7kh97hxD4GhN5ZZ0G1DaLw0S1Esa93YqzLP+mOWmq6RQEo2XAII2hjoT
 1+0hBlbT88a0R9N8AP15
 =XpIC
 -----END PGP SIGNATURE-----

Merge tag 'stm32-dt-for-v5.10-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32 into arm/fixes

STM32 DT fixes for v5.10, round 1

Highlights:
-----------

 -On STM32MP157 DK & ED boards: Add Vin supply description to avoid
  random kernel crash due to vref_ddr regulator issue.

* tag 'stm32-dt-for-v5.10-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32:
  ARM: dts: stm32: Describe Vin power supply on stm32mp157c-edx board
  ARM: dts: stm32: Describe Vin power supply on stm32mp15xx-dkx board

Link: https://lore.kernel.org/r/4ac236b3-b980-f653-f644-53e586570724@st.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-10-28 17:09:56 +01:00
Ard Biesheuvel
aaac373317 ARM: kvm: replace open coded VA->PA calculations with adr_l call
Replace the open coded calculations of the actual physical address
of the KVM stub vector table with a single adr_l invocation.

Reviewed-by: Nicolas Pitre <nico@fluxnic.net>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
2020-10-28 17:05:40 +01:00
Ard Biesheuvel
3bcf906b19 ARM: head.S: use PC relative insn sequence to calculate PHYS_OFFSET
Replace the open coded arithmetic with a simple adr_l/sub pair. This
removes some open coded arithmetic involving virtual addresses, avoids
literal pools on v7+, and slightly reduces the footprint of the code.

Reviewed-by: Nicolas Pitre <nico@fluxnic.net>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
2020-10-28 17:05:40 +01:00
Ard Biesheuvel
d74d2b2250 ARM: sleep.S: use PC-relative insn sequence for sleep_save_sp/mpidr_hash
Replace the open coded PC relative offset calculations with adr_l and
ldr_l invocations. This removes some open coded PC relative arithmetic,
avoids literal pools on v7+, and slightly reduces the footprint of the
code. Note that ALT_SMP() expects a single instruction so move the macro
invocation after it.

Reviewed-by: Nicolas Pitre <nico@fluxnic.net>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
2020-10-28 17:05:40 +01:00
Ard Biesheuvel
59d2f2827d ARM: head: use PC-relative insn sequence for __smp_alt
Now that calling __do_fixup_smp_on_up() can be done without passing
the physical-to-virtual offset in r3, we can replace the open coded
PC relative offset calculations with a pair of adr_l invocations. This
removes some open coded arithmetic involving virtual addresses, avoids
literal pools on v7+, and slightly reduces the footprint of the code.

Reviewed-by: Nicolas Pitre <nico@fluxnic.net>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
2020-10-28 17:05:40 +01:00
Ard Biesheuvel
450abd38fe ARM: kernel: use relative references for UP/SMP alternatives
Currently, the .alt.smp.init section contains the virtual addresses
of the patch sites. Since patching may occur both before and after
switching into virtual mode, this requires some manual handling of
the address when applying the UP alternative.

Let's simplify this by using relative offsets in the table entries:
this allows us to simply add each entry's address to its contents,
regardless of whether we are running in virtual mode or not.

Reviewed-by: Nicolas Pitre <nico@fluxnic.net>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
2020-10-28 17:05:39 +01:00
Ard Biesheuvel
91580f0dbf ARM: head.S: use PC-relative insn sequence for secondary_data
Replace the open coded PC relative offset calculations with adr_l
and ldr_l invocations. This removes some open coded arithmetic
involving virtual addresses, avoids literal pools on v7+, and slightly
reduces the footprint of the code.

Note that it also removes a stale comment about the contents of r6.

Reviewed-by: Nicolas Pitre <nico@fluxnic.net>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
2020-10-28 17:05:39 +01:00
Ard Biesheuvel
172c34c9ff ARM: head-common.S: use PC-relative insn sequence for idmap creation
Replace the open coded PC relative offset calculations involving
__turn_mmu_on and __turn_mmu_on_end with a pair of adr_l invocations.
This removes some open coded arithmetic involving virtual addresses,
avoids literal pools on v7+, and slightly reduces the footprint of the
code.

Reviewed-by: Nicolas Pitre <nico@fluxnic.net>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
2020-10-28 17:05:39 +01:00
Ard Biesheuvel
62c4a2e202 ARM: head-common.S: use PC-relative insn sequence for __proc_info
Replace the open coded PC relative offset calculations with a pair of
adr_l invocations. This removes some open coded arithmetic involving
virtual addresses, avoids literal pools on v7+, and slightly reduces
the footprint of the code.

Reviewed-by: Nicolas Pitre <nico@fluxnic.net>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
2020-10-28 17:05:39 +01:00
Ard Biesheuvel
67e3f828bd ARM: efistub: replace adrl pseudo-op with adr_l macro invocation
The ARM 'adrl' pseudo instruction is a bit problematic, as it does not
exist in Thumb mode, and it is not implemented by Clang either. Since
the Thumb variant has a slightly bigger range, it is sometimes necessary
to emit the 'adrl' variant in ARM mode where Thumb mode can use adr just
fine. However, that still leaves the Clang issue, which does not appear
to be supporting this any time soon.

So let's switch to the adr_l macro, which works for both ARM and Thumb,
and has unlimited range.

Reviewed-by: Nicolas Pitre <nico@fluxnic.net>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
2020-10-28 17:05:39 +01:00
Ard Biesheuvel
9443076e43 ARM: p2v: reduce p2v alignment requirement to 2 MiB
The ARM kernel's linear map starts at PAGE_OFFSET, which maps to a
physical address (PHYS_OFFSET) that is platform specific, and is
discovered at boot. Since we don't want to slow down translations
between physical and virtual addresses by keeping the offset in a
variable in memory, we implement this by patching the code performing
the translation, and putting the offset between PAGE_OFFSET and the
start of physical RAM directly into the instruction opcodes.

As we only patch up to 8 bits of offset, yielding 4 GiB >> 8 == 16 MiB
of granularity, we have to round up PHYS_OFFSET to the next multiple if
the start of physical RAM is not a multiple of 16 MiB. This wastes some
physical RAM, since the memory that was skipped will now live below
PAGE_OFFSET, making it inaccessible to the kernel.

We can improve this by changing the patchable sequences and the patching
logic to carry more bits of offset: 11 bits gives us 4 GiB >> 11 == 2 MiB
of granularity, and so we will never waste more than that amount by
rounding up the physical start of DRAM to the next multiple of 2 MiB.
(Note that 2 MiB granularity guarantees that the linear mapping can be
created efficiently, whereas less than 2 MiB may result in the linear
mapping needing another level of page tables)

This helps Zhen Lei's scenario, where the start of DRAM is known to be
occupied. It also helps EFI boot, which relies on the firmware's page
allocator to allocate space for the decompressed kernel as low as
possible. And if the KASLR patches ever land for 32-bit, it will give
us 3 more bits of randomization of the placement of the kernel inside
the linear region.

For the ARM code path, it simply comes down to using two add/sub
instructions instead of one for the carryless version, and patching
each of them with the correct immediate depending on the rotation
field. For the LPAE calculation, which has to deal with a carry, it
patches the MOVW instruction with up to 12 bits of offset (but we only
need 11 bits anyway)

For the Thumb2 code path, patching more than 11 bits of displacement
would be somewhat cumbersome, but the 11 bits we need fit nicely into
the second word of the u16[2] opcode, so we simply update the immediate
assignment and the left shift to create an addend of the right magnitude.

Suggested-by: Zhen Lei <thunder.leizhen@huawei.com>
Acked-by: Nicolas Pitre <nico@fluxnic.net>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
2020-10-28 16:59:43 +01:00
Ard Biesheuvel
e8e00f5afb ARM: p2v: switch to MOVW for Thumb2 and ARM/LPAE
In preparation for reducing the phys-to-virt minimum relative alignment
from 16 MiB to 2 MiB, switch to patchable sequences involving MOVW
instructions that can more easily be manipulated to carry a 12-bit
immediate. Note that the non-LPAE ARM sequence is not updated: MOVW
may not be supported on non-LPAE platforms, and the sequence itself
can be updated more easily to apply the 12 bits of displacement.

For Thumb2, which has many more versions of opcodes, switch to a sequence
that can be patched by the same patching code for both versions. Note
that the Thumb2 opcodes for MOVW and MVN are unambiguous, and have no
rotation bits in their immediate fields, so there is no need to use
placeholder constants in the asm blocks.

While at it, drop the 'volatile' qualifiers from the asm blocks: the
code does not have any side effects that are invisible to the compiler,
so it is free to omit these sequences if the outputs are not used.

Suggested-by: Russell King <linux@armlinux.org.uk>
Acked-by: Nicolas Pitre <nico@fluxnic.net>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
2020-10-28 16:59:43 +01:00
Ard Biesheuvel
0e3db6c9d7 ARM: p2v: simplify __fixup_pv_table()
Declutter the code in __fixup_pv_table() by using the new adr_l/str_l
macros to take PC relative references to external symbols, and by
using the value of PHYS_OFFSET passed in r8 to calculate the p2v
offset.

Acked-by: Nicolas Pitre <nico@fluxnic.net>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
2020-10-28 16:59:43 +01:00
Ard Biesheuvel
2730e8eaa4 ARM: p2v: use relative references in patch site arrays
Free up a register in the p2v patching code by switching to relative
references, which don't require keeping the phys-to-virt displacement
live in a register.

Acked-by: Nicolas Pitre <nico@fluxnic.net>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
2020-10-28 16:59:43 +01:00
Ard Biesheuvel
0869f3b9da ARM: p2v: drop redundant 'type' argument from __pv_stub
We always pass the same value for 'type' so pull it into the __pv_stub
macro itself.

Acked-by: Nicolas Pitre <nico@fluxnic.net>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
2020-10-28 16:59:43 +01:00
Ard Biesheuvel
7a94849e81 ARM: p2v: factor out BE8 handling
The big and little endian versions of the ARM p2v patching routine only
differ in the values of the constants, so factor those out into macros
so that we only have one version of the logic sequence to maintain.

Acked-by: Nicolas Pitre <nico@fluxnic.net>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
2020-10-28 16:59:43 +01:00
Ard Biesheuvel
4b16421c3e ARM: p2v: factor out shared loop processing
The ARM and Thumb2 versions of the p2v patching loop have some overlap
at the end of the loop, so factor that out. As numeric labels are not
required to be unique, and may therefore be ambiguous, use named local
labels for the start and end of the loop instead.

Acked-by: Nicolas Pitre <nico@fluxnic.net>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
2020-10-28 16:59:43 +01:00
Ard Biesheuvel
eae78e1a97 ARM: p2v: move patching code to separate assembler source file
Move the phys2virt patching code into a separate .S file before doing
some work on it.

Suggested-by: Nicolas Pitre <nico@fluxnic.net>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
2020-10-28 16:59:43 +01:00
Ard Biesheuvel
22f2d23098 ARM: module: add support for place relative relocations
When using the new adr_l/ldr_l/str_l macros to refer to external symbols
from modules, the linker may emit place relative ELF relocations that
need to be fixed up by the module loader. So add support for these.

Reviewed-by: Nicolas Pitre <nico@fluxnic.net>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
2020-10-28 16:59:43 +01:00
Ard Biesheuvel
0b1674638a ARM: assembler: introduce adr_l, ldr_l and str_l macros
Like arm64, ARM supports position independent code sequences that
produce symbol references with a greater reach than the ordinary
adr/ldr instructions. Since on ARM, the adrl pseudo-instruction is
only supported in ARM mode (and not at all when using Clang), having
a adr_l macro like we do on arm64 is useful, and increases symmetry
as well.

Currently, we use open coded instruction sequences involving literals
and arithmetic operations. Instead, we can use movw/movt pairs on v7
CPUs, circumventing the D-cache entirely.

E.g., on v7+ CPUs, we can emit a PC-relative reference as follows:

       movw         <reg>, #:lower16:<sym> - (1f + 8)
       movt         <reg>, #:upper16:<sym> - (1f + 8)
  1:   add          <reg>, <reg>, pc

For older CPUs, we can emit the literal into a subsection, allowing it
to be emitted out of line while retaining the ability to perform
arithmetic on label offsets.

E.g., on pre-v7 CPUs, we can emit a PC-relative reference as follows:

       ldr          <reg>, 2f
  1:   add          <reg>, <reg>, pc
       .subsection  1
  2:   .long        <sym> - (1b + 8)
       .previous

This is allowed by the assembler because, unlike ordinary sections,
subsections are combined into a single section in the object file, and
so the label references are not true cross-section references that are
visible as relocations. (Subsections have been available in binutils
since 2004 at least, so they should not cause any issues with older
toolchains.)

So use the above to implement the macros mov_l, adr_l, ldr_l and str_l,
all of which will use movw/movt pairs on v7 and later CPUs, and use
PC-relative literals otherwise.

Reviewed-by: Nicolas Pitre <nico@fluxnic.net>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
2020-10-28 16:59:43 +01:00
Ard Biesheuvel
4e79f0211b ARM: p2v: fix handling of LPAE translation in BE mode
When running in BE mode on LPAE hardware with a PA-to-VA translation
that exceeds 4 GB, we patch bits 39:32 of the offset into the wrong
byte of the opcode. So fix that, by rotating the offset in r0 to the
right by 8 bits, which will put the 8-bit immediate in bits 31:24.

Note that this will also move bit #22 in its correct place when
applying the rotation to the constant #0x400000.

Fixes: d9a790df8e ("ARM: 7883/1: fix mov to mvn conversion in case of 64 bit phys_addr_t and BE")
Acked-by: Nicolas Pitre <nico@fluxnic.net>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
2020-10-28 16:59:43 +01:00
Ard Biesheuvel
fc2933c133 ARM: 9020/1: mm: use correct section size macro to describe the FDT virtual address
Commit

  149a3ffe62b9dbc3 ("9012/1: move device tree mapping out of linear region")

created a permanent, read-only section mapping of the device tree blob
provided by the firmware, and added a set of macros to get the base and
size of the virtually mapped FDT based on the physical address. However,
while the mapping code uses the SECTION_SIZE macro correctly, the macros
use PMD_SIZE instead, which means something entirely different on ARM when
using short descriptors, and is therefore not the right quantity to use
here. So replace PMD_SIZE with SECTION_SIZE. While at it, change the names
of the macro and its parameter to clarify that it returns the virtual
address of the start of the FDT, based on the physical address in memory.

Tested-by: Joel Stanley <joel@jms.id.au>
Tested-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2020-10-28 14:59:30 +00:00
Pascal Paillet
728a7e225a ARM: dts: stm32: Describe Vin power supply on stm32mp157c-edx board
Add description for Vin power supply and for peripherals that
are supplied by Vin.

Signed-off-by: Pascal Paillet <p.paillet@st.com>
Signed-off-by: Alexandre Torgue <alexandre.torgue@st.com>
2020-10-28 15:08:24 +01:00
Pascal Paillet
18e09253ac ARM: dts: stm32: Describe Vin power supply on stm32mp15xx-dkx board
Add description for Vin power supply and for peripherals that
are supplied by Vin.

Signed-off-by: Pascal Paillet <p.paillet@st.com>
Signed-off-by: Alexandre Torgue <alexandre.torgue@st.com>
2020-10-28 15:06:49 +01:00
Stefan Riedmueller
0d31d5a96b ARM: dts: imx6: phytec: Add eeprom pagesize
Defining the EEPROM pagesize can increase the write speed significantly.
Set it to the pagesize stated in the EEPROM's datasheet for
phyCORE-i.MX 6UL, phyCORE-i.MX 6 and phyFLEX-i.MX 6.

Signed-off-by: Stefan Riedmueller <s.riedmueller@phytec.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-10-28 16:50:16 +08:00
Stefan Riedmueller
f0e24ec590 ARM: dts: imx6: phytec: Set correct eeprom compatible
Set the correct EEPROM compatible for phyCORE-i.MX 6 and phyFLEX-i.MX 6,
as stated in the device tree bindings.

Signed-off-by: Stefan Riedmueller <s.riedmueller@phytec.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-10-28 16:50:06 +08:00
Stefan Riedmueller
a8d54a39e9 ARM: dts: imx6ul: segin: Fix stmpe touchscreen subnode name
The touchscreen subnode name needs to be stmpe_touchscreen as mentioned
in the dt-bindings.

Signed-off-by: Stefan Riedmueller <s.riedmueller@phytec.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-10-28 16:49:56 +08:00
Matthias Schiffer
42ab1ba887 ARM: dts: imx7-mba7: set dr_mode to otg on usbotg1
USBOTG1 has a Micro-USB port that can be used in host mode (using an OTG
cable) or device mode.

Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-10-28 16:37:03 +08:00
Matthias Schiffer
b8a4f64a32 ARM: dts: imx7-mba7: specify USB over-current polarity
Add over-current-active-low to usbotg1.

Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-10-28 16:37:03 +08:00
Matthias Schiffer
9af6702fa1 ARM: dts: imx7-mba7: enable RS485 on UART7
The UART7 interface is connected to a full-duplex RS485 transceiver.

Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-10-28 16:37:03 +08:00
Matthias Schiffer
0d5e50cf30 ARM: dts: imx7-mba7: add audio support
The MBa7x is equipped with a TI TLV320AIC3204 audio codec.

Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-10-28 16:37:03 +08:00
Matthias Schiffer
ecb5ba9f11 ARM: dts: imx7-mba7: update MMC aliases
Together with the recently merged support for alias-based MMC host
numbering, this makes the MMC devices names match what the bootloader
expects.

Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-10-28 16:37:03 +08:00
Matthias Schiffer
d50765205d ARM: dts: imx7-mba7: configure watchdog
The external watchdog reset is necessary, as the internal reset is
unreliable on i.MX7.

Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-10-28 16:37:03 +08:00
Matthias Schiffer
e70f9b9c25 ARM: dts: imx7-mba7: disable ethernet PHY clock outputs
The clock outputs are not connected. Disable them to improve EMI
behaviour.

Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-10-28 16:37:03 +08:00
Matthias Schiffer
2b01d7a157 ARM: dts: imx7-mba7: remove unsupported PHY LED setup
These properties were never supported by the DP83867, and a patch
implementing them was rejected in favor of a different solution. Remove
them.

Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-10-28 16:37:03 +08:00
Matthias Schiffer
f7defed53e ARM: dts: imx7-mba7: drop incorrect num-chipselects property
This property was never set correctly; it should have been num-cs. As
num-cs support is being removed as well, simply drop it.

Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-10-28 16:37:03 +08:00
Matthias Schiffer
68e680c5fa ARM: dts: imx7-mba7: update compatible strings
Include the SoM compatible string.

Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-10-28 16:37:03 +08:00
Jagan Teki
faa3b6dfd2 ARM: dts: imx6q-icore-ofcap10: Use 10.1" Ampire panel compatible
Adding display timings directly on device tree files make it difficult
to maintain as a same copy of timings may exist on different files or
panel-simple driver.

We have a panel-simple driver for this particular usage so supporting
on this driver will help to use the same timings on any device tree
files if the board mounted on a similar vendor display.

Engicam C.TOUCH OF 10.1" LCD board uses Ampire 10.1" TFT LCD and
it has supported by panel-simple already, so simply use that binding.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2020-10-28 15:30:34 +08:00
George Liu
9e3ed6fa02 ARM: dts: Fix label address for 64MiB OpenBMC flash layout
Signed-off-by: George Liu <liuxiwei@inspur.com>
Reviewed-by: John Wang <wangzhiqiang.bj@bytedance.com>
Acked-by: Andrew Jeffery <andrew@aj.id.au>
Link: https://lore.kernel.org/r/20201022081002.2665132-1-liuxiwei@inspur.com
Signed-off-by: Joel Stanley <joel@jms.id.au>
2020-10-28 16:35:31 +10:30
John Wang
abe75295ba ARM: dts: aspeed: g220a: Add some gpios
Add GPIO STRAP_BMC_BATTERY_GPIOS5, which is used for battery
adc sensor.

Change the INTRUDER_N to CHASSIS_INTRUSION, to make it
more meaningful.

Signed-off-by: John Wang <wangzhiqiang.bj@bytedance.com>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Link: https://lore.kernel.org/r/20201014083057.1026-1-wangzhiqiang.bj@bytedance.com
Signed-off-by: Joel Stanley <joel@jms.id.au>
2020-10-28 16:35:26 +10:30
Lotus Xu
b2826bdf91 ARM: dts: aspeed: Add Bytedance g220a BMC machine
The g220a is a server platform with an ASPEED AST2500 BMC.

Signed-off-by: Lotus Xu <xuxiaohan@bytedance.com>
Signed-off-by: John Wang <wangzhiqiang.bj@bytedance.com>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Link: https://lore.kernel.org/r/20200929063955.1206-2-wangzhiqiang.bj@bytedance.com
Signed-off-by: Joel Stanley <joel@jms.id.au>
2020-10-28 16:34:21 +10:30
John Wang
e81059a5e4 ARM: dts: Add 64MiB OpenBMC flash layout
This is an alternate layout used by OpenBMC systems

The division of space is as follows:

 u-boot + env: 0.5MB
 kernel/FIT: 5MB
 rofs: 42.5MB
 rwfs: 16MB

Signed-off-by: John Wang <wangzhiqiang.bj@bytedance.com>
Link: https://lore.kernel.org/r/20200929063955.1206-1-wangzhiqiang.bj@bytedance.com
Signed-off-by: Joel Stanley <joel@jms.id.au>
2020-10-28 16:34:18 +10:30
Joel Stanley
9e1cc96797 ARM: dts: aspeed: s2600wf: Fix VGA memory region location
The VGA memory region is always from the top of RAM. On this board, that
is 0x80000000 + 0x20000000 - 0x01000000 = 0x9f000000.

This was not an issue in practice as the region is "reserved" by the
vendor's u-boot reducing the amount of available RAM, and the only user
is the host VGA device poking at RAM over PCIe. That is, nothing from
the ARM touches it.

It is worth fixing as developers copy existing device trees when
building their machines, and the XDMA driver does use the memory region
from the ARM side.

Fixes: c4043ecac3 ("ARM: dts: aspeed: Add S2600WF BMC Machine")
Reported-by: John Wang <wangzhiqiang.bj@bytedance.com>
Link: https://lore.kernel.org/r/20200922064234.163799-1-joel@jms.id.au
Signed-off-by: Joel Stanley <joel@jms.id.au>
2020-10-28 16:23:11 +10:30
Konstantin Aladyshev
e3b123542c ARM: dts: aspeed: amd-ethanolx: Update KCS nodes to use v2 binding
KCS nodes compatible property was changed in the dtsi to use v2 binding
before ethanolx was merged, making the ethanolx device tree incorrect.
Update it to use the new binding so the driver loads.

Fixes: fa4c8ec6fe ("ARM: dts: aspeed: Change KCS nodes to v2 binding")
Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Link: https://lore.kernel.org/r/20201027123722.2935-1-aladyshev22@gmail.com
Signed-off-by: Joel Stanley <joel@jms.id.au>
2020-10-28 16:23:00 +10:30