Commit Graph

17035 Commits

Author SHA1 Message Date
Marc Zyngier
cac642c12a arm64: cpufeature: Allow early filtering of feature override
Some CPUs are broken enough that some overrides need to be rejected
at the earliest opportunity. In some cases, that's right at cpu
feature override time.

Provide the necessary infrastructure to filter out overrides,
and to report such filtered out overrides to the core cpufeature code.

Acked-by: Will Deacon <will@kernel.org>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20210408131010.1109027-2-maz@kernel.org
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2021-04-08 18:45:16 +01:00
Mark Brown
31c00d2aea arm64: Disable fine grained traps on boot
The arm64 FEAT_FGT extension introduces a set of traps to EL2 for accesses
to small sets of registers and instructions from EL1 and EL0.  Currently
Linux makes no use of this feature, ensure that it is not active at boot by
disabling the traps during EL2 setup.

Signed-off-by: Mark Brown <broonie@kernel.org>
Reviewed-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20210401180942.35815-3-broonie@kernel.org
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2021-04-08 18:39:18 +01:00
Vincenzo Frascino
df652a16a6 arm64: mte: Remove unused mte_assign_mem_tag_range()
mte_assign_mem_tag_range() was added in commit 85f49cae4d
("arm64: mte: add in-kernel MTE helpers") in 5.11 but moved out of
mte.S by commit 2cb3427642 ("arm64: kasan: simplify and inline
MTE functions") in 5.12 and renamed to mte_set_mem_tag_range().
2cb3427642 did not delete the old function prototypes in mte.h.

Remove the unused prototype from mte.h.

Cc: Will Deacon <will@kernel.org>
Reported-by: Derrick McKee <derrick.mckee@gmail.com>
Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
Link: https://lore.kernel.org/r/20210407133817.23053-1-vincenzo.frascino@arm.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2021-04-08 17:45:43 +01:00
Jisheng Zhang
a7dcf58ae5 arm64: Add __init section marker to some functions
They are not needed after booting, so mark them as __init to move them
to the .init section.

Signed-off-by: Jisheng Zhang <Jisheng.Zhang@synaptics.com>
Reviewed-by: Steven Price <steven.price@arm.com>
Link: https://lore.kernel.org/r/20210330135449.4dcffd7f@xhacker.debian
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2021-04-08 17:45:10 +01:00
Mark Brown
cccb78ce89 arm64/sve: Rework SVE access trap to convert state in registers
When we enable SVE usage in userspace after taking a SVE access trap we
need to ensure that the portions of the register state that are not
shared with the FPSIMD registers are zeroed. Currently we do this by
forcing the FPSIMD registers to be saved to the task struct and converting
them there. This is wasteful in the common case where the task state is
loaded into the registers and we will immediately return to userspace
since we can initialise the SVE state directly in registers instead of
accessing multiple copies of the register state in memory.

Instead in that common case do the conversion in the registers and
update the task metadata so that we can return to userspace without
spilling the register state to memory unless there is some other reason
to do so.

Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20210312190313.24598-1-broonie@kernel.org
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2021-04-08 17:43:43 +01:00
Arnd Bergmann
974be36e1c One 32kHz clock fix for the beelink gs1, a CD polarity fix for the SoPine, some
MAINTAINERS maintainance, and a clk / reset switch to our headers.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQRcEzekXsqa64kGDp7j7w1vZxhRxQUCYG2bAQAKCRDj7w1vZxhR
 xW/cAQDpP3oAyk00M6ZMKIMefm/DQI3qbf9cA0P9JsPa1inNbAEA0WlHJt2zdGRT
 ISRW7PI1TyHxMcVteyiw7gE5BvU7kAQ=
 =Jgu5
 -----END PGP SIGNATURE-----

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

One 32kHz clock fix for the beelink gs1, a CD polarity fix for the SoPine, some
MAINTAINERS maintainance, and a clk / reset switch to our headers.

* tag 'sunxi-fixes-for-5.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
  arm64: dts: allwinner: h6: beelink-gs1: Remove ext. 32 kHz osc reference
  MAINTAINERS: Match on allwinner keyword
  MAINTAINERS: Add our new mailing-list
  arm64: dts: allwinner: Fix SD card CD GPIO for SOPine systems
  arm64: dts: allwinner: h6: Switch to macros for RSB clock/reset indices

Link: https://lore.kernel.org/r/9972a85e-60b7-49f4-a246-db3396dd4764.lettre@localhost
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-04-08 17:35:52 +02:00
Jonathan Marek
7178d4cc07 arm64: dts: qcom: update usb qmp phy clock-cells property
The top-level node doesn't provide any clocks, the subnode provides a
single clock with of_clk_hw_simple_get.

Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Link: https://lore.kernel.org/r/20201123143705.14277-1-jonathan@marek.ca
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-04-08 10:23:25 -05:00
Stephan Gerhold
8385119b32 arm64: dts: qcom: msm8916: Add GICv2 hypervisor registers/interrupt
The ARM Cortex-A53 CPU cores and QGIC2 interrupt controller
(an implementation of the ARM GIC 2.0 specification) used in MSM8916
support virtualization, e.g. for KVM on Linux. However, so far it was
not possible to make use of this functionality, because Qualcomm's
proprietary "hyp" firmware blocks the EL2 mode of the CPU and only
allows booting Linux in EL1.

However, on devices without (firmware) secure boot there is no need
to rely on all of Qualcomm's firmware. The "hyp" firmware on MSM8916
seems simple enough that it can be replaced with an open-source
alternative created only based on trial and error - with some similar
EL2/EL1 initialization code adapted from Linux and U-Boot.

qhypstub [1] is such an open-source firmware for MSM8916 that
can be used as drop-in replacement for Qualcomm's "hyp" firmware.
It does not implement any hypervisor functionality.
Instead, it allows booting Linux/KVM (or other hypervisors) in EL2.

With Linux booting in EL2, KVM seems to be working just fine on MSM8916.
However, so far it is not possible to make use of the virtualization
features in the GICv2. To use KVM's VGICv2 code, the QGIC2 device tree
node needs additional resources (according to binding documentation):

  - The CPU interface region (second reg) must be at least 8 KiB large
    to access the GICC_DIR register (mapped at 0x1000 offset)
  - Virtual control/CPU interface register base and size
  - Hypervisor maintenance interrupt

Fortunately, the public APQ8016E TRM [2] provides the required information:

  - The CPU interface region (at 0x0B002000) actually has a size of 8 KiB
  - Virtual control/CPU interface register is at 0x0B001000/0x0B004000
  - Hypervisor maintenance interrupt is "PPI #0"
      Note: This is a bit strange since almost all other ARM SoCs use
            GIC_PPI 9 for this. However, I have verified that this is
            indeed the interrupt that fires when bits are set in GICH_HCR.

Add the additional resources to the QGIC2 device tree node in msm8916.dtsi.
There is no functional difference when Linux is started in EL1 since the
additional resources are ignored in that case.

With these changes (and qhypstub), KVM seems to be fully working on
the DragonBoard 410c (apq8016-sbc) and BQ Aquaris X5 (longcheer-l8910).

[1]: https://github.com/msm8916-mainline/qhypstub
[2]: https://developer.qualcomm.com/download/sd410/snapdragon-410e-technical-reference-manual.pdf

Acked-by: Marc Zyngier <maz@kernel.org>
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Link: https://lore.kernel.org/r/20210407163648.4708-1-stephan@gerhold.net
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-04-08 10:23:12 -05:00
Kees Cook
70918779ae arm64: entry: Enable random_kstack_offset support
Allow for a randomized stack offset on a per-syscall basis, with roughly
5 bits of entropy. (And include AAPCS rationale AAPCS thanks to Mark
Rutland.)

In order to avoid unconditional stack canaries on syscall entry (due to
the use of alloca()), also disable stack protector to avoid triggering
needless checks and slowing down the entry path. As there is no general
way to control stack protector coverage with a function attribute[1],
this must be disabled at the compilation unit level. This isn't a problem
here, though, since stack protector was not triggered before: examining
the resulting syscall.o, there are no changes in canary coverage (none
before, none now).

[1] a working __attribute__((no_stack_protector)) has been added to GCC
and Clang but has not been released in any version yet:
https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;h=346b302d09c1e6db56d9fe69048acb32fbb97845
https://reviews.llvm.org/rG4fbf84c1732fca596ad1d6e96015e19760eb8a9b

Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Will Deacon <will@kernel.org>
Link: https://lore.kernel.org/r/20210401232347.2791257-6-keescook@chromium.org
2021-04-08 14:12:19 +02:00
Hector Martin
7d2d16ccf1 arm64: apple: Add initial Apple Mac mini (M1, 2020) devicetree
This currently supports:

* SMP (via spin-tables)
* AIC IRQs
* Serial (with earlycon)
* Framebuffer

A number of properties are dynamic, and based on system firmware
decisions that vary from version to version. These are expected
to be filled in by the loader.

Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-04-08 20:18:41 +09:00
Hector Martin
aea5f69f2e arm64: Kconfig: Introduce CONFIG_ARCH_APPLE
This adds a Kconfig option to toggle support for Apple ARM SoCs.
At this time this targets the M1 and later "Apple Silicon" Mac SoCs.

Signed-off-by: Hector Martin <marcan@marcan.st>
2021-04-08 20:18:41 +09:00
Hector Martin
8a657f7170 arm64: Move ICH_ sysreg bits from arm-gic-v3.h to sysreg.h
These definitions are in arm-gic-v3.h for historical reasons which no
longer apply. Move them to sysreg.h so the AIC driver can use them, as
it needs to peek into vGIC registers to deal with the GIC maintentance
interrupt.

Acked-by: Marc Zyngier <maz@kernel.org>
Acked-by: Will Deacon <will@kernel.org>
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-04-08 20:18:41 +09:00
Hector Martin
b10eb2d509 asm-generic/io.h: implement pci_remap_cfgspace using ioremap_np
Now that we have ioremap_np(), we can make pci_remap_cfgspace() default
to it, falling back to ioremap() on platforms where it is not available.

Remove the arm64 implementation, since that is now redundant. Future
cleanups should be able to do the same for other arches, and eventually
make the generic pci_remap_cfgspace() unconditional.

Acked-by: Will Deacon <will@kernel.org>
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-04-08 20:18:38 +09:00
Hector Martin
9a63ae8502 arm64: Implement ioremap_np() to map MMIO as nGnRnE
This is used on Apple ARM platforms, which require most MMIO
(except PCI devices) to be mapped as nGnRnE.

Acked-by: Marc Zyngier <maz@kernel.org>
Acked-by: Will Deacon <will@kernel.org>
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-04-08 20:18:38 +09:00
Hector Martin
11ecdad722 arm64: cputype: Add CPU implementor & types for the Apple M1 cores
The implementor will be used to condition the FIQ support quirk.

The specific CPU types are not used at the moment, but let's add them
for documentation purposes.

Acked-by: Will Deacon <will@kernel.org>
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-04-08 20:18:38 +09:00
Linus Torvalds
3a22981230 ARM SoC fixes for v5.12, part 2
Most of the changes again are devicetree fixes, but there are also five
 trivial build fixes for issues I found when test building with gcc-11 or
 when running 'make W=1', and some OMAP platform specific code fixups.
 
 Broadcom
   - One revert for a Raspberry pi interrupt controller change that
     caused a regression.
 
 TI OMAP:
   - Remove unused duplicate sha2md5_fck clock node that can race with the
     OMAP4_SHA2MD5_CLKCTRL clock node for disable for unused clocks
 
   - Add aliases for omap4/5 mmc to put the slots back into the right
     order again
 
   - Fix typo for bionic voltage controllers that accidentally use mpu
     for all instances instead of mpu, core and iva
 
   - Fix random hangs for droid4 caused by missing fix from TI Android
     kernel tree to do a dummy smc call on cpuidle wakeup path
 
 NXP i.MX:
   - Fix a system failure on imx6qdl-phytec-pfla02 board when booting from
     SD, by adding missing vmmc supply for SD interfaces.
 
   - Fix address typo in i.MX8MM/Q IOMUXC_SD1_DATA0_GPIO2_IO2 definition.
 
 Marvell mvebu:
   - Fix storm interrupt on Turris Omnia
 
   - Enable hardware buffer management as it should be
 
 Build fixes for PXA, Freescale, Marvell, OMAP1 an Keystone.
 
 Signed-off-by: Arnd Bergmann <arnd@arndb.de>
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmBs0OgACgkQYKtH/8kJ
 UifdEBAAiD3JebS8a1jsgL+/va/ptOuBZP2l4sCH3P/bczsNKeAn+BvwAy4jNJ4b
 C55ZFnz6tX37CGY7e1Pe7LC8WhVd1LGfCm/gSreKUTkETZd/87PoR1xM4GxbhmBQ
 8HNJOVDBSes6tHgWTAgQ7rHGQQ71JoRYc9FJPOH2JDsk8SaeL8Z+Bjay3O3nlBQw
 RU0zoWv/khkdRvzt4oDTmW6pPDQh5c9twv2ORZM92+tXhSeF2AAY08GdAAmiZL5W
 Lq30YozGSJHPcIYSN+jSWPJNtzmrF3oZVTqDzqTN/aIVoH+8MFZHSmCd3iM1RWkT
 wkanNiqF7CRYAdLmC00YTToJUQxsbOYugfUMWYC04VocVbeEDAhnITFVF1zrJLZ4
 q4E/S5WSZjLPUsiDhSK+d0S2bFVrEyQUaDaFWrC6Aet5wA6pI/8X0Q3ZSMV7jzq+
 NkZYuA2oKoW0vwnH+7432/1g33CpCxKRVr/zBhesjCpB3Ymj0OWfqGeHA2fyjFQq
 fNvUnG6LyXE+NBgIfgZTGbBr1gCT/XHqd0GcYrBy4v0L3x8qJSh1ClA0qlpWr+Zl
 mY5jMC6MrGGuHXEhqIoS38mO0RTyx9i2iDjge2CrAMmRxdVR453Z4VIbDnSwGDAe
 K8lASQKHEyvRzdmJDVhaesHqwU9BDtWULY8Q2+3jKqv3wwf6d0I=
 =YY35
 -----END PGP SIGNATURE-----

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

Pull ARM SoC fixes from Arnd Bergmann:
 "Most of the changes again are devicetree fixes, but there are also
  five trivial build fixes for issues I found when test building with
  gcc-11 or when running 'make W=1', and some OMAP platform specific
  code fixups.

  Broadcom:
   - One revert for a Raspberry pi interrupt controller change that
     caused a regression.

  TI OMAP:
   - Remove unused duplicate sha2md5_fck clock node that can race with
     the OMAP4_SHA2MD5_CLKCTRL clock node for disable for unused clocks

   - Add aliases for omap4/5 mmc to put the slots back into the right
     order again

   - Fix typo for bionic voltage controllers that accidentally use mpu
     for all instances instead of mpu, core and iva

   - Fix random hangs for droid4 caused by missing fix from TI Android
     kernel tree to do a dummy smc call on cpuidle wakeup path

  NXP i.MX:
   - Fix a system failure on imx6qdl-phytec-pfla02 board when booting
     from SD, by adding missing vmmc supply for SD interfaces.

   - Fix address typo in i.MX8MM/Q IOMUXC_SD1_DATA0_GPIO2_IO2
     definition.

  Marvell mvebu:
   - Fix storm interrupt on Turris Omnia

   - Enable hardware buffer management as it should be

  ... and build fixes for PXA, Freescale, Marvell, OMAP1 and Keystone"

* tag 'arm-fixes-5.11-2' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:
  ARM: dts: turris-omnia: configure LED[2]/INTn pin as interrupt pin
  ARM: dts: turris-omnia: fix hardware buffer management
  Revert "arm64: dts: marvell: armada-cp110: Switch to per-port SATA interrupts"
  ARM: mvebu: avoid clang -Wtautological-constant warning
  ARM: pxa: mainstone: avoid -Woverride-init warning
  ARM: omap1: fix building with clang IAS
  soc/fsl: qbman: fix conflicting alignment attributes
  ARM: keystone: fix integer overflow warning
  ARM: dts: imx6: pbab01: Set vmmc supply for both SD interfaces
  arm64: dts: imx8mm/q: Fix pad control of SD1_DATA0
  ARM: OMAP4: PM: update ROM return address for OSWR and OFF
  ARM: OMAP4: Fix PMIC voltage domains for bionic
  ARM: dts: Fix moving mmc devices with aliases for omap4 & 5
  ARM: dts: Drop duplicate sha2md5_fck to fix clk_disable race
  Revert "ARM: dts: bcm2711: Add the BSC interrupt controller"
2021-04-07 09:26:50 -07:00
Hyeonki Hong
412c8fa8c3 arm64: dts: meson: add GPIO line names to ODROID N2/N2+
Add GPIO line-name identifiers to the ODROID N2/N2+ common dtsi.

Signed-off-by: Hyeonki Hong <hhk7734@gmail.com>
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/20210407042609.9736-4-christianshewitt@gmail.com
2021-04-07 09:18:41 -07:00
Hyeonki Hong
cfa303d99e arm64: dts: meson: add saradc node to ODROID N2/N2+
Add the meson saradc node to the ODROID N2/N2+ common dtsi.

Signed-off-by: Hyeonki Hong <hhk7734@gmail.com>
Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Link: https://lore.kernel.org/r/20210407042609.9736-3-christianshewitt@gmail.com
2021-04-07 09:18:40 -07:00
Christian Hewitt
7d9158bcb3 arm64: dts: meson: remove extra tab from ODROID N2/N2+ ext_mdio node
Remove an extra tab from the ext_mdio node in the ODROID N2/N2+ common
dtsi file.

Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Link: https://lore.kernel.org/r/20210407042609.9736-2-christianshewitt@gmail.com
2021-04-07 09:18:40 -07:00
Alexandru Elisei
263d6287da KVM: arm64: Initialize VCPU mdcr_el2 before loading it
When a VCPU is created, the kvm_vcpu struct is initialized to zero in
kvm_vm_ioctl_create_vcpu(). On VHE systems, the first time
vcpu.arch.mdcr_el2 is loaded on hardware is in vcpu_load(), before it is
set to a sensible value in kvm_arm_setup_debug() later in the run loop. The
result is that KVM executes for a short time with MDCR_EL2 set to zero.

This has several unintended consequences:

* Setting MDCR_EL2.HPMN to 0 is constrained unpredictable according to ARM
  DDI 0487G.a, page D13-3820. The behavior specified by the architecture
  in this case is for the PE to behave as if MDCR_EL2.HPMN is set to a
  value less than or equal to PMCR_EL0.N, which means that an unknown
  number of counters are now disabled by MDCR_EL2.HPME, which is zero.

* The host configuration for the other debug features controlled by
  MDCR_EL2 is temporarily lost. This has been harmless so far, as Linux
  doesn't use the other fields, but that might change in the future.

Let's avoid both issues by initializing the VCPU's mdcr_el2 field in
kvm_vcpu_vcpu_first_run_init(), thus making sure that the MDCR_EL2 register
has a consistent value after each vcpu_load().

Fixes: d5a21bcc29 ("KVM: arm64: Move common VHE/non-VHE trap config in separate functions")
Signed-off-by: Alexandru Elisei <alexandru.elisei@arm.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20210407144857.199746-3-alexandru.elisei@arm.com
2021-04-07 16:40:03 +01:00
Arnd Bergmann
2ce5e1b010 Samsung DTS ARM64 changes for v5.13
Two cleanups in DTS without expected impact.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmBtVQgQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD1xcnD/41gX5O2hkbbeMu1QLBapUlWWRhiK/NgLV6
 xonZmKFgPpdcdr/BtJY+8TO1aiRieIPBPxWTwtEaQysiifxvX0F/F85eLIh/Yjnm
 ShVe57jKNaYjNWST97/lVRl8m3UEaG+f3UUEr3hvbkXbMmFea4zYipp3O9wPAX9L
 dbandqWLyX56ew0mxPIc/sWpSGBv60W9edkuQxx9+26757CEbsaPuQDUjr768DWc
 ZcDXpg7/9wpzCmxsiF2qIb5Oq8qOZ3qxR6nTQHvk2nY2ZvvES/9jCeZbJndYQgfk
 fKadFaa3feoxfMALGsUDhh4dznVvGRo1UlduZMazCQk/Fb7IWRYOmYfqqyn9I0xH
 qsGkkm4LXYPsvD7r8uaHET1OTrG1tfqtLCX+DrXIZK5lSVnMdf6kBEsBrwOxVPx6
 DaR3ogLvD81dDKsEUJee3u8d8uLTLtgWXKkIOsfZ7G9+p7bSJX7UL/1iuV9Z0sIB
 dCA8ctYh2vsqjSJb7vB6twuXXRrf5feRrdpl6aiPNovCztAa7/ZES99eJADUIGmZ
 2hwRMzwz/haVeD3Q+YvWSVXFuhLfyxBv8LbE+ehazTdB2eedeE20cKPpZEr+JZf+
 sE4VKN4R+FdplpaU1qTPxa9LNeI2tGvek9uXCZCGkchKPBcCipONeVKZiSPFSO8a
 d/UVjysegQ==
 =h4md
 -----END PGP SIGNATURE-----

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

Samsung DTS ARM64 changes for v5.13

Two cleanups in DTS without expected impact.

* tag 'samsung-dt64-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  arm64: dts: exynos: white-space cleanups
  arm64: dts: exynos: re-order Slim SSS clocks to match dtschema

Link: https://lore.kernel.org/r/20210407065828.7213-2-krzysztof.kozlowski@canonical.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-04-07 17:39:30 +02:00
Jianyong Wu
3bf725699b KVM: arm64: Add support for the KVM PTP service
Implement the hypervisor side of the KVM PTP interface.

The service offers wall time and cycle count from host to guest.
The caller must specify whether they want the host's view of
either the virtual or physical counter.

Signed-off-by: Jianyong Wu <jianyong.wu@arm.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20201209060932.212364-7-jianyong.wu@arm.com
2021-04-07 16:33:20 +01:00
Arnd Bergmann
aa1e345ade arm64: dts: amlogic updates for v5.13
- new boards: MeCool KII & KIII, Minix NEO U9-H
 - used fixed index for MMC devices
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEe4dGDhaSf6n1v/EMWTcYmtP7xmUFAmBrkxcACgkQWTcYmtP7
 xmWSrw//eIBIAD4LLv1FTJacGSxeoyk0QcrDUv2Z70Fik1V7nkh46+L2Am5vjSy4
 uey9Y+sScDhRjnQmclB1x7aoZ7JsPjmK9bkh7QpzEya+U9Cnm6OR+4/pHfYrv7XV
 JDTjAhCx2zULYnfCXxMPV00tDbt9wHt9TNHF1eJmDjeHYovpYd8VU0CjraAzNGRj
 1oAXhefdMFWpfWznOKkY5nRaPSVHA4rmTt1L+h18aaMHlOrQVYb3aJV6rwSn98aM
 Kx9AVE+WlxjfL/g4zMIUG7p5B+BGwa8bnVpjlYts1VUhCqx86XfJjqE/wX0U+r14
 nscV2fwXZW098Q57xmc14lFSKLsQFfj58Wj95+HCqIN7gzkHgZ6+Hd+6ZEh0Dq/a
 m2rwmZdsDlBvxOReHKAUswxwKARTodVOdikRSIm1I3k/1nkED/3llRTyxf78H7ke
 7SfhLSqZbsAF6xUBqFKsauPudWVbtglcLlb7CABShJdpGaEGdijTwcRVRN8FTcie
 rXIXIpQZvILS7EBjcjQeNEHhmspIhsXn0Yyh6P27/fff83XCOlCuEnlnZP6UbV/9
 tPe9ZCUJT4Ua/IJYH1sX2xkubLrheRP4td38Opui2iyTXEMDgnN6M9lyXAFqGQzB
 DtcV26gZrN/aTf4H1Npldedrk42iw/GiB0KpiOvsRT2XRx73JdI=
 =CSRd
 -----END PGP SIGNATURE-----

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

arm64: dts: amlogic updates for v5.13
- new boards: MeCool KII & KIII, Minix NEO U9-H
- used fixed index for MMC devices

* tag 'amlogic-dt64' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic:
  arm64: dts: meson: add initial device-tree for MeCool KIII Pro
  arm64: dts: meson: add initial device-tree for MeCool KII Pro
  dt-bindings: arm: amlogic: add MeCool KII/KIII Pro bindings
  arm64: dts: amlogic: Assign a fixed index to mmc devices
  arm64: dts: meson: add initial device-tree for Minix NEO U9-H
  dt-bindings: arm: amlogic: add support for the Minix NEO U9-H

Link: https://lore.kernel.org/r/7h5z10mjpp.fsf@baylibre.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-04-07 17:32:20 +02:00
Arnd Bergmann
4b8cf90637 Devicetree changes for TI K3 platforms for v5.13 merge window:
* New SoCs:
   - AM642 mean for industrial control, motor control, remote IO, IoT gateway etc.
 * New Boards:
   - AM65: Siemens SIMATIC IOT2050 advanced and basic boards
   - AM64: EVM and SK boards
 * New peripherals:
   - AM65: watchdog
   - AM65,J721E: ICSSG
   - J7200: OSPI, GPIO
 * Fixes:
   - AM65: pcie node fixup, ospi speed updates
   - J721e, J7200: MMC speed updates, ospi speed updates and compatibles fixups.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE+KKGk1TrgjIXoxo03bWEnRc2JJ0FAmBrMDYACgkQ3bWEnRc2
 JJ3v6BAAq6iVnQz5jGZXMP1SQcZyhRMFG5K3kEp/NHA6v4Sth4Knudd9s+aGPeHM
 tZvilR4pNCl+oXTohktXBcs81BOzcJAiSIEQqWMo/7OkOxvpA5dseYXzeDmlZBl1
 98NwqgE2vXnxy1o9acWLHh2kWzdPr6N7zl/7hPrXKX8ohFi4MAGCZpwRvUsfj8e7
 jzr5oC1WEtiB8i7YASKaLOhpMFjBlMc7++mU9P6SqTyDd7IfjI4Q5vquP0Gtakay
 mGd2lSwlqDdaXcemVDHfcKOToS/WoHyiwBt8nf+AByDnLtCxY/jOxNrEgvXS5Zkh
 Xk9uRhuYhNv/OJz3JQ92SCGUjIIjHeBc+KuUcJ9mP0WyLZlAfc+ZYmeYXaHyLAS5
 QnBiFbvbJpasOA1mk2ePcYOzI3hvSTrbEO0bzoxsvAP0QENmmc8RGbT0mqi/u7RO
 kOa10SvNl5O0eHl7Z3t+lCyph6hUcN+0wJAdz/6z57rm2U7Vv4NJ6jIL998j8RSs
 dYe+fAT3lEyfKQCtj0p8mKcwAglQw8fhjhWJ8FVdpVKYkh/hKrJuMNFF9usCl8Rh
 S9xZieGA3LxldtEIOCEJJFKvo+XkJRozHRHo3dL+YBZVDjyJViFbrzqNZsYpOPrk
 3GPF4GDjuuDfJsNoV6lHEnQ7urQ0zruSm6cCSM55HF6FdSxHhBE=
 =FXts
 -----END PGP SIGNATURE-----

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

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

* New SoCs:
  - AM642 mean for industrial control, motor control, remote IO, IoT gateway etc.
* New Boards:
  - AM65: Siemens SIMATIC IOT2050 advanced and basic boards
  - AM64: EVM and SK boards
* New peripherals:
  - AM65: watchdog
  - AM65,J721E: ICSSG
  - J7200: OSPI, GPIO
* Fixes:
  - AM65: pcie node fixup, ospi speed updates
  - J721e, J7200: MMC speed updates, ospi speed updates and compatibles fixups.

* tag 'ti-k3-dt-for-v5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/nmenon/linux: (39 commits)
  arm64: dts: ti: k3-am64-main: Fix ospi compatible
  arm64: dts: ti: k3-j7200-mcu: Fix ospi compatible
  arm64: dts: ti: k3-j721e-mcu: Fix ospi compatible
  arm64: dts: ti: k3-j7200: Add support for higher speed modes and update delay select values for MMCSD subsystems
  arm64: dts: ti: k3-j7200-common-proc-board: Disable unused gpio modules
  arm64: dts: ti: k3-j7200: Add gpio nodes
  arm64: dts: ti: k3-am642-evm/sk: Add IPC sub-mailbox nodes
  arm64: dts: ti: k3-am64-main: Add mailbox cluster nodes
  arm64: dts: ti: k3-am64-main: Add hwspinlock node
  arm64: dts: ti: k3-am642: reserve gpio in mcu domain for firmware usage
  arm64: dts: ti: k3-am64: Add GPIO DT nodes
  arm64: dts: ti: k3-am64-evm/sk: Add OSPI flash DT node
  arm64: dts: ti: k3-am64-main: Add OSPI node
  arm64: dts: ti: k3-am64-main: Add ADC nodes
  arm64: dts: ti: k3-am642-evm: Add USB support
  arm64: dts: ti: k3-am64-main: Add DT node for USB subsystem
  arm64: dts: ti: Add support for Siemens IOT2050 boards
  dt-bindings: arm: ti: Add bindings for Siemens IOT2050 boards
  dt-bindings: Add Siemens vendor prefix
  arm64: dts: ti: k3-am642-evm: Add support for SPI EEPROM
  ...

Link: https://lore.kernel.org/r/20210405155336.smohb7uzkperqwuz@reflex
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-04-07 17:28:11 +02:00
Gavin Shan
10ba2d17d2 KVM: arm64: Don't retrieve memory slot again in page fault handler
We needn't retrieve the memory slot again in user_mem_abort() because
the corresponding memory slot has been passed from the caller. This
would save some CPU cycles. For example, the time used to write 1GB
memory, which is backed by 2MB hugetlb pages and write-protected, is
dropped by 6.8% from 928ms to 864ms.

Signed-off-by: Gavin Shan <gshan@redhat.com>
Reviewed-by: Keqian Zhu <zhukeqian1@huawei.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20210316041126.81860-4-gshan@redhat.com
2021-04-07 14:33:22 +01:00
Gavin Shan
c728fd4ce7 KVM: arm64: Use find_vma_intersection()
find_vma_intersection() has been existing to search the intersected
vma. This uses the function where it's applicable, to simplify the
code.

Signed-off-by: Gavin Shan <gshan@redhat.com>
Reviewed-by: Keqian Zhu <zhukeqian1@huawei.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20210316041126.81860-3-gshan@redhat.com
2021-04-07 14:33:22 +01:00
Gavin Shan
eab6214847 KVM: arm64: Hide kvm_mmu_wp_memory_region()
We needn't expose the function as it's only used by mmu.c since it
was introduced by commit c64735554c ("KVM: arm: Add initial dirty
page locking support").

Signed-off-by: Gavin Shan <gshan@redhat.com>
Reviewed-by: Keqian Zhu <zhukeqian1@huawei.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20210316041126.81860-2-gshan@redhat.com
2021-04-07 14:33:22 +01:00
Arnd Bergmann
61bac46eed Qualcomm ARM64 DT updates for 5.13
This extends the initial SM8350 description merged in v5.12 with
 CPUfreq, SMMU, UFS, RPMHPD, SPMI, USB and remoteproc support. It adds
 initial PMIC definitions for the 6 PMICs found on the MTP and it
 introduces the new SM8350 Hardware Development Kit (HDK).
 
 SC7180 is further polished, the DisplayPort portion of the QMP phy is
 defined and several new SKUs of the Trogdor devices are introduced.
 
 The new SC7280 platform is introduced, with RPMH, RPMHPD, RPMCC, SPMI,
 CPU idle, SMMU and watchdog defined.
 
 SDM845 gains the camera related nodes and some cleanups.
 
 For SM8250 it brings some cleanups and migrates SPI0 to use GPIO for
 chip select.
 -----BEGIN PGP SIGNATURE-----
 
 iQJPBAABCAA5FiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmBp7RwbHGJqb3JuLmFu
 ZGVyc3NvbkBsaW5hcm8ub3JnAAoJEAsfOT8Nma3FQJsP/RI7bv+1TtFlzxUSnhxy
 AOhvA7siJLIOxsfoeUZPsG4bxsuRL0mkDeu/NyuZfmpp0CUcYs4/fZUascmYGT1J
 bRiBUWq9Iscfd9GIO3IRS9YOteUJu8NQi1GCHjlfxiet+cqG/enKa5Xdqh7qgtpw
 E+tIM5NOe+06u1gU5h+6hbJTlZgK3s74JQ4ui5aO9VBVi8VyPwxIxZS5/li1M7pg
 AEVJZ3zVhQfmxiEjO1ljTYf4HdD4K4f4e3qiBabhlFaHjly0FIDxtl9GT3vjee3Z
 nMVNG3LZauNcw2MRwGWRB8t1gheUJG4M3e3XgTazPIbyNx1zpyypMGzF7w/je6cR
 YVtlKorQ7HEqx3Pd8nc0oMXeRS4ZrzDeHWz0kJoa9eOr67fdDpz/3HJEgTp+VgUI
 D8KcLeWxg5LfJe53rXLg+Vga0AFYLu62hQC91RaH2ksS6AV3A9b7W7puRSJHiFhU
 ncsCOiFb2yNHP9v9JIvP8Dek0cx99rIX0BzvCb2GqAke+9JZhsAteua8eN0otMoq
 XRiRJP3mgL9F+MKwrgbWIKrethrM6UGKEzB5Afv/yitRLDUAKcTSTYIRr8Du51qH
 vmT2FKk9iJ7X1LKm32SPh40ScxuHAv1DG6xxHGEPtcuG6c/Af7wnyytXiuDPwBLj
 ZkOThaE7Yh2mMvhZGBrW+/VC
 =a6Po
 -----END PGP SIGNATURE-----

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

Qualcomm ARM64 DT updates for 5.13

This extends the initial SM8350 description merged in v5.12 with
CPUfreq, SMMU, UFS, RPMHPD, SPMI, USB and remoteproc support. It adds
initial PMIC definitions for the 6 PMICs found on the MTP and it
introduces the new SM8350 Hardware Development Kit (HDK).

SC7180 is further polished, the DisplayPort portion of the QMP phy is
defined and several new SKUs of the Trogdor devices are introduced.

The new SC7280 platform is introduced, with RPMH, RPMHPD, RPMCC, SPMI,
CPU idle, SMMU and watchdog defined.

SDM845 gains the camera related nodes and some cleanups.

For SM8250 it brings some cleanups and migrates SPI0 to use GPIO for
chip select.

* tag 'qcom-arm64-for-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (79 commits)
  arm64: dts: qcom: qrb5165-rb5: switch into using GPIO for SPI0 CS
  arm64: dts: qcom: sm8250: add pinctrl for SPI using GPIO as a CS
  arm64: dts: qcom: sm8250: further split of spi pinctrl config
  arm64: dts: qcom: sm8250: split spi pinctrl config
  arm64: dts: qcom: sdm845-db845c: Enable ov8856 sensor and connect to ISP
  arm64: dts: qcom: sdm845-db845c: Configure regulators for camss node
  arm64: dts: qcom: sdm845: Add CAMSS ISP node
  arm64: dts: qcom: pm8150: Enable RTC
  arm64: dts: qcom: sm8350-mtp: Add PMICs
  arm64: dts: qcom: pmr735B: Add base dts file
  arm64: dts: qcom: pmr735a: Add base dts file
  arm64: dts: qcom: pm8350c: Add base dts file
  arm64: dts: qcom: pm8350b: Add base dts file
  arm64: dts: qcom: pm8350: Add base dts file
  arm64: dts: qcom: pmk8350: Add base dts file
  arm64: dts: qcom: sm8350: Add spmi node
  arm64: dts: qcom: db845c: fix correct powerdown pin for WSA881x
  dt-bindings: arm: qcom: Add SM8350 HDK
  arm64: dts: qcom: sc7180: Drop duplicate dp_hot_plug_det node in trogdor
  arm64: dts: qcom: sm8350: fix number of pins in 'gpio-ranges'
  ...

Link: https://lore.kernel.org/r/20210404164914.712946-1-bjorn.andersson@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-04-07 14:01:09 +02:00
Arnd Bergmann
d1e3a9efb2 mvebu dt64 for 5.13 (part 1)
Add DT for fan control on SolidRun Clearfog GT8k platform
 
 Add syscon compatible to NB clk node allowing improving cpufreq
 support on Armada 37xx
 
 Add support for UTMI PHY allowing removing kernel dependency from the
 boot loader for UBS port connected to this PHY (Armada 7K, 8K and
 CN91xx)
 -----BEGIN PGP SIGNATURE-----
 
 iF0EABECAB0WIQQYqXDMF3cvSLY+g9cLBhiOFHI71QUCYGeE7AAKCRALBhiOFHI7
 1RLbAJ9PYflp+wQ8QZRza75fOOsvfY9m2ACfRe+U9StkSx9+wD6lxiTcUiYbjfc=
 =OYlz
 -----END PGP SIGNATURE-----

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

mvebu dt64 for 5.13 (part 1)

Add DT for fan control on SolidRun Clearfog GT8k platform

Add syscon compatible to NB clk node allowing improving cpufreq
support on Armada 37xx

Add support for UTMI PHY allowing removing kernel dependency from the
boot loader for UBS port connected to this PHY (Armada 7K, 8K and
CN91xx)

* tag 'mvebu-dt64-5.13-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu:
  arm64: dts: marvell: enable CP110 UTMI PHY usage
  arm64: dts: marvell: add support for Marvell CP110 UTMI PHY
  arm64: dts: marvell: armada-37xx: add syscon compatible to NB clk node
  arm64: dts: marvell: clearfog-gt-8k: add cooling maps
  arm64: dts: marvell: clearfog-gt-8k: add pwm-fan

Link: https://lore.kernel.org/r/874kgocs7t.fsf@BL-laptop
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-04-07 13:59:50 +02:00
Arnd Bergmann
0d310a3791 Our usual bunch of patches to support the Allwinner SoCs, this time
adding:
   - New secondary interrupt controller binding to support the wake-up
   - Use the RSB bus instead of I2C for the PMIC on the H6
   - HDMI support for the BananaPi M2-Zero
   - New board: Topwise A721
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQRcEzekXsqa64kGDp7j7w1vZxhRxQUCYGchiwAKCRDj7w1vZxhR
 xW1/APsFH9bywTduCrsuJui1LdD3mVbhkN75tKfBw7Ce8rmloAD/U5dth8PKA4h6
 yPCdc2k0XaK7ItcD3eveN2uwiNq89gU=
 =Ktsz
 -----END PGP SIGNATURE-----

Merge tag 'sunxi-dt-for-5.13-1' 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:
  - New secondary interrupt controller binding to support the wake-up
  - Use the RSB bus instead of I2C for the PMIC on the H6
  - HDMI support for the BananaPi M2-Zero
  - New board: Topwise A721

* tag 'sunxi-dt-for-5.13-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
  ARM: dts: sun8i: h3: beelink-x2: Add power button
  arm64: dts: allwinner: h6: Use RSB for AXP805 PMIC connection
  ARM: dts: sunxi: h2-plus-bananapi-m2-zero: Add HDMI out
  ARM: dts: sun4i: Add support for Topwise A721 tablet
  dt-bindings: arm: Add Topwise A721
  arm64: dts: allwinner: Move wakeup-capable IRQs to r_intc
  arm64: dts: allwinner: Use the new r_intc binding
  ARM: dts: sunxi: Move wakeup-capable IRQs to r_intc
  ARM: dts: sunxi: h3/h5: Add r_intc node
  ARM: dts: sunxi: Use the new r_intc binding

Link: https://lore.kernel.org/r/8a3e3271-bebe-4d27-a9e7-7b7a6311a38d.lettre@localhost
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-04-07 13:52:56 +02:00
Arnd Bergmann
85af259bcc Renesas ARM DT updates for v5.13 (take two)
- Video IN (VIN) and Camera (CSI-2) support for the R-Car M3-W+ SoC,
   - LED support for the Falcon development board,
   - Preparatory display pipeline support for the R-Car V3U SoC,
   - Miscellaneous fixes and improvements.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCYGbVawAKCRCKwlD9ZEnx
 cEgrAP9eZ3MAYaiATSSPB4KvErvRYc9dqMgHWfHX7Su+LpyPZAD/ViFlg1drXMNV
 HNo3oZUWTChPek4zbe7EUcjpLhWzawk=
 =fkRt
 -----END PGP SIGNATURE-----

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

Renesas ARM DT updates for v5.13 (take two)

  - Video IN (VIN) and Camera (CSI-2) support for the R-Car M3-W+ SoC,
  - LED support for the Falcon development board,
  - Preparatory display pipeline support for the R-Car V3U SoC,
  - Miscellaneous fixes and improvements.

* tag 'renesas-arm-dt-for-v5.13-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  arm64: dts: renesas: ulcb: Add cpu-supply property to a57_0 node
  arm64: dts: renesas: salvator-common: Add cpu-supply property to a57_0 node
  arm64: dts: renesas: r8a77950: Drop operating points above 1.5 GHz
  arm64: dts: renesas: r8a779a0: Fix PMU interrupt
  arm64: dts: renesas: r8a779a0: Add VSPD support
  arm64: dts: renesas: r8a779a0: Add FCPVD support
  arm64: dts: renesas: falcon-cpu: Add GP LEDs
  arm64: dts: renesas: r8a77961: Add VIN and CSI-2 device nodes
  ARM: dts: koelsch: Configure pull-up for SOFT_SW GPIO keys
  arm64: dts: renesas: falcon: Move AVB0 to main DTS
  arm64: dts: renesas: falcon: Move watchdog config to CPU board DTS
  arm64: dts: renesas: falcon: Move console config to CPU board DTS

Link: https://lore.kernel.org/r/cover.1617359678.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-04-07 13:42:36 +02:00
Jernej Skrabec
7a2f6e69e9
arm64: dts: allwinner: h6: beelink-gs1: Remove ext. 32 kHz osc reference
Although every Beelink GS1 seems to have external 32768 Hz oscillator,
it works only on one from four tested. There are more reports of RTC
issues elsewhere, like Armbian forum.

One Beelink GS1 owner read RTC osc status register on Android which
shipped with the box. Reported value indicated problems with external
oscillator.

In order to fix RTC and related issues (HDMI-CEC and suspend/resume with
Crust) on all boards, switch to internal oscillator.

Fixes: 32507b8681 ("arm64: dts: allwinner: h6: Move ext. oscillator to board DTs")
Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
Tested-by: Clément Péron <peron.clem@gmail.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://lore.kernel.org/r/20210330184218.279738-1-jernej.skrabec@siol.net
2021-04-07 13:41:47 +02:00
Andre Przywara
3dd4ce4185
arm64: dts: allwinner: Fix SD card CD GPIO for SOPine systems
Commit 941432d007 ("arm64: dts: allwinner: Drop non-removable from
SoPine/LTS SD card") enabled the card detect GPIO for the SOPine module,
along the way with the Pine64-LTS, which share the same base .dtsi.

However while both boards indeed have a working CD GPIO on PF6, the
polarity is different: the SOPine modules uses a "push-pull" socket,
which has an active-high switch, while the Pine64-LTS use the more
traditional push-push socket and the common active-low switch.

Fix the polarity in the sopine.dtsi, and overwrite it in the LTS
board .dts, to make the SD card work again on systems using SOPine
modules.

Fixes: 941432d007 ("arm64: dts: allwinner: Drop non-removable from SoPine/LTS SD card")
Reported-by: Ashley <contact@victorianfox.com>
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://lore.kernel.org/r/20210316144219.5973-1-andre.przywara@arm.com
2021-04-07 13:41:35 +02:00
Chen-Yu Tsai
fbb9e86636
arm64: dts: allwinner: h6: Switch to macros for RSB clock/reset indices
The macros for the clock and reset indices for the RSB hardware block
were replaced with raw numbers when the RSB controller node was added.
This was done to avoid cross-tree dependencies.

Now that both the clk and DT changes have been merged, we can switch
back to using the macros.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
2021-04-07 13:40:54 +02:00
Suzuki K Poulose
a1319260bf arm64: KVM: Enable access to TRBE support for host
For a nvhe host, the EL2 must allow the EL1&0 translation
regime for TraceBuffer (MDCR_EL2.E2TB == 0b11). This must
be saved/restored over a trip to the guest. Also, before
entering the guest, we must flush any trace data if the
TRBE was enabled. And we must prohibit the generation
of trace while we are in EL1 by clearing the TRFCR_EL1.

For vhe, the EL2 must prevent the EL1 access to the Trace
Buffer.

The MDCR_EL2 bit definitions for TRBE are available here :

  https://developer.arm.com/documentation/ddi0601/2020-12/AArch64-Registers/

Cc: Will Deacon <will@kernel.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Marc Zyngier <maz@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Anshuman Khandual <anshuman.khandual@arm.com>
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Acked-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20210405164307.1720226-8-suzuki.poulose@arm.com
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
2021-04-06 16:05:28 -06:00
Suzuki K Poulose
d2602bb4f5 KVM: arm64: Move SPE availability check to VCPU load
At the moment, we check the availability of SPE on the given
CPU (i.e, SPE is implemented and is allowed at the host) during
every guest entry. This can be optimized a bit by moving the
check to vcpu_load time and recording the availability of the
feature on the current CPU via a new flag. This will also be useful
for adding the TRBE support.

Cc: Marc Zyngier <maz@kernel.org>
Cc: Will Deacon <will@kernel.org>
Cc: Alexandru Elisei <Alexandru.Elisei@arm.com>
Cc: James Morse <james.morse@arm.com>
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Acked-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20210405164307.1720226-7-suzuki.poulose@arm.com
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
2021-04-06 16:05:20 -06:00
Suzuki K Poulose
cc427cbb15 KVM: arm64: Handle access to TRFCR_EL1
Rather than falling to an "unhandled access", inject add an explicit
"undefined access" for TRFCR_EL1 access from the guest.

Cc: Marc Zyngier <maz@kernel.org>
Cc: Will Deacon <will@kernel.org>
Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Acked-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20210405164307.1720226-6-suzuki.poulose@arm.com
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
2021-04-06 16:05:12 -06:00
Arnd Bergmann
1180042dc6 Merge tag 'mvebu-fixes-5.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu into arm/fixes
mvebu fixes for 5.12 (part 1)

2 fixes on on turris-omnia (Armada 38x based:)
 - Fix storm interrupt
 - Enable hardware buffer management as it should be

Unbreak AHCI on all Marvell Armada 7k8k / CN913x platforms

* tag 'mvebu-fixes-5.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu:
  ARM: dts: turris-omnia: configure LED[2]/INTn pin as interrupt pin
  ARM: dts: turris-omnia: fix hardware buffer management
  Revert "arm64: dts: marvell: armada-cp110: Switch to per-port SATA interrupts"

Link: https://lore.kernel.org/r/87a6qgctit.fsf@BL-laptop
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-04-06 23:21:08 +02:00
Dmitry Baryshkov
7443ff06da arm64: dts: sdm845-db845c: make firmware filenames follow linux-firmware
Cange aDSP and cDSP firmware filenames to follow filenames merged into
linux-firmware tree. Switch from split .mdt files to merged .mbn files.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20210318201405.2244723-1-dmitry.baryshkov@linaro.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-04-06 09:30:42 -05:00
Eric Auger
28e9d4bce3 KVM: arm64: vgic-v3: Expose GICR_TYPER.Last for userspace
Commit 23bde34771 ("KVM: arm64: vgic-v3: Drop the
reporting of GICR_TYPER.Last for userspace") temporarily fixed
a bug identified when attempting to access the GICR_TYPER
register before the redistributor region setting, but dropped
the support of the LAST bit.

Emulating the GICR_TYPER.Last bit still makes sense for
architecture compliance though. This patch restores its support
(if the redistributor region was set) while keeping the code safe.

We introduce a new helper, vgic_mmio_vcpu_rdist_is_last() which
computes whether a redistributor is the highest one of a series
of redistributor contributor pages.

With this new implementation we do not need to have a uaccess
read accessor anymore.

Signed-off-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20210405163941.510258-9-eric.auger@redhat.com
2021-04-06 14:51:38 +01:00
Eric Auger
e5a3563546 kvm: arm64: vgic-v3: Introduce vgic_v3_free_redist_region()
To improve the readability, we introduce the new
vgic_v3_free_redist_region helper and also rename
vgic_v3_insert_redist_region into vgic_v3_alloc_redist_region

Signed-off-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20210405163941.510258-8-eric.auger@redhat.com
2021-04-06 14:51:38 +01:00
Eric Auger
da38530976 KVM: arm64: Simplify argument passing to vgic_uaccess_[read|write]
vgic_uaccess() takes a struct vgic_io_device argument, converts it
to a struct kvm_io_device and passes it to the read/write accessor
functions, which convert it back to a struct vgic_io_device.
Avoid the indirection by passing the struct vgic_io_device argument
directly to vgic_uaccess_{read,write}.

Signed-off-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20210405163941.510258-7-eric.auger@redhat.com
2021-04-06 14:51:38 +01:00
Eric Auger
3a52116127 KVM: arm/arm64: vgic: Reset base address on kvm_vgic_dist_destroy()
On vgic_dist_destroy(), the addresses are not reset. However for
kvm selftest purpose this would allow to continue the test execution
even after a failure when running KVM_RUN. So let's reset the
base addresses.

Signed-off-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20210405163941.510258-5-eric.auger@redhat.com
2021-04-06 14:51:38 +01:00
Eric Auger
8542a8f95a KVM: arm64: vgic-v3: Fix error handling in vgic_v3_set_redist_base()
vgic_v3_insert_redist_region() may succeed while
vgic_register_all_redist_iodevs fails. For example this happens
while adding a redistributor region overlapping a dist region. The
failure only is detected on vgic_register_all_redist_iodevs when
vgic_v3_check_base() gets called in vgic_register_redist_iodev().

In such a case, remove the newly added redistributor region and free
it.

Signed-off-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20210405163941.510258-4-eric.auger@redhat.com
2021-04-06 14:51:37 +01:00
Eric Auger
53b16dd6ba KVM: arm64: Fix KVM_VGIC_V3_ADDR_TYPE_REDIST_REGION read
The doc says:
"The characteristics of a specific redistributor region can
 be read by presetting the index field in the attr data.
 Only valid for KVM_DEV_TYPE_ARM_VGIC_V3"

Unfortunately the existing code fails to read the input attr data.

Fixes: 04c1109322 ("KVM: arm/arm64: Implement KVM_VGIC_V3_ADDR_TYPE_REDIST_REGION")
Cc: stable@vger.kernel.org#v4.17+
Signed-off-by: Eric Auger <eric.auger@redhat.com>
Reviewed-by: Alexandru Elisei <alexandru.elisei@arm.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20210405163941.510258-3-eric.auger@redhat.com
2021-04-06 14:51:37 +01:00
Eric Auger
d9b201e99c KVM: arm64: vgic-v3: Fix some error codes when setting RDIST base
KVM_DEV_ARM_VGIC_GRP_ADDR group doc says we should return
-EEXIST in case the base address of the redist is already set.
We currently return -EINVAL.

However we need to return -EINVAL in case a legacy REDIST address
is attempted to be set while REDIST_REGIONS were set. This case
is discriminated by looking at the count field.

Signed-off-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20210405163941.510258-2-eric.auger@redhat.com
2021-04-06 14:51:37 +01:00
Wang Wensheng
52b9e265d2 KVM: arm64: Fix error return code in init_hyp_mode()
Fix to return a negative error code from the error handling
case instead of 0, as done elsewhere in this function.

Fixes: eeeee7193d ("KVM: arm64: Bootstrap PSCI SMC handler in nVHE EL2")
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Wang Wensheng <wangwensheng4@huawei.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20210406121759.5407-1-wangwensheng4@huawei.com
2021-04-06 14:20:23 +01:00
Sumit Semwal
0e5a6f2703 arm64: dts: qcom: sdm845-xiaomi-beryllium: Add DSI and panel bits
Enabling the Display panel for beryllium requires DSI
labibb regulators and panel dts nodes to be added.
It is also required to keep some of the regulators as
always-on.

Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org>
Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Link: https://lore.kernel.org/r/20210404194437.537011-1-amit.pundir@linaro.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-04-05 22:29:32 -05:00
Sai Prakash Ranjan
544cebe189 arm64: dts: qcom: sc7280: Add Coresight support
Add coresight components found on SC7280 SoC.

Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
Cc: Suzuki K Poulose <suzuki.poulose@arm.com>
Cc: Mike Leach <mike.leach@linaro.org>
Cc: Leo Yan <leo.yan@linaro.org>
Signed-off-by: Sai Prakash Ranjan <saiprakash.ranjan@codeaurora.org>
Link: https://lore.kernel.org/r/de07324628f88900b72357f4ef7f0c7db7e3409d.1615832893.git.saiprakash.ranjan@codeaurora.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-04-05 22:29:12 -05:00
Sai Prakash Ranjan
208979a8f9 arm64: dts: qcom: sc7280: Add AOSS QMP node
Add a DT node for the AOSS QMP on SC7280 SoC.

Signed-off-by: Sai Prakash Ranjan <saiprakash.ranjan@codeaurora.org>
Link: https://lore.kernel.org/r/12f013a09989dbc3075bfb204653dc02d54ae8a1.1615832893.git.saiprakash.ranjan@codeaurora.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-04-05 22:29:11 -05:00
Sai Prakash Ranjan
2257fac94b arm64: dts: qcom: sc7280: Add IPCC for SC7280 SoC
Add the IPCC DT node which is used to send and receive IPC
signals with remoteprocs for SC7280 SoC.

Cc: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Cc: Jassi Brar <jaswinder.singh@linaro.org>
Signed-off-by: Sai Prakash Ranjan <saiprakash.ranjan@codeaurora.org>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Link: https://lore.kernel.org/r/8374f407386209d2e7891763de3fa2450a14ad60.1615832893.git.saiprakash.ranjan@codeaurora.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-04-05 22:29:09 -05:00
Sai Prakash Ranjan
0392968dbe arm64: dts: qcom: sc7280: Add device tree node for LLCC
Add a DT node for Last level cache (aka. system cache)
controller which provides control over the last level
cache present on SC7280 SoC.

Signed-off-by: Sai Prakash Ranjan <saiprakash.ranjan@codeaurora.org>
Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Link: https://lore.kernel.org/r/5bacaa8350e0d9553dccd623a15513590e795b47.1615832893.git.saiprakash.ranjan@codeaurora.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-04-05 22:29:05 -05:00
Jami Kettunen
47498916af arm64: dts: qcom: Add support for OnePlus 5/5T
Add device trees for OnePlus 5 (cheeseburger) and 5T (dumpling)
MSM8998 SoC smartphones with initial support included for:

- UFS internal storage
- USB peripheral mode
- Display
- Touch
- Bluetooth
- Hall effect sensor
- Power and volume buttons
- Capacitive keypad button backlight (on cheeseburger)

Signed-off-by: Jami Kettunen <jamipkettunen@gmail.com>
Link: https://lore.kernel.org/r/20210406010708.2376807-2-jamipkettunen@gmail.com
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-04-05 22:28:16 -05:00
Jami Kettunen
03041cd25d arm64: dts: qcom: msm8998: Disable MSS remoteproc by default
This was already the case for ADSP and SLPI remoteprocs & doesn't affect
existing boards where it has been re-enabled.

Signed-off-by: Jami Kettunen <jamipkettunen@gmail.com>
Link: https://lore.kernel.org/r/20210406010708.2376807-3-jamipkettunen@gmail.com
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-04-05 22:27:46 -05:00
Christian Hewitt
727d93ed3b arm64: dts: meson: add initial device-tree for MeCool KIII Pro
MeCool (Videostrong) KIII Pro is based on the Amlogic Q200 reference
board with an S912 chip and the following specs:

- 3GB DDR3 RAM
- 16GB eMMC
- 10/100/1000 Base-T Ethernet
- BCM4335 Wireless (802.11 b/g/n/ac, BT 4.0)
- DVB-C/T/T2/S/S2 (AVL6862TA demod + R912 tuner)
- HDMI 2.0a video
- S/PDIF optical output
- CVBS/Analogue output
- 4x USB 2.0 ports
- IR receiver
- 1x Power button (with integrated blue LED)
- 1x Update/Reset button (underside)
- 1x micro SD card slot

Tested-by: Drazen Spio <drazsp@gmail.com>
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/20210402064521.30579-4-christianshewitt@gmail.com
2021-04-05 15:35:39 -07:00
Christian Hewitt
d5454e7ce2 arm64: dts: meson: add initial device-tree for MeCool KII Pro
MeCool (Videostrong) KII Pro is based on the Amlogic P230 reference
board with an S905D chip and the following specs:

- 2GB DDR3 RAM
- 16GB eMMC
- 10/100 Base-T Ethernet
- BCM4335 Wireless (802.11 b/g/n/ac, BT 4.0)
- DVB-C/T/T2/S/S2 (AVL6862TA demod + R848 tuner)
- HDMI 2.0a video
- S/PDIF optical output
- CVBS/Analogue output
- 4x USB 2.0 ports
- IR receiver
- 1x Power button (with integrated blue LED)
- 1x micro SD card slot

Tested-by: Drazen Spio <drazsp@gmail.com>
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/20210402064521.30579-3-christianshewitt@gmail.com
2021-04-05 15:35:39 -07:00
Anshuman Khandual
3f9b72f6a1 arm64: Add TRBE definitions
This adds TRBE related registers and corresponding feature macros.

Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
Cc: Mike Leach <mike.leach@linaro.org>
Cc: Suzuki K Poulose <suzuki.poulose@arm.com>
Reviewed-by: Mike Leach <mike.leach@linaro.org>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Link: https://lore.kernel.org/r/20210405164307.1720226-5-suzuki.poulose@arm.com
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
2021-04-05 11:25:38 -06:00
Suzuki K Poulose
be96826942 arm64: Add support for trace synchronization barrier
tsb csync synchronizes the trace operation of instructions.
The instruction is a nop when FEAT_TRF is not implemented.

Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
Cc: Mike Leach <mike.leach@linaro.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Link: https://lore.kernel.org/r/20210405164307.1720226-4-suzuki.poulose@arm.com
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
2021-04-05 11:25:06 -06:00
Greg Kroah-Hartman
de800f290d Merge 5.12-rc6 into usb-next
We want the USB fixes in here as well and it resolves a merge issue with
xhci-mtk.c

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-04-05 08:56:10 +02:00
Sujit Kautkar
f66965b06b arm64: dts: qcom: Move rmtfs memory region
Move rmtfs memory region so that it does not overlap with system
RAM (kernel data) when KAsan is enabled. This puts rmtfs right
after mba_mem which is not supposed to increase beyond 0x94600000

Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Signed-off-by: Sujit Kautkar <sujitka@chromium.org>
Link: https://lore.kernel.org/r/20210330014610.1451198-1-sujitka@chromium.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-04-04 13:03:46 -05:00
Srinivasa Rao Mandadapu
f158e7a378 arm64: dts: qcom: Add sound node for sc7180-trogdor-coachz
This is a trgodor variant, required to have sound node variable
for coachz specific platform.

Tested-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Srinivasa Rao Mandadapu <srivasam@codeaurora.org>
Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Link: https://lore.kernel.org/r/20210314061054.19451-3-srivasam@codeaurora.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-04-04 13:03:35 -05:00
Ajit Pandey
29bd62ee95 arm64: dts: qcom: sc7180-trogdor: Add lpass dai link for I2S driver
Add dai link for supporting lpass I2S driver, which is used
for audio capture and playback.
Add lpass-cpu node with pin controls and i2s primary
and secondary dai-links.

Tested-by: Douglas Anderson <dianders@chromium.org>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Reviewed-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Ajit Pandey <ajitp@codeaurora.org>
Signed-off-by: V Sujith Kumar Reddy <vsujithk@codeaurora.org>
Signed-off-by: Srinivasa Rao Mandadapu <srivasam@codeaurora.org>
Link: https://lore.kernel.org/r/20210314061054.19451-2-srivasam@codeaurora.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-04-04 13:03:22 -05:00
Dmitry Baryshkov
9b3153248f arm64: dts: qcom: use dp_phy to provide clocks to dispcc
Plug dp_phy-provided clocks to display clock controller.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20210331151614.3810197-8-dmitry.baryshkov@linaro.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-04-04 13:01:44 -05:00
Dmitry Baryshkov
5aa0d1becd arm64: dts: qcom: sm8250: switch usb1 qmp phy to USB3+DP mode
USB1 QMP PHY is not just a USB3 PHY, but USB3+DP PHY. Change device tree
nodes accordingly.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20210331151614.3810197-7-dmitry.baryshkov@linaro.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-04-04 13:00:04 -05:00
Bryan O'Donoghue
fa245b3f06 arm64: dts: qcom: sm8250: Add venus DT node
Add DT entries for the sm8250 venus encoder/decoder.

Co-developed-by: Jonathan Marek <jonathan@marek.ca>
Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Co-developed-by: Dikshita Agarwal <dikshita@qti.qualcomm.com>
Signed-off-by: Dikshita Agarwal <dikshita@qti.qualcomm.com>
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Tested-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20210401174256.1810044-3-bryan.odonoghue@linaro.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-04-04 12:59:29 -05:00
jonathan@marek.ca
5b9ec225d4 arm64: dts: qcom: sm8250: Add videocc DT node
This commit adds the videocc DTS node for sm8250.

Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Tested-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20210401174256.1810044-2-bryan.odonoghue@linaro.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-04-04 12:59:22 -05:00
Vinod Koul
da6b24828d arm64: dts: qcom: sm8350: Add interconnects
Add interconnect nodes and add them for modem and cdsp nodes

Signed-off-by: Vinod Koul <vkoul@kernel.org>
Link: https://lore.kernel.org/r/20210401113252.3078466-1-vkoul@kernel.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-04-04 12:58:09 -05:00
Robert Foss
24e3eb2e32 arm64: dts: qcom: sm8350: Add support for PRNG EE
RNG (Random Number Generator) in SM8350 features PRNG EE (Execution
Environment), hence add devicetree support for it.

Reviewed-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Robert Foss <robert.foss@linaro.org>
Link: https://lore.kernel.org/r/20210401101536.1014560-1-robert.foss@linaro.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-04-04 12:57:15 -05:00
satya priya
60eb631f5d arm64: dts: qcom: sc7280: Add RPMh regulators for sc7280-idp
Add regulator devices for SC7280 as RPMh regulators. This ensures
that consumers are able to modify the physical state of PMIC
regulators.

Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
Signed-off-by: satya priya <skakit@codeaurora.org>
Link: https://lore.kernel.org/r/1617192339-3760-4-git-send-email-skakit@codeaurora.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-04-04 12:56:51 -05:00
Dmitry Baryshkov
644e4d972d arm64: dts: qcom: sdm845: add required clocks on the gcc
Specify input clocks to the SDM845's Global Clock Controller as required
by the bindings.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20210402233944.273275-4-dmitry.baryshkov@linaro.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-04-04 12:38:21 -05:00
Konstantin Porotchkin
99fa8ac5c0 arm64: dts: marvell: enable CP110 UTMI PHY usage
Enable support for CP110 UTMI PHY in Armada SoC family platform
device trees.

Signed-off-by: Konstantin Porotchkin <kostap@marvell.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
2021-04-02 22:43:51 +02:00
Konstantin Porotchkin
69770919d2 arm64: dts: marvell: add support for Marvell CP110 UTMI PHY
Add support for Marvell CP110 UTMI PHY in a CP11x DTSI

Signed-off-by: Konstantin Porotchkin <kostap@marvell.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
2021-04-02 22:43:14 +02:00
Gregory CLEMENT
967ff33eb0 Revert "arm64: dts: marvell: armada-cp110: Switch to per-port SATA interrupts"
The driver part of this support was not merged which leads to break
AHCI on all Marvell Armada 7k8k / CN913x platforms as it was reported
by Marcin Wojtas.

So for now let's remove it in order to fix the issue waiting for the
driver part really be merged.

This reverts commit 53e950d597.
Fixes: 53e950d597 ("arm64: dts: marvell: armada-cp110: Switch to per-port SATA interrupts")

Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
2021-04-02 22:06:04 +02:00
Marek Behún
1d88358a89 arm64: dts: marvell: armada-37xx: add syscon compatible to NB clk node
Add "syscon" compatible to the North Bridge clocks node to allow the
cpufreq driver to access these registers via syscon API.

This is needed for a fix of cpufreq driver.

Signed-off-by: Marek Behún <kabel@kernel.org>
Fixes: e8d66e7927 ("arm64: dts: marvell: armada-37xx: add nodes...")
Cc: stable@vger.kernel.org
Cc: Gregory CLEMENT <gregory.clement@free-electrons.com>
Cc: Miquel Raynal <miquel.raynal@bootlin.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
2021-04-02 21:49:57 +02:00
Russell King
9c7d1f4bc0 arm64: dts: marvell: clearfog-gt-8k: add cooling maps
Add cooling maps suitable for a Noctua NF-A4/10 fan attached to the
heat sink.  The fan will toggle between two speeds in operation which
seems to be normal behaviour.  More fine-grained steps may help to
reduce this.

Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
2021-04-02 21:47:41 +02:00
Russell King
2d36399c24 arm64: dts: marvell: clearfog-gt-8k: add pwm-fan
Add pwm-fan support for controlling the fan speed.

Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
2021-04-02 21:47:09 +02:00
Zhen Lei
d1689cd3c0 arm64: dts: imx8mp: Use the correct name for child node "snps, dwc3"
After the node name of "snps,dwc3" has been corrected to start with "usb"
in fsl,imx8mp-dwc3.yaml. Its name in dts should be modified accordingly.

Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
Link: https://lore.kernel.org/r/20210329072714.2135-3-thunder.leizhen@huawei.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-04-02 15:21:42 +02:00
Arnd Bergmann
8d195e7a8a crypto: poly1305 - fix poly1305_core_setkey() declaration
gcc-11 points out a mismatch between the declaration and the definition
of poly1305_core_setkey():

lib/crypto/poly1305-donna32.c:13:67: error: argument 2 of type ‘const u8[16]’ {aka ‘const unsigned char[16]’} with mismatched bound [-Werror=array-parameter=]
   13 | void poly1305_core_setkey(struct poly1305_core_key *key, const u8 raw_key[16])
      |                                                          ~~~~~~~~~^~~~~~~~~~~
In file included from lib/crypto/poly1305-donna32.c:11:
include/crypto/internal/poly1305.h:21:68: note: previously declared as ‘const u8 *’ {aka ‘const unsigned char *’}
   21 | void poly1305_core_setkey(struct poly1305_core_key *key, const u8 *raw_key);

This is harmless in principle, as the calling conventions are the same,
but the more specific prototype allows better type checking in the
caller.

Change the declaration to match the actual function definition.
The poly1305_simd_init() is a bit suspicious here, as it previously
had a 32-byte argument type, but looks like it needs to take the
16-byte POLY1305_BLOCK_SIZE array instead.

Fixes: 1c08a10436 ("crypto: poly1305 - add new 32 and 64-bit generic versions")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
Reviewed-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2021-04-02 18:28:12 +11:00
Yusuke Goda
2b35ca2fe6 arm64: dts: renesas: ulcb: Add cpu-supply property to a57_0 node
Add the cpu-supply property to the a57_0 node, so Dynamic Voltage and
Frequency Scaling (DVFS) can change the CPU core voltage.

Signed-off-by: Yusuke Goda <yusuke.goda.sx@renesas.com>
Signed-off-by: Takeshi Kihara <takeshi.kihara.df@renesas.com>
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20210326105009.1574424-3-geert+renesas@glider.be
2021-04-02 09:22:35 +02:00
Dien Pham
35e732d799 arm64: dts: renesas: salvator-common: Add cpu-supply property to a57_0 node
Add the cpu-supply property to the a57_0 node, so Dynamic Voltage and
Frequency Scaling (DVFS) can change the CPU core voltage.

Signed-off-by: Dien Pham <dien.pham.ry@renesas.com>
Signed-off-by: Takeshi Kihara <takeshi.kihara.df@renesas.com>
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20210326105009.1574424-2-geert+renesas@glider.be
2021-04-02 09:22:35 +02:00
Geert Uytterhoeven
297214f064 arm64: dts: renesas: r8a77950: Drop operating points above 1.5 GHz
The higher operating frequencies for the Cortex-A57 CPU cores, which
were first documented in the R-Car Gen3 Hardware User's Manual revision
0.54, apply to R-Car H3 ES2.0 (r8a77951).

Play it safe and restrict R-Car H3 ES1.x to 1.5 GHz, by removing the
"turbo-mode" entries from the operating points table inherited from
r8a77951.dtsi.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20210311110552.3124180-1-geert+renesas@glider.be
2021-04-02 09:22:35 +02:00
Arnd Bergmann
03c623535f Enable option to boot MediaTek based chromebook (mt8173 and mt8183) with defconfig
-----BEGIN PGP SIGNATURE-----
 
 iQJLBAABCAA1FiEEUdvKHhzqrUYPB/u8L21+TfbCqH4FAmBlnlIXHG1hdHRoaWFz
 LmJnZ0BnbWFpbC5jb20ACgkQL21+TfbCqH5Nkw/+Mt30yAu6DNJAw6rUT61l7l1a
 UEiexX5JC3Vzj8FCGueLJLRfHa/OF+Frk/VQwbGLGIo1N8cgkhn1kzQm87bGQ3rT
 6avjCAUqCnoh1jmefkO65+7qFfP4f/3OiQDaBsQ59EWucQ/jPvLmsG/hVUuf1iw8
 cXLdryXG/ysAYoAQyhNKMVFSL0VN2OTvz3jUEOGLT7uOIv08parG6lDKfkm3nN3F
 kqXQ6tSU2efpLUo59DbJaZbjI6+HOAjWvswMvSIEyVUc7RFacJDqOdOdgtqnIHjE
 t4x7Crovgx8yDic702qrfm28bDiHBeSntymuyTG2ooprre/YZgjxqipGu0p00ZCz
 SFZ7s8OG9hWfDxyp1i9kh1v1nEX4YCfQGV95mXVaxPTRa/e9j/NeRiQI1IXG75S/
 kzLfbHuoMtWz4JtW23Qa7NpgbqBpvV/lfEicdu1jOXJFgW3BOuJabuWvxYl5xx3v
 iPNrxGmhPFMLq/3wRtpNRtcx+xulgtXKl3xIe0yxQh3azhRBiJUV2KHMEDj1mDoq
 E8I23lp2rPfoU1yIvfPcqMPHHtqRQpvmvnuKjl4gegyT0znkzoy4Z9ExpWpjnbY3
 o1QTrYtiIVW/yS8lh+g9hSTuRrE9VaygGgSYALeb8WPWTipH2PMlASPl/G4O9JT4
 ChSB66EUEYC4BVWd1Ds=
 =g3jG
 -----END PGP SIGNATURE-----

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

Enable option to boot MediaTek based chromebook (mt8173 and mt8183) with defconfig

* tag 'v5.12-next-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux:
  arm64: defconfig: Enable options to support panel display for Mediatek Chromebooks
  arm64: defconfig: Allow mt8173-based boards to boot from usb

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-04-01 22:45:33 +02:00
Arnd Bergmann
bbbd7b0120 i.MX defconfig change for 5.13:
It includes a number of arm64 defconfig update for i.MX8 devices
 support.  The following ones might deserve some notes.
 
 - Although Hantro decoder driver are sitting in staging, people already
   find it's quite useful on i.MX8M devices.
 - i.MX PCIe driver has no option for module build.
 - REALTEK_PHY becomes a built-in driver, because it's used on quite some
   i.MX8 reference boards where people want to boot via NFS.
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmBj9KcUHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM5o5wgAhADJ5eUxUD1yrgU7P8aa/WY7QjLD
 XluMFtpAaI9cXAXX3cy/4JpCb9tTXMisyvG/Kr9bt+PVQOHK892U1nybdkX+VBAC
 CNTfIbHYKxHE3CdkjGqIk4CA+vx+wH151bwZThWrkiBAE5Oaqcb3aVmmcFGLUvfr
 MB1JAW8dsTk3+0bmYcpRtMfFxPWoSDtgGtAQANqpROJGlJ5cv/DlDTmqbgsu8Yc4
 pyjBeeKkJTc9bXw2LxVHS3H7Ozew4rJ0hEdsYWwU7emYVQzu2di9kwfnMkzDZS7F
 Zxifjyen4TVWqFgxUQ3dng8B3d2tQvs6ini3b1Q5fLe5lkHTPWunIuMpAQ==
 =FfMm
 -----END PGP SIGNATURE-----

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

i.MX defconfig change for 5.13:

It includes a number of arm64 defconfig update for i.MX8 devices
support.  The following ones might deserve some notes.

- Although Hantro decoder driver are sitting in staging, people already
  find it's quite useful on i.MX8M devices.
- i.MX PCIe driver has no option for module build.
- REALTEK_PHY becomes a built-in driver, because it's used on quite some
  i.MX8 reference boards where people want to boot via NFS.

* tag 'imx-defconfig-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  arm64: configs: enable FlexTimer alarm timer
  arm64: configs: Select REALTEK_PHY as built-in
  arm64: configs: Enable PCIe support for imx8mq boards
  arm64: defconfig: Enable the Hantro decoder
  arm64: defconfig: add imx8qm pinctrl support
  arm64: defconfig: Enable wm8960 audio driver.
  arm64: defconfig: Enable asoc simple mux
  arm64: defconfig: Enable devfreq support for i.MX8MQ

Link: https://lore.kernel.org/r/20210331041019.31345-6-shawnguo@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-04-01 22:40:08 +02:00
Arnd Bergmann
7d534c3a5e - add trivial bindings for MT8195
- fix dtbs_check warnings
 - add pinmux for build-in Wifi on MT7622 evaluation borad
 
 MT8183:
 - fix USB wakeup register
 - add regulator for EVB board
 - add registers to mailbox consumers
 - add thermal zone and trip points for CPU cooling
 - Add new boards:
   * ASUS Chromebook Flip CM3
   * ASUS Chromebook Detachable CM3
   * Acer Chromebook Spin 311
   * Lenovo 10e Chromebook Tablet
 
 MT8173:
 - fix PHY property in DSI
 - fix power-domain for PMIC wrapper
 
 Pumkin:
 - add MT8516 based board
 - add MT8183 based board
 - fix reset pin for MT8167 and MT8516 based boards
 -----BEGIN PGP SIGNATURE-----
 
 iQJLBAABCAA1FiEEUdvKHhzqrUYPB/u8L21+TfbCqH4FAmBlzocXHG1hdHRoaWFz
 LmJnZ0BnbWFpbC5jb20ACgkQL21+TfbCqH6VNQ/7BUBXC23J+NJV1dZmyxtxBJC9
 e37AbYb+BiMfQdGcKP/De8gSPh5HEp1r/6yGxoeJmKMjlVtghQNNC5RXyfAo/Irk
 czSwIEmGAzgbmQCdI2zknlobW+BNjbL2Ys8nZAjdI8hzW1J0auUO2+fQFJTDw5gH
 uaD5IFrOXgDs7rXv3fmAZSw1WHKPPyjuMxePD8EfTGUnZ77IPTEwaNxPHblTZBl7
 MPKkc05swqrB1N2+IH0IA8Aad9HTi2vYloW0OWE7X6p1uD1Jp+AexNPDYXoLZe6s
 uUXezEoy/juMbtSCUndJj1yE5xtUMPlhFaUzjf+L9Qhz3KB0DN6pvvJRUhy7Kbhe
 EZCf28jM8LCRYD5Y8/wAPsDXZCxLkci4SIO2kAUP52URgTsKjoL57xJE4hvsEnXf
 W3/r8tA4Vv93xtWNi0UYrDqj7yYo/ufpb6z78pOrpwjri5/Guy3lV4eZp6t/Fx8Z
 sNFqhEiW04C3kmGHhcovwTTg+7RrGHxDOdwHNRL83kSw3fva2H78ehVydq10WE+m
 miSRFGos0bG48UFEMrLFQtABr2kqcpIgm4/TmgCiG6LPcEIbJkeVakyQfumfZrfG
 VKuch9lKWU4pIyt27rYPW8ipgVcMzzZ4BSzqG6ZomvsTnP59zGcI2KAVlew1q++0
 +UeWZhgVGlT3C8hG06s=
 =RMBh
 -----END PGP SIGNATURE-----

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

- add trivial bindings for MT8195
- fix dtbs_check warnings
- add pinmux for build-in Wifi on MT7622 evaluation borad

MT8183:
- fix USB wakeup register
- add regulator for EVB board
- add registers to mailbox consumers
- add thermal zone and trip points for CPU cooling
- Add new boards:
  * ASUS Chromebook Flip CM3
  * ASUS Chromebook Detachable CM3
  * Acer Chromebook Spin 311
  * Lenovo 10e Chromebook Tablet

MT8173:
- fix PHY property in DSI
- fix power-domain for PMIC wrapper

Pumkin:
- add MT8516 based board
- add MT8183 based board
- fix reset pin for MT8167 and MT8516 based boards

* tag 'v5.12-next-dts64' of git://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux: (29 commits)
  arm64: dts: mediatek: fix reset GPIO level on pumpkin
  arm64: dts: mt8183: add mt8183 pumpkin board
  dt-bindings: arm64: dts: mediatek: Add mt8183-pumpkin board
  arm64: dts: mt8183: Add kukui kodama board
  arm64: dts: mt8183: Add kukui kakadu board
  dt-bindings: arm64: dts: mediatek: Add mt8183-kukui-kodama
  dt-bindings: arm64: dts: mediatek: Add mt8183-kukui-kakadu
  dt-bindings: arm64: dts: mediatek: Add mt8516-pumpkin board
  arm64: dts: mt7622: add ePA/eLNA pinmux for built-in WiFi
  dt-bindings: nvmem: mediatek: add support for MediaTek mt8192 SoC
  arm64: dts: mt8173: fix wrong power-domain phandle of pmic
  arm64: dts: mt8183: Configure CPU cooling
  arm64: dts: mt8183: add thermal zone node
  arm64: dts: mt8183: Add gce client reg for display subcomponents
  arm64: dts: mediatek: mt8183: fix dtbs_check warning
  arm64: dts: mediatek: mt7622: harmonize node names and compatibles
  arm64: dts: mediatek: mt8516: harmonize node names and compatibles
  arm64: dts: mediatek: mt2712: harmonize node names
  arm64: dts: mediatek: mt8173: fix dtbs_check warning
  arm64: dts: mt8173: fix property typo of 'phys' in dsi node
  ...

Link: https://lore.kernel.org/r/d1121630-5778-0955-fac7-f921174defe7@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-04-01 22:05:58 +02:00
Arnd Bergmann
520f30feb8 arm64: tegra: Device tree fixes for v5.12-rc6
This contains a couple of device tree fixes for the v5.12 release cycle.
 These are needed for proper audio support on Jetson AGX Xavier, to boot
 the Jetson Xavier NX from an SD card and to be able to suspend/resume
 the Jetson TX2.
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCAAxFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmBl/4YTHHRyZWRpbmdA
 bnZpZGlhLmNvbQAKCRDdI6zXfz6zoXoiD/9ZqkJo8NreyLLUXP4qLvdEMbM2mMYx
 5+tevdKqGtlX3Tr9j/t50ti1JhDXf+9TsnIj8CKQaFXOvvdDQCUvybW5bEUmdxeW
 AOVOXZP8R4utI/pucOU6kWX8s9uFOdm3DE4HPPQQm66jUMkTVs9ZWCHUAaCFFIZj
 ZIW/U/Nwph5PNnBAztAoxzWLs3SqTiTG5isk6Zf5OFpQsSuNzZt7ovSrylZPHvYt
 6la6f1QNLAdqU6OnNIoAPUitgBNOMZdAj4EIIHZ/7ALtkZaUSxgLJBcxLJUuav2w
 Y2ZQUCe3NCZIu08TcQQYCe5IYzJ6kXNGwKm80XO9poGFZAxRbFOpwNdpHAuq5Cjz
 HcUHcfxTrvBU9KxnYLOAee5UWqoR1OgBPmBbzZ6ZIIgboeWyI1pQRn1vjkyWJ+8g
 J6GbOBa5vv94Rc4cLBwrU0Wkawoy0G4VrT3t6UjVeJ7BIEEDWwipcDuIEGFxtvTE
 e5MoMb5nODjGssiGxIlD5WdRUakSGYOYK2CVhTa9PNKt1wyu3mX+czSfLUlIeY5r
 bYUGk4+ujvDXjxNneD5dUOU++laL5I/9AytLopBtD5u47FCKNeXJLYHGI2Jg5EZD
 MVgPd99B3gkSI7johWeBniGv6jPRV0l5yx4RLFuk+ucpNC6VCmDtOVdT6SKh95t5
 BJmIdqK8MJoo6A==
 =4Hys
 -----END PGP SIGNATURE-----

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

arm64: tegra: Device tree fixes for v5.12-rc6

This contains a couple of device tree fixes for the v5.12 release cycle.
These are needed for proper audio support on Jetson AGX Xavier, to boot
the Jetson Xavier NX from an SD card and to be able to suspend/resume
the Jetson TX2.

* tag 'tegra-for-5.13-arm64-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  arm64: tegra: Move clocks from RT5658 endpoint to device node
  arm64: tegra: Fix mmc0 alias for Jetson Xavier NX
  arm64: tegra: Set fw_devlink=on for Jetson TX2
  arm64: tegra: Add unit-address for ACONNECT on Tegra186

Link: https://lore.kernel.org/r/20210401172622.3352990-5-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-04-01 22:02:59 +02:00
Arnd Bergmann
45f174d8a1 ARMv8 Juno updates for v5.13
Couple of changes to describe PCI dma-ranges correctly which was
 previously removed and to enable the PCIe and DMA SMMU.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEunHlEgbzHrJD3ZPhAEG6vDF+4pgFAmBkOxgACgkQAEG6vDF+
 4piaHRAAvBh7VGV/Mzms090+3BCgL7Xgk2GL6hIpROtBETkVmxcFje6FhBtAGQQr
 H/fK6IrFFwc0nurOexl+eLuQcL2eQygTwOBa5oJ2oWm5dSxNvpY+3nl/lQqFyYxK
 gIUqIfeYKh46aNXlTQupGGCcB6jpgKKXmPWMzdDUj8D3AurVw6K1Y277r2LacGQC
 HHC1lMUEBb9aAVbeZLqCdOLj0SGZs51/M8p/viS3aecOivbbt+VxKiUlj5HVRY+T
 K97jlKJqjxoZOvqkX6ocCemiQ4VY9DILYwmRoX9H2mepKfmZAde/hd26sDj4bCVd
 FWuG8+62ZbGy5zfvcQC1IQcp7DD2F/y7c0yULsbMF5qC64WDiOL3jcKAMvzQz/tT
 RneKzkou+Xjjxrb+WBb7PyDI1/rEAeTqsz5aWVIoTP3lUbeaY4ilWMvT+64YO0Fw
 ol/ExrqxRAqcvN0wp+sqCLKpeA2j67Ez3s2JdzZn5YMNl2To98GsZMeW9jIUUKWC
 6GBfhicCkKnsHgdphOnl833RcCpQBaIg2V1lp+28TxOOibWWBCiAvHc74EkYI8Pj
 LbkTdoIYD13uat9XzwZv/JRWomqlbZ38HtsFMi/43o7tIap3YBtUFEWl05xS6CCn
 F2GYKim20ss6XX3B6ARVMpxT3ZlINV/pAYRPiaecbG09/9HhQyA=
 =b/Gg
 -----END PGP SIGNATURE-----

Merge tag 'juno-updates-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into arm/dt

ARMv8 Juno updates for v5.13

Couple of changes to describe PCI dma-ranges correctly which was
previously removed and to enable the PCIe and DMA SMMU.

* tag 'juno-updates-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux:
  arm64: dts: juno: Enable more SMMUs
  arm64: dts: juno: Describe PCI dma-ranges

Link: https://lore.kernel.org/r/20210331100410.cenuhvpqoumvsk52@bogus
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-04-01 21:42:56 +02:00
Arnd Bergmann
d2adc561c9 i.MX arm64 device tree update for 5.13:
- A series from Dong Aisheng to update i.MX8Q device trees for adopting
   SS (SubSystems) based bindings.
 - New board support:  Kontron pitx-imx8m, Engicam i.Core MX8M Mini.
 - A series from Adrien Grassein to add various peripheral support for
   imx8mm-nitrogen-r2 board.
 - A series from Guido Günther to update librem5-devkit device tree.
 - A number of patches from Michael Walle to add Root Complex Event
   Collector interrupt, update MTD partitions and add rtc0 alias for
   ls1028a-kontron-sl28 board.
 - Add EQOS MAC support for phyBOARD-Pollux-i.MX8MP.
 - Add 2x2 SFP+ cage support for clearfog-itx boards.
 - Small and random update for various boards.
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmBj8eYUHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM7Lygf9EHqZZOU7WA0nmmsBM9qJcEmY32aY
 XV+9MAqnCDKGoSWtbsApJBft3/SnzRVa+cUiLfUKt3iGaTGpB6xWnHQjnmmJr4zU
 aXbrjnR9C4z+xo2P6DvreVs2t6lIj/OI8S2M3nolROfHFQ05/c25+fcWnE4sbnNQ
 4y8PQJ4hWaBkerMZEnFZLY4MDAJbJduQP2rnQ3vW4P1K2Be/4iw9luYEMUnZZ7K6
 jVLOa7eaPiWZGi7TnxPm+GYHnoGVoFI4dKMkv1rdfpgSGn77yIXquyYPgCuHvgv2
 XuroZCKex2mpE/JIsr+hdGHIAjp/nS+OTbR5tlQtpUFuBb77ZPG8yERIxQ==
 =2phP
 -----END PGP SIGNATURE-----

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

i.MX arm64 device tree update for 5.13:

- A series from Dong Aisheng to update i.MX8Q device trees for adopting
  SS (SubSystems) based bindings.
- New board support:  Kontron pitx-imx8m, Engicam i.Core MX8M Mini.
- A series from Adrien Grassein to add various peripheral support for
  imx8mm-nitrogen-r2 board.
- A series from Guido Günther to update librem5-devkit device tree.
- A number of patches from Michael Walle to add Root Complex Event
  Collector interrupt, update MTD partitions and add rtc0 alias for
  ls1028a-kontron-sl28 board.
- Add EQOS MAC support for phyBOARD-Pollux-i.MX8MP.
- Add 2x2 SFP+ cage support for clearfog-itx boards.
- Small and random update for various boards.

* tag 'imx-dt64-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (55 commits)
  arm64: dts: fsl-ls1028a-kontron-sl28: add rtc0 alias
  arm64: dts: ls1028a: move rtc alias to individual boards
  arm64: dts: fsl-ls1028a-kontron-sl28: combine unused partitions
  arm64: dts: fsl-ls1028a-kontron-sl28: move MTD partitions
  arm64: dts: imx8mp-evk: Improve the Ethernet PHY description
  arm64: dts: imx8mq-librem5-r3: Mark buck3 as always on
  arm64: dts: imx8mq-librem5: Hog the correct gpio
  arm64: dts: lx2160a-clearfog-itx: add SFP support
  arm64: dts: imx8mp-phyboard-pollux-rdk: Change debug UART
  arm64: dts: imx8mn: Reorder flexspi clock-names entry
  arm64: dts: imx8mm: Reorder flexspi clock-names entry
  arm64: dts: ls1028a: set up the real link speed for ENETC port 2
  arm64: dts: imx8mm-nitrogen-r2: add ecspi2 support
  arm64: dts: imx: add imx8qm mek support
  arm64: dts: imx: add imx8qm common dts file
  arm64: dts: imx8qm: add dma ss support
  arm64: dts: imx8: split adma ss into dma and audio ss
  arm64: dts: imx8qm: add conn ss support
  arm64: dts: imx8qm: add lsio ss support
  arm64: dts: imx8: switch to new lpcg clock binding
  ...

Link: https://lore.kernel.org/r/20210331041019.31345-5-shawnguo@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-04-01 21:41:48 +02:00
Arnd Bergmann
3b73ea6c80 This pull request contains Broadcom ARM64-based SoCs Device Tree changes
for 5.13, please pull the following:
 
 - Rafal continues to add support for the 4908 SoCs and describes the USB
   PHY, firmware flash partitions and Ethernet switch and Ethernet
   controller. He also adds support for the TP-Link Archer C2300 V1
   router and upates the Netgear R8000P and Asus GT-AC5300 routers network
   ports description.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEm+Rq3+YGJdiR9yuFh9CWnEQHBwQFAmBiINoACgkQh9CWnEQH
 BwToUA//WssP2pUzjsNev3kdTiOix/Vs/bkKJ9VlGRkmKLsYQJKtIjM1h7GrxrBS
 d4cUIjgt0sBicLnH/+vXWWzWnle51ZnVVjjPxywxT2SEqp/69elOqH/CnELQF6dD
 9nvZgH5VnWi+hgE/yBgfkY5uHjzUnXp8unWkWagHncgaEndPJy7DdHRru50fy0CN
 bqHbJzHmeJfv/TVdfCAdOFTv1MGi9lcmhIlMerPtxoaf1aX2QZJ99Wc4BoTEfmK6
 DP+LLsefewuWeDm/SafZdK3pLg3QyUzMrtrNa7KLNUzNhH69gtUWfjY1tpJn+vUF
 azD85U+cP70I1+DdVrZ+grUW2JgE1DmMdj/VtUOR80mjrEZDn7fbMldR6X049fjr
 CNanRMlDuCFe3YZbqqblrfVgQB/iEgI6YHoYZJSbzJNccM6dYv1Txv0jJUtUMgAs
 TZ7QUFZEJ6BPL6JYb/fIxLvp0gUUihO6qESzxtUFiBnxDB57hL9lZshcsOlRoKTa
 eAOwNd0F8VCrIc89po3dDTZsr94qtmHpHzttbm7Hr2xwsF3hCsCODn3J9GSdk7OP
 lI004I0cr6vYwJI+CYgEEf4wfDXCE7JvWIB0uvk307gUbnxR/wlI1YWV/+uVDAHu
 TRgE7clsR6ZtWxQIMulTSmitm9M5EtZ81E0a1iAnO5wUKmfMDtg=
 =MdDK
 -----END PGP SIGNATURE-----

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

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

- Rafal continues to add support for the 4908 SoCs and describes the USB
  PHY, firmware flash partitions and Ethernet switch and Ethernet
  controller. He also adds support for the TP-Link Archer C2300 V1
  router and upates the Netgear R8000P and Asus GT-AC5300 routers network
  ports description.

* tag 'arm-soc/for-5.13/devicetre-arm64' of https://github.com/Broadcom/stblinux:
  arm64: dts: broadcom: bcm4908: add Ethernet MAC addr
  arm64: dts: broadcom: bcm4908: add Ethernet TX irq
  arm64: dts: broadcom: bcm4908: set Asus GT-AC5300 port 7 PHY mode
  arm64: dts: broadcom: bcm4908: add TP-Link Archer C2300 V1
  dt-bindings: arm: bcm: document TP-Link Archer C2300 binding
  arm64: dts: broadcom: bcm4908: fix switch parent node name
  arm64: dts: broadcom: bcm4908: describe firmware partitions
  arm64: dts: broadcom: bcm4908: add remaining Netgear R8000P LEDs
  arm64: dts: broadcom: bcm4908: describe Netgear R8000P switch
  arm64: dts: broadcom: bcm4908: describe Ethernet controller
  arm64: dts: broadcom: bcm4908: describe USB PHY

Link: https://lore.kernel.org/r/20210330184006.1451315-2-f.fainelli@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-04-01 21:35:39 +02:00
Arnd Bergmann
61de0971ea SoCFPGA DTS updates for v5.13
- Patches from Krzysztof Kozlowski that fixes dtc warnings
   and dtbs_check warnings
 - Adjust the "cnds,read-delay" value for the Agilex devkit to 2
 -----BEGIN PGP SIGNATURE-----
 
 iQJIBAABCgAyFiEEoHhMeiyk5VmwVMwNGZQEC4GjKPQFAmBjA3gUHGRpbmd1eWVu
 QGtlcm5lbC5vcmcACgkQGZQEC4GjKPTqrA//QwfKTzUN/ni1ztXIvkaz9vP7MXfy
 XsK+7H/kWTL4/hsgoa6SdNi1bRL+flrltqKRkfRFmIBSL1datWT+QAbiyYJ1Jyra
 k5jxlYQKJLKp3gobirw6Pgq0usWgWC3v4efnvlj4SWFM8uI8T3XJ4cEdrw4IMGEU
 i99pGu1JAj7Mqnef4S2dlzbF68vdeUTzOJlq66mTu12s+d4ncSeY3RGhSTqXswso
 4bqop4G5Kv/siHTRYiR3EEm2eHiJmTBBUxmmhIBLROY5mgp8XBtX9mmYg6/pSzI/
 VHsdy+mIgCAnYRQueS2OZ7/Q3DROdUhVUxie6XLFlG0hoB6yudGiAxhF7lsIAhET
 oexBqX/uWl/ah2x4LirWRz89sYMDi2pR1YTQeOePlqE6amYkgf43JkZ0joAcIhpc
 SR+sGhA0a33Q1AcKGgImhIWRqYn+wWD09WAzcuKpH5vmv4Jmroigm4BKwlahhv6x
 oYBZZqGc8aSSowXDY3A8meT5/fP/TEbf5HiX5U7Fl220rTljCFPFHELuXooOW8Z4
 zr1XRKQxBx7t4HPlvr+t4BWETI6ga90p5sUgTHMlQF0tmbHIqyz1UmJnOMvJalH4
 l3w/k7lrZJ75mlpsqOqibGZjf7bRwjzS4Uh+8roc1hocDkoG+iS7qlMaUwFmw7AU
 JuFJD7beI1LYZT8=
 =JYZq
 -----END PGP SIGNATURE-----

Merge tag 'socfpga_dts_update_for_v5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux into arm/dt

SoCFPGA DTS updates for v5.13
- Patches from Krzysztof Kozlowski that fixes dtc warnings
  and dtbs_check warnings
- Adjust the "cnds,read-delay" value for the Agilex devkit to 2

* tag 'socfpga_dts_update_for_v5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux:
  arm64: dts: intel: adjust qpsi read-delay property
  arm64: dts: intel: socfpga_agilex_socdk_nand: align LED node names with dtschema
  arm64: dts: intel: socfpga_agilex: align node names with dtschema
  arm64: dts: intel: socfpga_agilex: use defined for GIC interrupts
  arm64: dts: intel: socfpga_agilex: move usbphy out of soc node
  arm64: dts: intel: socfpga_agilex: remove default status=okay
  arm64: dts: intel: socfpga_agilex: move timer out of soc node
  arm64: dts: intel: socfpga_agilex: move clocks out of soc node
  arm64: dts: intel: socfpga: override clocks by label

Link: https://lore.kernel.org/r/20210330110430.558182-2-dinguyen@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-04-01 21:33:43 +02:00
Peter Collingbourne
185f2e5f51 arm64: fix inline asm in load_unaligned_zeropad()
The inline asm's addr operand is marked as input-only, however in
the case where an exception is taken it may be modified by the BIC
instruction on the exception path. Fix the problem by using a temporary
register as the destination register for the BIC instruction.

Signed-off-by: Peter Collingbourne <pcc@google.com>
Cc: stable@vger.kernel.org
Link: https://linux-review.googlesource.com/id/I84538c8a2307d567b4f45bb20b715451005f9617
Link: https://lore.kernel.org/r/20210401165110.3952103-1-pcc@google.com
Signed-off-by: Will Deacon <will@kernel.org>
2021-04-01 18:16:14 +01:00
Qi Liu
2c2e21e78a arm64: perf: Remove redundant initialization in perf_event.c
The initialization of value in function armv8pmu_read_hw_counter()
and armv8pmu_read_counter() seem redundant, as they are soon updated.
So, We can remove them.

Signed-off-by: Qi Liu <liuqi115@huawei.com>
Link: https://lore.kernel.org/r/1617275801-1980-1-git-send-email-liuqi115@huawei.com
Signed-off-by: Will Deacon <will@kernel.org>
2021-04-01 18:05:32 +01:00
Pratyush Yadav
112e5934ff arm64: dts: ti: k3-am64-main: Fix ospi compatible
The TI specific compatible should be followed by the generic
"cdns,qspi-nor" compatible.

Signed-off-by: Pratyush Yadav <p.yadav@ti.com>
Reviewed-by: Vignesh Raghavendra <vigneshr@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Link: https://lore.kernel.org/r/20210326130034.15231-4-p.yadav@ti.com
2021-04-01 08:50:33 -05:00
Pratyush Yadav
0e941f496a arm64: dts: ti: k3-j7200-mcu: Fix ospi compatible
The TI specific compatible should be followed by the generic
"cdns,qspi-nor" compatible.

Signed-off-by: Pratyush Yadav <p.yadav@ti.com>
Reviewed-by: Vignesh Raghavendra <vigneshr@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Link: https://lore.kernel.org/r/20210326130034.15231-3-p.yadav@ti.com
2021-04-01 08:50:33 -05:00
Pratyush Yadav
f1b6f6e7f5 arm64: dts: ti: k3-j721e-mcu: Fix ospi compatible
The TI specific compatible should be followed by the generic
"cdns,qspi-nor" compatible.

Signed-off-by: Pratyush Yadav <p.yadav@ti.com>
Reviewed-by: Vignesh Raghavendra <vigneshr@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Link: https://lore.kernel.org/r/20210326130034.15231-2-p.yadav@ti.com
2021-04-01 08:50:33 -05:00
Fabien Parent
a7dceafed4 arm64: dts: mediatek: fix reset GPIO level on pumpkin
The tca6416 chip is active low. Fix the reset-gpios value.

Fixes: e2a8fa1e0f ("arm64: dts: mediatek: fix tca6416 reset GPIOs in pumpkin")
Signed-off-by: Fabien Parent <fparent@baylibre.com>
Link: https://lore.kernel.org/r/20210223221826.2063911-1-fparent@baylibre.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2021-04-01 11:39:10 +02:00
Arnd Bergmann
89e21e1ad9 i.MX fixes for 5.12, round 2:
- Fix a system failure on imx6qdl-phytec-pfla02 board when booting from
   SD, by adding missing vmmc supply for SD interfaces.
 - Fix address typo in i.MX8MM/Q IOMUXC_SD1_DATA0_GPIO2_IO2 definition.
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmBi5tIUHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM63qQf9H+AmuNEw3Sm9+kW+VH3u+7cBGY0r
 gkdV+hc+pabC/lzkvGTJhmncW2Y35BfzuEG6Bd6s6QEEPAqtqZ0fzDZlcS444b9Z
 e2hLPraKo/C51SCOoAmCUd5JA3to/ZVC+zg1ZiN92SrqgBm5e3we7xvp+Qa/Rzxs
 ZYmzll20U4gt9Dq2HX7dSLc8F/yq6EIGEMkXPKkkDUdWXxM4qbUpN0LlzWCV529f
 SNppkfeA1VfB9Kb8MrawvBRldN4j3T0SWhRFZfa6LqzJEP1dy+885u+4YknMdeJc
 ibpab/oEAzz/yiOiTBmtNCUBFEh3Xdiwh+0Y4T5nGhRd2kFWi2TBJB7hFg==
 =8P0W
 -----END PGP SIGNATURE-----

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

i.MX fixes for 5.12, round 2:

- Fix a system failure on imx6qdl-phytec-pfla02 board when booting from
  SD, by adding missing vmmc supply for SD interfaces.
- Fix address typo in i.MX8MM/Q IOMUXC_SD1_DATA0_GPIO2_IO2 definition.

* tag 'imx-fixes-5.12-2' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  ARM: dts: imx6: pbab01: Set vmmc supply for both SD interfaces
  arm64: dts: imx8mm/q: Fix pad control of SD1_DATA0

Link: https://lore.kernel.org/r/20210330090236.GQ22955@dragon
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-04-01 11:34:06 +02:00
Fabien Parent
19b6403f1e arm64: dts: mt8183: add mt8183 pumpkin board
The MT8183 Pumpkin board is manufactured by OLogic and includes
a MediaTek MT8183 SoC with 2GB of RAM.

The board provides the following IOs:
	* 2 USB Type-A ports
	* Ethernet
	* Serial UART over micro-USB port
	* 1 USB Type-C dual role port
	* 1 USB Type-C power only port
	* 1 Jack for audio
	* RPI compatible header
	* MT7668 wiresless chip with Wi-Fi AC and BT 5
	* Micro-HDMI port
	* 2 connectors for CSI cameras
	* 1 connector for DSI display
	* 1 JTAG port

Signed-off-by: Fabien Parent <fparent@baylibre.com>
Link: https://lore.kernel.org/r/20210217205945.830006-2-fparent@baylibre.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2021-04-01 11:31:14 +02:00
Andrew Scull
aec0fae62e KVM: arm64: Log source when panicking from nVHE hyp
To aid with debugging, add details of the source of a panic from nVHE
hyp. This is done by having nVHE hyp exit to nvhe_hyp_panic_handler()
rather than directly to panic(). The handler will then add the extra
details for debugging before panicking the kernel.

If the panic was due to a BUG(), look up the metadata to log the file
and line, if available, otherwise log an address that can be looked up
in vmlinux. The hyp offset is also logged to allow other hyp VAs to be
converted, similar to how the kernel offset is logged during a panic.

__hyp_panic_string is now inlined since it no longer needs to be
referenced as a symbol and the message is free to diverge between VHE
and nVHE.

The following is an example of the logs generated by a BUG in nVHE hyp.

[   46.754840] kvm [307]: nVHE hyp BUG at: arch/arm64/kvm/hyp/nvhe/switch.c:242!
[   46.755357] kvm [307]: Hyp Offset: 0xfffea6c58e1e0000
[   46.755824] Kernel panic - not syncing: HYP panic:
[   46.755824] PS:400003c9 PC:0000d93a82c705ac ESR:f2000800
[   46.755824] FAR:0000000080080000 HPFAR:0000000000800800 PAR:0000000000000000
[   46.755824] VCPU:0000d93a880d0000
[   46.756960] CPU: 3 PID: 307 Comm: kvm-vcpu-0 Not tainted 5.12.0-rc3-00005-gc572b99cf65b-dirty #133
[   46.757459] Hardware name: QEMU QEMU Virtual Machine, BIOS 0.0.0 02/06/2015
[   46.758366] Call trace:
[   46.758601]  dump_backtrace+0x0/0x1b0
[   46.758856]  show_stack+0x18/0x70
[   46.759057]  dump_stack+0xd0/0x12c
[   46.759236]  panic+0x16c/0x334
[   46.759426]  arm64_kernel_unmapped_at_el0+0x0/0x30
[   46.759661]  kvm_arch_vcpu_ioctl_run+0x134/0x750
[   46.759936]  kvm_vcpu_ioctl+0x2f0/0x970
[   46.760156]  __arm64_sys_ioctl+0xa8/0xec
[   46.760379]  el0_svc_common.constprop.0+0x60/0x120
[   46.760627]  do_el0_svc+0x24/0x90
[   46.760766]  el0_svc+0x2c/0x54
[   46.760915]  el0_sync_handler+0x1a4/0x1b0
[   46.761146]  el0_sync+0x170/0x180
[   46.761889] SMP: stopping secondary CPUs
[   46.762786] Kernel Offset: 0x3e1cd2820000 from 0xffff800010000000
[   46.763142] PHYS_OFFSET: 0xffffa9f680000000
[   46.763359] CPU features: 0x00240022,61806008
[   46.763651] Memory Limit: none
[   46.813867] ---[ end Kernel panic - not syncing: HYP panic:
[   46.813867] PS:400003c9 PC:0000d93a82c705ac ESR:f2000800
[   46.813867] FAR:0000000080080000 HPFAR:0000000000800800 PAR:0000000000000000
[   46.813867] VCPU:0000d93a880d0000 ]---

Signed-off-by: Andrew Scull <ascull@google.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20210318143311.839894-6-ascull@google.com
2021-04-01 09:54:37 +01:00
Andrew Scull
f79e616f27 KVM: arm64: Use BUG and BUG_ON in nVHE hyp
hyp_panic() reports the address of the panic by using ELR_EL2, but this
isn't a useful address when hyp_panic() is called directly. Replace such
direct calls with BUG() and BUG_ON() which use BRK to trigger an
exception that then goes to hyp_panic() with the correct address. Also
remove the hyp_panic() declaration from the header file to avoid
accidental misuse.

Signed-off-by: Andrew Scull <ascull@google.com>
Acked-by: Will Deacon <will@kernel.org>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20210318143311.839894-5-ascull@google.com
2021-04-01 09:54:37 +01:00
Alexander Stein
ab547c4fb3 arm64: dts: amlogic: Assign a fixed index to mmc devices
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].
[1]
https://patchwork.kernel.org/patch/11747669/

Commit message taken from commit 0011c6d182 ("arm64: dts: rockchip: Assign a fixed index to mmc devices on rk3399 boards.")

The unconventional order (B, C, A) is due to the fact that sd_emmc_a is
(according to the comments) only used for SDIO.

AFAICS all boards either have both sd_emmc_b and sd_emmc_c or only one of
them enabled. So the alias order should match the previous non-async order
for all of them.

Signed-off-by: Alexander Stein <alexander.stein@mailbox.org>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
Link: https://lore.kernel.org/r/20210203192824.854491-1-alexander.stein@mailbox.org
2021-03-31 14:40:38 -07:00
David Brazdil
77e06b3001 KVM: arm64: Support PREL/PLT relocs in EL2 code
gen-hyprel tool parses object files of the EL2 portion of KVM
and generates runtime relocation data. While only filtering for
R_AARCH64_ABS64 relocations in the input object files, it has an
allow-list of relocation types that are used for relative
addressing. Other, unexpected, relocation types are rejected and
cause the build to fail.

This allow-list did not include the position-relative relocation
types R_AARCH64_PREL64/32/16 and the recently introduced _PLT32.
While not seen used by toolchains in the wild, add them to the
allow-list for completeness.

Fixes: 8c49b5d43d ("KVM: arm64: Generate hyp relocation data")
Cc: <stable@vger.kernel.org>
Reported-by: Will Deacon <will@kernel.org>
Signed-off-by: David Brazdil <dbrazdil@google.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20210331133048.63311-1-dbrazdil@google.com
2021-03-31 14:59:19 +01:00
Hsin-Yi Wang
ff33d88956 arm64: dts: mt8183: Add kukui kodama board
kodama is also known as Lenovo 10e Chromebook Tablet.

Signed-off-by: Hsin-Yi Wang <hsinyi@chromium.org>
Link: https://lore.kernel.org/r/20210331091327.1198529-4-hsinyi@chromium.org
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2021-03-31 12:18:57 +02:00
Nicolas Boichat
d1eaf77f2c arm64: dts: mt8183: Add kukui kakadu board
Kakadu is also known as ASUS Chromebook Detachable CM3.

Signed-off-by: Nicolas Boichat <drinkcat@chromium.org>
Signed-off-by: Hsin-Yi Wang <hsinyi@chromium.org>
Link: https://lore.kernel.org/r/20210331091327.1198529-3-hsinyi@chromium.org
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2021-03-31 12:18:57 +02:00
Enric Balletbo i Serra
f6dc456108 arm64: defconfig: Enable options to support panel display for Mediatek Chromebooks
There are some Mediatek based Chromebooks supported in the kernel. Enable the
required config options to have the panel display working on both devices.
This was tested on the ACER Chromebook R13 (MT8173) and the Lenovo
Ideapad Duet (MT8183), but should also enable display support for similar
devices.

Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Reviewed-by: Hsin-Yi Wang <hsinyi@chromium.org>
Link: https://lore.kernel.org/r/20210331090659.4169966-2-enric.balletbo@collabora.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2021-03-31 12:12:59 +02:00
Enric Balletbo i Serra
fbbe38309d arm64: defconfig: Allow mt8173-based boards to boot from usb
Enable the option necessary to boot mt8173-based boards to boot from
usb devices, like its phy and the regulators needed to have proper
support.

Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Reviewed-by: Hsin-Yi Wang <hsinyi@chromium.org>
Link: https://lore.kernel.org/r/20210331090659.4169966-1-enric.balletbo@collabora.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2021-03-31 12:12:59 +02:00
Xiaofei Tan
a9f8696d4b arm64: sve: Provide sve_cond_update_zcr_vq fallback when !ARM64_SVE
Compilation fails when KVM is selected and ARM64_SVE isn't.

The root cause is that sve_cond_update_zcr_vq is not defined when
ARM64_SVE is not selected. Fix it by adding an empty definition
when CONFIG_ARM64_SVE=n.

Signed-off-by: Xiaofei Tan <tanxiaofei@huawei.com>
[maz: simplified commit message, fleshed out dummy #define]
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/1617183879-48748-1-git-send-email-tanxiaofei@huawei.com
2021-03-31 11:08:28 +01:00
Will Deacon
923961a7ff KVM: arm64: Advertise KVM UID to guests via SMCCC
We can advertise ourselves to guests as KVM and provide a basic features
bitmap for discoverability of future hypervisor services.

Cc: Marc Zyngier <maz@kernel.org>
Signed-off-by: Will Deacon <will@kernel.org>
Signed-off-by: Jianyong Wu <jianyong.wu@arm.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20201209060932.212364-3-jianyong.wu@arm.com
2021-03-31 09:16:56 +01:00
Will Deacon
6e085e0ac9 arm/arm64: Probe for the presence of KVM hypervisor
Although the SMCCC specification provides some limited functionality for
describing the presence of hypervisor and firmware services, this is
generally applicable only to functions designated as "Arm Architecture
Service Functions" and no portable discovery mechanism is provided for
standard hypervisor services, despite having a designated range of
function identifiers reserved by the specification.

In an attempt to avoid the need for additional firmware changes every
time a new function is added, introduce a UID to identify the service
provider as being compatible with KVM. Once this has been established,
additional services can be discovered via a feature bitmap.

Reviewed-by: Steven Price <steven.price@arm.com>
Signed-off-by: Will Deacon <will@kernel.org>
Signed-off-by: Jianyong Wu <jianyong.wu@arm.com>
[maz: move code to its own file, plug it into PSCI]
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20201209060932.212364-2-jianyong.wu@arm.com
2021-03-31 09:16:55 +01:00
Xu Jia
b1306fef1f KVM: arm64: Make symbol '_kvm_host_prot_finalize' static
The sparse tool complains as follows:

arch/arm64/kvm/arm.c:1900:6: warning:
 symbol '_kvm_host_prot_finalize' was not declared. Should it be static?

This symbol is not used outside of arm.c, so this
commit marks it static.

Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Xu Jia <xujia39@huawei.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/1617176179-31931-1-git-send-email-xujia39@huawei.com
2021-03-31 09:14:16 +01:00
Paolo Bonzini
41793e7f27 KVM/arm64 fixes for 5.12, take #3
- Fix GICv3 MMIO compatibility probing
 - Prevent guests from using the ARMv8.4 self-hosted tracing extension
 -----BEGIN PGP SIGNATURE-----
 
 iQJDBAABCgAtFiEEn9UcU+C1Yxj9lZw9I9DQutE9ekMFAmBcdKAPHG1hekBrZXJu
 ZWwub3JnAAoJECPQ0LrRPXpDdVQQAK4aAp1YARbireJu9Ef/PPG8pdd8upq5M8lF
 qvXgOz1hdd6Y3wg5a52dnWuc6iVjqbCeJ9r984ig8b2VOnqwur6RAWYHohZauo3z
 UKiM4jvOJYzcE/0MmOrkh3PnrCq8LeP4vE5HKy2FvnyKq60O3DuFjaeLtfW5/zYN
 c0BHNuZQdVlKCV8+oLs1/qpyEsby6DbcJYw0UBCHaY8n9PAuKc5cR204tNUxPv5G
 r/4GbT+1etWJtAYmI6tlCec+R3QNKW9BsHAj9GbzWbkzgs2EvsG2pD18hnDCadnf
 /+9EQ7FRWa/g9AxhbfWFwMh1B2/5aYVB3t9AoJk+ObvBFHdxcNdwkIaTB2HGR/VT
 OL8s1Q+Yj5nX4bSY7awcOa3vjLvBXX3W3TbB8jdMIV3yVRHNWYZkFGeuvb4qQ0xN
 QufWBw8IsEUtOnB3038SuJLhJBNfBnvQcsRNQpT7FstA9l5NRVxFGNxEjYTJmWYh
 0nrtmnEuXyvPtLk3c8dSMKCOGXyUgriZyHeql5qqHAno+mG9dB3VvCkd0oSxr6vA
 bWuIEyH/9f9Aj0VX1JOKUo+Bnx7bbzKVyfrQhFM2CkMJX/fkAHci2Xj0cncamNaq
 M8P+Y33QE18Ifcvkmp1t+WPx+KHTY8GUPuwtS8Awmt3jTKhFYVzp3Kc0O2PTssyU
 qbMcRaZd
 =SE7S
 -----END PGP SIGNATURE-----

Merge tag 'kvmarm-fixes-5.12-3' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD

KVM/arm64 fixes for 5.12, take #3

- Fix GICv3 MMIO compatibility probing
- Prevent guests from using the ARMv8.4 self-hosted tracing extension
2021-03-30 13:06:42 -04:00
Dinh Nguyen
0501418e44 arm64: dts: intel: adjust qpsi read-delay property
The "cnds,read-delay" value needs to be 2 for the Agilex devkit.

Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
2021-03-30 05:51:30 -05:00
Krzysztof Kozlowski
4a3b394f78 arm64: dts: intel: socfpga_agilex_socdk_nand: align LED node names with dtschema
Align the LED node names with dtschema to silence dtbs_check warnings
like:

    leds: 'hps0', 'hps1', 'hps2' do not match any of the regexes: '(^led-[0-9a-f]$|led)', 'pinctrl-[0-9]+'

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
2021-03-30 05:51:30 -05:00
Krzysztof Kozlowski
ae68efe92d arm64: dts: intel: socfpga_agilex: align node names with dtschema
Align the NAND, GIC and UART node names with dtschema to silence
dtbs_check warnings like:

    arch/arm64/boot/dts/intel/socfpga_agilex_socdk.dt.yaml:
        intc@fffc1000: $nodename:0: 'intc@fffc1000' does not match '^interrupt-controller(@[0-9a-f,]+)*$'
    arch/arm64/boot/dts/intel/socfpga_agilex_socdk.dt.yaml:
        serial0@ffc02000: $nodename:0: 'serial0@ffc02000' does not match '^serial(@[0-9a-f,]+)*$'

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
2021-03-30 05:51:30 -05:00
Krzysztof Kozlowski
f10ffbf5f6 arm64: dts: intel: socfpga_agilex: use defined for GIC interrupts
Use human-readable defines for GIC interrupt type and flag, instead of
hard-coding the numbers.  It makes review easier.  No functional change.

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
2021-03-30 05:51:30 -05:00
Krzysztof Kozlowski
9e4744277a arm64: dts: intel: socfpga_agilex: move usbphy out of soc node
The usual usb-nop-xceiv USB phy node should be under root node, to fix
dtc warning:

    arch/arm64/boot/dts/intel/socfpga_agilex.dtsi:472.21-476.5:
        Warning (simple_bus_reg): /soc/usbphy@0: missing or empty reg/ranges property

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
2021-03-30 05:51:30 -05:00
Krzysztof Kozlowski
cce2471258 arm64: dts: intel: socfpga_agilex: remove default status=okay
New nodes are okay by default.

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
2021-03-30 05:51:30 -05:00
Krzysztof Kozlowski
9f1f6273ce arm64: dts: intel: socfpga_agilex: move timer out of soc node
The ARM architected timer is part of ARM CPU design therefore by
convention it should not be inside the soc node.  This also fixes dtc
warning like:

    arch/arm64/boot/dts/intel/socfpga_agilex.dtsi:410.9-416.5:
        Warning (simple_bus_reg): /soc/timer: missing or empty reg/ranges property

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
2021-03-30 05:51:30 -05:00
Krzysztof Kozlowski
d2e5930842 arm64: dts: intel: socfpga_agilex: move clocks out of soc node
The clocks are usually not part of the SoC but provided on the board
(external oscillators).  Moving them out of soc node fixes dtc warning:

    arch/arm64/boot/dts/intel/socfpga_agilex.dtsi:111.10-137.5:
        Warning (simple_bus_reg): /soc/clocks: missing or empty reg/ranges property

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
2021-03-30 05:51:30 -05:00
Krzysztof Kozlowski
15e26f6914 arm64: dts: intel: socfpga: override clocks by label
Using full paths to extend or override a device tree node is error
prone.  If there was a typo error, a new node will be created instead of
extending the existing node.  This will lead to run-time errors that
could be hard to detect.

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

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
2021-03-30 05:51:29 -05:00
Ryder Lee
0da34906a9 arm64: dts: mt7622: add ePA/eLNA pinmux for built-in WiFi
This just illustrates one of possible combinations. User should setup
the corresponding pins according to the onboard RF data that stores
in eeprom.

Signed-off-by: Ryder Lee <ryder.lee@mediatek.com>
Link: https://lore.kernel.org/r/641c5e40f54e7c9c8eaa6be398d7169445b6fede.1617006498.git.ryder.lee@mediatek.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2021-03-30 11:48:27 +02:00
Robert Foss
20f9d94e68 arm64: dts: qcom: sm8350: Add thermal zones and throttling support
sm8350 has 29 thermal sensors split across two tsens controllers. Add
the thermal zones to expose them and wireup the cpus to throttle their
frequencies on crossing passive temperature thresholds.

Signed-off-by: Robert Foss <robert.foss@linaro.org>
Reviewed-by: Vinod Koul <vkoul@kernel.org>
Link: https://lore.kernel.org/r/20210324124308.1265626-2-robert.foss@linaro.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-03-29 22:46:55 -05:00
Caleb Connolly
81bee6953b arm64: dts: qcom: sm8150: add i2c nodes
Tested on the OnePlus 7 Pro (including DMA).

Signed-off-by: Caleb Connolly <caleb@connolly.tech>
Reviewed-by: Vinod Koul <vkoul@kernel.org>
Reviewed-by: Bhupesh Sharma <bhupesh.sharma@linaro.org>
Link: https://lore.kernel.org/r/20210321174522.123036-3-caleb@connolly.tech
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-03-29 22:44:51 -05:00
Caleb Connolly
9cf3ebd16e arm64: dts: qcom: sm8150: add other QUP nodes and iommus
Add the first and third qupv3 nodes used to hook
up peripherals on some devices, as well as the iommus properties for all
of them.

Signed-off-by: Caleb Connolly <caleb@connolly.tech>
Link: https://lore.kernel.org/r/20210321174522.123036-2-caleb@connolly.tech
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-03-29 22:44:50 -05:00
Jonathan Marek
888771a9d0 arm64: dts: qcom: sm8250: fix display nodes
Apply these fixes to the newly added sm8250 display ndoes
 - Remove "notused" interconnect (which apparently was blindly copied from
   my old patches)
 - Use dispcc node example from dt-bindings, removing clocks which aren't
   documented or used by the driver and fixing the region size.

Fixes: 7c1dffd471 ("arm64: dts: qcom: sm8250.dtsi: add display system nodes")
Signed-off-by: Jonathan Marek <jonathan@marek.ca>
[DB: compatibility changes split into separate patch]
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20210329120051.3401567-2-dmitry.baryshkov@linaro.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
2021-03-29 22:16:50 -05:00
Rafał Miłecki
9f01f5cdb5 arm64: dts: broadcom: bcm4908: add Ethernet MAC addr
On most BCM4908 devices MAC address can be read from the bootloader
binary section containing device settings. Use NVMEM to describe that.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2021-03-29 11:44:31 -07:00
Chunfeng Yun
4db2b9af3e arm64: dts: mt8173: fix wrong power-domain phandle of pmic
Due to power domain controller is added, the power domain's
phanle is also changed from 'scpsys' to 'spm', but forget to
modify pmic node's

Fixes: 8b6562644d ("arm64: dts: mediatek: Add mt8173 power domain controller")
Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
Reviewed-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Link: https://lore.kernel.org/r/1616048328-13579-1-git-send-email-chunfeng.yun@mediatek.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2021-03-29 19:22:33 +02:00
Matthias Kaehlcke
fccf4261b8 arm64: dts: mt8183: Configure CPU cooling
Add two passive trip points at 68°C and 80°C for the CPU temperature.

Signed-off-by: Matthias Kaehlcke <mka@chromium.org>
Signed-off-by: Michael Kao <michael.kao@mediatek.com>
Tested-by: Hsin-Yi Wang <hsinyi@chromium.org>
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2021-03-29 19:11:43 +02:00
michael.kao
b325ce3978 arm64: dts: mt8183: add thermal zone node
Add thermal zone node to Mediatek MT8183 dts file.

Evaluate the thermal zone every 500ms while not cooling
and every 100ms when passive cooling is performed.

Signed-off-by: Matthias Kaehlcke <mka@chromium.org>
Tested-by: Hsin-Yi Wang <hsinyi@chromium.org>
Signed-off-by: Michael Kao <michael.kao@mediatek.com>
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2021-03-29 18:58:25 +02:00
Hsin-Yi Wang
b7a8f50a14 arm64: dts: mt8183: Add gce client reg for display subcomponents
Add mediatek,gce-client-reg for mmsys, ccorr, aal, gamma, dither.

Fixes: 91f9c963ce ("arm64: dts: mt8183: Add display nodes for MT8183")
Signed-off-by: Hsin-Yi Wang <hsinyi@chromium.org>
Tested-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Link: https://lore.kernel.org/r/20210324070842.1037233-1-hsinyi@chromium.org
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2021-03-29 17:26:12 +02:00
Chunfeng Yun
d1c9c70a88 arm64: dts: mediatek: mt8183: fix dtbs_check warning
Harmonize node names, compatibles and properties.

Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
Link: https://lore.kernel.org/r/20210316092232.9806-10-chunfeng.yun@mediatek.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2021-03-29 15:44:58 +02:00
Chunfeng Yun
6029cae696 arm64: dts: mediatek: mt7622: harmonize node names and compatibles
This is used to fix dtbs_check warning

Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
Link: https://lore.kernel.org/r/20210316092232.9806-9-chunfeng.yun@mediatek.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2021-03-29 15:44:58 +02:00
Chunfeng Yun
86c5ed12cf arm64: dts: mediatek: mt8516: harmonize node names and compatibles
This is used to fix dtbs_check warning:
  harmonize node names and compatibles;
  add property "usb-role-switch" for connector dependence.

Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
Link: https://lore.kernel.org/r/20210316092232.9806-8-chunfeng.yun@mediatek.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2021-03-29 15:44:58 +02:00
Chunfeng Yun
357c5f717e arm64: dts: mediatek: mt2712: harmonize node names
This is used to fix dtbs_check warning.

Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
Link: https://lore.kernel.org/r/20210316092232.9806-7-chunfeng.yun@mediatek.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2021-03-29 15:44:58 +02:00
Chunfeng Yun
c61872d5cc arm64: dts: mediatek: mt8173: fix dtbs_check warning
Harmonize nodes names, compatibles and remove unused property.

Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
Link: https://lore.kernel.org/r/20210316092232.9806-6-chunfeng.yun@mediatek.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2021-03-29 15:44:58 +02:00
Chunfeng Yun
e4e5d030bd arm64: dts: mt8173: fix property typo of 'phys' in dsi node
Use 'phys' instead of 'phy'.

Fixes: 81ad4dbaf7 ("arm64: dts: mt8173: Add display subsystem related nodes")
Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
Reviewed-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
Cc: stable <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20210316092232.9806-5-chunfeng.yun@mediatek.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2021-03-29 15:44:58 +02:00
Hsin-Yi Wang
124d64392d arm64: dts: mt8183: Add kukui-jacuzzi-juniper board
Juniper is known as Acer Chromebook Spin 311 (CP311-3H).

Signed-off-by: Hsin-Yi Wang <hsinyi@chromium.org>
Tested-by: Ricardo Cañuelo <ricardo.canuelo@collabora.com>
Link: https://lore.kernel.org/r/20210319035245.2751911-4-hsinyi@chromium.org
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2021-03-29 13:46:33 +02:00
Hsin-Yi Wang
cabc71b08e arm64: dts: mt8183: Add kukui-jacuzzi-damu board
Damu is known as ASUS Chromebook Flip CM3.

Signed-off-by: Hsin-Yi Wang <hsinyi@chromium.org>
Link: https://lore.kernel.org/r/20210319035245.2751911-3-hsinyi@chromium.org
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2021-03-29 13:46:33 +02:00
Lecopzer Chen
acc3042d62 arm64: Kconfig: select KASAN_VMALLOC if KANSAN_GENERIC is enabled
Before this patch, someone who wants to use VMAP_STACK when
KASAN_GENERIC enabled must explicitly select KASAN_VMALLOC.

>From Will's suggestion [1]:
  > I would _really_ like to move to VMAP stack unconditionally, and
  > that would effectively force KASAN_VMALLOC to be set if KASAN is in use

Because VMAP_STACK now depends on either HW_TAGS or KASAN_VMALLOC if
KASAN enabled, in order to make VMAP_STACK selected unconditionally,
we bind KANSAN_GENERIC and KASAN_VMALLOC together.

Note that SW_TAGS supports neither VMAP_STACK nor KASAN_VMALLOC now,
so this is the first step to make VMAP_STACK selected unconditionally.

Bind KANSAN_GENERIC and KASAN_VMALLOC together is supposed to cost more
memory at runtime, thus the alternative is using SW_TAGS KASAN instead.

[1]: https://lore.kernel.org/lkml/20210204150100.GE20815@willie-the-truck/

Suggested-by: Will Deacon <will@kernel.org>
Signed-off-by: Lecopzer Chen <lecopzer.chen@mediatek.com>
Link: https://lore.kernel.org/r/20210324040522.15548-6-lecopzer.chen@mediatek.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2021-03-29 12:35:05 +01:00
Lecopzer Chen
31d02e7ab0 arm64: kaslr: support randomized module area with KASAN_VMALLOC
After KASAN_VMALLOC works in arm64, we can randomize module region
into vmalloc area now.

Test:
	VMALLOC area ffffffc010000000 fffffffdf0000000

	before the patch:
		module_alloc_base/end ffffffc008b80000 ffffffc010000000
	after the patch:
		module_alloc_base/end ffffffdcf4bed000 ffffffc010000000

	And the function that insmod some modules is fine.

Suggested-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Lecopzer Chen <lecopzer.chen@mediatek.com>
Link: https://lore.kernel.org/r/20210324040522.15548-5-lecopzer.chen@mediatek.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2021-03-29 12:35:05 +01:00
Lecopzer Chen
71b613fc0c arm64: Kconfig: support CONFIG_KASAN_VMALLOC
We can backed shadow memory in vmalloc area after vmalloc area
isn't populated at kasan_init(), thus make KASAN_VMALLOC selectable.

Signed-off-by: Lecopzer Chen <lecopzer.chen@mediatek.com>
Acked-by: Andrey Konovalov <andreyknvl@gmail.com>
Tested-by: Andrey Konovalov <andreyknvl@gmail.com>
Tested-by: Ard Biesheuvel <ardb@kernel.org>
Link: https://lore.kernel.org/r/20210324040522.15548-4-lecopzer.chen@mediatek.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2021-03-29 12:35:05 +01:00
Lecopzer Chen
7d7b88ff5f arm64: kasan: abstract _text and _end to KERNEL_START/END
Arm64 provides defined macro for KERNEL_START and KERNEL_END,
thus replace them by the abstration instead of using _text and _end.

Signed-off-by: Lecopzer Chen <lecopzer.chen@mediatek.com>
Acked-by: Andrey Konovalov <andreyknvl@gmail.com>
Tested-by: Andrey Konovalov <andreyknvl@gmail.com>
Tested-by: Ard Biesheuvel <ardb@kernel.org>
Link: https://lore.kernel.org/r/20210324040522.15548-3-lecopzer.chen@mediatek.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2021-03-29 12:35:05 +01:00
Lecopzer Chen
9a0732efa7 arm64: kasan: don't populate vmalloc area for CONFIG_KASAN_VMALLOC
Linux support KAsan for VMALLOC since commit 3c5c3cfb9e
("kasan: support backing vmalloc space with real shadow memory")

Like how the MODULES_VADDR does now, just not to early populate
the VMALLOC_START between VMALLOC_END.

Before:

MODULE_VADDR: no mapping, no zero shadow at init
VMALLOC_VADDR: backed with zero shadow at init

After:

MODULE_VADDR: no mapping, no zero shadow at init
VMALLOC_VADDR: no mapping, no zero shadow at init

Thus the mapping will get allocated on demand by the core function
of KASAN_VMALLOC.

  -----------  vmalloc_shadow_start
 |           |
 |           |
 |           | <= non-mapping
 |           |
 |           |
 |-----------|
 |///////////|<- kimage shadow with page table mapping.
 |-----------|
 |           |
 |           | <= non-mapping
 |           |
 ------------- vmalloc_shadow_end
 |00000000000|
 |00000000000| <= Zero shadow
 |00000000000|
 ------------- KASAN_SHADOW_END

Signed-off-by: Lecopzer Chen <lecopzer.chen@mediatek.com>
Acked-by: Andrey Konovalov <andreyknvl@gmail.com>
Tested-by: Andrey Konovalov <andreyknvl@gmail.com>
Tested-by: Ard Biesheuvel <ardb@kernel.org>
Link: https://lore.kernel.org/r/20210324040522.15548-2-lecopzer.chen@mediatek.com
[catalin.marinas@arm.com: add a build check on VMALLOC_START != MODULES_END]
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2021-03-29 12:34:00 +01:00
Chunfeng Yun
d3cbc7f82c arm64: dts: mt8183: update wakeup register offset
Use wakeup control register offset exactly, and update revision
number

Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
Link: https://lore.kernel.org/r/1616482975-17841-13-git-send-email-chunfeng.yun@mediatek.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2021-03-29 13:23:53 +02:00
Chen Lifu
a52ef778ff arm64: smp: Add missing prototype for some smp.c functions
In commit eb631bb5bf
("arm64: Support arch_irq_work_raise() via self IPIs") a new
function "arch_irq_work_raise" was added without a prototype.

In commit d914d4d497
("arm64: Implement panic_smp_self_stop()") a new
function "panic_smp_self_stop" was added without a prototype.

We get the following warnings on W=1:
arch/arm64/kernel/smp.c:842:6: warning: no previous prototype
for ‘arch_irq_work_raise’ [-Wmissing-prototypes]
arch/arm64/kernel/smp.c:862:6: warning: no previous prototype
for ‘panic_smp_self_stop’ [-Wmissing-prototypes]

Fix the warnings by:
1. Adding the prototype for 'arch_irq_work_raise' in irq_work.h
2. Adding the prototype for 'panic_smp_self_stop' in smp.h

Signed-off-by: Chen Lifu <chenlifu@huawei.com>
Link: https://lore.kernel.org/r/20210329034343.183974-1-chenlifu@huawei.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2021-03-29 10:41:42 +01:00
Yoshihiro Shimoda
bbbf6db5a0 arm64: dts: renesas: r8a779a0: Fix PMU interrupt
Should use PPI No.7 for the PMU. Otherwise, the perf command didn't
show any information.

Fixes: 834c310f54 ("arm64: dts: renesas: Add Renesas R8A779A0 SoC support")
Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Link: https://lore.kernel.org/r/20210325041949.925777-1-yoshihiro.shimoda.uh@renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2021-03-29 10:51:04 +02:00
Kieran Bingham
7c47212766 arm64: dts: renesas: r8a779a0: Add VSPD support
Provide VSPD support on the R-Car V3U SoC.

Signed-off-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Link: https://lore.kernel.org/r/20210322172919.1154686-3-kieran.bingham+renesas@ideasonboard.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2021-03-29 10:51:04 +02:00
Kieran Bingham
e91bb1464d arm64: dts: renesas: r8a779a0: Add FCPVD support
Provide FCPVD support for the R-Car V3U SoC.

Signed-off-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Link: https://lore.kernel.org/r/20210322172919.1154686-2-kieran.bingham+renesas@ideasonboard.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2021-03-29 10:51:04 +02:00
Kieran Bingham
9d68a38664 arm64: dts: renesas: falcon-cpu: Add GP LEDs
Three general purpose LEDs are provided on the Falcon CPU board.

Connect GP_LED1, GP_LED2, and GP_LED3 to the gpio-leds frameworks as
indicator LEDs.

These LEDs are arranged in a block of four LEDs on the board itself, but
the fourth LED is as yet unidentified.

Signed-off-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
Link: https://lore.kernel.org/r/20210322172013.1152121-1-kieran.bingham+renesas@ideasonboard.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2021-03-29 10:50:30 +02:00
Oliver Stäbler
5cfad4f458 arm64: dts: imx8mm/q: Fix pad control of SD1_DATA0
Fix address of the pad control register
(IOMUXC_SW_PAD_CTL_PAD_SD1_DATA0) for SD1_DATA0_GPIO2_IO2.  This seems
to be a typo but it leads to an exception when pinctrl is applied due to
wrong memory address access.

Signed-off-by: Oliver Stäbler <oliver.staebler@bytesatwork.ch>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
Acked-by: Rob Herring <robh@kernel.org>
Fixes: c1c9d41319 ("dt-bindings: imx: Add pinctrl binding doc for imx8mm")
Fixes: 748f908cc8 ("arm64: add basic DTS for i.MX8MQ")
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2021-03-29 10:18:43 +08:00
Michael Walle
51c8eaa1b7 arm64: dts: fsl-ls1028a-kontron-sl28: add rtc0 alias
For completeness, add the rtc0 alias.

Signed-off-by: Michael Walle <michael@walle.cc>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2021-03-29 09:55:32 +08:00
Michael Walle
c75dc98b58 arm64: dts: ls1028a: move rtc alias to individual boards
The aliases are board-specific and shouldn't be included in the common
SoC dtsi. Move them over to the boards.

Signed-off-by: Michael Walle <michael@walle.cc>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2021-03-29 09:55:19 +08:00
Michael Walle
b353553592 arm64: dts: fsl-ls1028a-kontron-sl28: combine unused partitions
The failsafe partitions for the DP firmware and for AT-F are unused. If
AT-F will ever be supported in the failsafe mode, then it will be a FIT
image. Thus fold the unused partitions into the failsafe bootloader one
to have enough storage if the bootloader image will grow.

While at it, remove the reserved partition. It served no purpose other
than having no hole in the map.

Signed-off-by: Michael Walle <michael@walle.cc>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2021-03-29 09:49:57 +08:00
Michael Walle
aa4943300e arm64: dts: fsl-ls1028a-kontron-sl28: move MTD partitions
Move the MTD partitions to the partitions subnode. This is the new way
to specify the partitions, see
  Documentation/devicetree/bindings/mtd/jedec,spi-nor.yaml

Signed-off-by: Michael Walle <michael@walle.cc>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2021-03-29 09:49:57 +08:00
Fabio Estevam
798a1807ab arm64: dts: imx8mp-evk: Improve the Ethernet PHY description
According to the datasheet RTL8211, it must be asserted low for at least
10ms and at least 72ms "for internal circuits settling time" before
accessing the PHY registers.

Add properties to describe such requirements.

Reported-by: Joakim Zhang <qiangqing.zhang@nxp.com>
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Tested-by: Joakim Zhang <qiangqing.zhang@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2021-03-29 09:49:57 +08:00
Sebastian Krzyszkowiak
a362b0cc94 arm64: dts: imx8mq-librem5-r3: Mark buck3 as always on
Commit 99e71c0292 ("arm64: dts: imx8mq-librem5: Don't mark buck3 as always on")
removed always-on marking from GPU regulator, which is great for power
saving - however it introduces additional i2c0 traffic which can be deadly
for devices from the Dogwood batch.

To workaround the i2c0 shutdown issue on Dogwood, this commit marks
buck3 as always-on again - but only for Dogwood (r3).

Signed-off-by: Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>
Signed-off-by: Martin Kepplinger <martin.kepplinger@puri.sm>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2021-03-29 09:49:57 +08:00
Guido Günther
7fffadcf72 arm64: dts: imx8mq-librem5: Hog the correct gpio
There was an additional alias in the specifier it hogged line 27
instead of line 1.

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Signed-off-by: Martin Kepplinger <martin.kepplinger@puri.sm>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2021-03-29 09:49:57 +08:00
Russell King
312a461485 arm64: dts: lx2160a-clearfog-itx: add SFP support
Add 2x2 SFP+ cage support for clearfog-itx boards.

Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2021-03-29 09:49:57 +08:00
Teresa Remmet
846f752866 arm64: dts: imx8mp-phyboard-pollux-rdk: Change debug UART
With the first redesign the debug UART had changed from
UART2 to UART1.
As the first hardware revision is considered as alpha and
will not be supported in future. The old setup will not
be preserved.

Signed-off-by: Teresa Remmet <t.remmet@phytec.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2021-03-29 09:49:57 +08:00
Kuldeep Singh
f29fa74453 arm64: dts: imx8mn: Reorder flexspi clock-names entry
Reorder flexspi clock-names entry to make it compliant with bindings.

Signed-off-by: Kuldeep Singh <kuldeep.singh@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2021-03-29 09:49:57 +08:00
Kuldeep Singh
9eaf998422 arm64: dts: imx8mm: Reorder flexspi clock-names entry
Reorder flexspi clock-names entry to make it compliant with bindings.

Signed-off-by: Kuldeep Singh <kuldeep.singh@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2021-03-29 09:49:57 +08:00
Vladimir Oltean
2c832fe41a arm64: dts: ls1028a: set up the real link speed for ENETC port 2
In NXP LS1028A there is a MAC-to-MAC internal link between enetc_port2
and mscc_felix_port4. This link operates at 2.5Gbps and is described as
such for the mscc_felix_port4 node.

The reason for the discrepancy is a limitation in the PHY library
support for fixed-link nodes. Due to the fact that the PHY library
registers a software PHY which emulates the clause 22 register map, the
drivers/net/phy/fixed_phy.c driver only supports speeds up to 1Gbps.

The mscc_felix_port4 node is probed by DSA, which does not use the PHY
library directly, but phylink, and phylink has a different representation
for fixed-link nodes, one that does not have the limitation of not being
able to represent speeds > 1Gbps.

Since the enetc driver was converted to phylink too as of commit
71b77a7a27 ("enetc: Migrate to PHYLINK and PCS_LYNX"), the limitation
has been practically lifted there too, and we can describe the real link
speed in the device tree now.

Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2021-03-29 09:49:57 +08:00
Adrien Grassein
4eac5e728b arm64: dts: imx8mm-nitrogen-r2: add ecspi2 support
Add the description for ecspi2 support.

Signed-off-by: Adrien Grassein <adrien.grassein@gmail.com>
Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
Reviewed-by: Marco Felsch <m.felsch@pengutronix.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2021-03-29 09:49:57 +08:00
Dong Aisheng
307fd14d4b arm64: dts: imx: add imx8qm mek support
The i.MX8QuadMax is a Dual (2x) Cortex-A72 and Quad (4x) Cortex-A53
proccessor with powerful graphic and multimedia features.
This patch adds i.MX8QuadMax MEK board support.

Note that MX8QM needs a special workaround for TLB flush due to a SoC
errata, otherwise there may be random crash if enable both clusters of
A72 and A53. As the errata workaround is still not in mainline, so we
disable A72 cluster first for MX8QM MEK.

Cc: Rob Herring <robh+dt@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: devicetree@vger.kernel.org
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2021-03-29 09:49:57 +08:00
Dong Aisheng
f2180be18a arm64: dts: imx: add imx8qm common dts file
The i.MX8QuadMax is a Dual (2x) Cortex-A72 and Quad (4x) Cortex-A53
proccessor with powerful graphic and multimedia features. It uses
the same architecture as MX8QXP, so many SS can be reused.
This patch adds i.MX8QuadMax SoC dtsi file.

Cc: Rob Herring <robh+dt@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: devicetree@vger.kernel.org
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2021-03-29 09:49:57 +08:00
Dong Aisheng
3ccc3515ba arm64: dts: imx8qm: add dma ss support
The DMA SS of MX8QM is mostly the same as the DMA part in MX8QXP ADMA SS
while it has one more instance for each of LPUART, ADC and LPI2C. And unlike
MX8QXP that flexcan clocks are shared between multiple CAN instances,
MX8QM has separate flexcan clock slice.

So we reuse the most part of common imx8-ss-dma.dtsi and add new things
based on it.

Cc: Rob Herring <robh+dt@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: devicetree@vger.kernel.org
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2021-03-29 09:49:57 +08:00
Dong Aisheng
35f4e9d753 arm64: dts: imx8: split adma ss into dma and audio ss
amda ss is consisted of dma and audio ss in qxp which are
also used in qm.
Let's split them into two ss for better code reuse.

Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2021-03-29 09:49:57 +08:00
Dong Aisheng
3a3e72f1ed arm64: dts: imx8qm: add conn ss support
The CONN SS of MX8QM is mostly the same as MX8QXP except it has one more
USB HSIC module support. So we can fully reuse the exist CONN SS dtsi.
Add <soc>-ss-conn.dtsi with compatible string updated according to
imx8-ss-conn.dtsi.

Cc: Rob Herring <robh+dt@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: devicetree@vger.kernel.org
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2021-03-29 09:49:57 +08:00
Dong Aisheng
d486c5b60e arm64: dts: imx8qm: add lsio ss support
The LSIO SS of MX8QM is exactly the same as MX8QXP. So we can fully
reuse the exist LSIO SS dtsi. Add <soc>-ss-lsio.dtsi with compatible
string updated according to imx8-ss-lsio.dtsi.

Cc: Rob Herring <robh+dt@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: devicetree@vger.kernel.org
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2021-03-29 09:49:57 +08:00
Dong Aisheng
16c4ea7501 arm64: dts: imx8: switch to new lpcg clock binding
switch to new lpcg clock binding

Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2021-03-29 09:49:57 +08:00
Dong Aisheng
26de33a1e2 arm64: dts: imx8: switch to two cell scu clock binding
switch to two cell scu clock binding

Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2021-03-29 09:49:57 +08:00
Dong Aisheng
e783b6bc89 arm64: dts: imx8: add adma lpcg clocks
Add adma lpcg clocks

Cc: Rob Herring <robh+dt@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: devicetree@vger.kernel.org
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2021-03-29 09:49:57 +08:00
Dong Aisheng
9de8a22675 arm64: dts: imx8: add conn lpcg clocks
Add conn lpcg clocks

Cc: Rob Herring <robh+dt@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: devicetree@vger.kernel.org
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2021-03-29 09:49:57 +08:00
Dong Aisheng
438ae46b8e arm64: dts: imx8: add lsio lpcg clocks
Add lsio lpcg clocks

Cc: Rob Herring <robh+dt@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: devicetree@vger.kernel.org
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2021-03-29 09:49:57 +08:00
Dong Aisheng
0dcd27bda2 arm64: dts: imx8qxp: orginize dts in subsystems
MX8 SoC is comprised of a few HW subsystems while some of them can be
reused in the different SoCs. So let's re-orginize them into subsystems
in device tree as well for the possible reuse of the common part.

Note, as there's still no devices of hsio subsys, so removed it
first instead of creating a subsys headfile with no devices.
They will be added back when new devices added.

Cc: Rob Herring <robh+dt@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: devicetree@vger.kernel.org
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2021-03-29 09:49:57 +08:00
Dong Aisheng
b1484229a5 arm64: dts: imx8qxp: move scu pd node before scu clock node
SCU clock depends on SCU Power domain. Moving scu pd node before
scu clock can save a hundred of defer probes of all system devices
which depends on power domain and clocks.

Cc: Rob Herring <robh+dt@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: devicetree@vger.kernel.org
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2021-03-29 09:49:57 +08:00
Dong Aisheng
c75c6d5840 arm64: dts: imx8qxp: add fallback compatible string for scu pd
According to binding doc, add the fallback compatible string for
scu pd.

Cc: Rob Herring <robh+dt@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: devicetree@vger.kernel.org
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2021-03-29 09:49:57 +08:00
Peng Fan
36133cb5db arm64: dts: imx8mp: add wdog2/3 nodes
There is wdog[2,3] in i.MX8MP, so add them.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2021-03-29 09:49:57 +08:00
Heiko Thiery
5dbadc8482 arm64: dts: fsl: add support for Kontron pitx-imx8m board
The Kontron pitx-imx8m board is based on an i.MX8MQ soc.

Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
Reviewed-by: Michael Walle <michael@walle.cc>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2021-03-29 09:49:57 +08:00
Michael Walle
94c586e594 arm64: configs: enable FlexTimer alarm timer
This driver is used on Layerscape SoCs to wake up the system from
standby. It works in conjunction with the RCPM driver. The latter is
only available as a builtin.

Signed-off-by: Michael Walle <michael@walle.cc>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2021-03-29 09:36:16 +08:00
Fabio Estevam
6937d8c71f arm64: configs: Select REALTEK_PHY as built-in
On the i.MX8MP EVK board there is a RTL8211 EThernet PHY and
a typical use case is to boot via NFS. In this case the Ethernet
PHY driver needs to be built-in, so select the driver as built-in
by default.

Reported-by: Joakim Zhang <qiangqing.zhang@nxp.com>
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Tested-by: Joakim Zhang <qiangqing.zhang@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2021-03-29 09:02:42 +08:00
Mark Rutland
5cd6fa6de5 arm64: setup: name tcr register
In __cpu_setup we conditionally manipulate the TCR_EL1 value in x10
after previously using x10 as a scratch register for unrelated temporary
variables.

To make this a bit clearer, let's move the TCR_EL1 value into a named
register `tcr`. To simplify the register allocation, this is placed in
the highest available caller-saved scratch register, tcr.

Following the example of `mair`, we initialise the register with the
default value prior to any feature discovery, and write it to MAIR_EL1
after all feature discovery is complete, which allows us to simplify the
featuere discovery code.

The existing `mte_tcr` register is no longer needed, and is replaced by
the use of x10 as a temporary, matching the rest of the MTE feature
discovery assembly in __cpu_setup. As x20 is no longer used, the
function is now AAPCS compliant, as we've generally aimed for in our
assembly functions.

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

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Cc: Marc Zyngier <maz@kernel.org>
Cc: Will Deacon <will@kernel.org>
Link: https://lore.kernel.org/r/20210326180137.43119-3-mark.rutland@arm.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2021-03-28 18:23:01 +01:00
Mark Rutland
776e49af60 arm64: setup: name mair register
In __cpu_setup we conditionally manipulate the MAIR_EL1 value in x5
before later reusing x5 as a scratch register for unrelated temporary
variables.

To make this a bit clearer, let's move the MAIR_EL1 value into a named
register `mair`. To simplify the register allocation, this is placed in
the highest available caller-saved scratch register, x17. As it is no
longer clobbered by other usage, we can write the value to MAIR_EL1 at
the end of the function as we do for TCR_EL1 rather than part-way though
feature discovery.

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

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Cc: Marc Zyngier <maz@kernel.org>
Cc: Will Deacon <will@kernel.org>
Link: https://lore.kernel.org/r/20210326180137.43119-2-mark.rutland@arm.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2021-03-28 18:23:01 +01:00
Mark Brown
b07f349966 arm64: stacktrace: Move start_backtrace() out of the header
Currently start_backtrace() is a static inline function in the header.
Since it really shouldn't be sufficiently performance critical that we
actually need to have it inlined move it into a C file, this will save
anyone else scratching their head about why it is defined in the header.
As far as I can see it's only there because it was factored out of the
various callers.

Signed-off-by: Mark Brown <broonie@kernel.org>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Link: https://lore.kernel.org/r/20210319174022.33051-1-broonie@kernel.org
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2021-03-28 18:09:47 +01:00
Chunfeng Yun
016381f3c1 arm64: dts: mt8183: update wakeup register offset
Use wakeup control register offset exactly, and update revision
number

Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
Link: https://lore.kernel.org/r/1616482975-17841-13-git-send-email-chunfeng.yun@mediatek.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-03-28 13:43:04 +02:00
Aswath Govindraju
9437499086 arm64: dts: ti: k3-j7200: Add support for higher speed modes and update delay select values for MMCSD subsystems
The following speed modes are now supported in J7200 SoC,
- HS200 and HS400 modes at 1.8 V card voltage, in MMCSD0 subsystem [1].
- UHS-I speed modes in MMCSD1 subsystem [1].

Add support for UHS-I modes by adding voltage regulator device tree nodes
and corresponding pinmux details, to power cycle and voltage switch cards.
Set respective tags in sdhci0 and remove no-1-8-v tag from sdhci1
device tree nodes.

Also update the delay values for various speed modes supported, based on
the revised january 2021 J7200 datasheet[2].

[1] - section 12.3.6.1.1 MMCSD Features, in
      https://www.ti.com/lit/ug/spruiu1a/spruiu1a.pdf,
      (SPRUIU1A – JULY 2020 – REVISED JANUARY 2021)

[2] - https://www.ti.com/lit/ds/symlink/dra821u.pdf,
      (SPRSP57B – APRIL 2020 – REVISED JANUARY 2021)

Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Reviewed-by: Kishon Vijay Abraham I <kishon@ti.com>
Link: https://lore.kernel.org/r/20210326064120.31919-4-a-govindraju@ti.com
2021-03-26 18:10:35 -05:00
Faiz Abbas
f4cc7daf46 arm64: dts: ti: k3-j7200-common-proc-board: Disable unused gpio modules
There are 6 gpio instances inside SoC with 2 groups as show below:
    Group one: wkup_gpio0, wkup_gpio1
    Group two: main_gpio0, main_gpio2, main_gpio4, main_gpio6

Only one instance from each group can be used at a time. So use main_gpio0
and wkup_gpio0 in current linux context and disable the rest of the nodes.

Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Reviewed-by: Grygorii Strashko <grygorii.strashko@ti.com>
Link: https://lore.kernel.org/r/20210326064120.31919-3-a-govindraju@ti.com
2021-03-26 18:10:35 -05:00
Faiz Abbas
e0b2e6af39 arm64: dts: ti: k3-j7200: Add gpio nodes
There are 4 instances of gpio modules in main domain:
	gpio0, gpio2, gpio4 and gpio6

Groups are created to provide protection between different processor
virtual worlds. Each of these modules I/O pins are muxed within the
group. Exactly one module can be selected to control the corresponding
pin by selecting it in the pad mux configuration registers.

This group in main domain pins out 69 lines (5 banks). Add DT modes for
each module instance in the main domain.

Similar to the gpio groups in main domain, there is one gpio group in
wakeup domain with 2 module instances in it.

The gpio group pins out 72 pins (6 banks) of the first 85 gpio lines. Add
DT nodes for each module instance in the wakeup domain.

Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Reviewed-by: Grygorii Strashko <grygorii.strashko@ti.com>
Link: https://lore.kernel.org/r/20210326064120.31919-2-a-govindraju@ti.com
2021-03-26 18:10:35 -05:00
Linus Torvalds
eb3991ef2c ARM: SoC fixes for v5.12
Too many fixes have accumulated in the soc tree, so this is a fairly
 large set. As usual, most of the fixes are for devicetree files, but
 there are also notable code changes for imx and omap regressions as
 well as some maintainer file updates.
 
 imx:
  - Fix an Ethernet issue on imx6ul-14x14-evk board that is caused by
    independent PHY reset.
 
  - Add missing `dma-coherent` property for LayerScape device trees to fix a
    kernel BUG report.
 
  - Use IRQCHIP_DECLARE for AVIC driver to fix a boot issue on i.MX25 with
    fw_devlink=on.
 
  - Add missing I2C pinctrl entry for imx8mp-phyboard-pollux-rdk board to
    fix the broken I2C GPIO recovery support.
 
  - Add `fsl,use-minimum-ecc` property for imx6ull-myir-mys-6ulx-eval
    device tree to fix UBI filesystem mount failure.
 
 at91:
  - wrong phy address that blocks Ethernet use on boards with sama5d27 SoM1
 
  - restrictive pin possibilities for sam9x60
 
 omap:
  - Fix ocp interconnect bus access error reporting for omap_l3_noc by
    setting IRQF_NO_THREAD
 
  - Fix changed mmc slot order regression by adding mmc aliases for am335x
 
  - Fix dra7 reboot regression caused by invalid pcie reset map
 
  - Fix smartreflex init regression caused by dropped legacy data
 
  - Fix ti-sysc driver warning on unbind if reset is not deasserted
 
  - Fix flakey reset deassert for dra7 iva
 
 stm32:
  - MAINTAINER file updates
 
 broadcom:
  - brcmstb SoC ID build fix
 
  - MAINTAINER file updates
 
 Signed-off-by: Arnd Bergmann <arnd@arndb.de>
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmBeBGEACgkQYKtH/8kJ
 Uic/2Q//dHMffwmvA5x+tcPzIU6hXy2iZGEtcq/87fudDyiQ8KnRu1I+TgGzCaXP
 BS0wz7xyz4FWq4Bbd5oDB5OUdQTlGXuH1QhUhZNWRaU/aTZ9moRc/kkqe0QgTfUi
 De4PSeTp9opfOhg6hLf2xYMI8YkSBfya/9n9yi2D7CRmhT1vS0FdbMDcSJHnHlzO
 qNRKXBjkXbcJOqlL/LQ/q75hMYPv3kJZdM1lnWsx93QeXBK7iukYfJcyaKwTq20m
 tWsASIu0+kg2GpSZuIGzZrBFaLh50asDjmF3L6PLM2sivmk7favPsi21DQyqsMmi
 Wh/fzQaUfdeT6xzgnFxWWwDbES9mJNS0agePIu7IB5IFSTq9YkQAZseawUa3OnI4
 aUnMs4uujPc+aP44EOk3RVa5eopTSmUYeORGG2pxZdXQv4DBewX0buses84qMGQ/
 MJEdjg3b4RkdaxCydApnkfUApSwgIvb+hSeIYZSRt2qr5NJ12p4NU0vXINl5Fv67
 +MGl9/WTYQw2wU1X1RNj5uBH1Z5REu1LPiQWWljBN27TDkLJp40KjpXizG7YSXxx
 K/q5Ix3o9C+TnvtF++1inankbNGnD8PFJekReOKy8TO8xXAS8Tpctue6/XScz3Ml
 b6loUjVDVTRM+GbfMQEEfHbDNrah1q4bROQpCbuMxKvJtECDmek=
 =LBps
 -----END PGP SIGNATURE-----

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

Pull ARM SoC fixes from Arnd Bergmann:
 "Too many fixes have accumulated in the soc tree, so this is a fairly
  large set. As usual, most of the fixes are for devicetree files, but
  there are also notable code changes for imx and omap regressions as
  well as some maintainer file updates.

  imx:
   - Fix an Ethernet issue on imx6ul-14x14-evk board that is caused by
     independent PHY reset.

   - Add missing `dma-coherent` property for LayerScape device trees to
     fix a kernel BUG report.

   - Use IRQCHIP_DECLARE for AVIC driver to fix a boot issue on i.MX25
     with fw_devlink=on.

   - Add missing I2C pinctrl entry for imx8mp-phyboard-pollux-rdk board
     to fix the broken I2C GPIO recovery support.

   - Add `fsl,use-minimum-ecc` property for imx6ull-myir-mys-6ulx-eval
     device tree to fix UBI filesystem mount failure.

  at91:
   - wrong phy address that blocks Ethernet use on boards with sama5d27
     SoM1

   - restrictive pin possibilities for sam9x60

  omap:
   - Fix ocp interconnect bus access error reporting for omap_l3_noc by
     setting IRQF_NO_THREAD

   - Fix changed mmc slot order regression by adding mmc aliases for
     am335x

   - Fix dra7 reboot regression caused by invalid pcie reset map

   - Fix smartreflex init regression caused by dropped legacy data

   - Fix ti-sysc driver warning on unbind if reset is not deasserted

   - Fix flakey reset deassert for dra7 iva

  stm32:
   - MAINTAINER file updates

  broadcom:
   - brcmstb SoC ID build fix

   - MAINTAINER file updates"

* tag 'soc-fixes-5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:
  MAINTAINERS: Add Alain Volmat as STM32 I2C/SMBUS maintainer
  MAINTAINERS: Remove Vincent Abriou for STM/STI DRM drivers.
  MAINTAINERS: Update some st.com email addresses to foss.st.com
  ARM: dts: imx6ull: fix ubi filesystem mount failed
  ARM: imx6ul-14x14-evk: Do not reset the Ethernet PHYs independently
  arm64: dts: imx8mp-phyboard-pollux-rdk: Add missing pinctrl entry
  arm64: dts: ls1012a: mark crypto engine dma coherent
  arm64: dts: ls1043a: mark crypto engine dma coherent
  arm64: dts: ls1046a: mark crypto engine dma coherent
  ARM: imx: avic: Convert to using IRQCHIP_DECLARE
  ARM: dts: at91: sam9x60: fix mux-mask to match product's datasheet
  ARM: dts: at91: sam9x60: fix mux-mask for PA7 so it can be set to A, B and C
  ARM: dts: at91-sama5d27_som1: fix phy address to 7
  soc: ti: omap-prm: Fix occasional abort on reset deassert for dra7 iva
  bus: ti-sysc: Fix warning on unbind if reset is not deasserted
  ARM: OMAP2+: Fix smartreflex init regression after dropping legacy data
  soc: ti: omap-prm: Fix reboot issue with invalid pcie reset map for dra7
  MAINTAINERS: rectify BROADCOM PMB (POWER MANAGEMENT BUS) DRIVER
  ARM: dts: am33xx: add aliases for mmc interfaces
  bus: omap_l3_noc: mark l3 irqs as IRQF_NO_THREAD
2021-03-26 11:19:38 -07:00
Vladimir Murzin
18107f8a2d arm64: Support execute-only permissions with Enhanced PAN
Enhanced Privileged Access Never (EPAN) allows Privileged Access Never
to be used with Execute-only mappings.

Absence of such support was a reason for 24cecc3774 ("arm64: Revert
support for execute-only user mappings"). Thus now it can be revisited
and re-enabled.

Cc: Kees Cook <keescook@chromium.org>
Signed-off-by: Vladimir Murzin <vladimir.murzin@arm.com>
Acked-by: Will Deacon <will@kernel.org>
Link: https://lore.kernel.org/r/20210312173811.58284-2-vladimir.murzin@arm.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2021-03-26 09:37:23 +00:00
Linus Torvalds
43f0b56259 arm64 fixes for -rc5
- Fix possible memory hotplug failure with KASLR
 
 - Fix FFR value in SVE kselftest
 
 - Fix backtraces reported in /proc/$pid/stack
 
 - Disable broken CnP implementation on NVIDIA Carmel
 
 - Typo fixes and ACPI documentation clarification
 
 - Fix some W=1 warnings
 -----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCgAuFiEEPxTL6PPUbjXGY88ct6xw3ITBYzQFAmBccr0QHHdpbGxAa2Vy
 bmVsLm9yZwAKCRC3rHDchMFjNG6UCACDbz3BO/y40wRhWwMhvDhyFDqtlTlVEQlb
 hxnJzksXOlbqHB1J7yamzXxS1UlCBlhvjrFNTe1s5LJIfB0niMskYLe2p0dJ/voi
 WyysvaiK7/1bZV/RRdF7r+hFtMPHBEAKfgs+ZxFN9mnMcserV8PWqiD5ookCqavE
 xatE/fEgVujiISl/BOkP1pnmWnPM4f9BIMS5DgaZJsNDYtxeu9a3RGnfu9vNHaP2
 gxq5+E3BjZfh1z0++HP6nTuDbdDaxEz12gyoZ+4wejXVhwj1g7NySJNa8RmJG9pU
 gX+jE6HOgeCFIEe9Gx+I2QtAaFia96HVnAAHagGBHB1vfV7GTRxN
 =tzbO
 -----END PGP SIGNATURE-----

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

Pull arm64 fixes from Will Deacon:
 "Minor fixes all over, ranging from typos to tests to errata
  workarounds:

   - Fix possible memory hotplug failure with KASLR

   - Fix FFR value in SVE kselftest

   - Fix backtraces reported in /proc/$pid/stack

   - Disable broken CnP implementation on NVIDIA Carmel

   - Typo fixes and ACPI documentation clarification

   - Fix some W=1 warnings"

* tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
  arm64: kernel: disable CNP on Carmel
  arm64/process.c: fix Wmissing-prototypes build warnings
  kselftest/arm64: sve: Do not use non-canonical FFR register value
  arm64: mm: correct the inside linear map range during hotplug check
  arm64: kdump: update ppos when reading elfcorehdr
  arm64: cpuinfo: Fix a typo
  Documentation: arm64/acpi : clarify arm64 support of IBFT
  arm64: stacktrace: don't trace arch_stack_walk()
  arm64: csum: cast to the proper type
2021-03-25 11:07:40 -07:00
Linus Walleij
4f30ba1cce arm64: barrier: Remove spec_bar() macro
The spec_bar() macro was introduced in
commit bd4fb6d270 ("arm64: Add support for SB barrier and patch in over DSB; ISB sequences")
as a way for C to insert a speculation barrier and was then
used in one single place: set_fs().

Later on
commit 3d2403fd10 ("arm64: uaccess: remove set_fs()")
deleted set_fs() altogether and as noted in the commit
on the new path the regular sb() assembly macro will
be used.

Delete the remnant.

Cc: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Link: https://lore.kernel.org/r/20210325141304.1607595-1-linus.walleij@linaro.org
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2021-03-25 18:05:46 +00:00
Suman Anna
7dd847523e arm64: dts: ti: k3-am642-evm/sk: Add IPC sub-mailbox nodes
Add the sub-mailbox nodes that are used to communicate between MPU and
various remote processors present in the AM64x SoCs for the AM642 EVM
and AM642 SK boards. These include the R5F remote processors in the two
dual-R5F clusters (MAIN_R5FSS0 & MAIN_R5FSS1) in the MAIN domain; and a
M4 processor in the MCU safety island.

These sub-mailbox nodes utilize the System Mailbox clusters 2, 4 and 6.
The remaining clusters 3, 5 and 7 are currently not used, and so are
disabled. Clusters 0 and 1 were never added to the dts file as they do
not support interrupts towards the A53 core.

The sub-mailbox nodes added match the hard-coded mailbox configuration
used within the TI RTOS IPC software packages. The R5F processor
sub-systems are assumed to be running in Split mode, so a sub-mailbox
node is used by each of the R5F cores. Only the sub-mailbox node for
the first R5F core in each cluster is used in case of a Single-CPU mode
for that R5F cluster.

NOTE:
The cluster nodes only have the Mailbox IP interrupt outputs that are
routed to the GIC_SPI. The sub-mailbox nodes' irq-id are indexing into
the listed interrupts, with the usr-id using the actual interrupt output
line number from the Mailbox IP.

Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Reviewed-by: Gowtham Tammana <g-tammana@ti.com>
Link: https://lore.kernel.org/r/20210322185430.957-4-s-anna@ti.com
2021-03-25 11:59:55 -05:00
Suman Anna
ef15257614 arm64: dts: ti: k3-am64-main: Add mailbox cluster nodes
The AM64 MAIN domain contains a Mailbox IP instance with multiple
clusters, and is a variant of the IP on current AM65x and J721E
SoCs. The AM64x SoC has only 8 clusters with no interrupts routed
to the A53 core on the first 2 clusters. The interrupt outputs
from the IP do not go through any Interrupt Routers and are
hard-wired to each processor, with only couple of interrupts
from each cluster reaching the A53 core.

Add all the Mailbox clusters that generate interrupts towards the
A53 core as their own nodes under the cbass_main node instead of
creating an almost empty parent node for the Mailbox IP and the
clusters as its child nodes. All these nodes are enabled by default
in the base dtsi file, but any cluster that does not define any
child sub-mailbox nodes should be disabled in the corresponding
board dts files.

Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Reviewed-by: Gowtham Tammana <g-tammana@ti.com>
Link: https://lore.kernel.org/r/20210322185430.957-3-s-anna@ti.com
2021-03-25 11:59:55 -05:00
Suman Anna
8248d5b324 arm64: dts: ti: k3-am64-main: Add hwspinlock node
The AM64x SoC contains a HwSpinlock IP instance that is a minor variant
of the IP on existing TI K3 SoCs such as AM65x, J721E or J7200 SoCs.
Add the DT node for this on AM64x SoCs. The node is present within the
MAIN domain, and is added as a child node under the cbass_main node.

Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Reviewed-by: Gowtham Tammana <g-tammana@ti.com>
Link: https://lore.kernel.org/r/20210322185430.957-2-s-anna@ti.com
2021-03-25 11:59:55 -05:00
Sameer Pujar
405fa9e9d8 arm64: tegra: Move clocks from RT5658 endpoint to device node
An endpoint is not a device and it is recommended to use clocks property
in device node. RT5658 Codec binding already specifies the usage of
clocks property. Thus move the clocks from endpoint to device node.

Fixes: 5b4f632309 ("arm64: tegra: Audio graph sound card for Jetson AGX Xavier")
Suggested-by: Rob Herring <robh@kernel.org>
Signed-off-by: Sameer Pujar <spujar@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2021-03-25 14:04:49 +01:00
Mark Rutland
9eef29d8c3 arm64: entry: remove test_irqs_unmasked macro
We haven't needed the test_irqs_unmasked macro since commit:

  105fc33520 ("arm64: entry: move el1 irq/nmi logic to C")

... and as we convert more of the entry logic to C it is decreasingly
likely we'll need it in future, so let's remove the unused macro.

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

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Cc: James Morse <james.morse@arm.com>
Cc: Marc Zyngier <maz@kernel.org>
Cc: Will Deacon <will@kernel.org>
Acked-by: Marc Zyngier <maz@kernel.org>
Acked-by: Will Deacon <will@kernel.org>
Link: https://lore.kernel.org/r/20210323181201.18889-1-mark.rutland@arm.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2021-03-25 12:55:57 +00:00
Marc Zyngier
7c4199375a KVM: arm64: Drop the CPU_FTR_REG_HYP_COPY infrastructure
Now that the read_ctr macro has been specialised for nVHE,
the whole CPU_FTR_REG_HYP_COPY infrastrcture looks completely
overengineered.

Simplify it by populating the two u64 quantities (MMFR0 and 1)
that the hypervisor need.

Reviewed-by: Quentin Perret <qperret@google.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
2021-03-25 11:01:03 +00:00
Marc Zyngier
755db23420 KVM: arm64: Generate final CTR_EL0 value when running in Protected mode
In protected mode, late CPUs are not allowed to boot (enforced by
the PSCI relay). We can thus specialise the read_ctr macro to
always return a pre-computed, sanitised value. Special care is
taken to prevent the use of this custome version outside of
the protected mode.

Reviewed-by: Quentin Perret <qperret@google.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
2021-03-25 11:00:33 +00:00
Rich Wiley
20109a859a arm64: kernel: disable CNP on Carmel
On NVIDIA Carmel cores, CNP behaves differently than it does on standard
ARM cores. On Carmel, if two cores have CNP enabled and share an L2 TLB
entry created by core0 for a specific ASID, a non-shareable TLBI from
core1 may still see the shared entry. On standard ARM cores, that TLBI
will invalidate the shared entry as well.

This causes issues with patchsets that attempt to do local TLBIs based
on cpumasks instead of broadcast TLBIs. Avoid these issues by disabling
CNP support for NVIDIA Carmel cores.

Signed-off-by: Rich Wiley <rwiley@nvidia.com>
Link: https://lore.kernel.org/r/20210324002809.30271-1-rwiley@nvidia.com
[will: Fix pre-existing whitespace issue]
Signed-off-by: Will Deacon <will@kernel.org>
2021-03-25 10:00:23 +00:00
Maninder Singh
baa96377bc arm64/process.c: fix Wmissing-prototypes build warnings
Fix GCC warnings reported when building with "-Wmissing-prototypes":

  arch/arm64/kernel/process.c:261:6: warning: no previous prototype for '__show_regs' [-Wmissing-prototypes]
      261 | void __show_regs(struct pt_regs *regs)
          |      ^~~~~~~~~~~
  arch/arm64/kernel/process.c:307:6: warning: no previous prototype for '__show_regs_alloc_free' [-Wmissing-prototypes]
      307 | void __show_regs_alloc_free(struct pt_regs *regs)
          |      ^~~~~~~~~~~~~~~~~~~~~~
  arch/arm64/kernel/process.c:365:5: warning: no previous prototype for 'arch_dup_task_struct' [-Wmissing-prototypes]
      365 | int arch_dup_task_struct(struct task_struct *dst, struct task_struct *src)
          |     ^~~~~~~~~~~~~~~~~~~~
  arch/arm64/kernel/process.c:546:41: warning: no previous prototype for '__switch_to' [-Wmissing-prototypes]
      546 | __notrace_funcgraph struct task_struct *__switch_to(struct task_struct *prev,
          |                                         ^~~~~~~~~~~
  arch/arm64/kernel/process.c:710:25: warning: no previous prototype for 'arm64_preempt_schedule_irq' [-Wmissing-prototypes]
      710 | asmlinkage void __sched arm64_preempt_schedule_irq(void)
          |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~

Link: https://lore.kernel.org/lkml/202103192250.AennsfXM-lkp@intel.com
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Maninder Singh <maninder1.s@samsung.com>
Link: https://lore.kernel.org/r/1616568899-986-1-git-send-email-maninder1.s@samsung.com
Signed-off-by: Will Deacon <will@kernel.org>
2021-03-25 09:50:16 +00:00