summaryrefslogtreecommitdiff
path: root/arch/arm
AgeCommit message (Collapse)Author
2017-08-04Merge tag 'renesas-fixes3-for-v4.13' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into fixes Pull "Third Round of Renesas ARM Based SoC Fixes for v4.13" from Simon Horman: Fix deadlock in regulator quirk for R-Car Gen 2 SoCs The da9063/da9210 regulator quirk for R-Car Gen2 boards uses a bus notifier, and unregisters the notifier when it is no longer needed. However, a notifier must not be unregistered from within the call chain. This bug went unnoticed, as blocking_notifier_chain_unregister() didn't take the semaphore during early boot. This is no longer the case as of upstream commit 1c3c5eab171590f8 ("sched/core: Enable might_sleep() and smp_processor_id() checks early") and a deadlock occurs. * tag 'renesas-fixes3-for-v4.13' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: rcar-gen2: Fix deadlock in regulator quirk
2017-08-04Merge tag 'v4.13-rockchip-dts32fixes-1' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into fixes Pull "Rockchip dts32 fixes for 4.13" from Heiko Stübner: Fix for the recently added mali dt support. The example showed a wrong value, so fix it before it gets copy-pasted to much. * tag 'v4.13-rockchip-dts32fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: ARM: dts: rockchip: fix mali gpu node on rk3288 dt-bindings: gpu: drop wrong compatible from midgard binding example
2017-08-04crypto: arm/aes - avoid expanded lookup tables in the final roundArd Biesheuvel
For the final round, avoid the expanded and padded lookup tables exported by the generic AES driver. Instead, for encryption, we can perform byte loads from the same table we used for the inner rounds, which will still be hot in the caches. For decryption, use the inverse AES Sbox directly, which is 4x smaller than the inverse lookup table exported by the generic driver. This should significantly reduce the Dcache footprint of our code, which makes the code more robust against timing attacks. It does not introduce any additional module dependencies, given that we already rely on the core AES module for the shared key expansion routines. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2017-08-04crypto: arm/ghash - add NEON accelerated fallback for vmull.p64Ard Biesheuvel
Implement a NEON fallback for systems that do support NEON but have no support for the optional 64x64->128 polynomial multiplication instruction that is part of the ARMv8 Crypto Extensions. It is based on the paper "Fast Software Polynomial Multiplication on ARM Processors Using the NEON Engine" by Danilo Camara, Conrado Gouvea, Julio Lopez and Ricardo Dahab (https://hal.inria.fr/hal-01506572) On a 32-bit guest executing under KVM on a Cortex-A57, the new code is not only 4x faster than the generic table based GHASH driver, it is also time invariant. (Note that the existing vmull.p64 code is 16x faster on this core). Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2017-08-04crypto: algapi - make crypto_xor() take separate dst and src argumentsArd Biesheuvel
There are quite a number of occurrences in the kernel of the pattern if (dst != src) memcpy(dst, src, walk.total % AES_BLOCK_SIZE); crypto_xor(dst, final, walk.total % AES_BLOCK_SIZE); or crypto_xor(keystream, src, nbytes); memcpy(dst, keystream, nbytes); where crypto_xor() is preceded or followed by a memcpy() invocation that is only there because crypto_xor() uses its output parameter as one of the inputs. To avoid having to add new instances of this pattern in the arm64 code, which will be refactored to implement non-SIMD fallbacks, add an alternative implementation called crypto_xor_cpy(), taking separate input and output arguments. This removes the need for the separate memcpy(). Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2017-08-03ARM: mvebu: enable ARM_GLOBAL_TIMER compilation Armada 38x platformsMarcin Wojtas
Armada 38x SoCs along with legacy timer (time-armada-370-xp.c), comprise generic Cortex-A9 global timer (arm_global_timer.c). Enable its compilation. The system clocksource subsystem will pick one of above two available ones in case the global timer node is present in the device tree. Signed-off-by: Marcin Wojtas <mw@semihalf.com> Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2017-08-03ARM: dts: armada-38x: Add arm_global_timer nodeMarcin Wojtas
Since generic Cortex-A9 global timer is available after adding it to compilation, enable its node in armada-38x.dtsi. Signed-off-by: Marcin Wojtas <mw@semihalf.com> Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2017-08-03ARM: dts: marvell: fix PCI bus dtc warningsRob Herring
dtc recently added PCI bus checks. Fix these warnings. Signed-off-by: Rob Herring <robh@kernel.org> Cc: Bjorn Helgaas <bhelgaas@google.com> Cc: Jason Cooper <jason@lakedaemon.net> Cc: Andrew Lunn <andrew@lunn.ch> Cc: Gregory Clement <gregory.clement@free-electrons.com> Cc: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2017-08-03ARM: dts: imx6ul-14x14-evk: Remove unrelated pin from ENET groupFabio Estevam
MX6UL_PAD_SNVS_TAMPER0__GPIO5_IO00 is connected to the INT1 pin of the FXLS8471Q accelerometer, so remove it from the unrelated ENET group. Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2017-08-03ARM: dts: imx7d-sdb: Add flexcan supportFabio Estevam
Add support for Flexcan. Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2017-08-03ARM: dts: imx7-colibri: add NAND supportStefan Agner
The Colibri iMX7 modules come with 512MB on-module SLC NAND flash populated. Make use of it by enabling the GPMI controller. Signed-off-by: Stefan Agner <stefan@agner.ch> Tested-by: Fabio Estevam <fabio.estevam@nxp.com> Acked-by: Han Xu <han.xu@nxp.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2017-08-03ARM: dts: imx7: add GPMI NAND and APBH DMAStefan Agner
Add i.MX 7 APBH DMA and GPMI NAND modules. Signed-off-by: Stefan Agner <stefan@agner.ch> Tested-by: Fabio Estevam <fabio.estevam@nxp.com> Acked-by: Han Xu <han.xu@nxp.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2017-08-02ARM: dts: bcm2835: Add Raspberry Pi Zero WStefan Wahren
The Raspberry Pi Zero W has the same components like the Zero plus a Cypress CYW43438 wireless chip (wifi + bl). Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> Signed-off-by: Eric Anholt <eric@anholt.net> Reviewed-by: Eric Anholt <eric@anholt.net>
2017-08-02ARM: bcm283x: Define UART pinmuxing on board levelStefan Wahren
Until RPI 3 and Zero W the pl011 (uart0) was always on pin 14/15. So in order to take care of them and other boards in the future, we need to define UART pinmuxing on board level. This work based on Eric Anholt's patch "ARM: bcm2385: Don't force pl011 onto pins 14/15." and Fabian Vogt's patch "ARM64: dts: bcm2837: assign uart0 to BT and uart1 to pin headers". Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> Reviewed-by: Eric Anholt <eric@anholt.net> Signed-off-by: Eric Anholt <eric@anholt.net>
2017-08-02ARM: always enable AEABI for ARMv6+Russell King
Always enable AEABI for ARMv6+, as these use the double-word exclusives which must be passed an even register to avoid errors such as: /tmp/ccG2rCwe.s:905: Error: even register required -- `ldrexd r5,r6,[r7]' /tmp/ccG2rCwe.s:909: Error: even register required -- `strexd sl,r3,r4,[r7]' Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2017-08-02ARM: avoid saving and restoring registers unnecessarilyRussell King
Avoid repeatedly saving and restoring registers around the calls to trace_hardirqs_on() and context_tracking_user_exit(). With the previous changes, we no longer need to preserve "lr" across these calls, and if we re-load r0-r3 later, we can avoid preserving these regsiters too. Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2017-08-02ARM: move PC value into r9Russell King
Move the saved PC value into r9, thereby moving it into a caller-saved register for functions that we may call during the entry to a syscall. Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2017-08-02ARM: obtain thread info structure laterRussell King
Obtain the thread info structure later in the syscall processing, so that we free up a register for earlier code. Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2017-08-02ARM: use aliases for registers in entry-commonRussell King
Use aliases for the saved (and preserved) PSR and PC values so that we can control which registers are used. Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2017-08-02ARM: 8689/1: scu: add missing errno includeJohan Hovold
Add missing errno include to make the header self-contained and avoid compilation breakage when compiling shared code without CONFIG_HAVE_ARM_SCU. Signed-off-by: Johan Hovold <johan@kernel.org> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2017-08-02ARM: 8688/1: pm: add missing types includeJohan Hovold
Add missing types.h include to make the suspend header self-contained and avoid compilation breakage due to include-directive ordering. Acked-by: Pavel Machek <pavel@ucw.cz> Signed-off-by: Johan Hovold <johan@kernel.org> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2017-08-01ARM: dts: BCM5301X: Specify USB ports for each controllerRafał Miłecki
Northstar has 3 controllers: OHCI and EHCI (each with 2 ports) and XHCI (with just 1 port). Describe them in the DT. In future this will allow to reference them as trigger sources. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2017-08-01ARM: dts: meson: mark the clock controller also as reset controllerMartin Blumenstingl
The clock controller provides a few reset lines as well. Add the corresponding CPU cores. Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> Reviewed-by: Neil Armstrong <narmstrong@baylibre.com> Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-08-01arm: dts: mt2701: Add usb3 device nodesChunfeng Yun
Add xhci nodes and usb3 phy nodes for MT2701 Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com> Signed-off-by: Erin Lo <erin.lo@mediatek.com> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2017-08-01arm: dts: mt2701: Add ethernet device nodeSean Wang
Add ethernet device node for MT2701 Signed-off-by: Sean Wang <sean.wang@mediatek.com> Signed-off-by: Erin Lo <erin.lo@mediatek.com> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2017-08-01ARM: rockchip: enable ZONE_DMA for non 64-bit capable peripheralsTao Huang
Most IP cores on ARM Rockchip platforms can only address 32 bits of physical memory for DMA. Thus ZONE_DMA should be enabled when LPAE is activated. Signed-off-by: Tao Huang <huangtao@rock-chips.com> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2017-07-31ARM: tegra: Select appropriate DMA options for LPAEPaul Kocialkowski
This automatically selects options for zone DMA and 64 bit DMA addresses when LPAE is enabled on ARM Tegra platforms. These options are required for proper operation with LPAE enabled. The ZONE_DMA option is required to ensure that drivers that allocate DMA memory get buffers from the first 4 GiB. This is necessary because a lot of the controllers only support addressing 32 bits. As for ARCH_DMA_ADDR_T_64BIT, there are situations where devices that do support addresses of more than 32 bits (such as the display controller or the GPU) can run without translating addresses through an IOMMU on a device with more than 4 GiB of system memory. Note that both of these options are stop-gap solutions required only until the IOMMU can be properly integrated with the DMA mapping API and drivers use that properly and consistently. Signed-off-by: Paul Kocialkowski <contact@paulk.fr> [treding@nvidia.com: specify rationale for options] Signed-off-by: Thierry Reding <treding@nvidia.com>
2017-07-31ARM: dts: iwg20m: Correct indentation of mmcif0 propertiesGeert Uytterhoeven
Fixes: 4658c4b789d8e2ae ("ARM: dts: iwg20m: Add MMCIF0 support") Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Reviewed-by: Chris Paterson <chris.paterson2@renesas.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-07-31ARM: dts: rskrza1: Add LED0 pin supportChris Brandt
Add pin configuration for LED0 which is connected to a GPIO. Signed-off-by: Chris Brandt <chris.brandt@renesas.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-07-31ARM: dts: rskrza1: Add SDHI1 pin groupChris Brandt
Add pin configuration for SDHI ch1. Signed-off-by: Chris Brandt <chris.brandt@renesas.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-07-31ARM: dts: rskrza1: Add Ethernet pin groupChris Brandt
Add pin configuration for Ethernet. Signed-off-by: Chris Brandt <chris.brandt@renesas.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-07-31ARM: dts: rskrza1: Add SCIF2 pin groupChris Brandt
Add pin configuration for SCIF2 serial console interface. Signed-off-by: Chris Brandt <chris.brandt@renesas.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-07-31ARM: dts: genmai: Add ethernet pin groupJacopo Mondi
Add pin configuration subnode for ETHER ethernet controller. Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-07-31ARM: dts: genmai: Add user led device nodesJacopo Mondi
Add device nodes for user leds on Genmai board. Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-07-31ARM: dts: genmai: Add RIIC2 pin groupJacopo Mondi
Add pin configuration subnode for RIIC2 interface. Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-07-31ARM: dts: genmai: Add SCIF2 pin groupJacopo Mondi
Add pin configuration subnode for SCIF2 serial debug interface. Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-07-31ARM: dts: r7s72100: Add pin controller nodeJacopo Mondi
Add pin controller node with 12 gpio controller sub-nodes to r7s72100 dtsi. Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-07-31ARM: tegra: Register host1x node with IOMMU binding on Tegra124Paul Kocialkowski
This registers the host1x node with the SMMU (as HC swgroup) to allow the host1x code to attach to it. It avoid failing the probe sequence, which resulted in the Tegra DRM driver not probing and thus nothing being displayed on-screen. Signed-off-by: Paul Kocialkowski <contact@paulk.fr> Signed-off-by: Thierry Reding <treding@nvidia.com>
2017-07-31ARM: mediatek: add MT7623a smp bringup codeSean Wang
Add support for booting secondary CPUs on MT7623a. Signed-off-by: Sean Wang <sean.wang@mediatek.com> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2017-07-31arm: dts: mt7623: add clock-frequency to CPU nodesSean Wang
Add clock-frequency property to CPU nodes. Avoids warnings like [ 0.001568] /cpus/cpu@0 missing clock-frequency property [ 0.001588] /cpus/cpu@1 missing clock-frequency property [ 0.001601] /cpus/cpu@2 missing clock-frequency property [ 0.001614] /cpus/cpu@3 missing clock-frequency property at boot time Signed-off-by: Sean Wang <sean.wang@mediatek.com> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2017-07-31arm: dts: mt7623: add support for Bananapi R2 (BPI-R2) boardSean Wang
Add support for the Bananapi R2 (BPI-R2) development board from BIPAI KEJI. Detailed hardware information for BPI-R2 which could be found on http://www.banana-pi.org/r2.html The patch added nodes into the SoC-level file mt7623.dtsi such as CPU OPP table and thermal zone treating CPU as one of cooling devices and also added nodes into board-level file mt7623n-bananapi-bpi-r2.dts such as MediaTek GMAC, MT7530 Switch, the crypto engine, USB, IR, I2S, I2C, UART, SPI, PWM, GPIO keys, GPIO LEDs and PMIC LEDs. As to the other missing hardware and peripherals, they would be added and integrated continuously. Signed-off-by: Sean Wang <sean.wang@mediatek.com> Acked-by: Rob Herring <robh@kernel.org> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2017-07-31arm: dts: mt7623: enable the nand device on the mt7623n nand rfbJohn Crispin
Enable the nand device and setup pinmux on the mt7632m rfb with nand support. Signed-off-by: John Crispin <john@phrozen.org> Signed-off-by: Sean Wang <sean.wang@mediatek.com> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2017-07-31arm: dts: mt7623: enable the usb device on the mt7623n rfbJohn Crispin
All versions of the mt7623n RFB have an USB port so enable the device. There is a gpio that gets used to power up the port supply. Add support for this gpio using the fixed-regulator driver. Signed-off-by: John Crispin <john@phrozen.org> Signed-off-by: Sean Wang <sean.wang@mediatek.com> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2017-07-31arm: dts: mt7623: cleanup the mt7623n rfb uart nodesJohn Crispin
This patch does a cleanup of the uart nodes in the dts file of the RFB. It adds aliases, enables 2 more uarts and explicitly sets the uart mode of the console. Signed-off-by: John Crispin <john@phrozen.org> Signed-off-by: Sean Wang <sean.wang@mediatek.com> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2017-07-31arm: dts: mt7623: rename mt7623-evb.dts to arch/arm/boot/dts/mt7623n-rfb.dtsiSean Wang
There are 2 versions of the MT7623 SoC, the one is MT7623N and the other is MT7623A. MT7623N is almost identical to MT7623A but has some additional multimedia features. The reference boards are available as NAND or MMC and might have a different ethernet setup. In order to reduce the duplication of devicetree code we add an intermediate dtsi file for these reference boards. Additionally MediaTek pointed out, that the EVB is yet another board and the board in question is infact the RFB. Take this into account while renaming the files. Signed-off-by: John Crispin <john@phrozen.org> Signed-off-by: Sean Wang <sean.wang@mediatek.com> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2017-07-31arm: dts: mt7623: add mt6323.dtsi fileJohn Crispin
MediaTek produces various PMICs. Which one is used depends on the actual circuit design. Instead of adding the correct PMIC node to every dts file we instead add a new intermediate dtsi file which adds the PMIC node. For those boards with the same PMIC, the intermediate mt6323.dtsi could be reused to save more redundant nodes created on each board device-tree files. Signed-off-by: John Crispin <john@phrozen.org> Signed-off-by: Sean Wang <sean.wang@mediatek.com> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2017-07-30ARM: dts: keystone-k2e-evm: Add and enable DSP CMA memory poolSam Nelson
A CMA memory pool reserved memory node is added, and is attached to the DSP node through the 'memory-region' property on the K2E EVM board. This area will be used for allocating virtio rings and buffers. This node allows the DSP Memory Protection and Address Extension (MPAX) module to be configured properly for the DSP processor, and matches the values used on the other Keystone 2 boards for software compatibility. The reserved memory node and the user DSP node are also marked okay to enable the DSP on the 66AK2E EVM board. Signed-off-by: Sam Nelson <sam.nelson@ti.com> Signed-off-by: Suman Anna <s-anna@ti.com> Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
2017-07-30ARM: dts: keystone-k2l-evm: Add and enable common DSP CMA memory poolSam Nelson
A common CMA memory pool reserved memory node is added, and is attached to all the DSP nodes through the 'memory-region' property on the 66AK2L EVM board. This area will be used for allocating virtio rings and buffers. The common node allows the DSP Memory Protection and Address Extension (MPAX) module to be configured uniformly across all the DSP processors. The reserved memory node and all the user DSP nodes are also marked okay to enable the DSPs on the 66AK2L EVM board. Signed-off-by: Sam Nelson <sam.nelson@ti.com> Signed-off-by: Suman Anna <s-anna@ti.com> Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
2017-07-30ARM: dts: keystone-k2hk-evm: Add and enable common DSP CMA memory poolSam Nelson
A common CMA memory pool reserved memory node is added, and is attached to all the DSP nodes through the 'memory-region' property on the 66AK2H EVM board. This area will be used for allocating virtio rings and buffers. The common node allows the DSP Memory Protection and Address Extension (MPAX) module to be configured uniformly across all the DSP processors. The reserved memory node and all the user DSP nodes are also marked okay to enable the DSPs on the 66AK2K EVM board. Signed-off-by: Sam Nelson <sam.nelson@ti.com> Signed-off-by: Suman Anna <s-anna@ti.com> Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
2017-07-30ARM: dts: keystone-k2e: Add DSP nodeSuman Anna
The Keystone 2 66AK2E SoC has one TMS320C66x DSP Core Subsystem (C66x CorePac), with a 1.4 GHz C66x Fixed or Floating-Point DSP Core, and 32 KB of L1P & L1D SRAMs and a 1 MB L2 SRAM. Add the DT node for this DSP processor sub-system. The processor does not have a MMU, and uses various IPC Generation registers and shared memory for inter-processor communication. The alias with a stem 'rproc' has also been added for the DSP, it provides a fixed remoteproc id for the DSP processor. Signed-off-by: Suman Anna <s-anna@ti.com> Signed-off-by: Sam Nelson <sam.nelson@ti.com> Signed-off-by: Andrew F. Davis <afd@ti.com> Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>