summaryrefslogtreecommitdiff
path: root/arch/arm64
AgeCommit message (Collapse)Author
2020-02-12arm64: dts: fsl: colibri-imx8qxp: set bus width for elcdifOleksandr Suvorov
By default, Colibri iMX8QXP uses 18-bit output bus of eLCDIF. Set bus width correctly fixes framebuffer translation issue. Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-02-12arm64: dts: fsl: colibri-imx8qxp: Fix mode for eLCDIF Enable signalOleksandr Suvorov
gpio_bl_on is used as output to enable linked consumers of eLCDIF: panel or bridge. Fix pinmux mode for this pin. Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-02-12arm64: dts: fsl: colibri-imx8qxp: Add VGA and DISP outputs for LCDIFOleksandr Suvorov
Support DAC VGA converter and parallel display interface as output ports of LCDIF block. Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-02-12arm64: dts: fsl: colibri-imx8qxp: Add VGA VDDOleksandr Suvorov
Add VDD regulator for VGA encoder ADV7125. Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-02-12ARM64: defconfig: add dumb-vga-dac idrm bridgeOleksandr Suvorov
This driver serves ADV7125 VGA DAC Coverter on Colibri Evaluation board. Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-02-12arm64: dts: imx8dx: Don't reparent eLCDIF clocksOleksandr Suvorov
Fix working of eLCDIF block. This commit makes eLCDIF clocks to be set and work properly. Probably need to reinvestigate to find the root cause. Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-02-12arm64: dts: fsl-imx8qxp-colibri: add mipi camera with nxp's v3 driverMax Krummenacher
Related to: #42565 Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2020-02-12arm64: dts: fsl-imx8qm-apalis: mipi camera: use nxp's v3 driverMax Krummenacher
Related to: #32172 Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2020-02-12arm64: dts: fsl-imx8qm-apalis: spi: use pio modeMax Krummenacher
If using DMA mode the chip select gets deasserted and asserted again with each word in a transmission. PIO mode on the other hand asserts at the beginning of a transmission and de-asserts at the end which for most use-cases is prefered. Related to: #51387 Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2020-02-12arm64: dts: fsl: lpspi2: add dma mode supportMarcel Ziswiler
Follow commit 'a1204e3b0e7a dts: lpspi: add dma mode support' for lpspi2. This requires a follow up to dtbs which delete the edma0 node in favour of their own implementation. Related to: #51387 Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> (cherry picked from commit 1ff8709cc875557d3ba3c105af3be6bd6033c122) Fixed power-domain stuff after imx_4.14.98_2.3.0 resp. 4.14-2.3.x-imx merge. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2020-02-11arm64: dts: fsl: colibri-imx8qxp: add initial device treeMax Krummenacher
Copied from toradex_imx_4.14.78_1.0.0_ga-bring_up. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2020-02-11arm64: dts: fsl: apalis-imx8qm: add initial device treeStefan Agner
Copied from toradex_imx_4.14.78_1.0.0_ga-bring_up. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2020-02-11ARM64: defconfig: add colibri-vf50-ts driverMax Krummenacher
The Apalis iMX8 QM module provides this touchscreen hardware. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2020-02-11ARM64: defconfig: add extcon_usb_gpio configMax Krummenacher
This is used with the USB_C port on Colibri iMX8X. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2020-02-11ARM64: defconfig: Add atmel_mxt_ts touchscreen driverPhilippe Schenker
This adds the touchscreen atmel_mxt_ts driver used by displays from toradex. Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2020-02-11arm64: defconfig: add modversionsMax Krummenacher
CONFIG_MODVERSIONS allows to use kernel modules slightly different from the running kernel. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2020-02-11arm: defconfig: add spi bit banging driverMax Krummenacher
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> (cherry picked from commit fe0736d779d71237cba9f6ed5ebf6d7fdf71d9cd) (cherry picked from commit eb19205dcadee79170778136e149643b20b71b62)
2020-02-11arm: defconfig: add fxl6408 gpio expanderMax Krummenacher
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> (cherry picked from commit 13244ea064560813f3c4b67d02838930daa56fb4) (cherry picked from commit f45782b76f20f5adf3ac0b234c458846cd3704fc)
2020-02-11arm: defconfig: add lt8912 drm brigeMax Krummenacher
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> (cherry picked from commit e9656428bfa3a85c99e424785dea50628992e394) (cherry picked from commit 7cbf898f1287bec82b3a25ed47633539c61ed49c)
2020-02-11arm: defconfig: add touchcontroller ad7879Max Krummenacher
It is used on the Colibri iMX8QXP Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> (cherry picked from commit 961a35836af3e5dce034018b3e010bf3499e2f25) (cherry picked from commit 78bd4e96eaee1a103a8bd52a2568e6b033ce26ba)
2020-02-11arm64: defconfig: add SGTL5000 supportStefan Agner
Add NXP SGTL5000 codec support for Apalis iMX8. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> (cherry picked from commit 1ed393a89bc808273f9653020b2fcad4d655f765) Conflicts: arch/arm64/configs/defconfig Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> (cherry picked from commit 4f8e7db9db1bac86c6c5bc2f78793ebebbd60a14) (cherry picked from commit ed7618f8085c7f02fb9d9bf8fe160ec0025671f4) (cherry picked from commit 52ae1fefc8794d41ac7544fc22028ac9a04a6424)
2020-02-11arm64: defconfig: add M41T0 RTC supportStefan Agner
Add DS1307 family RTC support which also supports M41T0 RTC as used on our carrier board. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> (cherry picked from commit d6ec2d954abbdf639cbb435c89cad71775e24795) (cherry picked from commit a8fa55ea007eb29f8f18fc86cbab3bab0d45a90f) (cherry picked from commit baf09ae0654769311a390382f22d64d195c4b167) (cherry picked from commit 32df0ec733ee19740f2075c4501291febd722505)
2020-02-11add configs required by Toradex Easy InstallerStefan Agner
Signed-off-by: Stefan Agner <stefan.agner@toradex.com> (cherry picked from commit 944f626fab84a4457f36ec11270fd243f8d80edf) Conflicts: arch/arm64/configs/defconfig Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> (cherry picked from commit 75b89c90ac9c3a3b1374354cd3cc1aaa70cea0f0) (cherry picked from commit 6efcd53a6bd3d4f437f4fd2362dab9685863e639) (cherry picked from commit ff5f17d53273a644b2c8d76fbd495d9d2eb6e21b)
2020-02-11arm64: defconfig: add configs for BluetoothStefan Agner
Add Marvell/USB Bluetooth support. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> (cherry picked from commit 9fe8e87ad955c087d2fa6a35fda3287aa5dccbd7) Conflicts: arch/arm64/configs/defconfig Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> (cherry picked from commit 9bd23adac54773bfd2ed02d577667053cc61dd74) (cherry picked from commit 9380becfb11a1cb2502c7938a19b84785735b9a9) (cherry picked from commit f17e33d650885310866b300c578a3f4d31d5332f)
2020-02-11arm64: defconfig: add Marvell Wi-Fi supportStefan Agner
Add Marvell Wi-Fi support using the mwifiex driver. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> (cherry picked from commit acc1f6790a86f38398da46bc30908c8e8e2c0757) Conflicts: arch/arm64/configs/defconfig Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> (cherry picked from commit 734a9127e49ce3592b804afb8379f8fa1fc41c9e) (cherry picked from commit 0a3eeddc6bcf29d9ceacb4838bf26eeb1af36095) (cherry picked from commit a7eac7df03d30f66f6b5f855727f0f1a2d4666f2)
2020-02-11arm64: defconfig: add configs for Apalis iMX8Stefan Agner
Add GPIO fan/backlight for Apalis iMX8. Enable USB camera support. Also enable configs relevant for MIPI CSI2 camera (OV5640) support, but this needs further changes to the driver to work with i.MX8QM. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> (cherry picked from commit 6a74107935a0d4a3a7cebf879a1ae684366bec19) Conflicts: arch/arm64/configs/defconfig Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> (cherry picked from commit 471a0d336d637ed1c66c96d10a9f998d0cafc510) (cherry picked from commit 153848b2e63330fe38315f22baac7817e77f1d00) (cherry picked from commit 3fb7df4524c6ef6002a940c12ecee199832d321a)
2020-02-09MLK-18433 PCI: imx: remove the lpcg_xxx clocks in driverRichard Zhu
Remove the lpcg_xxx clocks codes, since they are HW gated. These clocks controlled by HW, and would be turned on automatically, if there are access operations. Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com> (cherry picked from commit 9b8da32493057502a912b6d1426eadeb76780e69) Conflicts: arch/arm64/boot/dts/freescale/fsl-imx8qm.dtsi drivers/pci/host/pci-imx6.c Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> (cherry picked from commit 7615a560c48aeb53911c7a6f025420c0f9a5a51f) (cherry picked from commit 0507816aa4b9a4f5764d308b23332fc297e6fe0f) (cherry picked from commit 24258f088b89df68e5fa2c54eb3334ff50fcb8f0)
2020-02-07Merge tag 'v4.14.164' into 4.14-2.3.x-imxMarcel Ziswiler
This is the 4.14.164 stable release Conflicts: arch/arm/Kconfig.debug arch/arm/boot/dts/imx7s.dtsi arch/arm/mach-imx/cpuidle-imx6q.c arch/arm/mach-imx/cpuidle-imx6sx.c arch/arm64/kernel/cpu_errata.c arch/arm64/kvm/hyp/tlb.c drivers/crypto/caam/caamalg.c drivers/crypto/mxs-dcp.c drivers/dma/imx-sdma.c drivers/gpio/gpio-vf610.c drivers/gpu/drm/bridge/adv7511/adv7511_drv.c drivers/input/keyboard/imx_keypad.c drivers/input/keyboard/snvs_pwrkey.c drivers/mmc/core/block.c drivers/mmc/core/queue.h drivers/mmc/host/sdhci-esdhc-imx.c drivers/net/can/flexcan.c drivers/net/can/rx-offload.c drivers/net/ethernet/freescale/fec_main.c drivers/net/wireless/ath/ath10k/pci.c drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c drivers/pci/dwc/pci-imx6.c drivers/spi/spi-fsl-lpspi.c drivers/usb/dwc3/gadget.c include/net/tcp.h sound/soc/fsl/Kconfig sound/soc/fsl/fsl_esai.c
2020-01-09arm64: dts: meson: odroid-c2: Disable usb_otg bus to avoid power failed warningAnand Moon
[ Upstream commit 72c9b5f6f75fbc6c47e0a2d02bc3838a2a47c90a ] usb_otg bus needs to get initialize from the u-boot to be configured to used as power source to SBC or usb otg port will get configured as host device. Right now this support is missing in the u-boot and phy driver so to avoid power failed warning, we would disable this feature until proper fix is found. [ 2.716048] phy phy-c0000000.phy.0: USB ID detect failed! [ 2.720186] phy phy-c0000000.phy.0: phy poweron failed --> -22 [ 2.726001] ------------[ cut here ]------------ [ 2.730583] WARNING: CPU: 0 PID: 12 at drivers/regulator/core.c:2039 _regulator_put+0x3c/0xe8 [ 2.738983] Modules linked in: [ 2.742005] CPU: 0 PID: 12 Comm: kworker/0:1 Not tainted 5.2.9-1-ARCH #1 [ 2.748643] Hardware name: Hardkernel ODROID-C2 (DT) [ 2.753566] Workqueue: events deferred_probe_work_func [ 2.758649] pstate: 60000005 (nZCv daif -PAN -UAO) [ 2.763394] pc : _regulator_put+0x3c/0xe8 [ 2.767361] lr : _regulator_put+0x3c/0xe8 [ 2.771326] sp : ffff000011aa3a50 [ 2.774604] x29: ffff000011aa3a50 x28: ffff80007ed1b600 [ 2.779865] x27: ffff80007f7036a8 x26: ffff80007f7036a8 [ 2.785126] x25: 0000000000000000 x24: ffff000011a44458 [ 2.790387] x23: ffff000011344218 x22: 0000000000000009 [ 2.795649] x21: ffff000011aa3b68 x20: ffff80007ed1b500 [ 2.800910] x19: ffff80007ed1b500 x18: 0000000000000010 [ 2.806171] x17: 000000005be5943c x16: 00000000f1c73b29 [ 2.811432] x15: ffffffffffffffff x14: ffff0000117396c8 [ 2.816694] x13: ffff000091aa37a7 x12: ffff000011aa37af [ 2.821955] x11: ffff000011763000 x10: ffff000011aa3730 [ 2.827216] x9 : 00000000ffffffd0 x8 : ffff000010871760 [ 2.832477] x7 : 00000000000000d0 x6 : ffff0000119d151b [ 2.837739] x5 : 000000000000000f x4 : 0000000000000000 [ 2.843000] x3 : 0000000000000000 x2 : 38104b2678c20100 [ 2.848261] x1 : 0000000000000000 x0 : 0000000000000024 [ 2.853523] Call trace: [ 2.855940] _regulator_put+0x3c/0xe8 [ 2.859562] regulator_put+0x34/0x48 [ 2.863098] regulator_bulk_free+0x40/0x58 [ 2.867153] devm_regulator_bulk_release+0x24/0x30 [ 2.871896] release_nodes+0x1f0/0x2e0 [ 2.875604] devres_release_all+0x64/0xa4 [ 2.879571] really_probe+0x1c8/0x3e0 [ 2.883194] driver_probe_device+0xe4/0x138 [ 2.887334] __device_attach_driver+0x90/0x110 [ 2.891733] bus_for_each_drv+0x8c/0xd8 [ 2.895527] __device_attach+0xdc/0x160 [ 2.899322] device_initial_probe+0x24/0x30 [ 2.903463] bus_probe_device+0x9c/0xa8 [ 2.907258] deferred_probe_work_func+0xa0/0xf0 [ 2.911745] process_one_work+0x1b4/0x408 [ 2.915711] worker_thread+0x54/0x4b8 [ 2.919334] kthread+0x12c/0x130 [ 2.922526] ret_from_fork+0x10/0x1c [ 2.926060] ---[ end trace 51a68f4c0035d6c0 ]--- [ 2.930691] ------------[ cut here ]------------ [ 2.935242] WARNING: CPU: 0 PID: 12 at drivers/regulator/core.c:2039 _regulator_put+0x3c/0xe8 [ 2.943653] Modules linked in: [ 2.946675] CPU: 0 PID: 12 Comm: kworker/0:1 Tainted: G W 5.2.9-1-ARCH #1 [ 2.954694] Hardware name: Hardkernel ODROID-C2 (DT) [ 2.959613] Workqueue: events deferred_probe_work_func [ 2.964700] pstate: 60000005 (nZCv daif -PAN -UAO) [ 2.969445] pc : _regulator_put+0x3c/0xe8 [ 2.973412] lr : _regulator_put+0x3c/0xe8 [ 2.977377] sp : ffff000011aa3a50 [ 2.980655] x29: ffff000011aa3a50 x28: ffff80007ed1b600 [ 2.985916] x27: ffff80007f7036a8 x26: ffff80007f7036a8 [ 2.991177] x25: 0000000000000000 x24: ffff000011a44458 [ 2.996439] x23: ffff000011344218 x22: 0000000000000009 [ 3.001700] x21: ffff000011aa3b68 x20: ffff80007ed1bd00 [ 3.006961] x19: ffff80007ed1bd00 x18: 0000000000000010 [ 3.012222] x17: 000000005be5943c x16: 00000000f1c73b29 [ 3.017484] x15: ffffffffffffffff x14: ffff0000117396c8 [ 3.022745] x13: ffff000091aa37a7 x12: ffff000011aa37af [ 3.028006] x11: ffff000011763000 x10: ffff000011aa3730 [ 3.033267] x9 : 00000000ffffffd0 x8 : ffff000010871760 [ 3.038528] x7 : 00000000000000fd x6 : ffff0000119d151b [ 3.043790] x5 : 000000000000000f x4 : 0000000000000000 [ 3.049051] x3 : 0000000000000000 x2 : 38104b2678c20100 [ 3.054312] x1 : 0000000000000000 x0 : 0000000000000024 [ 3.059574] Call trace: [ 3.061991] _regulator_put+0x3c/0xe8 [ 3.065613] regulator_put+0x34/0x48 [ 3.069149] regulator_bulk_free+0x40/0x58 [ 3.073203] devm_regulator_bulk_release+0x24/0x30 [ 3.077947] release_nodes+0x1f0/0x2e0 [ 3.081655] devres_release_all+0x64/0xa4 [ 3.085622] really_probe+0x1c8/0x3e0 [ 3.089245] driver_probe_device+0xe4/0x138 [ 3.093385] __device_attach_driver+0x90/0x110 [ 3.097784] bus_for_each_drv+0x8c/0xd8 [ 3.101578] __device_attach+0xdc/0x160 [ 3.105373] device_initial_probe+0x24/0x30 [ 3.109514] bus_probe_device+0x9c/0xa8 [ 3.113309] deferred_probe_work_func+0xa0/0xf0 [ 3.117796] process_one_work+0x1b4/0x408 [ 3.121762] worker_thread+0x54/0x4b8 [ 3.125384] kthread+0x12c/0x130 [ 3.128575] ret_from_fork+0x10/0x1c [ 3.132110] ---[ end trace 51a68f4c0035d6c1 ]--- [ 3.136753] dwc2: probe of c9000000.usb failed with error -22 Fixes: 5a0803bd5ae2 ("ARM64: dts: meson-gxbb-odroidc2: Enable USB Nodes") Cc: Martin Blumenstingl <martin.blumenstingl@googlemail.com> Cc: Jerome Brunet <jbrunet@baylibre.com> Cc: Neil Armstrong <narmstrong@baylibre.com> Acked-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> Signed-off-by: Anand Moon <linux.amoon@gmail.com> Signed-off-by: Kevin Hilman <khilman@baylibre.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-01-09arm64: Revert support for execute-only user mappingsCatalin Marinas
commit 24cecc37746393432d994c0dbc251fb9ac7c5d72 upstream. The ARMv8 64-bit architecture supports execute-only user permissions by clearing the PTE_USER and PTE_UXN bits, practically making it a mostly privileged mapping but from which user running at EL0 can still execute. The downside, however, is that the kernel at EL1 inadvertently reading such mapping would not trip over the PAN (privileged access never) protection. Revert the relevant bits from commit cab15ce604e5 ("arm64: Introduce execute-only page access permissions") so that PROT_EXEC implies PROT_READ (and therefore PTE_USER) until the architecture gains proper support for execute-only user mappings. Fixes: cab15ce604e5 ("arm64: Introduce execute-only page access permissions") Cc: <stable@vger.kernel.org> # 4.9.x- Acked-by: Will Deacon <will@kernel.org> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-12-31KVM: arm64: Ensure 'params' is initialised when looking up sys registerWill Deacon
commit 1ce74e96c2407df2b5867e5d45a70aacb8923c14 upstream. Commit 4b927b94d5df ("KVM: arm/arm64: vgic: Introduce find_reg_by_id()") introduced 'find_reg_by_id()', which looks up a system register only if the 'id' index parameter identifies a valid system register. As part of the patch, existing callers of 'find_reg()' were ported over to the new interface, but this breaks 'index_to_sys_reg_desc()' in the case that the initial lookup in the vCPU target table fails because we will then call into 'find_reg()' for the system register table with an uninitialised 'param' as the key to the lookup. GCC 10 is bright enough to spot this (amongst a tonne of false positives, but hey!): | arch/arm64/kvm/sys_regs.c: In function ‘index_to_sys_reg_desc.part.0.isra’: | arch/arm64/kvm/sys_regs.c:983:33: warning: ‘params.Op2’ may be used uninitialized in this function [-Wmaybe-uninitialized] | 983 | (u32)(x)->CRn, (u32)(x)->CRm, (u32)(x)->Op2); | [...] Revert the hunk of 4b927b94d5df which breaks 'index_to_sys_reg_desc()' so that the old behaviour of checking the index upfront is restored. Fixes: 4b927b94d5df ("KVM: arm/arm64: vgic: Introduce find_reg_by_id()") Signed-off-by: Will Deacon <will@kernel.org> Signed-off-by: Marc Zyngier <maz@kernel.org> Cc: <stable@vger.kernel.org> Link: https://lore.kernel.org/r/20191212094049.12437-1-will@kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-12-31arm64: psci: Reduce the waiting time for cpu_psci_cpu_kill()Yunfeng Ye
[ Upstream commit bfcef4ab1d7ee8921bc322109b1692036cc6cbe0 ] In cases like suspend-to-disk and suspend-to-ram, a large number of CPU cores need to be shut down. At present, the CPU hotplug operation is serialised, and the CPU cores can only be shut down one by one. In this process, if PSCI affinity_info() does not return LEVEL_OFF quickly, cpu_psci_cpu_kill() needs to wait for 10ms. If hundreds of CPU cores need to be shut down, it will take a long time. Normally, there is no need to wait 10ms in cpu_psci_cpu_kill(). So change the wait interval from 10 ms to max 1 ms and use usleep_range() instead of msleep() for more accurate timer. In addition, reducing the time interval will increase the messages output, so remove the "Retry ..." message, instead, track time and output to the the sucessful message. Signed-off-by: Yunfeng Ye <yeyunfeng@huawei.com> Reviewed-by: Sudeep Holla <sudeep.holla@arm.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-12-17arm64: dts: meson-gxl-khadas-vim: fix GPIO lines namesNeil Armstrong
[ Upstream commit 5b78012636f537344bd551934387f5772c38ba80 ] The gpio line names were set in the pinctrl node instead of the gpio node, at the time it was merged, it worked, but was obviously wrong. This patch moves the properties to the gpio nodes. Fixes: 60795933b709 ("ARM64: dts: meson-gxl-khadas-vim: Add GPIO lines names") Signed-off-by: Neil Armstrong <narmstrong@baylibre.com> Signed-off-by: Kevin Hilman <khilman@baylibre.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-12-17arm64: dts: meson-gxbb-odroidc2: fix GPIO lines namesNeil Armstrong
[ Upstream commit 2165b006b65d609140dafafcb14cce5a4aaacbab ] The gpio line names were set in the pinctrl node instead of the gpio node, at the time it was merged, it worked, but was obviously wrong. This patch moves the properties to the gpio nodes. Fixes: b03c7d6438bb ("ARM64: dts: meson-gxbb-odroidc2: Add GPIO lines names") Signed-off-by: Neil Armstrong <narmstrong@baylibre.com> Signed-off-by: Kevin Hilman <khilman@baylibre.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-12-17arm64: dts: meson-gxbb-nanopi-k2: fix GPIO lines namesNeil Armstrong
[ Upstream commit f0783f5edb52af14ecaae6c5ce4f38e0a358f5d8 ] The gpio line names were set in the pinctrl node instead of the gpio node, at the time it was merged, it worked, but was obviously wrong. This patch moves the properties to the gpio nodes. Fixes: 12ada0513d7a ("ARM64: dts: meson-gxbb-nanopi-k2: Add GPIO lines names") Signed-off-by: Neil Armstrong <narmstrong@baylibre.com> Signed-off-by: Kevin Hilman <khilman@baylibre.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-12-17arm64: dts: meson-gxl-libretech-cc: fix GPIO lines namesNeil Armstrong
[ Upstream commit 11fa9774612decea87144d7f950a9c53a4fe3050 ] The gpio line names were set in the pinctrl node instead of the gpio node, at the time it was merged, it worked, but was obviously wrong. This patch moves the properties to the gpio nodes. Fixes: 47884c5c746e ("ARM64: dts: meson-gxl-libretech-cc: Add GPIO lines names") Signed-off-by: Neil Armstrong <narmstrong@baylibre.com> Signed-off-by: Kevin Hilman <khilman@baylibre.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-12-17arm64: tegra: Fix 'active-low' warning for Jetson TX1 regulatorJon Hunter
commit 1e5e929c009559bd7e898ac8e17a5d01037cb057 upstream. Commit 34993594181d ("arm64: tegra: Enable HDMI on Jetson TX1") added a regulator for HDMI on the Jetson TX1 platform. This regulator has an active high enable, but the GPIO specifier for enabling the regulator incorrectly defines it as active-low. This causes the following warning to occur on boot ... WARNING KERN regulator@10 GPIO handle specifies active low - ignored The fixed-regulator binding does not use the active-low flag from the gpio specifier and purely relies of the presence of the 'enable-active-high' property to determine if it is active high or low (if this property is omitted). Fix this warning by setting the GPIO to active-high in the GPIO specifier which aligns with the presense of the 'enable-active-high' property. Fixes: 34993594181d ("arm64: tegra: Enable HDMI on Jetson TX1") Signed-off-by: Jon Hunter <jonathanh@nvidia.com> Signed-off-by: Thierry Reding <treding@nvidia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-12-13MLK-23112-2 arm64: Update the SW workaround for i.MX8QM B0 ERR050104Nitin Garg
Fix the build break. Signed-off-by: Nitin Garg <nitin.garg@nxp.com> (cherry picked from commit bfa2018721eb17c12129e3605c5c51c2af859fc3)
2019-12-12MLK-23112 arm64: Update the SW workaround for i.MX8QM B0 ERR050104Nitin Garg
The upper bits, above bit-35, of ARADDR and ACADDR buses within in Arm A53 sub-system have been incorrectly connected. Therefore ARADDR and ACADDR address bits above bit-35 should not be used. Hence downgrade instructions using higher address bits. Signed-off-by: Nitin Garg <nitin.garg@nxp.com> Reviewed-by: Anson Huang <Anson.Huang@nxp.com> (cherry picked from commit 1894c0ed972d04d790a742c67b330d8a5d57e54c)
2019-12-05HSM-24: arm64: dtx: imx8qxp: enable more seco MU usersStéphane Dion
Enable all SECO MUs and increase number of users on the first one. Signed-off-by: Stéphane Dion <stephane.dion_1@nxp.com> (cherry picked from commit 56099536022e7e66cfc932069aa4a4701d84aa0b) (cherry picked from commit 510c39be31b36a0a126a8be8b3bdfcf89c5ba334)
2019-12-05HSM-24 arm64: dtx: imx8qm: enable more seco MU usersStéphane Dion
enable all SECO MUs and increase number of users on the first one. Signed-off-by: Stéphane Dion <stephane.dion_1@nxp.com> (cherry picked from commit 2197e1f3a75fe9d9832cff3aa979aa4235a1e7a7) (cherry picked from commit a6eb7b28e99dd0c377299f737a0da7c0629589f0)
2019-12-05SHE-17 arm64: dts: imx8qm: enable first SECO MUStephane Dion
Enabling use of the first SECO MU on i.MX8QM Signed-off-by: Stephane Dion <stephane.dion_1@nxp.com> (cherry picked from commit 2b65b323254965b1d563e0aee80e18678d631b9d) (cherry picked from commit 5ff969719af8a80a8146fcbd856f5d28562c1081)
2019-12-05SHE-17 arm64: dts: imx8qxp: enable first SECO MUStephane Dion
Enabling use of the first SECO MU on i.MX8QXP Signed-off-by: Stephane Dion <stephane.dion_1@nxp.com> (cherry picked from commit b7865b23439de010187a211d1c283d6159807569) (cherry picked from commit 3536a8b7dcec79906e3b0221b1d144eb91abc55c)
2019-12-05SHE-17 soc: imx8: SECO MU driverStephane Dion
Driver to communicate with SECO over messaging unit. Expose a char device to user-space so user can write messages that will be sent to SECO and read messages received from it. Data that should be exchanged with SECO through shared memory are indicated to this driver through ioctl calls. Signed-off-by: Stephane Dion <stephane.dion_1@nxp.com> (cherry picked from commit eb721810fdc309b6a32a7a64c7686eaa6052cdc7) (cherry picked from commit db41bf52c2edf7c0936686d806eb4b2373b385a0)
2019-12-05arm64: smp: Handle errors reported by the firmwareSuzuki K Poulose
[ Upstream commit f357b3a7e17af7736d67d8267edc1ed3d1dd9391 ] The __cpu_up() routine ignores the errors reported by the firmware for a CPU bringup operation and looks for the error status set by the booting CPU. If the CPU never entered the kernel, we could end up in assuming stale error status, which otherwise would have been set/cleared appropriately by the booting CPU. Reported-by: Steve Capper <steve.capper@arm.com> Cc: Will Deacon <will.deacon@arm.com> Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com> Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-12-05arm64: mm: Prevent mismatched 52-bit VA supportSteve Capper
[ Upstream commit a96a33b1ca57dbea4285893dedf290aeb8eb090b ] For cases where there is a mismatch in ARMv8.2-LVA support between CPUs we have to be careful in allowing secondary CPUs to boot if 52-bit virtual addresses have already been enabled on the boot CPU. This patch adds code to the secondary startup path. If the boot CPU has enabled 52-bit VAs then ID_AA64MMFR2_EL1 is checked to see if the secondary can also enable 52-bit support. If not, the secondary is prevented from booting and an error message is displayed indicating why. Technically this patch could be implemented using the cpufeature code when considering 52-bit userspace support. However, we employ low level checks here as the cpufeature code won't be able to run if we have mismatched 52-bit kernel va support. Signed-off-by: Steve Capper <steve.capper@arm.com> Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-12-05SSI-87: soc: imx: secvio: Add support for SNVS secvio and tamper via SCFWFranck LENORMAND
The driver register an IRQ handle to SCU for security violation interrupt. When an interruption is fired, the driver inform the user. Signed-off-by: Franck LENORMAND <franck.lenormand@nxp.com>
2019-12-01arm64: fix for bad_mode() handler to always result in panicHari Vyas
commit e4ba15debcfd27f60d43da940a58108783bff2a6 upstream. The bad_mode() handler is called if we encounter an uunknown exception, with the expectation that the subsequent call to panic() will halt the system. Unfortunately, if the exception calling bad_mode() is taken from EL0, then the call to die() can end up killing the current user task and calling schedule() instead of falling through to panic(). Remove the die() call altogether, since we really want to bring down the machine in this "impossible" case. Signed-off-by: Hari Vyas <hari.vyas@broadcom.com> Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-12-01arm64: makefile fix build of .i file in external module caseVictor Kamensky
[ Upstream commit 98356eb0ae499c63e78073ccedd9a5fc5c563288 ] After 'a66649dab350 arm64: fix vdso-offsets.h dependency' if one will try to build .i file in case of external kernel module, build fails complaining that prepare0 target is missing. This issue came up with SystemTap when it tries to build variety of .i files for its own generated kernel modules trying to figure given kernel features/capabilities. The issue is that prepare0 is defined in top level Makefile only if KBUILD_EXTMOD is not defined. .i file rule depends on prepare and in case KBUILD_EXTMOD defined top level Makefile contains empty rule for prepare. But after mentioned commit arch/arm64/Makefile would introduce dependency on prepare0 through its own prepare target. Fix it to put proper ifdef KBUILD_EXTMOD around code introduced by mentioned commit. It matches what top level Makefile does. Acked-by: Kevin Brodsky <kevin.brodsky@arm.com> Signed-off-by: Victor Kamensky <kamensky@cisco.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-12-01arm64: lib: use C string functions with KASAN enabledAndrey Ryabinin
[ Upstream commit 19a2ca0fb560fd7be7b5293c6b652c6d6078dcde ] ARM64 has asm implementation of memchr(), memcmp(), str[r]chr(), str[n]cmp(), str[n]len(). KASAN don't see memory accesses in asm code, thus it can potentially miss many bugs. Ifdef out __HAVE_ARCH_* defines of these functions when KASAN is enabled, so the generic implementations from lib/string.c will be used. We can't just remove the asm functions because efistub uses them. And we can't have two non-weak functions either, so declare the asm functions as weak. Link: http://lkml.kernel.org/r/20180920135631.23833-2-aryabinin@virtuozzo.com Signed-off-by: Andrey Ryabinin <aryabinin@virtuozzo.com> Reported-by: Kyeongdon Kim <kyeongdon.kim@lge.com> Cc: Alexander Potapenko <glider@google.com> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> Cc: Dmitry Vyukov <dvyukov@google.com> Cc: Mark Rutland <mark.rutland@arm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Sasha Levin <sashal@kernel.org>