Commit Graph

16410 Commits

Author SHA1 Message Date
Arnd Bergmann
a36c9ff6a2 Merge branch 'dt-for-v5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/iwamatsu/linux-visconti into arm/dt
* 'dt-for-v5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/iwamatsu/linux-visconti:
  arm: dts: visconti: Add DT support for Toshiba Visconti5 GPIO driver

Link: https://lore.kernel.org/r/20210210173210.nnytfyrkkj6ylrtb@toshiba.co.jp
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-02-11 12:16:11 +01:00
David S. Miller
dc9d87581d Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-02-10 13:30:12 -08:00
Nobuhiro Iwamatsu
0109a17564 arm: dts: visconti: Add DT support for Toshiba Visconti5 GPIO driver
Add the GPIO node in Toshiba Visconti5 SoC-specific DT file.
And enable the GPIO node in TMPV7708 RM main board's board-specific DT file.

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp>
Reviewed-by: Punit Agrawal <punit1.agrawal@toshiba.co.jp>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
2021-02-11 02:01:16 +09:00
Ard Biesheuvel
fc754c024a crypto: arm64/crc-t10dif - move NEON yield to C code
Instead of yielding from the bowels of the asm routine if a reschedule
is needed, divide up the input into 4 KB chunks in the C glue. This
simplifies the code substantially, and avoids scheduling out the task
with the asm routine on the call stack, which is undesirable from a
CFI/instrumentation point of view.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2021-02-10 17:55:58 +11:00
Ard Biesheuvel
f0070f4a79 crypto: arm64/aes-ce-mac - simplify NEON yield
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2021-02-10 17:55:58 +11:00
Ard Biesheuvel
f5943ef456 crypto: arm64/aes-neonbs - remove NEON yield calls
There is no need for elaborate yield handling in the bit-sliced NEON
implementation of AES, given that skciphers are naturally bounded by the
size of the chunks returned by the skcipher_walk API. So remove the
yield calls from the asm code.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2021-02-10 17:55:58 +11:00
Ard Biesheuvel
5f6cb2e617 crypto: arm64/sha512-ce - simplify NEON yield
Instead of calling into kernel_neon_end() and kernel_neon_begin() (and
potentially into schedule()) from the assembler code when running in
task mode and a reschedule is pending, perform only the preempt count
check in assembler, but simply return early in this case, and let the C
code deal with the consequences.

This reverts commit 6caf7adc5e.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2021-02-10 17:55:58 +11:00
Ard Biesheuvel
9ecc9f31d0 crypto: arm64/sha3-ce - simplify NEON yield
Instead of calling into kernel_neon_end() and kernel_neon_begin() (and
potentially into schedule()) from the assembler code when running in
task mode and a reschedule is pending, perform only the preempt count
check in assembler, but simply return early in this case, and let the C
code deal with the consequences.

This reverts commit 7edc86cb1c.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2021-02-10 17:55:58 +11:00
Ard Biesheuvel
b2eadbf40e crypto: arm64/sha2-ce - simplify NEON yield
Instead of calling into kernel_neon_end() and kernel_neon_begin() (and
potentially into schedule()) from the assembler code when running in
task mode and a reschedule is pending, perform only the preempt count
check in assembler, but simply return early in this case, and let the C
code deal with the consequences.

This reverts commit d82f37ab5e.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2021-02-10 17:55:57 +11:00
Ard Biesheuvel
5a69e1b73d crypto: arm64/sha1-ce - simplify NEON yield
Instead of calling into kernel_neon_end() and kernel_neon_begin() (and
potentially into schedule()) from the assembler code when running in
task mode and a reschedule is pending, perform only the preempt count
check in assembler, but simply return early in this case, and let the C
code deal with the consequences.

This reverts commit 7df8d16475.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2021-02-10 17:55:57 +11:00
Herbert Xu
dc9ab9c69c Merge git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux for-next/crypto
Pull change from arm64 tree that's needed for crypto arm changes.
2021-02-10 17:20:35 +11:00
Arnd Bergmann
21e4675d93 arm64: soc: ZynqMP SoC changes for v5.12
- Enable clock driver for ZynqMP in defconfig
 -----BEGIN PGP SIGNATURE-----
 
 iF0EABECAB0WIQQbPNTMvXmYlBPRwx7KSWXLKUoMIQUCYBqmugAKCRDKSWXLKUoM
 IYTKAJ4sM1dHR8WK2GOA7h6XfUHidAMg0QCfUQDDW74QBqpxaqsmwZ4KDgCYRMw=
 =Y8Hk
 -----END PGP SIGNATURE-----

Merge tag 'zynqmp-soc-for-v5.12' of https://github.com/Xilinx/linux-xlnx into arm/defconfig

arm64: soc: ZynqMP SoC changes for v5.12

- Enable clock driver for ZynqMP in defconfig

* tag 'zynqmp-soc-for-v5.12' of https://github.com/Xilinx/linux-xlnx:
  arm64: defconfig: enable clock driver for ZynqMP platforms

Link: https://lore.kernel.org/r/2b0f6314-13ba-375a-9231-925b0a07be82@monstr.eu
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-02-10 00:08:06 +01:00
Arnd Bergmann
889231c6c8 New boards: Radxa Rock Pi E, NanoPi M4B
More fixed indices for mmc nodes; removal of obsolete amba bus nodes;
 nand-flash-controller nodes for px30 and rk3308; rk3399 pcie ranges fix;
 board-level fixes for Helios64, NanoPi and Rock960; more sound support
 for rock64 and rockpro64 and cleanups to make dt-bindings happier.
 -----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAmAd2RcQHGhlaWtvQHNu
 dGVjaC5kZQAKCRDzpnnJnNEdge1kCAC0ospmQfbTke3+mJ+P2pTNakz6l30CDbzm
 EDNsE2t9g4PrMt4FgsdT1kPa3J5lFLvzNvPSIbIIMT4a5D/8DDyGY9WwJTu+a5EC
 YNcU5gcU2ugxCcFhy2FXHxYVe1MAsczF5jyiMcE+ONsCX0s18k1zzK22K/Xfd71g
 sv6G8NcuzcF5GxFbAPZu73laMGOEq6INLBKTvumB3GgrvEZOOstalKNwJPRuanZd
 HydXJf8H9zXmxk096brRl7LmksPi/zh6Tykhb53//jsf0Dffh9fd7fNnKkSe91nU
 M5yzALy9ln4saFu6TgNIVOPh3fbQcyfU9ItvhtgeDy/QDvnmOjQm
 =sbHZ
 -----END PGP SIGNATURE-----

Merge tag 'v5.12-rockchip-dts64-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into arm/dt

New boards: Radxa Rock Pi E, NanoPi M4B
More fixed indices for mmc nodes; removal of obsolete amba bus nodes;
nand-flash-controller nodes for px30 and rk3308; rk3399 pcie ranges fix;
board-level fixes for Helios64, NanoPi and Rock960; more sound support
for rock64 and rockpro64 and cleanups to make dt-bindings happier.

* tag 'v5.12-rockchip-dts64-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: (24 commits)
  arm64: dts: rockchip: more user friendly name of sound nodes
  arm64: dts: rockchip: rename pinctrl nodename to gmac2io for nanopi-r2s board
  arm64: dts: rockchip: assign a fixed index to mmc devices on rk3368 boards
  arm64: dts: rockchip: assign a fixed index to mmc devices on rk3308 boards
  arm64: dts: rockchip: assign a fixed index to mmc devices on px30 boards
  arm64: dts: rockchip: cleanup cpu_thermal node of rk3399-rock960.dts
  arm64: dts: rockchip: Remove bogus "amba" bus nodes
  arm64: dts: rockchip: Light "sys" LED on NanoPi R2S
  arm64: dts: rockchip: fix ranges property format for rk3399 pcie node
  arm64: dts: rockchip: Rely on SoC external pull up on pmic-int-l on Helios64
  arm64: dts: rockchip: Add NanoPi M4B board
  arm64: dts: rockchip: Move ep-gpios property to nanopc-t4 from nanopi4
  arm64: dts: rockchip: Add NFC node for PX30 SoC
  arm64: dts: rockchip: Add NFC node for RK3308 SoC
  arm64: dts: rockchip: rk3328: Add Radxa ROCK Pi E
  dt-bindings: arm: rockchip: Add Radxa ROCK Pi E
  arm64: dts: rockchip: rk3328: Add clock_in_out property to gmac2phy node
  arm64: dts: rockchip: rename thermal subnodes for rk3399
  arm64: dts: rockchip: rename thermal subnodes for rk3368
  arm64: dts: rockchip: add SPDIF node for rk3399-rockpro64
  ...

Link: https://lore.kernel.org/r/12699743.uLZWGnKmhe@phil
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-02-09 23:30:19 +01:00
Arnd Bergmann
60c9579a01 i.MX arm64 device tree update for 5.12:
- New board support: Beacon i.MX8M Nano development kit, i.MX8MM Nitrogen,
   Gateworks i.MX 8M Mini Development Kits, phyBOARD-Pollux-i.MX8MP,
   Librem5 Evergreen.
 - Update imx8mm-beacon to drop unused clock-names reference, and add
   more pinctrl states for USDHC1.
 - Support soc unique ID read with NVMEM on i.MX8M SoCs.
 - A series from Biwen Li to add interrupt line for RTC device on
   Layerscape SoCs.
 - A couple of patch sets to update imx8mq-librem5 support around
   regulators, RTC, charger, display, etc.
 - A series from Joakim Zhang to improve i.MX8M FEC device configuration.
 - A series from Kuldeep Singh to enable flexcan support for LX2160A and
   LS1028A.
 - A series from Lucas Stach to update ZII devices around audio, USB, I2C
   pin configuration and UCS1002 ALERT.
 - A series from Michael Walle to update Layerscape device trees to use
   constants in the clockgen phandle, add sl28 variant 1 and enable SATA.
 - A few patches from Russell King to improve support for a couple of
   LX2160A boards.
 - A series from Shengjiu Wang to add more audio support for imx8mn-evk.
 - Other small and random updates.
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmAboLUUHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM7uogf8CiWlrW3nvc/IQczBsgqr0QpFFVY/
 z5Le9xqsIa7ZEdA2tVryi8IyH4BSrpwPANk2aGgb2L9Ktjs8N8KC+RnQ2OZrIyDk
 m3dY0lnAYcfYFVUyJDVQHz4AJLHHfbMRjT25NRrxrUVSXxaPbaFlLlk1bT+TCTNx
 lPavxy+ch60JYET85ZYgM9A1mqKfhAxNMr7JNJODWjoQTNDQy88K2zymVYYaZZ0p
 2xMJ7dnuNleAdU3ndaG3K7G9hv0SlfAlR+TdKzgYTE7S0e4W6phwH37Nu3XnT3SY
 ToBqv/qSx1Hv1LAuLTMAWIOZiKoOVq1kqdgMR7d1+gsKi6QlIPGC92BvFw==
 =ajVN
 -----END PGP SIGNATURE-----

Merge tag 'imx-dt64-5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/dt

i.MX arm64 device tree update for 5.12:

- New board support: Beacon i.MX8M Nano development kit, i.MX8MM Nitrogen,
  Gateworks i.MX 8M Mini Development Kits, phyBOARD-Pollux-i.MX8MP,
  Librem5 Evergreen.
- Update imx8mm-beacon to drop unused clock-names reference, and add
  more pinctrl states for USDHC1.
- Support soc unique ID read with NVMEM on i.MX8M SoCs.
- A series from Biwen Li to add interrupt line for RTC device on
  Layerscape SoCs.
- A couple of patch sets to update imx8mq-librem5 support around
  regulators, RTC, charger, display, etc.
- A series from Joakim Zhang to improve i.MX8M FEC device configuration.
- A series from Kuldeep Singh to enable flexcan support for LX2160A and
  LS1028A.
- A series from Lucas Stach to update ZII devices around audio, USB, I2C
  pin configuration and UCS1002 ALERT.
- A series from Michael Walle to update Layerscape device trees to use
  constants in the clockgen phandle, add sl28 variant 1 and enable SATA.
- A few patches from Russell King to improve support for a couple of
  LX2160A boards.
- A series from Shengjiu Wang to add more audio support for imx8mn-evk.
- Other small and random updates.

* tag 'imx-dt64-5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (71 commits)
  arm64: dts: imx: Add i.mx8mm nitrogen basic dts support
  arm64: dts: zii-rmb3: enable RMI4 reduced reporting
  arm64: dts: zii-ultra: only trigger IRQ on falling edge ucs1002 ALERT pin
  arm64: dts: zii-ultra: limit USB ports to USB2 speed
  arm64: dts: zii-ultra: fix i2c pin configuration
  arm64: dts: zii-ultra: add sound support
  arm64: dts: ls1028a: Enable flexcan support for LS1028A-RDB/QDS
  arm64: dts: ls1028a: Update flexcan properties
  arm64: dts: lx2160a: Add flexcan support
  arm64: dts: fsl-ls1012a-frdm: add spi-uart device
  arm64: dts: fsl-ls1012a-rdb: add i2c devices
  arm64: dts: imx8mn-beacon-som: Enable QSPI on SOM
  arm64: dts: imx8mn: Add fspi node
  arm64: dts: Add Librem5 Evergreen
  arm64: dts: imx8mq-librem5: set regulators boot-on
  arm64: dts: imx8mq-librem5: enable the LCD panel
  arm64: dts: imx8mq-librem5: Add LCD_1V8 regulator
  arm64: dts: imx8mq-librem5: Add usb-c chip as supplier for the charger
  arm64: dts: imx8mq-librem5: Don't mark buck3 as always on
  arm64: dts: imx8mq-librem5: Mark charger IRQ as High-Z
  ...

Link: https://lore.kernel.org/r/20210204120150.26186-5-shawnguo@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-02-09 18:03:39 +01:00
Arnd Bergmann
48a60549d2 i.MX device tree change for 5.12:
- A series from Oleksij Rempel to add i.MX6 based Plymovent, Protonic
   and Kverneland boards.
 - A series from Andreas Kemnade to improve UART support for ebook
   readers.
 - A series from Fabio Estevam to update imx6ul-14x14-evk device tree for
   adding GPIO expander and camera support.
 - A patch set from Lucas Stach to improve ZII RDU2 support, enabling
   WDOG, tuning I2C drive-strength, RMI4 and UCS1002 ALERT.
 - Other small and random updates on various boards.
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmAbmf8UHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM5xXwgAlGHKq/arFxIkQf0xUcJzLhJ9FcDl
 CpNz77cosCXERcoVpRgTYWGk1ElnYutyNMkUzSrhXdZ80ieL5UMF/RAZYaGJO38f
 NLCN5Rv5w1i4z/J8GGhqASgZ13Pized6jcEuvd8EYwVNkRX+ErcKszkmjWit42RL
 cgRtdBhqAmEwshNjtki5PbFRj7YxWuC6Tsf4OUyXmm4S/+sqcaTvLuQWq/AeEzqJ
 5vN1H6RFqfZR+C2vumW/Yq4bkRlFQllELcoTPPrixm2ZvvZbLs7I56HZub9yom9i
 c4GCfcSgMEXjmuB3h7NmMNyPCyvSVLN3bNseYADX9PnrBzP4HFRW1IsAhg==
 =DmjV
 -----END PGP SIGNATURE-----

Merge tag 'imx-dt-5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/dt

i.MX device tree change for 5.12:

- A series from Oleksij Rempel to add i.MX6 based Plymovent, Protonic
  and Kverneland boards.
- A series from Andreas Kemnade to improve UART support for ebook
  readers.
- A series from Fabio Estevam to update imx6ul-14x14-evk device tree for
  adding GPIO expander and camera support.
- A patch set from Lucas Stach to improve ZII RDU2 support, enabling
  WDOG, tuning I2C drive-strength, RMI4 and UCS1002 ALERT.
- Other small and random updates on various boards.

* tag 'imx-dt-5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (37 commits)
  ARM: dts: imx6: RDU2: adjust audio devices nomenclature
  ARM: dts: imx6: RDU2: only trigger IRQ on falling edge ucs1002 ALERT pin
  ARM: dts: imx6: RDU2: enable RMI4 reduced reporting
  ARM: dts: imx6: RDU2: reduce i2c drive-strength
  ARM: dts: imx6: rdu2: enable WDOG1
  ARM: dts: imx6-sr-som: increase at8035 PHY gigabit Tw parameter
  ARM: dts: imx6: add wakeup support via magic packet
  firmware: imx: select SOC_BUS to fix firmware build
  arm64: dts: imx8mp: Correct the gpio ranges of gpio3
  ARM: dts: imx6qdl-sr-som: fix some cubox-i platforms
  ARM: dts: imx: e60k02: add second uart
  ARM: dts: imx6sl-tolino-shine3: correct console uart pinmux
  ARM: dts: imx6sl-tolino-shine2hd: add second uart
  ARM: dts: imx6sl-tolino-shine2hd: correct console uart pinmux
  ARM: imx: build suspend-imx6.S with arm instruction set
  ARM: dts: imx7d-flex-concentrator: fix pcf2127 reset
  ARM: dts: add Kverneland TGO board
  ARM: dts: add Kverneland UT1, UT1Q and UT1P
  ARM: dts: imx6ul-14x14-evk: Add camera support
  ARM: dts: imx6ul-14x14-evk: Describe the KSZ8081 reset
  ...

Link: https://lore.kernel.org/r/20210204120150.26186-4-shawnguo@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-02-09 18:01:42 +01:00
Arnd Bergmann
8a2b1ec170 Qualcomm ARM64 DT updates for 5.12
This introduces initial support for the new SM8350 platform, aka
 Snapdragon 888, and the MTP device for this.
 
 It adds PCIe, audio, display, GPU, HDMI watchdog, LLCC and PMIC ADC
 support to the SM8250 platform and RB5 in particular, as well as improve
 the definition of CPUs, thermal zones and fixes a few smaller issues.
 
 It introduces new Devicetree files for the Alcatel Idol 3, ASUS Zenfone
 2 Laser and BQ Aquaris X5, based on the MSM8916 platform.
 
 It contains an overhaul of the existing MSM8992 and MSM8994 platform
 files and introduces RPM power domains and SMP2P nodes. It adds
 touchscreen, additional regulators, microSD card support and adds the
 Sony Mobile Ivy, Karin, Suzuran and Satsuki devices. It joins the common
 parts of the Lumia 950 and 950XL and extend these with support for
 sensors, NFC, bluetooth, audio, microSD and Type-C mux pins.
 
 It introduces support for the OnePlus6 and 6t, adds the missing higher
 frequences for the SDM850 laptops, adds CPU cluster idle support on
 SM8150  and a few tweaks to the SC7180 platform.
 -----BEGIN PGP SIGNATURE-----
 
 iQJPBAABCAA5FiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmAbgxEbHGJqb3JuLmFu
 ZGVyc3NvbkBsaW5hcm8ub3JnAAoJEAsfOT8Nma3FWIMP/1gLzNp/vtxtFA+7Wjud
 r6ozd10p6yRWRtw3bSpaa4kifhIY9zK/Ca45Oj+k8Mm3vIngtT6hZJ6kJmc0Y0J/
 cVKm65Th6Tn0RUTHTGhqX+2ug80RfKbr1NgPyY1n1ukH30dMJwC50qOMEwahFtyV
 IafH8j+AD1KgA/ceP1ENxtyywZGDaM5N2DAEPrzX8auTvO6VPLBrIhPMv63iupGU
 nBmExlAxYAPZXaNVG0fZUMmx6ciGqg1yBo31F5Pso5LaeFD79vg2AnRaCXs4i8ve
 mR1cM5s3TYMJpe9gJmoNBHN8ngkgbqsh+tnn2S3yQBSMT6QTdwyzvSkXpF8CNeRp
 6vXDpcJ2G1gJyxS0SmmYxKA2wTZEcpq4il/MZ2WSY8s71Z5jecSddsQdKVoYtSIg
 9W9V3aihjKX8NN+Ko2O4usuKTVmcrNHqwO5zQPQ9unxpG5FSXbRmIVAuEXJmN+3t
 doKXKdlUmvAV4tqkz39aHsRs8nGr5ZO6VEaKgB3OIgzxcd/aWL+pNTMN4QufCh9b
 umdCnWY6mtJCFcLEDjTxE3WdfzCK8Se/7E77Ohe1BS39NWB5UCw0PDfL12yOZg0q
 Spj93z2ZnzbkygkGtuKN+jxmnJ4Z6viykdcchy7c77VPvEIBfABlOc06sdAbfY6d
 GMNVvEE965FPI669C7NOd3Ly
 =ATeF
 -----END PGP SIGNATURE-----

Merge tag 'qcom-arm64-for-5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into arm/dt

Qualcomm ARM64 DT updates for 5.12

This introduces initial support for the new SM8350 platform, aka
Snapdragon 888, and the MTP device for this.

It adds PCIe, audio, display, GPU, HDMI watchdog, LLCC and PMIC ADC
support to the SM8250 platform and RB5 in particular, as well as improve
the definition of CPUs, thermal zones and fixes a few smaller issues.

It introduces new Devicetree files for the Alcatel Idol 3, ASUS Zenfone
2 Laser and BQ Aquaris X5, based on the MSM8916 platform.

It contains an overhaul of the existing MSM8992 and MSM8994 platform
files and introduces RPM power domains and SMP2P nodes. It adds
touchscreen, additional regulators, microSD card support and adds the
Sony Mobile Ivy, Karin, Suzuran and Satsuki devices. It joins the common
parts of the Lumia 950 and 950XL and extend these with support for
sensors, NFC, bluetooth, audio, microSD and Type-C mux pins.

It introduces support for the OnePlus6 and 6t, adds the missing higher
frequences for the SDM850 laptops, adds CPU cluster idle support on
SM8150  and a few tweaks to the SC7180 platform.

* tag 'qcom-arm64-for-5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (100 commits)
  arm64: dts: qcom: msm8998: Use rpmpd definitions for opp table levels
  arm64: dts: qcom: msm8996: Add missing device_type under pcie[01]
  arm64: dts: qcom: sc7180: Add support for gpu fuse
  arm64: dts: qcom: msm8998: Disable some components by default
  arm64: dts: qcom: msm8998: Add capacity-dmips-mhz to CPU cores
  arm64: dts: qcom: msm8998: Add I2C pinctrl and fix BLSP2_I2C naming
  arm64: dts: qcom: msm8998: Add DMA to I2C hosts
  arm64: dts: qcom: msm8998: Merge in msm8998-pins.dtsi to msm8998.dtsi
  arm64: dts: msm8916: Fix reserved and rfsa nodes unit address
  arm64: dts: qcom: msm8994-octagon: Add AD7147 and APDS9930 sensors
  arm64: dts: qcom: msm8994-octagon: Add TAS2553 codec
  arm64: dts: qcom: msm8994-octagon: Add sensors on blsp1_i2c5
  arm64: dts: qcom: msm8994-octagon: Add NXP NFC node
  arm64: dts: qcom: msm8994-octagon: Add FM Radio and DDR regulator nodes
  arm64: dts: qcom: msm8994-octagon: Configure PON keys
  arm64: dts: qcom: msm8994-octagon: Configure Lattice iCE40 FPGA
  arm64: dts: qcom: msm8994-octagon: Add uSD card and disable HS400 on eMMC
  arm64: dts: qcom: msm8994-octagon: Configure HD3SS460 Type-C mux pins
  arm64: dts: qcom: msm8994-octagon: Add QCA6174 bluetooth
  arm64: dts: qcom: msm8994-octagon: Configure regulators
  ...

Link: https://lore.kernel.org/r/20210204052043.388621-1-bjorn.andersson@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-02-09 17:53:44 +01:00
Arnd Bergmann
79e3faa756 arm64: dts: amlogic updates for v5.12
- new board: Hardkernel ODROID-HC4 (SoC: SM1)
 - new board: Beelink GS-King-X (SoC: S922X)
 - shorten shorten audio card names for alsa compatibility
 - misc cleanups & fixes
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEe4dGDhaSf6n1v/EMWTcYmtP7xmUFAmAhb0cACgkQWTcYmtP7
 xmUaDxAAkTEf5HKBzM84v+medj4bYnG2hf4U45gxSiOsgMNSOrRn4kywcyhNigsr
 10WTJYCHfO2JNUiFPzm4SO/44+v/N7ClWrQVhoKe70+qFI3tcNxrFCvQAaHnvSRL
 GBHvfcUAIe0ZhDJxWYjnv26PehRmEaxYlSYUIbEvvqL0/RjV2HpYwqYtXdLeS50K
 eTP4iY0IVcabscgsTBunGzC7Q0BOpN5FPR/yknnLMsXDC31WKR1xwRw6kWiyv5Zs
 p0TLOjpzqXIDxzKnbkod3bTwLLh2Qjt7yZj5Q8llJuDy5Y+rUdNyj/JndhnYtJfs
 m4H5fYAhXcbFip5v/10NVVyNwg2keNKbg2XrCD0p7aO6SY8B4a83whDfWOhaAjQt
 wsCtW8tNwruH6hJZd9nHo67H1H83Bo/ymGzUbBw7dmD8gWDwCfeACSi9ZMSSyO+T
 8EWXS4G2dQnghnLcozfMI22YpD03hzQV6n2KFaOoPPmrhkZ+o3vfsBpOcu6mxw+r
 NS3gtMBBIay6Ca8zOBmIFjvIjZBbPKihCiMz1xNFlGLea6u1ILrFa0dAVWsiF43K
 MgFtvoBvOhfg3DbIpBfYTVSg+jPLKcOUhcEfMnJ2k6cDiWjxbkq9NFWYLJXou9EQ
 twZvdDwZwLQPAUknOLgUmolqVs3zXzRopBjlpFqzXxGZ8pXl5yo=
 =Hmzm
 -----END PGP SIGNATURE-----

Merge tag 'amlogic-dt64-1' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic into arm/dt

arm64: dts: amlogic updates for v5.12
- new board: Hardkernel ODROID-HC4 (SoC: SM1)
- new board: Beelink GS-King-X (SoC: S922X)
- shorten shorten audio card names for alsa compatibility
- misc cleanups & fixes

* tag 'amlogic-dt64-1' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic:
  arm64: dts: meson: add initial device-tree for ODROID-HC4
  dt-bindings: arm: amlogic: add ODROID-HC4 bindings
  arm64: dts: meson: convert meson-sm1-odroid-c4 to dtsi
  arm64: dts: meson: sort Amlogic dtb Makefile
  dt-bindings: arm: amlogic: sort SM1 bindings
  arm64: dts: meson: fix broken wifi node for Khadas VIM3L
  arm64: dts: meson: add i2c3/rtc nodes and rtc aliases to ODROID-N2 dtsi
  ARM: dts: meson: add the AO ARC remote processor
  dt-bindings: Amlogic: add the documentation for the SECBUS2 registers
  dt-bindings: sram: Add compatible strings for the Meson AO ARC SRAM
  arm64: dts: meson: shorten audio card names for alsa compatibility
  arm64: dts: meson: add initial Beelink GS-King-X device-tree
  dt-bindings: arm: amlogic: add support for the Beelink GS-King-X
  arm64: dts: meson: Fix schema warnings for pwm-leds
  arm64: dts: meson: vim3: whitespace fixups
  arm64: dts: meson: switch TFLASH_VDD_EN pin to open drain on Odroid-C4
  Revert "arm64: dts: amlogic: add missing ethernet reset ID"
  arm64: dts: amlogic: meson-g12: Set FL-adj property value

Link: https://lore.kernel.org/soc/7heehq7ag3.fsf@baylibre.com/
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-02-09 17:51:33 +01:00
Arnd Bergmann
638f79778d arm64: dts: ZynqMP DT changes for v5.12
- Wire clock chips present on boards
 - Enable reset, qspi, nand, watchdog and DP IPs
 - Enable phy driver for sata and DP
 - Add iommu description
 - Add support for zcu104 revC+ boards
 
 - Various small changes
   - Add missing labels
   - Fix typos in documentation
   - Add missing boards
 -----BEGIN PGP SIGNATURE-----
 
 iF0EABECAB0WIQQbPNTMvXmYlBPRwx7KSWXLKUoMIQUCYBqk0gAKCRDKSWXLKUoM
 ITbRAKCO+l2ziOzd6ACzNEGAxFtdSPLp3ACfShjLzq0OiHdRFrYhen77PRPJ51Q=
 =nICr
 -----END PGP SIGNATURE-----

Merge tag 'zynqmp-dt-for-v5.12' of https://github.com/Xilinx/linux-xlnx into arm/dt

arm64: dts: ZynqMP DT changes for v5.12

- Wire clock chips present on boards
- Enable reset, qspi, nand, watchdog and DP IPs
- Enable phy driver for sata and DP
- Add iommu description
- Add support for zcu104 revC+ boards

- Various small changes
  - Add missing labels
  - Fix typos in documentation
  - Add missing boards

* tag 'zynqmp-dt-for-v5.12' of https://github.com/Xilinx/linux-xlnx:
  arm64: dts: zynqmp: Wire up the DisplayPort subsystem
  arm64: dts: zynqmp: Add DisplayPort subsystem
  arm64: dts: zynqmp: Add DPDMA node
  dt-bindings: arm: Fix typo in zcu111 board
  arm64: dts: zynqmp: Add description for zcu104 revC
  arm64: dts: zynqmp: Add missing iommu IDs
  arm64: dts: zynqmp: Add missing lpd watchdog node
  arm64: dts: zynqmp: Wire zynqmp qspi controller
  arm64: dts: zynqmp: Wire arasan nand controller
  arm64: dts: zynqmp: Add missing mio-bank properties to sdhcis
  arm64: dts: zynqmp: Add label for zynqmp_ipi
  arm64: dts: zynqmp: Enable phy driver for Sata on zcu102/zcu104/zcu106
  arm64: dts: zynqmp: Enable reset controller driver
  arm64: dts: zynqmp: Enable si5341 driver for zcu102/106/111
  arm64: dts: zynqmp: Add DT description for si5328 for zcu102/zcu106
  arm64: dts: zynqmp: Fix u48 si5382 chip on zcu111
  arm64: dts: zynqmp: Add address-cells property to interrupt controllers

Link: https://lore.kernel.org/r/b1a6f89e-f6b4-757b-daf0-d2f1844b833d@xilinx.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-02-09 17:46:48 +01:00
Nathan Chancellor
e9c6deee00 arm64: Make CPU_BIG_ENDIAN depend on ld.bfd or ld.lld 13.0.0+
Similar to commit 28187dc8eb ("ARM: 9025/1: Kconfig: CPU_BIG_ENDIAN
depends on !LD_IS_LLD"), ld.lld prior to 13.0.0 does not properly
support aarch64 big endian, leading to the following build error when
CONFIG_CPU_BIG_ENDIAN is selected:

ld.lld: error: unknown emulation: aarch64linuxb

This has been resolved in LLVM 13. To avoid errors like this, only allow
CONFIG_CPU_BIG_ENDIAN to be selected if using ld.bfd or ld.lld 13.0.0
and newer.

While we are here, the indentation of this symbol used spaces since its
introduction in commit a872013d6d ("arm64: kconfig: allow
CPU_BIG_ENDIAN to be selected"). Change it to tabs to be consistent with
kernel coding style.

Link: https://github.com/ClangBuiltLinux/linux/issues/380
Link: https://github.com/ClangBuiltLinux/linux/issues/1288
Link: 7605a9a009
Link: eea34aae2e
Reported-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Link: https://lore.kernel.org/r/20210209005719.803608-1-nathan@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
2021-02-09 14:27:51 +00:00
Marc Zyngier
f8da5752fd arm64: cpufeatures: Allow disabling of Pointer Auth from the command-line
In order to be able to disable Pointer Authentication  at runtime,
whether it is for testing purposes, or to work around HW issues,
let's add support for overriding the ID_AA64ISAR1_EL1.{GPI,GPA,API,APA}
fields.

This is further mapped on the arm64.nopauth command-line alias.

Signed-off-by: Marc Zyngier <maz@kernel.org>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: David Brazdil <dbrazdil@google.com>
Tested-by: Srinivas Ramana <sramana@codeaurora.org>
Link: https://lore.kernel.org/r/20210208095732.3267263-23-maz@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
2021-02-09 13:50:57 +00:00
Srinivas Ramana
7f6240858c arm64: Defer enabling pointer authentication on boot core
Defer enabling pointer authentication on boot core until
after its required to be enabled by cpufeature framework.
This will help in controlling the feature dynamically
with a boot parameter.

Signed-off-by: Ajay Patil <pajay@qti.qualcomm.com>
Signed-off-by: Prasad Sodagudi <psodagud@codeaurora.org>
Signed-off-by: Srinivas Ramana <sramana@codeaurora.org>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/1610152163-16554-2-git-send-email-sramana@codeaurora.org
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: David Brazdil <dbrazdil@google.com>
Link: https://lore.kernel.org/r/20210208095732.3267263-22-maz@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
2021-02-09 13:50:57 +00:00
Marc Zyngier
93ad55b785 arm64: cpufeatures: Allow disabling of BTI from the command-line
In order to be able to disable BTI at runtime, whether it is
for testing purposes, or to work around HW issues, let's add
support for overriding the ID_AA64PFR1_EL1.BTI field.

This is further mapped on the arm64.nobti command-line alias.

Signed-off-by: Marc Zyngier <maz@kernel.org>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: David Brazdil <dbrazdil@google.com>
Tested-by: Srinivas Ramana <sramana@codeaurora.org>
Link: https://lore.kernel.org/r/20210208095732.3267263-21-maz@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
2021-02-09 13:50:57 +00:00
Marc Zyngier
a762f4ffc3 arm64: Move "nokaslr" over to the early cpufeature infrastructure
Given that the early cpufeature infrastructure has borrowed quite
a lot of code from the kaslr implementation, let's reimplement
the matching of the "nokaslr" option with it.

Signed-off-by: Marc Zyngier <maz@kernel.org>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: David Brazdil <dbrazdil@google.com>
Link: https://lore.kernel.org/r/20210208095732.3267263-20-maz@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
2021-02-09 13:50:57 +00:00
Marc Zyngier
1945a067f3 arm64: Make kvm-arm.mode={nvhe, protected} an alias of id_aa64mmfr1.vh=0
Admitedly, passing id_aa64mmfr1.vh=0 on the command-line isn't
that easy to understand, and it is likely that users would much
prefer write "kvm-arm.mode=nvhe", or "...=protected".

So here you go. This has the added advantage that we can now
always honor the "kvm-arm.mode=protected" option, even when
booting on a VHE system.

Signed-off-by: Marc Zyngier <maz@kernel.org>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: David Brazdil <dbrazdil@google.com>
Link: https://lore.kernel.org/r/20210208095732.3267263-18-maz@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
2021-02-09 13:50:56 +00:00
Marc Zyngier
863ace77e9 arm64: Add an aliasing facility for the idreg override
In order to map the override of idregs to options that a user
can easily understand, let's introduce yet another option
array, which maps an option to the corresponding idreg options.

Signed-off-by: Marc Zyngier <maz@kernel.org>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: David Brazdil <dbrazdil@google.com>
Link: https://lore.kernel.org/r/20210208095732.3267263-17-maz@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
2021-02-09 13:50:56 +00:00
Marc Zyngier
41fac42c25 arm64: Honor VHE being disabled from the command-line
Finally we can check whether VHE is disabled on the command line,
and not enable it if that's the user's wish.

Signed-off-by: Marc Zyngier <maz@kernel.org>
Acked-by: David Brazdil <dbrazdil@google.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Link: https://lore.kernel.org/r/20210208095732.3267263-16-maz@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
2021-02-09 13:50:56 +00:00
Marc Zyngier
361db0fca7 arm64: Allow ID_AA64MMFR1_EL1.VH to be overridden from the command line
As we want to be able to disable VHE at runtime, let's match
"id_aa64mmfr1.vh=" from the command line as an override.
This doesn't have much effect yet as our boot code doesn't look
at the cpufeature, but only at the HW registers.

Signed-off-by: Marc Zyngier <maz@kernel.org>
Acked-by: David Brazdil <dbrazdil@google.com>
Acked-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Link: https://lore.kernel.org/r/20210208095732.3267263-15-maz@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
2021-02-09 13:50:56 +00:00
Marc Zyngier
3320030355 arm64: cpufeature: Add an early command-line cpufeature override facility
In order to be able to override CPU features at boot time,
let's add a command line parser that matches options of the
form "cpureg.feature=value", and store the corresponding
value into the override val/mask pair.

No features are currently defined, so no expected change in
functionality.

Signed-off-by: Marc Zyngier <maz@kernel.org>
Acked-by: David Brazdil <dbrazdil@google.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Link: https://lore.kernel.org/r/20210208095732.3267263-14-maz@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
2021-02-09 13:50:52 +00:00
Marc Zyngier
f6f0c4362f arm64: Extract early FDT mapping from kaslr_early_init()
As we want to parse more options very early in the kernel lifetime,
let's always map the FDT early. This is achieved by moving that
code out of kaslr_early_init().

No functional change expected.

Signed-off-by: Marc Zyngier <maz@kernel.org>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: David Brazdil <dbrazdil@google.com>
Link: https://lore.kernel.org/r/20210208095732.3267263-13-maz@kernel.org
[will: Ensue KASAN is enabled before running C code]
Signed-off-by: Will Deacon <will@kernel.org>
2021-02-09 13:47:50 +00:00
Marc Zyngier
b3341ae0ef arm64: cpufeature: Use IDreg override in __read_sysreg_by_encoding()
__read_sysreg_by_encoding() is used by a bunch of cpufeature helpers,
which should take the feature override into account. Let's do that.

For a good measure (and because we are likely to need to further
down the line), make this helper available to the rest of the
non-modular kernel.

Code that needs to know the *real* features of a CPU can still
use read_sysreg_s(), and find the bare, ugly truth.

Signed-off-by: Marc Zyngier <maz@kernel.org>
Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Acked-by: David Brazdil <dbrazdil@google.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Link: https://lore.kernel.org/r/20210208095732.3267263-12-maz@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
2021-02-09 13:47:12 +00:00
Marc Zyngier
8f266a5d87 arm64: cpufeature: Add global feature override facility
Add a facility to globally override a feature, no matter what
the HW says. Yes, this sounds dangerous, but we do respect the
"safe" value for a given feature. This doesn't mean the user
doesn't need to know what they are doing.

Nothing uses this yet, so we are pretty safe. For now.

Signed-off-by: Marc Zyngier <maz@kernel.org>
Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Acked-by: David Brazdil <dbrazdil@google.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Link: https://lore.kernel.org/r/20210208095732.3267263-11-maz@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
2021-02-09 13:47:12 +00:00
Marc Zyngier
d077cb3cb9 arm64: Move SCTLR_EL1 initialisation to EL-agnostic code
We can now move the initial SCTLR_EL1 setup to be used for both
EL1 and EL2 setup.

Signed-off-by: Marc Zyngier <maz@kernel.org>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: David Brazdil <dbrazdil@google.com>
Link: https://lore.kernel.org/r/20210208095732.3267263-10-maz@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
2021-02-09 13:47:12 +00:00
Marc Zyngier
e2df464173 arm64: Simplify init_el2_state to be non-VHE only
As init_el2_state is now nVHE only, let's simplify it and drop
the VHE setup.

Signed-off-by: Marc Zyngier <maz@kernel.org>
Acked-by: David Brazdil <dbrazdil@google.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Link: https://lore.kernel.org/r/20210208095732.3267263-9-maz@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
2021-02-09 13:47:11 +00:00
Marc Zyngier
19e87e1319 arm64: Move VHE-specific SPE setup to mutate_to_vhe()
There isn't much that a VHE kernel needs on top of whatever has
been done for nVHE, so let's move the little we need to the
VHE stub (the SPE setup), and drop the init_el2_state macro.

No expected functional change.

Signed-off-by: Marc Zyngier <maz@kernel.org>
Acked-by: David Brazdil <dbrazdil@google.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Link: https://lore.kernel.org/r/20210208095732.3267263-8-maz@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
2021-02-09 13:47:11 +00:00
Marc Zyngier
c6f8c92f3f arm64: Drop early setting of MDSCR_EL2.TPMS
When running VHE, we set MDSCR_EL2.TPMS very early on to force
the trapping of EL1 SPE accesses to EL2.

However:
- we are running with HCR_EL2.{E2H,TGE}={1,1}, meaning that there
  is no EL1 to trap from

- before entering a guest, we call kvm_arm_setup_debug(), which
  sets MDCR_EL2_TPMS in the per-vcpu shadow mdscr_el2, which gets
  applied on entry by __activate_traps_common().

The early setting of MDSCR_EL2.TPMS is therefore useless and can
be dropped.

Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20210208095732.3267263-7-maz@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
2021-02-09 13:47:11 +00:00
Marc Zyngier
0c93df9622 arm64: Initialise as nVHE before switching to VHE
As we are aiming to be able to control whether we enable VHE or
not, let's always drop down to EL1 first, and only then upgrade
to VHE if at all possible.

This means that if the kernel is booted at EL2, we always start
with a nVHE init, drop to EL1 to initialise the the kernel, and
only then upgrade the kernel EL to EL2 if possible (the process
is obviously shortened for secondary CPUs).

The resume path is handled similarly to a secondary CPU boot.

Signed-off-by: Marc Zyngier <maz@kernel.org>
Acked-by: David Brazdil <dbrazdil@google.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Link: https://lore.kernel.org/r/20210208095732.3267263-6-maz@kernel.org
[will: Avoid calling switch_to_vhe twice on kaslr path]
Signed-off-by: Will Deacon <will@kernel.org>
2021-02-09 13:47:07 +00:00
Vitaly Kuznetsov
4fc096a99e KVM: Raise the maximum number of user memslots
Current KVM_USER_MEM_SLOTS limits are arch specific (512 on Power, 509 on x86,
32 on s390, 16 on MIPS) but they don't really need to be. Memory slots are
allocated dynamically in KVM when added so the only real limitation is
'id_to_index' array which is 'short'. We don't have any other
KVM_MEM_SLOTS_NUM/KVM_USER_MEM_SLOTS-sized statically defined structures.

Low KVM_USER_MEM_SLOTS can be a limiting factor for some configurations.
In particular, when QEMU tries to start a Windows guest with Hyper-V SynIC
enabled and e.g. 256 vCPUs the limit is hit as SynIC requires two pages per
vCPU and the guest is free to pick any GFN for each of them, this fragments
memslots as QEMU wants to have a separate memslot for each of these pages
(which are supposed to act as 'overlay' pages).

Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Message-Id: <20210127175731.2020089-3-vkuznets@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2021-02-09 08:17:08 -05:00
Mark Rutland
6459b84697 arm64: entry: consolidate Cortex-A76 erratum 1463225 workaround
The workaround for Cortex-A76 erratum 1463225 is split across the
syscall and debug handlers in separate files. This structure currently
forces us to do some redundant work for debug exceptions from EL0, is a
little difficult to follow, and gets in the way of some future rework of
the exception entry code as it requires exceptions to be unmasked late
in the syscall handling path.

To simplify things, and as a preparatory step for future rework of
exception entry, this patch moves all the workaround logic into
entry-common.c. As the debug handler only needs to run for EL1 debug
exceptions, we no longer call it for EL0 debug exceptions, and no longer
need to check user_mode(regs) as this is always false. For clarity
cortex_a76_erratum_1463225_debug_handler() is changed to return bool.

In the SVC path, the workaround is applied earlier, but this should have
no functional impact as exceptions are still masked. In the debug path
we run the fixup before explicitly disabling preemption, but we will not
attempt to preempt before returning from the exception.

There should be no functional change as a result of this patch.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: James Morse <james.morse@arm.com>
Cc: Will Deacon <will@kernel.org>
Link: https://lore.kernel.org/r/20210202120341.28858-1-mark.rutland@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
2021-02-08 17:39:02 +00:00
Christian Hewitt
33b14f663d arm64: dts: meson: add initial device-tree for ODROID-HC4
ODROID-HC4 is a derivative of the C4 with minor differences:

- 16MB XT25F128B SPI-NOR flash
- 2x SATA ports via ASM1061 PCIe to SATA controller
- 7-pin header with SPI and I2C for 1-inch OLED display and RTC
- 1x USB 2.0 host port

Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Link: https://lore.kernel.org/r/20210202021021.11068-6-christianshewitt@gmail.com
2021-02-08 09:03:30 -08:00
Christian Hewitt
88d537bc92 arm64: dts: meson: convert meson-sm1-odroid-c4 to dtsi
Convert the ODROID-C4 dts to meson-sm1-odroid.dtsi and C4 board dts in
preparation for adding additional C4 family boards.

Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Link: https://lore.kernel.org/r/20210202021021.11068-4-christianshewitt@gmail.com
2021-02-08 09:03:09 -08:00
Arnd Bergmann
7b9f5793e1 Enable REGULATOR_MP8859 - the main power supply for one Rockchip board.
-----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAmAd1GIQHGhlaWtvQHNu
 dGVjaC5kZQAKCRDzpnnJnNEdgVktB/9L6zZzqTK7IIPn9XLXVYEP8Am6+nfsK1pZ
 YGE5xrOaLhE3t5Kpq202xBDBkBId0poU5o6TW+QZHnSbS2uUEh88RpqE0O/Ozagz
 cES+owdGcF+rPaRzghD91ESyumH9ys2rEoy8PFxl6BeHPggGwTRlCeCu2UPaUqbz
 pxdoT6ySkc61Waf1K8dMgMl4Up3Tkx2u8kMSxvsru3GoO7K+43nB/6WyTsfD/y2b
 q1gZUN2x9/HHFjPH76AFVVJ97DU7KtW3z9X4utn41uxSGspQWJXp/6Y5FbdahMRp
 dEvy4AyAMMuzkgQgmlpmGKSpk9ZKPKuRb9n2DKTJWwia94SHEbqx
 =0bTQ
 -----END PGP SIGNATURE-----

Merge tag 'v5.12-rockchip-defconfig64-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into arm/defconfig

Enable REGULATOR_MP8859 - the main power supply for one Rockchip board.

* tag 'v5.12-rockchip-defconfig64-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  arm64: defconfig: Enable REGULATOR_MP8859

Link: https://lore.kernel.org/r/4622596.31r3eYUQgx@phil
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-02-08 16:40:20 +01:00
Marc Zyngier
f359182291 arm64: Provide an 'upgrade to VHE' stub hypercall
As we are about to change the way a VHE system boots, let's
provide the core helper, in the form of a stub hypercall that
enables VHE and replicates the full EL1 context at EL2, thanks
to EL1 and VHE-EL2 being extremely similar.

On exception return, the kernel carries on at EL2. Fancy!

Nothing calls this new hypercall yet, so no functional change.

Signed-off-by: Marc Zyngier <maz@kernel.org>
Acked-by: David Brazdil <dbrazdil@google.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Link: https://lore.kernel.org/r/20210208095732.3267263-5-maz@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
2021-02-08 12:51:26 +00:00
Marc Zyngier
8cc8a32415 arm64: Turn the MMU-on sequence into a macro
Turning the MMU on is a popular sport in the arm64 kernel, and
we do it more than once, or even twice. As we are about to add
even more, let's turn it into a macro.

No expected functional change.

Signed-off-by: Marc Zyngier <maz@kernel.org>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: David Brazdil <dbrazdil@google.com>
Link: https://lore.kernel.org/r/20210208095732.3267263-4-maz@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
2021-02-08 12:51:26 +00:00
Marc Zyngier
b161f92482 arm64: Fix outdated TCR setup comment
The arm64 kernel has long be able to use more than 39bit VAs.
Since day one, actually. Let's rewrite the offending comment.

Signed-off-by: Marc Zyngier <maz@kernel.org>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: David Brazdil <dbrazdil@google.com>
Link: https://lore.kernel.org/r/20210208095732.3267263-3-maz@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
2021-02-08 12:51:26 +00:00
Marc Zyngier
114945d84a arm64: Fix labels in el2_setup macros
If someone happens to write the following code:

	b	1f
	init_el2_state	vhe
1:
	[...]

they will be in for a long debugging session, as the label "1f"
will be resolved *inside* the init_el2_state macro instead of
after it. Not really what one expects.

Instead, rewite the EL2 setup macros to use unambiguous labels,
thanks to the usual macro counter trick.

Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Acked-by: David Brazdil <dbrazdil@google.com>
Link: https://lore.kernel.org/r/20210208095732.3267263-2-maz@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
2021-02-08 12:51:26 +00:00
Suzuki K Poulose
c0b15c25d2 arm64: Extend workaround for erratum 1024718 to all versions of Cortex-A55
The erratum 1024718 affects Cortex-A55 r0p0 to r2p0. However
we apply the work around for r0p0 - r1p0. Unfortunately this
won't be fixed for the future revisions for the CPU. Thus
extend the work around for all versions of A55, to cover
for r2p0 and any future revisions.

Cc: stable@vger.kernel.org
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Cc: James Morse <james.morse@arm.com>
Cc: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Link: https://lore.kernel.org/r/20210203230057.3961239-1-suzuki.poulose@arm.com
[will: Update Kconfig help text]
Signed-off-by: Will Deacon <will@kernel.org>
2021-02-08 12:30:53 +00:00
Greg Kroah-Hartman
d8c849037d Merge 5.11-rc7 into usb-next
We need the USB fixes in here as well.

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-02-08 09:09:27 +01:00
Miaohe Lin
abd4737f67 mm/arm64: Correct obsolete comment in do_page_fault()
commit d8ed45c5dc ("mmap locking API: use coccinelle to convert mmap_sem
rwsem call sites") has convertd down_read_trylock() to mmap_read_trylock().
But it forgot to update the relevant comment.

Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>
Link: https://lore.kernel.org/r/20210205090919.63382-1-linmiaohe@huawei.com
Signed-off-by: Will Deacon <will@kernel.org>
2021-02-05 18:43:47 +00:00
Linus Torvalds
6157ce59bf x86 has lots of small bugfixes, mostly one liners. It's quite late in
5.11-rc but none of them are related to this merge window; it's just
 bugs coming in at the wrong time.  Of note among the others:
 - "KVM: x86: Allow guests to see MSR_IA32_TSX_CTRL even if tsx=off"
   (live migration failure seen on distros that hadn't switched to tsx=off
   right away)
 
 ARM:
 - Avoid clobbering extra registers on initialisation
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCAAyFiEE8TM4V0tmI4mGbHaCv/vSX3jHroMFAmAc+3QUHHBib256aW5p
 QHJlZGhhdC5jb20ACgkQv/vSX3jHroMgkAf+MdqY5F+wIOZgNMS8XfKah56hGLw0
 l7lRMrdHdDtCIoe+H8iElyIvr5+NOn7KIW48Bxtl5w3VK68h/X1+h/s+Bo0kjf5B
 Pbm0Zh5+l2tO7ocz/G1TsqDkEfWFxQI+QHcKxg1f443ZTzV1k/qM6BCNH5Pk3LFE
 kYtyOIa+YjrP0u9Bl2jZ+DCrXXRFDtDidXeHyPszErVMH90/DiGClLu5/xzCVQRD
 a+6IKLzlGc+nBj5gMXTB8dxyrZ3XrgARF/4/CCFeMLYVtwvkUHaW/ukIXTTiu8wY
 I7IGzA7lX4TZOtGVrsbEjtSaYVxd14n4KuaxvSPIHDZo3b+z0AEtcFzHtA==
 =pmlS
 -----END PGP SIGNATURE-----

Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm

Pull KVM fixes from Paolo Bonzini:
 "x86 has lots of small bugfixes, mostly one liners. It's quite late in
  5.11-rc but none of them are related to this merge window; it's just
  bugs coming in at the wrong time.

  Of note among the others is "KVM: x86: Allow guests to see
  MSR_IA32_TSX_CTRL even if tsx=off" that fixes a live migration failure
  seen on distros that hadn't switched to tsx=off right away.

  ARM:
  - Avoid clobbering extra registers on initialisation"

[ Sean Christopherson notes that commit 943dea8af2 ("KVM: x86: Update
  emulator context mode if SYSENTER xfers to 64-bit mode") should have
  had authorship credited to Jonny Barker, not to him.  - Linus ]

* tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
  KVM: x86: Set so called 'reserved CR3 bits in LM mask' at vCPU reset
  KVM: x86/mmu: Fix TDP MMU zap collapsible SPTEs
  KVM: x86: cleanup CR3 reserved bits checks
  KVM: SVM: Treat SVM as unsupported when running as an SEV guest
  KVM: x86: Update emulator context mode if SYSENTER xfers to 64-bit mode
  KVM: x86: Supplement __cr4_reserved_bits() with X86_FEATURE_PCID check
  KVM/x86: assign hva with the right value to vm_munmap the pages
  KVM: x86: Allow guests to see MSR_IA32_TSX_CTRL even if tsx=off
  Fix unsynchronized access to sev members through svm_register_enc_region
  KVM: Documentation: Fix documentation for nested.
  KVM: x86: fix CPUID entries returned by KVM_GET_CPUID2 ioctl
  KVM: arm64: Don't clobber x4 in __do_hyp_init
2021-02-05 10:03:01 -08:00
Dinh Nguyen
b7ff3a447d arm64: dts: agilex: fix phy interface bit shift for gmac1 and gmac2
The shift for the phy_intf_sel bit in the system manager for gmac1 and
gmac2 should be 0.

Fixes: 2f804ba7aa ("arm64: dts: agilex: Add SysMgr to Ethernet nodes")
Cc: stable@vger.kernel.org
Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
2021-02-04 22:29:00 -06:00
Arnd Bergmann
39a944cd8b i.MX defconfig change for 5.12:
- Enable WM8962 support needed by imx8mn-beacon-kit.
 - Enable PF8x00 support used by Boundary Nitrogen8M Mini SBC.
 - Enable a few drivers for Librem 5 devkit support.
 - Enable interconnect support for i.MX8MQ.
 - Enable Broadcom BCM54140 PHY driver for Kontron K-Box A-230-LS.
 - Enable RV3028 I2C RTC and PCA9532 driver support for phyBOARD-Pollux
   i.MX8MP.
 - Enable RN5T618 PMIC driver support in imx_v6_v7_defconfig.
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmAbowwUHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM4U5gf+PPpo0Tc8ys0z85tMxh3Yzk7L9jMG
 MXIsD4dWjWhZZJV6oWH4HYxuQjqvrYbcprdrdeip/q//S0ch8farB2yft5E2+4el
 RhqSig5Y0uySgVg/lJWtDSI4x5E7m0IMJBMydBdV0d/S+lXOXagKNNS4HgB7HWX9
 DCPct6Img1RGcAFWw2dAaDZr5WHvrL28bA72SFBaSVh33bXjwoccl+p4rwCdHB24
 OTVLHlpiPKo5gO7WxtQnGQuyzDpNstoLPQCfbOyDa0rS+eAA7o/CqaaU2o2Zshw/
 hzs/xJiX1sMrRQ0lO7Atl98vYF/oUFlWAeBcIj7TCSz90nLus0NuojUD1g==
 =Nud0
 -----END PGP SIGNATURE-----

Merge tag 'imx-defconfig-5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/defconfig

i.MX defconfig change for 5.12:

- Enable WM8962 support needed by imx8mn-beacon-kit.
- Enable PF8x00 support used by Boundary Nitrogen8M Mini SBC.
- Enable a few drivers for Librem 5 devkit support.
- Enable interconnect support for i.MX8MQ.
- Enable Broadcom BCM54140 PHY driver for Kontron K-Box A-230-LS.
- Enable RV3028 I2C RTC and PCA9532 driver support for phyBOARD-Pollux
  i.MX8MP.
- Enable RN5T618 PMIC driver support in imx_v6_v7_defconfig.

* tag 'imx-defconfig-5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  arm64: defconfig: Enable PF8x00 as builtin
  arm64: defconfig: Enable vibra-pwm
  arm64: defconfig: Enable Broadcom BCM54140 PHY
  arm64: defconfig: Enable interconnect for imx8mq
  arm64: defconfig: Enable PCA9532 support
  arm64: defconfig: Enable rv3028 i2c rtc driver
  arm64: defconfig: Enable Librem 5 devkit components
  ARM: imx_v6_v7_defconfig: enable power driver of RN5T618 PMIC family
  arm64: defconfig: Enable WM8962

Link: https://lore.kernel.org/r/20210204120150.26186-6-shawnguo@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-02-04 22:13:25 +01:00
Arnd Bergmann
8c4501f0c0 Qualcomm ARM64 defconfig updates for 5.12
This enables HID multitouch and TMPFS Posix ACL, for off-the-shelf
 distro support on the Snapdragon laptops. It also enables display
 clocks, audio configs and the LT9611UXC HDMI bridge for used on the
 SM8250 and specifically RB5 board.
 -----BEGIN PGP SIGNATURE-----
 
 iQJPBAABCAA5FiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmAbgh4bHGJqb3JuLmFu
 ZGVyc3NvbkBsaW5hcm8ub3JnAAoJEAsfOT8Nma3FS8UP/iWVOjpKaQCJRxcbXxRL
 8RmaxgeKVuhKjPFJq8whL5trocCbLHWgwiyhG1o1Iqfo74DbmBHfAuWPWleSpkzt
 pvnhux2hi/4EC7qpC8cXTrCx1D0dxoFssJ3rKCG82ErYSTnFwKhSXprLECqYchCP
 pZvx3zEor6Rw57bJEQ9dnJFveIfSA8P5Bz/D/aMLg6AbrnrdbO1Idu/nPOD2QdiD
 okm8qcKZNulauOhKEv4f3QLjWqzbmYYD0jeog/bDs5wJ+02d4EZ5a67JO3iSi2Xg
 D14+N1uJtNU9ysO0Eejklr9Xpgc8N/h3O1yUEre5eNrdk1mQYAZq/MCOuj9zGkiS
 di0UMcPc2Qy6RBzTvI8mG9cOadYqZxYQyImK8f6knB6CNpz7wIFa7KZd3jCOHZXF
 gbA85j5Snt4VlmzNcHol5psF2XFYSiZMr5kd7JgLHWgvB058g+ksYkUYIgDoetBJ
 vz9kyo2YCDGaV+DSdfu+x2FTiQUWOxmazX95PW+cjA7bY+eHX8oPYS+1LZYfH1Dn
 zoGVIb+MYiP9CevUiPtj2j8yd2XcUMzS6bZ/RiKhgJWLf+VD4WTwtxqrKL+3wnVY
 anmvUEyJGSBi9elIdwYVk62zPVqTNXkpT8IVQVUS6TxyQjpgzbfwdhCfwaxFHKm8
 5+CKcSIaZUoqkRuA+YNRf63D
 =Xdw5
 -----END PGP SIGNATURE-----

Merge tag 'qcom-arm64-defconfig-for-5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into arm/defconfig

Qualcomm ARM64 defconfig updates for 5.12

This enables HID multitouch and TMPFS Posix ACL, for off-the-shelf
distro support on the Snapdragon laptops. It also enables display
clocks, audio configs and the LT9611UXC HDMI bridge for used on the
SM8250 and specifically RB5 board.

* tag 'qcom-arm64-defconfig-for-5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
  arm64: defconfig: Enable Qualcomm SM8250 audio config
  arm64: defconfig: enable Lontium LT9611UXC bridge driver
  arm64: defconfig: enable display clock controller on sm8250
  arm64: defconfig: Enable TMPFS Posix ACL
  arm64: defconfig: Enable HID multitouch

Link: https://lore.kernel.org/r/20210204051956.388355-1-bjorn.andersson@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-02-04 22:09:03 +01:00
Sameer Pujar
70ba3b1adb arm64: defconfig: Enable RT5659
Enable the RT5659 audio codec driver. Jetson AGX Xavier has RT5658 codec
which is compatible with this driver. This enables user to test external
audio.

Signed-off-by: Sameer Pujar <spujar@nvidia.com>
Acked-by: Jon Hunter <jonathanh@nvidia.com>
Cc: Oder Chiou <oder_chiou@realtek.com>
Cc: Bard Liao <bardliao@realtek.com>
2021-02-04 22:08:16 +01:00
Jonathan Zhou
4b6929f50d arm64: Add TRFCR_ELx definitions
Add definitions for the Arm v8.4 SelfHosted trace extensions registers.

[ split the register definitions to separate patch
  rename some of the symbols ]

Link: https://lore.kernel.org/r/20210110224850.1880240-28-suzuki.poulose@arm.com
Cc: Will Deacon <will@kernel.org>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Jonathan Zhou <jonathan.zhouwen@huawei.com>
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Link: https://lore.kernel.org/r/20210201181351.1475223-30-mathieu.poirier@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-02-04 17:00:34 +01:00
Zhiyuan Dai
d9f1b52afa arm64: improve whitespace
In a few places we don't have whitespace between macro parameters,
which makes them hard to read. This patch adds whitespace to clearly
separate the parameters.

In a few places we have unnecessary whitespace around unary operators,
which is confusing, This patch removes the unnecessary whitespace.

Signed-off-by: Zhiyuan Dai <daizhiyuan@phytium.com.cn>
Link: https://lore.kernel.org/r/1612403029-5011-1-git-send-email-daizhiyuan@phytium.com.cn
Signed-off-by: Will Deacon <will@kernel.org>
2021-02-04 13:59:49 +00:00
Ard Biesheuvel
d13c613f13 arm64: assembler: add cond_yield macro
Add a macro cond_yield that branches to a specified label when called if
the TIF_NEED_RESCHED flag is set and decreasing the preempt count would
make the task preemptible again, resulting in a schedule to occur. This
can be used by kernel mode SIMD code that keeps a lot of state in SIMD
registers, which would make chunking the input in order to perform the
cond_resched() check from C code disproportionately costly.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Link: https://lore.kernel.org/r/20210203113626.220151-2-ardb@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
2021-02-03 20:48:02 +00:00
Joey Gouly
0188a894c3 arm64: vmlinux.ld.S: add assertion for tramp_pg_dir offset
Add TRAMP_SWAPPER_OFFSET and use that instead of hardcoding
the offset between swapper_pg_dir and tramp_pg_dir.

Then use TRAMP_SWAPPER_OFFSET to assert that the offset is
correct at link time.

Signed-off-by: Joey Gouly <joey.gouly@arm.com>
Reviewed-by: Mark Rutland <mark.rutland@arm.com>
Tested-by: Mark Rutland <mark.rutland@arm.com>
Link: https://lore.kernel.org/r/20210202123658.22308-3-joey.gouly@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
2021-02-03 20:43:45 +00:00
Joey Gouly
00ef543419 arm64: vmlinux.ld.S: add assertion for reserved_pg_dir offset
Add RESERVED_SWAPPER_OFFSET and use that instead of hardcoding
the offset between swapper_pg_dir and reserved_pg_dir.

Then use RESERVED_SWAPPER_OFFSET to assert that the offset is
correct at link time.

Signed-off-by: Joey Gouly <joey.gouly@arm.com>
Reviewed-by: Mark Rutland <mark.rutland@arm.com>
Tested-by: Mark Rutland <mark.rutland@arm.com>
Link: https://lore.kernel.org/r/20210202123658.22308-2-joey.gouly@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
2021-02-03 20:43:45 +00:00
Seiya Wang
db2bb91f2e arm64: perf: add support for Cortex-A78
Add support for Cortex-A78 using generic PMUv3 for now.

Signed-off-by: Seiya Wang <seiya.wang@mediatek.com>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Link: https://lore.kernel.org/r/20210203055348.4935-2-seiya.wang@mediatek.com
Signed-off-by: Will Deacon <will@kernel.org>
2021-02-03 20:42:54 +00:00
Linus Torvalds
3afe9076a7 Fix the arm64 linear map range detection for tagged addresses and
replace the bitwise operations with subtract (virt_addr_valid(),
 __is_lm_address(), __lm_to_phys()).
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE5RElWfyWxS+3PLO2a9axLQDIXvEFAmAa7n0ACgkQa9axLQDI
 XvG9vQ/9GQTeBKkwgZOmFLKUm2yEFjP9/WU/P3VpBd5T3RwlKe4mtNxozYjWhT4U
 /7LCl6j0sOkhn8sLmkj2givZS1g4gFuh2UeqxblDY4XuiW6KLyyfRFSwXi7pUO/u
 tbaW7Q+itTd4GYxqVuz+VKd3Z0Mt6OulYrmdjInWBk413nJ/Gzutoo04PE/hFpXm
 +lrmgZ1bR3hdGoWVSQ+OmbT0W5nVVKxXo+FdM65dotpbwe3uuVLH7lUBD3C0QxP1
 MyJSc2SCdNhrRSKR6Xive7DqKfz6lfYE3oc2C0O6UF+UnekR4XrrgfU40raJqgBd
 pwWf5BjSh6nSCw5LxfzUcobRo9WjLK0w7HxCYVKCF0uMU27rOgL+/AplcQEhiwRv
 VVuEnvFT7v5hWbXgU/bAzpIiEzsLuwYXHVnHUawM8xL0wfBhXr1TLJPTdCbg4UrR
 TgtDFtOYzxLffImMTH9zCCgxvvHiUCkcwCWpYa1uEMh1C7I6jOHba04ABhAjh+bT
 yF7aG2OmbmjjHXLGCWcQBpIvrCDmHA9I0UctSDwWxYjYVY3fSb4dsmu6Zxbz1WLZ
 PjeI+ji8qU15DWdy4DP9fByWwuLjctiGP15ay009RTV0hh3AXtKjTOG80dOC+KqB
 aPCkscbZOhrpFZJHQxx7mbDNxlIvnRDMUMk+2ekEvs/fZARlIYU=
 =mwnv
 -----END PGP SIGNATURE-----

Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux

Pull arm64 fixes from Catalin Marinas:
 "Fix the arm64 linear map range detection for tagged addresses and
  replace the bitwise operations with subtract (virt_addr_valid(),
  __is_lm_address(), __lm_to_phys())"

* tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
  arm64: Use simpler arithmetics for the linear map macros
  arm64: Do not pass tagged addresses to __is_lm_address()
2021-02-03 11:03:40 -08:00
Christian Hewitt
fd88408951 arm64: dts: meson: sort Amlogic dtb Makefile
Sort the Makefile before adding new SM1 devices.

Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
Acked-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Link: https://lore.kernel.org/r/20210202021021.11068-3-christianshewitt@gmail.com
2021-02-03 10:22:11 -08:00
Artem Lapkin
39be8f441f arm64: dts: meson: fix broken wifi node for Khadas VIM3L
move &sd_emmc_a ... from /* */ commented area, because cant load wifi fw
without sd-uhs-sdr50 option on VIM3L

[   11.686590] brcmfmac: brcmf_chip_cores_check: CPU core not detected
[   11.696382] brcmfmac: brcmf_sdio_probe_attach: brcmf_chip_attach failed!
[   11.706240] brcmfmac: brcmf_sdio_probe: brcmf_sdio_probe_attach failed
[   11.715890] brcmfmac: brcmf_ops_sdio_probe: F2 error, probe failed -19...
[   13.718424] brcmfmac: brcmf_chip_recognition: chip backplane type 15 is not supported

Signed-off-by: Artem Lapkin <art@khadas.com>
Fixes: f1bb924e8f ("arm64: dts: meson: fix mmc0 tuning error on Khadas VIM3")
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Link: https://lore.kernel.org/r/20210129085041.1408540-1-art@khadas.com
2021-02-03 10:22:10 -08:00
Christian Hewitt
6fb82afbe2 arm64: dts: meson: add i2c3/rtc nodes and rtc aliases to ODROID-N2 dtsi
Enable the onboard pcf8563 rtc hardware on ODROID N2/N2+ boards via the
common dtsi. Also add aliases to ensure vrtc does not claim /dev/rtc0.

Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Link: https://lore.kernel.org/r/20210111135831.2218-1-christianshewitt@gmail.com
2021-02-03 10:22:10 -08:00
Christian Hewitt
933b80eda0 arm64: dts: meson: shorten audio card names for alsa compatibility
This patch shortens all audio card model names by dropping the SoC prefix
(for conformity) and rewording those that are still longer than alsa's 15
character name limit [0] to avoid userspace config issues.

[0] https://github.com/torvalds/linux/blob/master/Documentation/sound/alsa-configuration.rst#common-parameters-for-top-sound-card-modules

Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Link: https://lore.kernel.org/r/20210101063737.26635-1-christianshewitt@gmail.com
2021-02-03 10:22:09 -08:00
Christian Hewitt
93db2ce052 arm64: dts: meson: add initial Beelink GS-King-X device-tree
The Shenzen AZW (Beelink) GS-King-X is based on the Amlogic W400 reference
board with an S922X-H chip.

- 4GB LPDDR4 RAM
- 64GB eMMC storage
- 10/100/1000 Base-T Ethernet
- AP6356S Wireless (802.11 a/b/g/n/ac, BT 4.1)
- HDMI 2.1 video
- S/PDIF optical output
- 2x ESS9018 audio DACs
- 4x Ricor RT6862 audio amps
- Analogue headphone output
- 1x USB 2.0 OTG port
- 3x USB 3.0 ports
- IR receiver
- 1x micro SD card slot (internal)
- USB SATA controller with 2x 3.5" drive bays
- 1x Power on/off button

Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
Acked-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Tested-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Link: https://lore.kernel.org/r/20210119145734.12675-3-christianshewitt@gmail.com
2021-02-03 10:22:09 -08:00
Alexander Dahl
a74978f342 arm64: dts: meson: 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.

Signed-off-by: Alexander Dahl <post@lespocky.de>
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Link: https://lore.kernel.org/r/20201228163217.32520-5-post@lespocky.de
2021-02-03 10:22:09 -08:00
Jerome Brunet
b6e3ff4185 arm64: dts: meson: vim3: whitespace fixups
Spaces have been used to indent 2 nodes.
Replace those with tabs and remove one extra newline

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Link: https://lore.kernel.org/r/20201207095346.26297-2-jbrunet@baylibre.com
2021-02-03 10:22:08 -08:00
Linus Torvalds
54fe3ffef0 ARM: SoC fixes for v5.11, part 3
The code fixes in this round are all for the Texas Instruments OMAP
 platform, addressing several regressions related to the ti-sysc
 interconnect changes that was merged in linux-5.11 and one recently
 introduced RCU usage warning.
 
 Tero Kristo updates his maintainer file entries as he is changing
 to a new employer.
 
 The other changes are for devicetree files across eight different
 platforms:
 
 TI OMAP:
  - multiple gpio related one-line fixes
 
 Allwinner/sunxi:
  - ARM: dts: sun7i: a20: bananapro: Fix ethernet phy-mode
  - soc: sunxi: mbus: Remove DE2 display engine compatibles
 
 NXP lpc32xx:
  - ARM: dts: lpc32xx: Revert set default clock rate of HCLK PLL
 
 STMicroelectronics stm32
  - multiple minor fixes for DHCOM/DHCOR boards
 
 NXP Layerscape:
  - Fix DCFG address range on LS1046A SoC
 
 Amlogic meson:
  - fix reboot issue on odroid C4
  - revert an ethernet change that caused a regression
  - meson-g12: Set FL-adj property value
 
 Rockchip:
  - multiple minor fixes on 64-bit rockchip machines
 
 Qualcomm:
  - Regression fixes for Lenovo Yoga touchpad and for
    interconnect configuration
  - Boot fixes for 'LPASS' clock configuration on two machines
 
 Signed-off-by: Arnd Bergmann <arnd@arndb.de>
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmAamF8ACgkQmmx57+YA
 GNmc+g//f7QiGC7f4Ora6StjJEzRoFHff5n6W5BlpyldHcEjo1exDr6V/e/ASaGL
 XAVqqjvd6lI6I788PZyEu+qJ9Ekm2mUDAtCKvrKA63yuPhm540eQLF8f1tX0vziu
 TpYJIYm/g+DtBVM0EvxyNx9fTDAmcnzq+fqnOjqIOufKOFJyr0L1eJDp1nvAaNUo
 a+jILSDa8/FMkd6/W6HSBWWRyGH/p3gme+Uaz5jOj4vHkwNRnuRwFb0q64KiHBBg
 10Aehujt70LD6pKo4W90yBYUEL6w+19mkV2s01jtZZUfZjIEyyX9V5lujfRC4v4G
 DyKO5nJSvlTqBOpbUcF8kbq9FRLbo977jc29aIig4mq5dhOIZ9Xj+XwfnPG4riQp
 fDsxeqGzP73jhI3fwadEnEep7JA5Hopwj0sSW07ZjE3oqKJruvMFs+d18SHeHyOe
 IhBlrwcWXdgA1+k+5MNaTgr91cK4LmUPC5D1ZqO2Hr7qqhIy4yzIWk3cwxCO80T5
 AQC02G2awIKglYqpj4reTR0EVPutvzKiblDKMtTf2WY7l6mQlr8eeQ9jXS+U5pID
 hZ/iWCrNzQWMGUsM1L5DvA/8h+H0AEF3DknnxKS0dh6W3oYuLGrEc1Khs6bQ0c/e
 pxgqGEpAxpbxyhsO0CJhIHEgZ4q4ZDzxJMA41ho7YJNFvVCsqPc=
 =dXiS
 -----END PGP SIGNATURE-----

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

Pull ARM SoC fixes from Arnd Bergmann:
 "The code fixes in this round are all for the Texas Instruments OMAP
  platform, addressing several regressions related to the ti-sysc
  interconnect changes that was merged in linux-5.11 and one recently
  introduced RCU usage warning.

  Tero Kristo updates his maintainer file entries as he is changing to a
  new employer.

  The other changes are for devicetree files across eight different
  platforms:

  TI OMAP:
   - multiple gpio related one-line fixes

  Allwinner/sunxi:
   - ARM: dts: sun7i: a20: bananapro: Fix ethernet phy-mode
   - soc: sunxi: mbus: Remove DE2 display engine compatibles

  NXP lpc32xx:
   - ARM: dts: lpc32xx: Revert set default clock rate of HCLK PLL

  STMicroelectronics stm32
   - multiple minor fixes for DHCOM/DHCOR boards

  NXP Layerscape:
   - Fix DCFG address range on LS1046A SoC

  Amlogic meson:
   - fix reboot issue on odroid C4
   - revert an ethernet change that caused a regression
   - meson-g12: Set FL-adj property value

  Rockchip:
   - multiple minor fixes on 64-bit rockchip machines

  Qualcomm:
   - Regression fixes for Lenovo Yoga touchpad and for interconnect
     configuration
   - Boot fixes for 'LPASS' clock configuration on two machines"

* tag 'arm-soc-fixes-v5.11-3' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (31 commits)
  ARM: dts: lpc32xx: Revert set default clock rate of HCLK PLL
  ARM: dts: sun7i: a20: bananapro: Fix ethernet phy-mode
  arm64: dts: ls1046a: fix dcfg address range
  soc: sunxi: mbus: Remove DE2 display engine compatibles
  arm64: dts: meson: switch TFLASH_VDD_EN pin to open drain on Odroid-C4
  Revert "arm64: dts: amlogic: add missing ethernet reset ID"
  arm64: dts: rockchip: Disable display for NanoPi R2S
  ARM: dts: omap4-droid4: Fix lost keypad slide interrupts for droid4
  arm64: dts: rockchip: remove interrupt-names property from rk3399 vdec node
  drivers: bus: simple-pm-bus: Fix compatibility with simple-bus for auxdata
  ARM: OMAP2+: Fix booting for am335x after moving to simple-pm-bus
  ARM: OMAP2+: Fix suspcious RCU usage splats for omap_enter_idle_coupled
  ARM: dts: stm32: Fix GPIO hog flags on DHCOM DRC02
  ARM: dts: stm32: Fix GPIO hog flags on DHCOM PicoITX
  ARM: dts: stm32: Fix GPIO hog names on DHCOM
  ARM: dts: stm32: Disable optional TSC2004 on DRC02 board
  ARM: dts: stm32: Disable WP on DHCOM uSD slot
  ARM: dts: stm32: Connect card-detect signal on DHCOM
  ARM: dts: stm32: Fix polarity of the DH DRC02 uSD card detect
  arm64: dts: qcom: sdm845: Reserve LPASS clocks in gcc
  ...
2021-02-03 09:50:59 -08:00
Quentin Perret
bbc075e01c KVM: arm64: Stub EXPORT_SYMBOL for nVHE EL2 code
In order to ensure the module loader does not get confused if a symbol
is exported in EL2 nVHE code (as will be the case when we will compile
e.g. lib/memset.S into the EL2 object), make sure to stub all exports
using __DISABLE_EXPORTS in the nvhe folder.

Suggested-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Quentin Perret <qperret@google.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20210203141931.615898-3-qperret@google.com
2021-02-03 16:42:57 +00:00
Alexandru Elisei
8c358b29e0 KVM: arm64: Correct spelling of DBGDIDR register
The aarch32 debug ID register is called DBG*D*IDR (emphasis added), not
DBGIDR, use the correct spelling.

Signed-off-by: Alexandru Elisei <alexandru.elisei@arm.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20210128132823.35067-1-alexandru.elisei@arm.com
2021-02-03 11:01:19 +00:00
Marc Zyngier
8e26d11f68 KVM: arm64: Use symbolic names for the PMU versions
Instead of using a bunch of magic numbers, use the existing definitions
that have been added since 8673e02e58 ("arm64: perf: Add support
for ARMv8.5-PMU 64-bit counters")

Reviewed-by: Alexandru Elisei <alexandru.elisei@arm.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
2021-02-03 11:00:22 +00:00
Marc Zyngier
46081078fe KVM: arm64: Upgrade PMU support to ARMv8.4
Upgrading the PMU code from ARMv8.1 to ARMv8.4 turns out to be
pretty easy. All that is required is support for PMMIR_EL1, which
is read-only, and for which returning 0 is a valid option as long
as we don't advertise STALL_SLOT as an implemented event.

Let's just do that and adjust what we return to the guest.

Signed-off-by: Marc Zyngier <maz@kernel.org>
2021-02-03 11:00:22 +00:00
Marc Zyngier
94893fc9ad KVM: arm64: Limit the debug architecture to ARMv8.0
Let's not pretend we support anything but ARMv8.0 as far as the
debug architecture is concerned.

Reviewed-by: Eric Auger <eric.auger@redhat.com>
Reviewed-by: Alexandru Elisei <alexandru.elisei@arm.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
2021-02-03 11:00:08 +00:00
Marc Zyngier
c885793558 KVM: arm64: Refactor filtering of ID registers
Our current ID register filtering is starting to be a mess of if()
statements, and isn't going to get any saner.

Let's turn it into a switch(), which has a chance of being more
readable, and introduce a FEATURE() macro that allows easy generation
of feature masks.

No functionnal change intended.

Reviewed-by: Eric Auger <eric.auger@redhat.com>
Reviewed-by: Alexandru Elisei <alexandru.elisei@arm.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
2021-02-03 11:00:01 +00:00
Marc Zyngier
99b6a4013f KVM: arm64: Add handling of AArch32 PCMEID{2,3} PMUv3 registers
Despite advertising support for AArch32 PMUv3p1, we fail to handle
the PMCEID{2,3} registers, which conveniently alias with the top
bits of PMCEID{0,1}_EL1.

Implement these registers with the usual AA32(HI/LO) aliasing
mechanism.

Reviewed-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
2021-02-03 10:59:26 +00:00
Marc Zyngier
cb95914685 KVM: arm64: Fix AArch32 PMUv3 capping
We shouldn't expose *any* PMU capability when no PMU has been
configured for this VM.

Reviewed-by: Eric Auger <eric.auger@redhat.com>
Reviewed-by: Alexandru Elisei <alexandru.elisei@arm.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
2021-02-03 10:59:16 +00:00
Marc Zyngier
bea7e97fef KVM: arm64: Fix missing RES1 in emulation of DBGBIDR
The AArch32 CP14 DBGDIDR has bit 15 set to RES1, which our current
emulation doesn't set. Just add the missing bit.

Reported-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Reviewed-by: Alexandru Elisei <alexandru.elisei@arm.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
2021-02-03 10:59:06 +00:00
AngeloGioacchino Del Regno
7790114893 arm64: dts: qcom: msm8998: Use rpmpd definitions for opp table levels
The dt-bindings/power/qcom-rpmpd.h header is being included in this
DT but the RPMPD OPP table declarations were using open-coded values:
use the definitions found in the aforementioned header.

Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@somainline.org>
Link: https://lore.kernel.org/r/20210109160759.186990-1-angelogioacchino.delregno@somainline.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-02-02 16:56:29 -06:00
Konrad Dybcio
564f18f03e arm64: dts: qcom: msm8996: Add missing device_type under pcie[01]
Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Link: https://lore.kernel.org/r/20201224120025.6282-1-konrad.dybcio@somainline.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-02-02 16:52:49 -06:00
Akhil P Oommen
20fd3b3728 arm64: dts: qcom: sc7180: Add support for gpu fuse
Add support for gpu fuse to help identify the supported opps.

Signed-off-by: Akhil P Oommen <akhilpo@codeaurora.org>
Link: https://lore.kernel.org/r/1610129731-4875-2-git-send-email-akhilpo@codeaurora.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-02-02 16:51:44 -06:00
Konrad Dybcio
a72848e8a4 arm64: dts: qcom: msm8998: Disable some components by default
Some components (like PCIe) are not used on all devices and
with a certain firmware configuration they might end up triggering
a force reboot or a Synchronous Abort.

This commit brings no functional difference as the nodes are
enabled on devices which didn't disable them previously.

Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Tested-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@somainline.org>
Link: https://lore.kernel.org/r/20210109163001.146867-6-konrad.dybcio@somainline.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-02-02 16:49:12 -06:00
Konrad Dybcio
c43cfc549f arm64: dts: qcom: msm8998: Add capacity-dmips-mhz to CPU cores
Add capacity-dmips-mhz to ensure the scheduler can efficiently
make use of the big.LITTLE core configuration.

Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Tested-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@somainline.org>
Link: https://lore.kernel.org/r/20210109163001.146867-5-konrad.dybcio@somainline.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-02-02 16:48:38 -06:00
Konrad Dybcio
0fee55fc0d arm64: dts: qcom: msm8998: Add I2C pinctrl and fix BLSP2_I2C naming
The BLSP2-connected interfaces started from 0 which is.. misleading
to say the least.. the clock names corresponding to these started
from 1, so let's align to that so as to reduce confusion.

Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Tested-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@somainline.org>
Link: https://lore.kernel.org/r/20210109163001.146867-4-konrad.dybcio@somainline.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-02-02 16:48:30 -06:00
Konrad Dybcio
6845359eea arm64: dts: qcom: msm8998: Add DMA to I2C hosts
Add DMA properties to I2C hosts to allow for DMA transfers.

Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Tested-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@somainline.org>
Link: https://lore.kernel.org/r/20210109163001.146867-3-konrad.dybcio@somainline.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-02-02 16:47:20 -06:00
Konrad Dybcio
03e6cb3d8a arm64: dts: qcom: msm8998: Merge in msm8998-pins.dtsi to msm8998.dtsi
This is the usual way of handling pin configuration upstream now, so
align to it.

Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Tested-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@somainline.org>
Link: https://lore.kernel.org/r/20210109163001.146867-2-konrad.dybcio@somainline.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-02-02 16:47:12 -06:00
Vincent Knecht
d5ae2528b0 arm64: dts: msm8916: Fix reserved and rfsa nodes unit address
Fix `reserved` and `rfsa` unit address according to their reg address

Fixes: 7258e10e6a ("ARM: dts: msm8916: Update reserved-memory")

Signed-off-by: Vincent Knecht <vincent.knecht@mailoo.org>
Link: https://lore.kernel.org/r/20210123104417.518105-1-vincent.knecht@mailoo.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-02-02 16:46:32 -06:00
Gustave Monce
c636eeb751 arm64: dts: qcom: msm8994-octagon: Add AD7147 and APDS9930 sensors
Add and configure AD7147 grip sensor and APDS9930 proximity sensor.

Signed-off-by: Gustave Monce <gustave.monce@outlook.com>
Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Link: https://lore.kernel.org/r/20210131013853.55810-19-konrad.dybcio@somainline.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-02-02 16:38:05 -06:00
Gustave Monce
caea1f7447 arm64: dts: qcom: msm8994-octagon: Add TAS2553 codec
Lumia 950/XL feature a TAS2553 codec. Configure it using the
TAS2552 driver.

Signed-off-by: Gustave Monce <gustave.monce@outlook.com>
Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Link: https://lore.kernel.org/r/20210131013853.55810-18-konrad.dybcio@somainline.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-02-02 16:38:05 -06:00
Gustave Monce
3aca45f776 arm64: dts: qcom: msm8994-octagon: Add sensors on blsp1_i2c5
Add AK09912 magnetometer, ZPA2326 barometer and MPU6500 accelerometer
nodes.

Signed-off-by: Gustave Monce <gustave.monce@outlook.com>
Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Link: https://lore.kernel.org/r/20210131013853.55810-17-konrad.dybcio@somainline.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-02-02 16:37:57 -06:00
Gustave Monce
34109bbecc arm64: dts: qcom: msm8994-octagon: Add NXP NFC node
Octagon devices use PN544 connected over I2C. Configure it.

Signed-off-by: Gustave Monce <gustave.monce@outlook.com>
Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Link: https://lore.kernel.org/r/20210131013853.55810-16-konrad.dybcio@somainline.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-02-02 16:37:39 -06:00
Konrad Dybcio
7f59caec7b arm64: dts: qcom: msm8994-octagon: Add FM Radio and DDR regulator nodes
FAN53526 and SI470X are both connected over blsp2_i2c5. Configure them.

Signed-off-by: Gustave Monce <gustave.monce@outlook.com>
Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Link: https://lore.kernel.org/r/20210131013853.55810-15-konrad.dybcio@somainline.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-02-02 16:37:39 -06:00
Gustave Monce
da3a82e35e arm64: dts: qcom: msm8994-octagon: Configure PON keys
Both the power key and the vol- key are connected over PON.
Configure them.

Signed-off-by: Gustave Monce <gustave.monce@outlook.com>
Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Link: https://lore.kernel.org/r/20210131013853.55810-14-konrad.dybcio@somainline.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-02-02 16:37:38 -06:00
Gustave Monce
8b65237e4e arm64: dts: qcom: msm8994-octagon: Configure Lattice iCE40 FPGA
Octagon devices have a Lattice iCE40 FPGA connected over SPI.
Configure it.

Signed-off-by: Gustave Monce <gustave.monce@outlook.com>
Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Link: https://lore.kernel.org/r/20210131013853.55810-13-konrad.dybcio@somainline.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-02-02 16:37:38 -06:00
Gustave Monce
09179fb6af arm64: dts: qcom: msm8994-octagon: Add uSD card and disable HS400 on eMMC
Lumia 950/XL, like other phones, ship with different storage chips.
Some of them are not capable of stable operation at HS400. Disable it.

Signed-off-by: Gustave Monce <gustave.monce@outlook.com>
Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Link: https://lore.kernel.org/r/20210131013853.55810-12-konrad.dybcio@somainline.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-02-02 16:37:38 -06:00
Gustave Monce
600f911112 arm64: dts: qcom: msm8994-octagon: Configure HD3SS460 Type-C mux pins
The driver is not available yet, so hardcode the pins.

Signed-off-by: Gustave Monce <gustave.monce@outlook.com>
Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Link: https://lore.kernel.org/r/20210131013853.55810-11-konrad.dybcio@somainline.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-02-02 16:37:28 -06:00
Gustave Monce
2eae095fc2 arm64: dts: qcom: msm8994-octagon: Add QCA6174 bluetooth
Configure and enable QCA6174 Bluetooth and required pins.

Signed-off-by: Gustave Monce <gustave.monce@outlook.com>
Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Link: https://lore.kernel.org/r/20210131013853.55810-10-konrad.dybcio@somainline.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-02-02 16:36:39 -06:00
Gustave Monce
60b214effb arm64: dts: qcom: msm8994-octagon: Configure regulators
Configure the regulators to ensure proper voltages across
the board.

Signed-off-by: Gustave Monce <gustave.monce@outlook.com>
Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Link: https://lore.kernel.org/r/20210131013853.55810-9-konrad.dybcio@somainline.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-02-02 16:36:33 -06:00
Gustave Monce
3c0fd4eba2 arm64: dts: qcom: msm8994-octagon: Add gpio-keys and Hall sensor
This enables tje hardware keys as well as the Hall sensor.

Signed-off-by: Gustave Monce <gustave.monce@outlook.com>
Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Link: https://lore.kernel.org/r/20210131013853.55810-8-konrad.dybcio@somainline.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-02-02 16:35:59 -06:00
Gustave Monce
70ad85aa12 arm64: dts: qcom: msm8994-octagon: Fix up the memory map
Windows-based devices have a far different memory map than
the standard LA one.

Signed-off-by: Gustave Monce <gustave.monce@outlook.com>
Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Link: https://lore.kernel.org/r/20210131013853.55810-7-konrad.dybcio@somainline.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-02-02 16:35:59 -06:00
Gustave Monce
c6e72bd747 arm64: dts: qcom: msm8992/4-lumia*: Create a common DTS
Lumia 950 and 950XL are both based on the Octagon board, sharing
the vast majority of components, configuration etc. Commonize it.

Signed-off-by: Gustave Monce <gustave.monce@outlook.com>
Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Link: https://lore.kernel.org/r/20210131013853.55810-6-konrad.dybcio@somainline.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-02-02 16:35:45 -06:00
Konrad Dybcio
976d321f32 arm64: dts: qcom: msm8992: Make the DT an overlay on top of 8994
This saves a good thousand lines of code, perhaps even
more in the long run.

Co-developed-by: Gustave Monce <gustave.monce@outlook.com>
Signed-off-by: Gustave Monce <gustave.monce@outlook.com>
Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Link: https://lore.kernel.org/r/20210131013853.55810-5-konrad.dybcio@somainline.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-02-02 16:34:15 -06:00
Konrad Dybcio
76d0b35c7f arm64: dts: qcom: msm8994: Sort hwlock properly
Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Link: https://lore.kernel.org/r/20210131013853.55810-4-konrad.dybcio@somainline.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-02-02 16:33:35 -06:00
Gustave Monce
e093d1a287 arm64: dts: qcom: msm8994: Fix remaining BLSP errors/mistakes
* Move 35500 clock-frequency to kitakami (turns out it's a Sony specific)
* Add missing interfaces
* Fix the naming scheme
* Fix up pin assignments to make all BLSPs work
* Add DMA where previously omitted

Signed-off-by: Gustave Monce <gustave.monce@outlook.com>
Co-developed-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Link: https://lore.kernel.org/r/20210131013853.55810-3-konrad.dybcio@somainline.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-02-02 16:32:54 -06:00
Konrad Dybcio
886ddcfe4a arm64: dts: qcom: msm8994: Add SMP2P nodes
They will be required for bringup of remote processors.

Signed-off-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Link: https://lore.kernel.org/r/20210131013853.55810-2-konrad.dybcio@somainline.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-02-02 16:31:37 -06:00
Jonathan Albrieux
dcac40943c arm64: dts: qcom: msm8916-longcheer-l8910: Add imu/magnetometer
BQ Aquaris X5 (Longcheer L8910) has:
 - BMI160 accelerometer and gyroscope sensor
 - AK09911 magnetometer sensor
Add them to the device tree.

This patch depends on patch "arm64: dts: qcom: msm8916: Add blsp_i2c3".

Reviewed-by: Stephan Gerhold <stephan@gerhold.net>
Signed-off-by: Jonathan Albrieux <jonathan.albrieux@gmail.com>
Link: https://lore.kernel.org/r/20210125094435.7528-4-jonathan.albrieux@gmail.com
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-02-02 16:31:37 -06:00
Jonathan Albrieux
012e19f435 arm64: dts: qcom: msm8916: Add blsp_i2c3
MSM8916 has another I2C QUP controller that can be enabled on
GPIO 10 and 11.

Add blsp_i2c3 to msm8916.dtsi and disable it by default.

Reviewed-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Reviewed-by: Stephan Gerhold <stephan@gerhold.net>
Signed-off-by: Jonathan Albrieux <jonathan.albrieux@gmail.com>
Link: https://lore.kernel.org/r/20210125094435.7528-3-jonathan.albrieux@gmail.com
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-02-02 16:31:36 -06:00
Jonathan Albrieux
b3a6b08828 arm64: dts: qcom: Add device tree for BQ Aquaris X5 (Longcheer L8910)
BQ Aquaris X5 (Longcheer L8910) is a smartphone using the MSM8916 SoC.

Add device tree with initial support for:

 - SDHCI (internal and external storage)
 - USB Device Mode
 - UART
 - Regulators
 - WiFi/BT
 - Volume buttons
 - Vibrator
 - Touchkeys backlight

This device tree is based on downstream device tree from BQ and from
Longcheer L8915 device tree.

Co-developed-by: Stephan Gerhold <stephan@gerhold.net>
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Signed-off-by: Jonathan Albrieux <jonathan.albrieux@gmail.com>
Link: https://lore.kernel.org/r/20210125094435.7528-2-jonathan.albrieux@gmail.com
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-02-02 16:31:31 -06:00
Manivannan Sadhasivam
418b4ee165 arm64: dts: qcom: rb5: Enable PCIe ports and PHY
RB5 has 3 PCIe ports exposed to connect PCIe client devices. PCIe0 is
connected to QCA6391 chipset and others are available on the HS3
expansion connector. Hence, enable all of them.

Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Link: https://lore.kernel.org/r/20210127234221.947306-3-dmitry.baryshkov@linaro.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-02-02 16:31:31 -06:00
Manivannan Sadhasivam
e53bdfc009 arm64: dts: qcom: sm8250: Add PCIe support
Add PCIe support for Qcom SM8250 SoC. This SoC has 3 PCIe Gen 3
instances based on Designware IP, out of which PCIe0 has 1 lane support
and the rest have 2 lane support.

Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
[DB: add ddrss_sf_tbu clock]
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20210127234221.947306-2-dmitry.baryshkov@linaro.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-02-02 16:31:14 -06:00
Jakub Kicinski
d1e1355aef Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2021-02-02 14:21:31 -08:00
Arnd Bergmann
77bad66416 - build PMIC wrapper as a module
- build DEVAPC as a module
 -----BEGIN PGP SIGNATURE-----
 
 iQJLBAABCAA1FiEEUdvKHhzqrUYPB/u8L21+TfbCqH4FAmAXyPMXHG1hdHRoaWFz
 LmJnZ0BnbWFpbC5jb20ACgkQL21+TfbCqH59ShAAtYtLIED5bIXEnj+t7BaTs4tf
 JUr/N9W2jzsl1ouBcUF2qKTqs8QXqgm4QseAD/Z2xrQmSAHqlalik4LBUtmFhT5K
 iWilE1QkPZ3zPMPNy7/AkYwUkYyP+5yrA9EOFlreUJ9A8Wkwc0vjTRgXeZxRXUCS
 vrxCoHVkWM6iwfXvMBkptGumJ/jIGdxRdAOg3qL7PTS/V8FfbglTf38dc43Mw1D4
 J0nAOnDUCmbYWniw+l0edhVDI+/hHYQlg3WHXrhgl0ue9BaCNWe7ClnlZVxYMl9T
 qe+1MYNckIzT67FtyoLd/DTb/6WkAb5w3uQUmxtadQIm0oqYXQdmfRuO1oYHAivW
 9AnSAaIdV81gS7NDHHCDeO75vsgAsIMvKPb11fYffkkOdNGkai5dj+6AVZX6o7d8
 mHvut2aJidnm+ln/nFcUexmPmtp8gVc/mxlbvkc/7pyx6ylx0TeP/M4lIZ9iSrkH
 WT7U8g+sekmaQd3Lsf46dEmlboYNxOKP1M7fGQX1vA3s1W+RGTXWtPRZXYL1xnFY
 X6+HawSTKdHJY4FecOPztCg6KJ6hRzpPkhMxN5cZDk40Geu6GcztvYAZ/jS1MXAA
 evVlO/A1dnsdDTVZvMyh8HLahiIBpuY3CsU+OShw1layVkXS63E0Xqo7WHcBOKSl
 w8malEeCprSUT0dFq6k=
 =gUHF
 -----END PGP SIGNATURE-----

Merge tag 'v5.11-next-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux into arm/defconfig

- build PMIC wrapper as a module
- build DEVAPC as a module

* tag 'v5.11-next-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux:
  arm64: configs: Support DEVAPC on MediaTek platforms
  arm64: configs: Support pwrap on Mediatek MT6779 platform

Link: https://lore.kernel.org/r/aa5c6673-f018-00d3-42da-46a4976d8ef7@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-02-02 22:41:14 +01:00
Arnd Bergmann
f79bf56fb2 This pull request contains Broadcom ARM-based SoCs Kconfig/machine entry
changes for 5.12, please pull the following:
 
 - Maxime adds a select of the Broadcom STB standard L2 interrupt
   controller driver which is used in the Raspberry Pi 4 HDMI controller to
   support I2C and CEC interrupts
 
 - Florian adds a debug URT entry for the 72116 STB SoC
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEm+Rq3+YGJdiR9yuFh9CWnEQHBwQFAmAXKL4ACgkQh9CWnEQH
 BwRcahAAhPImzrTkjsZhr1Qa9L26pwBPh2Q55C9vBUuYiAPei7OTdgf1tCPm3cja
 J70OlYZiFlOWUnTyha4G00gyVRLkAxDNau8iCoJ+2cHpUMHXgYz0Rg5dLXEpAFvH
 yvxYS+cj78f+thmogH60cu6AMqowU+868mK0ivlwKMt+z4Mce3fIPhJaxWGDNoBy
 GHHvwv3WBCw8ltlezEJDUrLQ3A1IMMIGk1qRKVpsd6kkH/h/lERuVowgvjztN0Qh
 QVi3pn3Xu3p9Y4OMQIbDkBiVklrkpcUODLA5ZBieDbmV6DmWMisKaFbYg0BBn/Kt
 pvKylCHITNDSh1lNcAnxnoiCm0kKf0CE6Y+m8jaVwoC6MNm6Vc0xrX4Uquz2TWjp
 5Z9lY0xO3YF2RhtlINkzO/VxndgJIp1f/2gpn3CNvF5pTbHx5ClQsCYk7YfohHYe
 DV237IeMLSgmLWW9ijujRqsgGB2GV2KMsJH3NVnqYwIYpbURgbZ+oZBfuKkeHyCi
 y22Kc3RT8EdRFHVbKiIO8npXRl4L6WBcJlwowmasbW150O6X8ckPgRdvXC9O9KVs
 x2v+0pjZz30kv0JeGy7HaUwJY8y84G7IHCRuXKy+BHZWMX6pFPbQq/sOo8xV45zt
 Vg/XcZDSBjLQZFBaookKurDlsB5on3sY6rzQrYbzzjkFYmLX1Iw=
 =aVSR
 -----END PGP SIGNATURE-----

Merge tag 'arm-soc/for-5.12/soc' of https://github.com/Broadcom/stblinux into arm/soc

This pull request contains Broadcom ARM-based SoCs Kconfig/machine entry
changes for 5.12, please pull the following:

- Maxime adds a select of the Broadcom STB standard L2 interrupt
  controller driver which is used in the Raspberry Pi 4 HDMI controller to
  support I2C and CEC interrupts

- Florian adds a debug URT entry for the 72116 STB SoC

* tag 'arm-soc/for-5.12/soc' of https://github.com/Broadcom/stblinux:
  ARM: bcm: Select BRCMSTB_L2_IRQ for bcm2835
  ARM: brcmstb: Add debug UART entry for 72116

Link: https://lore.kernel.org/r/20210131221721.685974-6-f.fainelli@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-02-02 22:30:35 +01:00
Arnd Bergmann
c0ec73899d This pull request contains Broadcom ARM64-based SoCs defconfig updates for
5.12, please pull the following:
 
 - Nicolas enables the NVMEM reserved memory driver to permit reading the
   Raspberry Pi's bootloader configuration from user-space
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEm+Rq3+YGJdiR9yuFh9CWnEQHBwQFAmAXJ/sACgkQh9CWnEQH
 BwQjDw/9H0nmyHajvSDUvp/MH5zBp9g2mmaPxwzk5x0+aUwsXeakTSNuIRwHXmcq
 BB0GdJr6lnEXUjRL9hevHM1yqy/LWLNgtmWDEBv4fBhUtTH5mZ+dyDuwuKIxiide
 SpmdY67X3VaTLmu4i8lPfHlHLh/7jRfmadqBjy3xDzE2R+r3HzUQ3hF4vmR46W5s
 QAOL/NOXWax5JtgllIHcDoBGo47OUfU+qXhmyWvxcr1ed9p3f8JNC82BN/YfU56f
 VplmCDpH0ZeE6rIjoInYmHCm/5+I1HPP2z7/ffTlohok9b24YlfiXyTXGQp5XjeF
 FV4grafkXdp/4Vrwr3rtMlhZr+WfJaFQK0qvl35qzCvw3vILiOh/HJqlWsnd612f
 uBxD0adyH/rVIrtcvRmj6buVcapQJvn9eXo0NPKx7HmZ8aMAMTUBwxfVNTBuFDtr
 A6DP04ZhpX2NCDWctVKnaj8hxLqpMx7dU4ycTRchQBDG6Vbcfp7Mrl0mgWdKaCau
 Gpv/xdv0RBXQ0sjVRsnXBXx0kVj8xNMZcYYBlCqjEAf3uZk3RTcDSIFwfN/ssg+Z
 zmvYfusp5f/Lnf3kBvJ2j9HwLeCIiH8csVZX1NQWrNq19fxDa1WBvTdm2O5xM93U
 3yC20Z25VDyxH/WeR/zZNqDobbSXNyvT8R7QuAl4zYRaVWmZH6U=
 =02zK
 -----END PGP SIGNATURE-----

Merge tag 'arm-soc/for-5.12/defconfig-arm64' of https://github.com/Broadcom/stblinux into arm/defconfig

This pull request contains Broadcom ARM64-based SoCs defconfig updates for
5.12, please pull the following:

- Nicolas enables the NVMEM reserved memory driver to permit reading the
  Raspberry Pi's bootloader configuration from user-space

* tag 'arm-soc/for-5.12/defconfig-arm64' of https://github.com/Broadcom/stblinux:
  arm64: defconfig: Enable nvmem's rmem driver

Link: https://lore.kernel.org/r/20210131221721.685974-2-f.fainelli@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-02-02 22:29:10 +01:00
Hailong Liu
b9ba680969 arm64/ptdump:display the Linear Mapping start marker
The current /sys/kernel/debug/kernel_page_tables does not display the
*Linear Mapping start* marker on arm64, which I think should be paired
with the *Linear Mapping end* marker.

Since *Linear Mapping start* is the first marker, use initialise 'level'
to -1 in order to display it.

Signed-off-by: Hailong Liu <liu.hailong6@zte.com.cn>
Link: https://lore.kernel.org/r/20210202150749.10104-1-liuhailongg6@163.com
Signed-off-by: Will Deacon <will@kernel.org>
2021-02-02 21:12:35 +00:00
Keno Fischer
12fc428840 arm64: ptrace: Fix missing return in hw breakpoint code
When delivering a hw-breakpoint SIGTRAP to a compat task via ptrace, the
lack of a 'return' statement means we fallthrough to the native case,
which differs in its handling of 'si_errno'.

Although this looks to be harmless because the subsequent signal is
effectively ignored, it's confusing and unintentional, so add the
missing 'return'.

Signed-off-by: Keno Fischer <keno@juliacomputing.com>
Link: https://lore.kernel.org/r/20210202002109.GA624440@juliacomputing.com
Signed-off-by: Will Deacon <will@kernel.org>
2021-02-02 21:07:56 +00:00
Arnd Bergmann
62c31574cd i.MX fixes for 5.11, round 3:
- Fix DCFG address range on LS1046A SoC.
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmAY8kwUHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM6dWAf/YhoNCE93h0MszvSfQAMlZag3ufRC
 jTnJa2xGSxnE0cU2i1rGR4l/H/inPdE7GVaG0TSxxJTIWfw7x21dsTtwtw4PVtud
 ip2RpacWLeq7XGyZoMFv0wv8aDe+LIkEfB3eqoIjbt5Youbu75twQNv0e6gYgSzB
 sZc+utWaKw93nOd7aJA+ZgckumyctxROJfKPPD8Cf8pWrmm182Nm8js69/7gWjeJ
 XHWW4Y9soGhtsy4aIKu9rsb0S4XrccDMCRpaQ8EXt17AqTWVtxFQvKDTzC5lpT7w
 1rbi72enhGx6pXRw04C9DrNqNbskN+lpO3npTJyTvBrkpXibfrG96mQXMQ==
 =6yrI
 -----END PGP SIGNATURE-----

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

i.MX fixes for 5.11, round 3:

- Fix DCFG address range on LS1046A SoC.

* tag 'imx-fixes-5.11-3' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  arm64: dts: ls1046a: fix dcfg address range

Link: https://lore.kernel.org/r/20210202071441.GP907@dragon
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-02-02 21:52:37 +01:00
Vinod Koul
0684074a46 arm64: dts: qcom: Add basic devicetree support for SM8350-MTP board
Add basic devicetree support for Qualcomm Technologies, Inc SM8350 SoC
MTP board. This enabled uart node and adds rpmh-regulators present for
this board.

Signed-off-by: Vinod Koul <vkoul@kernel.org>
Link: https://lore.kernel.org/r/20210127123054.263231-7-vkoul@kernel.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-02-02 14:48:44 -06:00
Vinod Koul
b7e8f433a6 arm64: dts: qcom: Add basic devicetree support for SM8350 SoC
Add basic devicetree support for Qualcomm Technologies, Inc SM8350 SoC.
This adds gcc, pinctrl, reserved memory, uart, cpu nodes for this SoC.

Signed-off-by: Vinod Koul <vkoul@kernel.org>
Link: https://lore.kernel.org/r/20210127123054.263231-6-vkoul@kernel.org
[bjorn: Adjusted 4th timer interrupt, per input from Sai]
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-02-02 14:48:02 -06:00
Vincent Knecht
5f36d633c2 arm64: dts: qcom: Disable MDSS by default for 8916/8016 devices
Disable MDSS (Mobile Display Subsystem) by default in msm8916.dtsi
and only explicitly enable it in devices' DT which actually use it.

This leads to faster boot and cleaner logs for other devices,
which also won't have to explicitly disable MDSS to use framebuffer.

Reviewed-by: Stephan Gerhold <stephan@gerhold.net>
Reviewed-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Signed-off-by: Vincent Knecht <vincent.knecht@mailoo.org>
Link: https://lore.kernel.org/r/20210130105717.2628781-4-vincent.knecht@mailoo.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-02-02 14:44:23 -06:00
Vincent Knecht
b32155ff02 arm64: dts: qcom: Add device tree for Alcatel Idol 3 (4.7")
The Alcatel Idol 3 (4.7") is a smartphone based on MSM8916.
Add a device tree with support for USB, eMMC, SD-Card, WiFi,
BT, power/volume buttons, vibrator and the following sensors:
magnetometer, accelerometer, gyroscope, ambient light+proximity

Reviewed-by: Stephan Gerhold <stephan@gerhold.net>
Reviewed-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Signed-off-by: Vincent Knecht <vincent.knecht@mailoo.org>
Link: https://lore.kernel.org/r/20210130105717.2628781-3-vincent.knecht@mailoo.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-02-02 14:44:13 -06:00
Rikard Falkeborn
2ceee7ed4c arm64: perf: Constify static attribute_group structs
The only usage of these is to put their addresses in an array of
pointers to const attribute_group structs. Make them const to allow the
compiler to put them in read-only memory.

Signed-off-by: Rikard Falkeborn <rikard.falkeborn@gmail.com>
Signed-off-by: Will Deacon <will@kernel.org>
2021-02-02 18:46:05 +00:00
Catalin Marinas
22cd5edb2d arm64: Use simpler arithmetics for the linear map macros
Because of the tagged addresses, the __is_lm_address() and
__lm_to_phys() macros grew to some harder to understand bitwise
operations using PAGE_OFFSET. Since these macros only accept untagged
addresses, use a simple subtract operation.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Ard Biesheuvel <ardb@kernel.org>
Cc: Will Deacon <will@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Link: https://lore.kernel.org/r/20210201190634.22942-3-catalin.marinas@arm.com
2021-02-02 17:45:09 +00:00
Catalin Marinas
91cb2c8b07 arm64: Do not pass tagged addresses to __is_lm_address()
Commit 519ea6f1c8 ("arm64: Fix kernel address detection of
__is_lm_address()") fixed the incorrect validation of addresses below
PAGE_OFFSET. However, it no longer allowed tagged addresses to be passed
to virt_addr_valid().

Fix this by explicitly resetting the pointer tag prior to invoking
__is_lm_address(). This is consistent with the __lm_to_phys() macro.

Fixes: 519ea6f1c8 ("arm64: Fix kernel address detection of __is_lm_address()")
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Ard Biesheuvel <ardb@kernel.org>
Cc: <stable@vger.kernel.org> # 5.4.x
Cc: Will Deacon <will@kernel.org>
Cc: Vincenzo Frascino <vincenzo.frascino@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Link: https://lore.kernel.org/r/20210201190634.22942-2-catalin.marinas@arm.com
2021-02-02 17:44:47 +00:00
Arnd Bergmann
481d73c663 mvebu dt64 for 5.12 (part 1)
- rename u-boot mtd partition to a53-firmware on Turris Mox (Armada 3720 based)
  - improve SDHCI support on AP807 based board
  - move SATA comphy into main armada-37xx.dtsi
  - add Armada 8K/7K PWM support
 -----BEGIN PGP SIGNATURE-----
 
 iF0EABECAB0WIQQYqXDMF3cvSLY+g9cLBhiOFHI71QUCYBgqrwAKCRALBhiOFHI7
 1RwyAJ91R1M5jgXu1AwuKUUwhG5nQz7PlwCfY4H0+4vkvjOPsVRzzPM0ojvYgUY=
 =3JKO
 -----END PGP SIGNATURE-----

Merge tag 'mvebu-dt64-5.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu into arm/dt

mvebu dt64 for 5.12 (part 1)

 - rename u-boot mtd partition to a53-firmware on Turris Mox (Armada 3720 based)
 - improve SDHCI support on AP807 based board
 - move SATA comphy into main armada-37xx.dtsi
 - add Armada 8K/7K PWM support

* tag 'mvebu-dt64-5.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu:
  arm64: dts: armada: add pwm offsets for ap/cp gpios
  arm64: dts: marvell: armada-37xx: Add SATA comphy into main armada-37xx.dtsi file
  arm64: dts: cn913x-db: enable MMC HS400
  arm64: dts: change AP807 SDHCI compatibility string
  arm64: dts: armada-3720-turris-mox: rename u-boot mtd partition to a53-firmware

Link: https://lore.kernel.org/r/87pn1jn48s.fsf@BL-laptop
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-02-02 18:03:55 +01:00
Arnd Bergmann
542b9f11e5 mt6779:
- add DEVAPC node to detect mallicious bus accesses
 - add PMIC wrapper node
 
 mt7622:
 - add reset to mmc node
 
 mt8183:
 - fix typo in drma-fifo-size property
 - refine compatible for the disp-gamma
 - add phandel of PM domain to the PWM node
 - add second PWM node
 - add regulator to MFG power domain
 - enable DSI node in kukui
 - add krane sku0, which uses different panel
 - fix mailbox dt-bindings include path
 
 mt8192:
 - add NOR flash node
 - add PSCI based CPU idle states
 
 mt8516:
 - add node for the UART's APDMA controller
 -----BEGIN PGP SIGNATURE-----
 
 iQJLBAABCAA1FiEEUdvKHhzqrUYPB/u8L21+TfbCqH4FAmAXzZgXHG1hdHRoaWFz
 LmJnZ0BnbWFpbC5jb20ACgkQL21+TfbCqH5NrA/9FzIDvcRnXmvj6t5S6DKMBV87
 0cbt0Q6lzJ6p1K8bt4zjiAVz0DN4k4vwQXarlJWWJ9upcc0g5MNMT7GyrD7TtRNy
 KEP3w0fYuHU3An4XsyAfvl5UbNJOZVzFslv1M9iSrlGUgiG/LZW8r+zRxoMot0nz
 TWeQccWL6ryAe0Zc+fP1Dl3WV82LmmMf23KCWY8HWTrZG4nLRbHiKk61zIXsbxw1
 4DbDAFoXImy/dbFs9KSEz6leSHuOhdKvJ7+SyqzGWzTnsbucFhI5NvONABkOCWpf
 5hUnVDuNgVhyq109heB+eJ5SZTHGP92ROT940Z96PJsTJsGUYKSnZfxIgaK6exCO
 I++MHBr31orhJ1m+zM/DktyRbOZDPjzj4kBbD3YouLvbNvlL1y1qyNtArFU6flZs
 J/Dvms3J5H1C8peXBlFelIddArfXQipaDIndYZfyTbIe2GwkY8Wo0qJGDeJ0gT3L
 alU5KEocZo+nPEHBH3BLrCiFePpS1yqQSITCgI26JJ5kcUmqZM8WWY13HgWNcDnf
 EM6icQkNcCn3Y/lHjVy9hWDxzzW/UoajGslEliiFJfOCCJEb2aydWqEbkPGRRnH6
 HXj9gGrd+6IAou3wD2KZqEnPYfc5pu0TrgqEGECu6E8eVWF+O4QkJrQeOqh7bSvc
 xcJK1NCtMjMaOmnLsaQ=
 =sZPi
 -----END PGP SIGNATURE-----

Merge tag 'v5.11-next-dts64' of git://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux into arm/dt

mt6779:
- add DEVAPC node to detect mallicious bus accesses
- add PMIC wrapper node

mt7622:
- add reset to mmc node

mt8183:
- fix typo in drma-fifo-size property
- refine compatible for the disp-gamma
- add phandel of PM domain to the PWM node
- add second PWM node
- add regulator to MFG power domain
- enable DSI node in kukui
- add krane sku0, which uses different panel
- fix mailbox dt-bindings include path

mt8192:
- add NOR flash node
- add PSCI based CPU idle states

mt8516:
- add node for the UART's APDMA controller

* tag 'v5.11-next-dts64' of git://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux:
  arm64: dts: mt8183: Fix GCE include path
  dts64: mt7622: fix slow sd card access
  dt-bindings: arm64: dts: mediatek: Add krane sku0
  arm64: dts: mt8183: Add krane-sku0 board.
  arm64: dts: mt8183: config dsi node
  arm64: dts: mt6779: Support pwrap on Mediatek MT6779 platform
  arm64: dts: mt6779: Support devapc
  arm64: dts: mt8192: Add cpu-idle-states
  arm64: dts: mediatek: mt8183: Add domain supply for mfg
  arm64: dts: mt8192: add nor_flash device node
  arm64: dts: mediatek: mt8516: add support for APDMA
  arm64: dts: mediatek: mt8183-evb: add PWM support
  arm64: dts: mediatek: mt8183: add pwm node
  arm64: dts: mt8183: Add missing power-domain for pwm0 node
  arm64: dts: mt8183: refine gamma compatible name
  arm64: dts: mt8183: rename rdma fifo size

Link: https://lore.kernel.org/r/565be0cc-460a-7d0b-47da-09bf0401e8fe@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-02-02 18:00:48 +01:00
Arnd Bergmann
528587ea03 This pull request contains Broadcom ARM64-based SoCs Device Tree changes
for 5.12 please pull the following:
 
 - Rafal continues to add support for the 4906/4908 SoC family and adds
   a Device Tree for the Netgear R8000P router (4906-based), describes
   the NAND controller of the 4908 more appropriately (based on the older
   63138 DSL SoC), describes the 4908 PCIe reset controller, internal
   Ethernet switch (Starfighter 2 switch) and finally the Power
   Management Bus (PMB)
 
 - Scott removes all of the SATA-related Device Tree nodes since SATA
   is unused on the Stingray product line
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEm+Rq3+YGJdiR9yuFh9CWnEQHBwQFAmAXLDsACgkQh9CWnEQH
 BwQAYg/+PHQylSBqCnQgi6CiAOjh9/2BrsFjOjUIuHnCG32rSBL9HlciX28S2d+M
 pl8mkHD5VIwLslfZRQK7wCrG8au05Eo/Ao4Kt9iUY3TB8aZ+wa+qGeIYgAPsXsjt
 CdY4Wu19bXulH5BTXsB9zO/6qlFTR+ga3MGN8/oCh+tjDMWOr+wvXzcCm2BIh22s
 h3O+F7W+b3f9+S2Bs3W/f5feCVSplIlIoK85sOLGBduGDt4Jbcfi09IQPzjLwJKW
 u6PK7lRRUa7zcMpD3F3A+g6oRsAhpIa4QcEq2WX2Wsqs/cIh79mUxHKJbjy3FyOD
 HzX5DMM5qP7fef0QtvdOHyKbq35nAUNfoylknJ0FJlnQB09eLmXiwDG0SvUvuAbY
 B2cvIt17+EvvU9Y9KGH32QdY+KRNoZ1OsJud0bkYSFjlet3RnpT5rGowUQWnnv03
 MG2nLDA/g8qrd96g+DuTX/ndnL3Qb52L8x4yeA0Gy2WQ9BH1OtU3YsI9+ELFPHq7
 3U6Z8usZwA5M+3DsPbRA7dudKuXlgQhmh20pluvqsLFqNcxgKdZjFBgraS1VA03h
 eZG5gx7+1lP2ZspFRp0q167pVJ3/SA1iMKD/HiTg2CYyEoqwOwGFGoe3To89BnSk
 Vm+aJyizU/udt8vRvvpjARj+qndDkSEmkIZHkYcYtEUhkbui93s=
 =YhP5
 -----END PGP SIGNATURE-----

Merge tag 'arm-soc/for-5.12/devicetree-arm64' of https://github.com/Broadcom/stblinux into arm/dt

This pull request contains Broadcom ARM64-based SoCs Device Tree changes
for 5.12 please pull the following:

- Rafal continues to add support for the 4906/4908 SoC family and adds
  a Device Tree for the Netgear R8000P router (4906-based), describes
  the NAND controller of the 4908 more appropriately (based on the older
  63138 DSL SoC), describes the 4908 PCIe reset controller, internal
  Ethernet switch (Starfighter 2 switch) and finally the Power
  Management Bus (PMB)

- Scott removes all of the SATA-related Device Tree nodes since SATA
  is unused on the Stingray product line

* tag 'arm-soc/for-5.12/devicetree-arm64' of https://github.com/Broadcom/stblinux:
  arm64: dts: broadcom: Remove SATA from Stingray
  arm64: dts: broadcom: bcm4908: describe PMB block
  arm64: dts: broadcom: bcm4908: describe internal switch
  arm64: dts: broadcom: bcm4908: describe PCIe reset controller
  arm64: dts: broadcom: bcm4908: use proper NAND binding
  arm64: dts: broadcom: bcm4908: add BCM4906 Netgear R8000P DTS files
  dt-bindings: arm: bcm: document Netgear R8000P binding

Link: https://lore.kernel.org/r/20210131221721.685974-4-f.fainelli@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-02-02 17:58:32 +01:00
Arnd Bergmann
29a6387c4e Our usual bunch of patches to support the Allwinner SoCs, this time
adding:
   - DT fixes spotted through the schemas
   - Mali Support for the A10s/A13/GR8/R8
   - MMC improvements for the A64 and H6
   - New board: SL631 Action Camera, PineTab Early Adopter
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQRcEzekXsqa64kGDp7j7w1vZxhRxQUCYBb7uwAKCRDj7w1vZxhR
 xd3mAP46LnfQ/9vvCjhWMV5J7E1ob3u1A5ND3sULpS0X0oEU1wD/aCuoCtSZY4hN
 /lpCtj2QS1GAH8c5ipHqB8SgBRmCoQo=
 =fzEu
 -----END PGP SIGNATURE-----

Merge tag 'sunxi-dt-for-5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into arm/dt

Our usual bunch of patches to support the Allwinner SoCs, this time
adding:
  - DT fixes spotted through the schemas
  - Mali Support for the A10s/A13/GR8/R8
  - MMC improvements for the A64 and H6
  - New board: SL631 Action Camera, PineTab Early Adopter

* tag 'sunxi-dt-for-5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux: (47 commits)
  ARM: dts: sunxi: Rename nmi_intc to r_intc
  ARM: dts: sun8i: h2-plus: bananapi-m2-zero: Increase BT UART speed
  ARM: dts: sunxi: bananapi-m2-plus: Increase BT UART speed
  arm64: dts: allwinner: pine-h64: Fix typos in BT GPIOs
  arm64: dts: allwinner: pinetab: Fix the panel compatible
  arm64: dts: allwinner: pinephone: Remove useless light sensor supplies
  arm64: dts: allwinner: h6: Use - instead of @ for DT OPP entries
  ARM: dts: sun8i-a33: sina33: Add missing panel power supply
  ARM: dts: sun8i-a83t: Remove empty CSI port
  ARM: dts: sun8i-s3: pinecube: Fix CSI DTC warnings
  ARM: dts: sun8i-s3: impetus: Fix the USB PHY ID detect GPIO properties
  ARM: dts: sun8i: nanopi-r1: Fix GPIO regulator state array
  ARM: dts: sun6i: primo81: Remove useless io-channel-cells
  ARM: dts: sunxi: Fix CPU thermal zone node name
  ARM: dts: sunxi: Add missing backlight supply
  ARM: dts: sunxi: Fix the LED node names
  dt-bindings: rtc: sun6i-a31-rtc: Loosen the requirements on the clocks
  dt-bindings: iio: adc: Add AXP803 compatible
  dt-bindings: sunxi: Fix the pinecube compatible
  ARM: dts: sun8i-v3s: Add CSI0 MCLK pin definition
  ...

Link: https://lore.kernel.org/r/48511540-fdd6-4fbe-8037-ec9fa8436147.lettre@localhost
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-02-02 17:54:06 +01:00
Arnd Bergmann
c2f76057d3 Devicetree changes for TI K3 platforms for v5.12 merge window:
- Common fixups: PMU compatible, MMC dtbs_check warnings squelch
 
 - J7200: R5F, PCIe, SERDES support
 
 - J721E: PCIE fixups
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE+KKGk1TrgjIXoxo03bWEnRc2JJ0FAmAVV9oACgkQ3bWEnRc2
 JJ1jjA/9EHhyfoIrdnCf/1/x/vBKcpIn/9BZ5rDgeBsmWtipglBQkqnwE341kijs
 Gv15azQGx84LJPlgNG9TbozNHXEX1mLkJkEEX0C/PFh6GuF+Saoeuh8xrOVixwo1
 xgkFjrXXHHb4aUOLGzjEKmCeFaWDnmIhJIupTOMa7FJm/GuV3m81kY+R66nW+pWs
 kb7KWWy/hum/yEHeF1uYRdv4TRg2aTKeJTqlMTdMjl6IJWq/GiZCs7UrVGQPpCAt
 E/1tRwHQJDCY0VYWrmoBSiCtAa8dikE6wyvz5Qmk/aWTBEjMbBN4DkZJJsSNXi2B
 qUan+q3atirf+JaPEqpqVdGilOeFcjJE0amkzY8k4a2kxJg2qizbZiW66rSDmo1y
 7BZZEzO1UBKzBiZz7HbZj1gfZypn44k5P474ZA5IMrcUJvxZlfhVAuJ2Uz7tCGPO
 4mqyS43c0Oidh5rjSUjwUjuz4r7eZ5gFWUuoQVrkTzEz6J2Vx150bb2qXhLJob6M
 ywN0xfEYMX6LBwkj2sGeKO5tnyeZBsZysXFemmF+HtjLuwSujubPK4h5TbcB64FY
 CPfshpvRrz7mla74w45RW1nUp+DnAs21ZuC33gLGh45n0Jshl5sJyRPD67yXHdqN
 D4BP48fZQZ3tFQkaSYnHXoASUcEz8IsWES10vpoznoOpP77wBa4=
 =mq2V
 -----END PGP SIGNATURE-----

Merge tag 'ti-k3-dt-for-v5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/nmenon/linux into arm/dt

Devicetree changes for TI K3 platforms for v5.12 merge window:

- Common fixups: PMU compatible, MMC dtbs_check warnings squelch

- J7200: R5F, PCIe, SERDES support

- J721E: PCIE fixups

* tag 'ti-k3-dt-for-v5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/nmenon/linux:
  arm64: dts: ti: k3*: Fixup PMU compatibility to be CPU specific
  arm64: dts: ti: k3: mmc: fix dtbs_check warnings
  arm64: dts: ti: k3-j7200-som-p0: Add DDR carveout memory nodes for R5Fs
  arm64: dts: ti: k3-j7200-som-p0: Add mailboxes to R5Fs
  arm64: dts: ti: k3-j7200: Add R5F cluster nodes
  arm64: dts: ti: k3-j7200-common-proc-board: Enable PCIe
  arm64: dts: ti: k3-j7200-common-proc-board: Enable SERDES0
  arm64: dts: ti: k3-j7200-main: Add PCIe device tree node
  arm64: dts: ti: k3-j7200-main: Add SERDES and WIZ device tree node
  arm64: dts: ti: k3-j721e-main: Remove "syscon" nodes added for pcieX_ctrl
  arm64: dts: ti: k3-j721e-main: Fix supported max outbound regions

Link: https://lore.kernel.org/r/20210130131422.yvq2edxfongys7x5@pendant
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-02-02 17:49:21 +01:00
Katsuhiro Suzuki
7582ad63c9 arm64: dts: rockchip: more user friendly name of sound nodes
This patch changes device name to more user friendly name of
Analog and SPDIF sound nodes for rk3399-rockpro64.

Signed-off-by: Katsuhiro Suzuki <katsuhiro@katsuster.net>
Link: https://lore.kernel.org/r/20210110151913.3615326-1-katsuhiro@katsuster.net
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2021-02-01 19:00:31 +01:00
Johan Jonker
060b65d260 arm64: dts: rockchip: rename pinctrl nodename to gmac2io for nanopi-r2s board
A test with the command below gives this error:
/arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s.dt.yaml:
ethernet-phy: 'reg' is a required property

The pinctrl nodename "ethernet-phy" conflicts with the rules
in the "ethernet-phy.yaml" document, so rename it to "gmac2io".

make ARCH=arm64 dtbs_check
DT_SCHEMA_FILES=Documentation/devicetree/bindings/net/ethernet-phy.yaml

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
Link: https://lore.kernel.org/r/20210110194851.10207-1-jbx6244@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2021-02-01 19:00:31 +01:00
Johan Jonker
0523b124aa arm64: dts: rockchip: assign a fixed index to mmc devices on rk3368 boards
Recently introduced async probe on mmc devices can shuffle block IDs.
Pin them to fixed values to ease booting in environments where UUIDs are
not practical. Use newly introduced aliases for mmcblk devices from [1].
The sort order is based on reg address.

[1] https://patchwork.kernel.org/patch/11747669/

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
Link: https://lore.kernel.org/r/20210118155242.7172-5-jbx6244@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2021-02-01 19:00:31 +01:00
Johan Jonker
b4a9fe3639 arm64: dts: rockchip: assign a fixed index to mmc devices on rk3308 boards
Recently introduced async probe on mmc devices can shuffle block IDs.
Pin them to fixed values to ease booting in environments where UUIDs are
not practical. Use newly introduced aliases for mmcblk devices from [1].
The sort order is based on reg address.

[1] https://patchwork.kernel.org/patch/11747669/

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
Link: https://lore.kernel.org/r/20210118155242.7172-4-jbx6244@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2021-02-01 19:00:31 +01:00
Johan Jonker
84b2c2c872 arm64: dts: rockchip: assign a fixed index to mmc devices on px30 boards
Recently introduced async probe on mmc devices can shuffle block IDs.
Pin them to fixed values to ease booting in environments where UUIDs are
not practical. Use newly introduced aliases for mmcblk devices from [1].
The sort order is based on reg address.

[1] https://patchwork.kernel.org/patch/11747669/

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
Link: https://lore.kernel.org/r/20210118155242.7172-3-jbx6244@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2021-02-01 19:00:31 +01:00
Johan Jonker
c73583c625 arm64: dts: rockchip: cleanup cpu_thermal node of rk3399-rock960.dts
The cpu_thermal node in the rk3399-rock960.dts file does not
reference &cpu_thermal directly to add the board-specific parts,
but also repeats all the SoC default properties.
Clean the whole thing up and fix alignment.
Place new nodes in the correct alphabetical order.
Compered to rk3399.dtsi the temperature property in
cpu_alert0 changes from <70000> to <65000>.
A sustainable-power property was added.
The trip property in cooling map0 points to <&cpu_alert1>
instead of <&cpu_alert0>.

Suggested-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Johan Jonker <jbx6244@gmail.com>
Link: https://lore.kernel.org/r/20210118180054.9360-1-jbx6244@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2021-02-01 19:00:31 +01:00
Robin Murphy
9e8244495f arm64: dts: rockchip: Remove bogus "amba" bus nodes
The "amba" bus nodes wrapping all the DMA-330 nodes serve no useful
purpose, and certainly bear no relation at all to the actual underlying
interconnect topology. They appear to be cargo-cult copying from a
design misstep in the very early days of FDT adoption on ARM, which was
righted with the "arm,primecell" compatible, and the last trace of the
idea finally purged by commit 2ef7d5f342 ("ARM, ARM64: dts: drop
"arm,amba-bus" in favor of "simple-bus"").

As such, they can simply be removed and the DMA-330 nodes fitted into
the normal sort order.

Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Link: https://lore.kernel.org/r/131e0ea065109760ea3b59c4bb90cf4fac7826f7.1611186142.git.robin.murphy@arm.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2021-02-01 19:00:31 +01:00
Robin Murphy
833821eeab arm64: dts: rockchip: Light "sys" LED on NanoPi R2S
Set NanoPi R2S's "sys" LED to be on by default. This matches the
behaviour of the stock FriendlyWRT image, and makes it much easier
to tell when the thing has finished booting.

Suitable triggers for the two network LEDs cannot realistically be
configured from DT, so leave them be.

Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Link: https://lore.kernel.org/r/f066be60aa99460a45d04113c5e507d6602186f1.1611187213.git.robin.murphy@arm.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2021-02-01 19:00:31 +01:00
Johan Jonker
5b93121091 arm64: dts: rockchip: fix ranges property format for rk3399 pcie node
A test with the command below gives for example this error:
/arch/arm64/boot/dts/rockchip/rk3399-evb.dt.yaml: pcie@f8000000:
ranges: 'oneOf' conditional failed, one must be fixed:

The pcie ranges property is an array. The dt-check expects that
each array item is wrapped with angle brackets, so fix that ranges
property format for the rk3399 pcie node.

make ARCH=arm64 dtbs_check
DT_SCHEMA_FILES=~/.local/lib/python3.5/site-packages/dtschema/
schemas/pci/pci-bus.yaml

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
Link: https://lore.kernel.org/r/20210122171243.16138-1-jbx6244@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2021-02-01 19:00:31 +01:00
Uwe Kleine-König
1e58ba1114 arm64: dts: rockchip: Rely on SoC external pull up on pmic-int-l on Helios64
According to the schematic there is an external pull up, so there is no
need to enable the internal one additionally. Using no pull up matches
the vendor device tree.

Signed-off-by: Uwe Kleine-König <uwe@kleine-koenig.org>
Link: https://lore.kernel.org/r/20210124210328.611707-2-uwe@kleine-koenig.org
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2021-02-01 19:00:31 +01:00
Pavel Tatashin
d1bbc35fca arm64: hibernate: add __force attribute to gfp_t casting
Two new warnings are reported by sparse:

"sparse warnings: (new ones prefixed by >>)"
>> arch/arm64/kernel/hibernate.c:181:39: sparse: sparse: cast to
   restricted gfp_t
>> arch/arm64/kernel/hibernate.c:202:44: sparse: sparse: cast from
   restricted gfp_t

gfp_t has __bitwise type attribute and requires __force added to casting
in order to avoid these warnings.

Fixes: 50f53fb721 ("arm64: trans_pgd: make trans_pgd_map_page generic")
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Pavel Tatashin <pasha.tatashin@soleen.com>
Link: https://lore.kernel.org/r/20210201150306.54099-2-pasha.tatashin@soleen.com
Signed-off-by: Will Deacon <will@kernel.org>
2021-02-01 15:57:30 +00:00
Marc Zyngier
bc93763f17 KVM: arm64: Make gen-hyprel endianness agnostic
gen-hyprel is, for better or worse, a native-endian program:
it assumes that the ELF data structures are in the host's
endianness, and even assumes that the compiled kernel is
little-endian in one particular case.

None of these assumptions hold true though: people actually build
(use?) BE arm64 kernels, and seem to avoid doing so on BE hosts.
Madness!

In order to solve this, wrap each access to the ELF data structures
with the required byte-swapping magic. This requires to obtain
the kernel data structure, and provide per-endianess wrappers.

This result in a kernel that links and even boots in a model.

Fixes: 8c49b5d43d ("KVM: arm64: Generate hyp relocation data")
Reported-by: Guenter Roeck <linux@roeck-us.net>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Acked-by: David Brazdil <dbrazdil@google.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
2021-02-01 12:02:49 +00:00
Laurent Pinchart
55563399bb arm64: dts: zynqmp: Wire up the DisplayPort subsystem
Enable the dpsub device and wire it up to the PS-GTR PHY lanes routed to
the DisplayPort connector.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Link: https://lore.kernel.org/r/9769d4d103b6eb75e3324825117f6832a746004e.1611232558.git.michal.simek@xilinx.com
2021-02-01 10:40:37 +01:00
Michal Simek
b0f89cf5b6 arm64: dts: zynqmp: Add DisplayPort subsystem
Add a DT node for the DisplayPort subsystem, a hard IP present in the
Zynq Ultrascale+ MPSoC.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Link: https://lore.kernel.org/r/4d978aef852cacdfb35aa8e50d648a787e73b90c.1611232558.git.michal.simek@xilinx.com
2021-02-01 10:40:36 +01:00
Laurent Pinchart
7b6714b3ed arm64: dts: zynqmp: Add DPDMA node
Add a DT node for the DisplayPort DMA engine (DPDMA).

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Michal Simek <michal.simek@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Link: https://lore.kernel.org/r/3d11015512a085592f2aca76eeddc04178d38bbe.1611232558.git.michal.simek@xilinx.com
2021-02-01 10:40:34 +01:00
Michal Simek
127b856f67 arm64: dts: zynqmp: Add description for zcu104 revC
Xilinx ZynqMP zcu104 revC and newer board revisions have different i2c
structure compare to revA. The rest of the board is the same from software
perspective.
Also enable DMAs and QSPI.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Link: https://lore.kernel.org/r/17f68c235ea1ce96c3293ca0cf3178951d6663f7.1611224800.git.michal.simek@xilinx.com
2021-02-01 10:37:53 +01:00
Michal Simek
8ac47837f0 arm64: dts: zynqmp: Add missing iommu IDs
Add missing iommu IDs to all IPs which have IDs assigned.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Link: https://lore.kernel.org/r/78afdafdc60c3182318894f2808f7f337a798278.1611224800.git.michal.simek@xilinx.com
2021-02-01 10:36:36 +01:00
Michal Simek
1f9fcf6573 arm64: dts: zynqmp: Add missing lpd watchdog node
Xilinx ZynqMP SoC has FPD (Full Power Domain) and LPD (Low Power Domain)
watchdogs. There are cases where also LPD WDT should be used by Arm cores
that's why list it with disabled status.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Link: https://lore.kernel.org/r/0489a1d5528614f1d570ea153d38b813f0c1eb9f.1611224800.git.michal.simek@xilinx.com
2021-02-01 10:36:35 +01:00
Michal Simek
cbf8bed0e3 arm64: dts: zynqmp: Wire zynqmp qspi controller
Add missing ZynqMP qspi IP. It works in single mode only.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Link: https://lore.kernel.org/r/5cebbc59a452f282c4ce0f0e1dffecadac8f126a.1611224800.git.michal.simek@xilinx.com
2021-02-01 10:36:34 +01:00
Michal Simek
41b452a570 arm64: dts: zynqmp: Wire arasan nand controller
Add missing arasan controller with clocks. Disable it by default. Every
board can enable it with specifying others properties.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Link: https://lore.kernel.org/r/05cc1ce7973ac5200aeca428c137b422c827c5e8.1611224800.git.michal.simek@xilinx.com
2021-02-01 10:36:32 +01:00
Michal Simek
63481699d6 arm64: dts: zynqmp: Add missing mio-bank properties to sdhcis
Add missing xlnx,mio-bank property to sdhci nodes. Also add properties with
0 value to have it listed in case that files are copied to different
projects where default case doesn't need to be handled in the same way.
That's why explicitly list them too.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Link: https://lore.kernel.org/r/dbdfcc1b25af8b28fc658a37ce18902978cb410d.1611224800.git.michal.simek@xilinx.com
2021-02-01 10:36:30 +01:00
Michal Simek
002002c0ad arm64: dts: zynqmp: Add label for zynqmp_ipi
Add label which is used by bootloader for adding bootloader specific flag.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Link: https://lore.kernel.org/r/3dc8416abdd3498e61edcd83830a12af295c5c6d.1611224800.git.michal.simek@xilinx.com
2021-02-01 10:36:28 +01:00