summaryrefslogtreecommitdiff
path: root/arch/arm
AgeCommit message (Collapse)Author
2017-12-21ARM: dts: imx6: Add Colibri iMX6 device treeStefan Agner
Initial add of Colibri iMX6 device tree, copied and adopted from the Toradex toradex_4.1-2.0.x-imx branch. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-12-21arm: dts: imx7: specify Cortex-M4 clockStefan Agner
The Cortex-M4 clock is used in the busfreq driver to determine whether a high bus frequency is required for the Cortex-M4 core. This follows the design used on i.MX 6SoloX. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> (cherry picked from commit 0666dae4b839135b6441b773b7ec9a24b0fb93ad)
2017-12-21apalis_imx6_android_defconfig: add defconfig for androidDaniel Kochmanski
Signed-off-by: Daniel Kochmanski <dkochmanski@antmicro.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com> (cherry picked from commit 0bd6f13290225efd486da3c5521a458589c0bcf1) (cherry picked from commit 1bc66f0fb5882f76e8aa9c9893b2274d27db8c13)
2017-12-21mach-types: add the apalis-imx6 machineMax Krummenacher
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> (cherry picked from commit 9643b9ef745c8f1df10fd45cb6267de4f50d87ff)
2017-12-21ARM: dts: imx7: move peripherals into spbaStefan Agner
AIPS-3 has some peripherals connected via SPBA. Model the bus accordingly. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-12-21dma-mapping: increase DEFAULT_DMA_COHERENT_POOL_SIZE ifdef CONFIG_VIDEO_TW68Troy Kisky
Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com> (cherry picked from commit 55a76ec9fb394b50148bf7650626e49640eee007) (cherry picked from commit f657dc304d625f181d66b1acd3f42da781eb4713)
2017-12-21nit6xlite_defconfig: initial additionTroy Kisky
Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com> (cherry picked from commit 7dab0a33abd6c0dfcad045adce704f877f4a9aee) (cherry picked from commit d2c6b6bc0634afbcd1e9f9c9433827595d78d137)
2017-12-21arm: dts: imx7: sepecify vring locationStefan Agner
The Colibri iMX7 Solo has only 256MB of memory. Specify the end of 256MB of memory to be the location of the RPMSG vrings. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-12-21arm: dts: imx7: mux pad of SODIMM 169 as GPIOStefan Agner
The pad SAI1_RX_DATA can be used as second chip select for dual-die NAND. However, with an assembly option the pad is available as GPIO on SODIMM 169. All current version of Colibri iMX7 modules have the pad available as GPIO hence mux it as GPIO by default. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com> (cherry picked from commit 06f06382f10b425f6dfdee43b8dfc7f77f75a22b) (cherry picked from commit 10e57f8296b8d98762882a196ce3e6c06af008d5)
2017-12-21arm: dts: imx7: revisit some pinmux configurationsStefan Agner
Revisit default pinmux configuration, use pull-ups instead of pull-downs where there is already an external pull-up by default. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com> (cherry picked from commit 315740d8fe6a0517219c0b479bad4a7db3e7ac30) (cherry picked from commit d6eaed7ac1bf959732d160948042a05451b88847)
2017-12-21arm: dts: imx7: disable pull-up on multiplexed pinsStefan Agner
The PWM<A> and PWM<D> have multiplexed pins which by default have a pull-up enabled. Take them into the same pinmux group as the PWM pin and disable pull-ups. This also makes sure that there is no conflicting usage of the same pin... Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com> (cherry picked from commit b4413e4426977aa88e2a712cb549104e792859d8) (cherry picked from commit 7711ceeea050bf9f45add3f1a7f78607b13c034c)
2017-12-21ARM: dts: imx7-colibri: Specify cable detect as ID and VBUS pinStefan Agner
Commit 95c163471135 ("usb: chipidea: use of extcon framework to work for non OTG case") requires both pins to be specified (ID and VBUS pin) to work correctly. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-12-21ARM: dts: imx7: use 3 PWM cellsStefan Agner
The PWM driver has now capability to specify the PWM polarity which is e.g. for backlight control. Allow to make use of PWM polarity by specifying pwm-cells to be 3 in the base dt. Signed-off-by: Stefan Agner <stefan@agner.ch> Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org> (cherry picked from commit 9be48d2d98810ae723c229c05b078ca5a07e9561)
2017-12-21ARM: dts: imx7-colibri: add VBUS regulator also to OTG portStefan Agner
On some carrier boards (namely Aster, Viola and Orchid) the second USB port (USBC) is used in host only mode. In this case, the USBH_PEN signal is also used to enable USB power. This change makes sure that USBH_PEN is also set in case only one USB port is available (as it is the case on Colibri iMX7 Solo). Strictly speaking we should not add the regulator in the Evaluation Board device tree. However, we use the Evaluation Board device tree as our "Colibri Standard" device tree and it does not really hurt on the Evaluation Board... Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com> (cherry picked from commit 9848329bdd5ea9166acd20681b1b7dcffc94c978) [moved regulator reg_usb_otg2_vbus to common device tree] Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-12-21ARM: dts: imx7-colibri: add TouchRevolution multitouch controllerStefan Agner
Add TouchRevolution multitouch controller driver which is connectable over I2C bus. The driver supports the 7" and 10" multitouch variant available from TouchRev. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com> (cherry picked from commit 9a7463af56709636d4063c3a177065df5fb51c51) (cherry picked from commit 3219b5f0e3259466daf967b2a3aefa7878d51cd7)
2017-12-21ARM: dts: imx7-colibri: merge changes from toradex_4.1-2.0.x-imxStefan Agner
Merge changes/extensions from the Toradex Linux 4.1 BSP. This enables wake-up GPIO, MCP2515 CAN controller, adds additional display timings and enables the backlight GPIO. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-12-21ARM: dts: imx7d: move nodes to i.MX 7Solo device treeStefan Agner
With commit 08bfe5a4dc4b ("MLK-11265-1 ARM: dts: add imx7d soc dtsi support") introduced several device tree nodes supported in the NXP kernel. However, the nodes have been added to the i.MX 7Dual device tree, altough also available on i.MX 7Solo. Move the device tree nodes which are applicable for i.MX 7Solo to the imx7s.dtsi base device tree. This also merges some device tree nodes which have been overwritten by the imx7d.dtsi dt before (ocotp/snvs). Plus removes the dma_apbh and gpmi device tree nodes which previously already got added by commit 1a4aa043b4c1 ("ARM: dts: imx7: add GPMI NAND and APBH DMA") Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-12-21ARM: dts: imx7-colibri: specify cpu-supplyStefan Agner
Specify CPU supply using the "cpu-supply" property instead of "arm-supply". Note: The NXP downstream i.MX 7 specific cpufreq driver used "arm-supply". However, the driver leads to continous errors on the console: cpu cpu0: failed to scale vddarm up: -22 cpufreq: __target_index: Failed to change cpu frequency: -22 Instead of fixing this issues switch to the generic DT based CPU freq driver instead. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-12-05ARM: OMAP2+: Fix WL1283 Bluetooth Baud RateAdam Ford
commit a3ac350793d90d1da631c8beeee9352387974ed5 upstream. Commit 485fa1261f78 ("ARM: OMAP2+: LogicPD Torpedo + Wireless: Add Bluetooth") set the wrong baud rate for the UART. The Baud rate was 300,000 and it should be 3,000,000 for WL1283. Signed-off-by: Adam Ford <aford173@gmail.com> Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-12-05ARM: dts: omap3: logicpd-torpedo-37xx-devkit: Fix MMC1 cd-gpioAdam Ford
commit b7ace5ed8867ca54503727988adec6b20af54eeb upstream. Fixes commit 687c27676151 ("ARM: dts: Add minimal support for LogicPD Torpedo DM3730 devkit") This patch corrects an issue where the cd-gpios was improperly setup using IRQ_TYPE_LEVEL_LOW instead of GPIO_ACTIVE_LOW. Signed-off-by: Adam Ford <aford173@gmail.com> Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-12-05ARM: dts: LogicPD Torpedo: Fix camera pin muxAdam Ford
commit 56322e123235370f1449c7444e311cce857d12f5 upstream. Fix commit 05c4ffc3a266 ("ARM: dts: LogicPD Torpedo: Add MT9P031 Support") In the previous commit, I indicated that the only testing was done by showing the camera showed up when probing. This patch fixes an incorrect pin muxing on cam_d0, cam_d1 and cam_d2. Signed-off-by: Adam Ford <aford173@gmail.com> Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-11-30ARM: 8721/1: mm: dump: check hardware RO bit for LPAEPhilip Derrin
commit 3b0c0c922ff4be275a8beb87ce5657d16f355b54 upstream. When CONFIG_ARM_LPAE is set, the PMD dump relies on the software read-only bit to determine whether a page is writable. This concealed a bug which left the kernel text section writable (AP2=0) while marked read-only in the software bit. In a kernel with the AP2 bug, the dump looks like this: ---[ Kernel Mapping ]--- 0xc0000000-0xc0200000 2M RW NX SHD 0xc0200000-0xc0600000 4M ro x SHD 0xc0600000-0xc0800000 2M ro NX SHD 0xc0800000-0xc4800000 64M RW NX SHD The fix is to check that the software and hardware bits are both set before displaying "ro". The dump then shows the true perms: ---[ Kernel Mapping ]--- 0xc0000000-0xc0200000 2M RW NX SHD 0xc0200000-0xc0600000 4M RW x SHD 0xc0600000-0xc0800000 2M RW NX SHD 0xc0800000-0xc4800000 64M RW NX SHD Fixes: ded947798469 ("ARM: 8109/1: mm: Modify pte_write and pmd_write logic for LPAE") Signed-off-by: Philip Derrin <philip@cog.systems> Tested-by: Neil Dick <neil@cog.systems> Reviewed-by: Kees Cook <keescook@chromium.org> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-11-30ARM: 8722/1: mm: make STRICT_KERNEL_RWX effective for LPAEPhilip Derrin
commit 400eeffaffc7232c0ae1134fe04e14ae4fb48d8c upstream. Currently, for ARM kernels with CONFIG_ARM_LPAE and CONFIG_STRICT_KERNEL_RWX enabled, the 2MiB pages mapping the kernel code and rodata are writable. They are marked read-only in a software bit (L_PMD_SECT_RDONLY) but the hardware read-only bit is not set (PMD_SECT_AP2). For user mappings, the logic that propagates the software bit to the hardware bit is in set_pmd_at(); but for the kernel, section_update() writes the PMDs directly, skipping this logic. The fix is to set PMD_SECT_AP2 for read-only sections in section_update(), at the same time as L_PMD_SECT_RDONLY. Fixes: 1e3479225acb ("ARM: 8275/1: mm: fix PMD_SECT_RDONLY undeclared compile error") Signed-off-by: Philip Derrin <philip@cog.systems> Reported-by: Neil Dick <neil@cog.systems> Tested-by: Neil Dick <neil@cog.systems> Tested-by: Laura Abbott <labbott@redhat.com> Reviewed-by: Kees Cook <keescook@chromium.org> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-11-21Revert "MLK-13548 ARM: dts: imx: Add 1.2GHz setpoint for imx7d"Stefan Agner
This reverts commit 511eacb77e74e9a23546b3afb0d2b2208eb4621c.
2017-11-21ARM: dts: omap5-uevm: Allow bootloader to configure USB Ethernet MACTony Lindgren
[ Upstream commit e13a22a406f20322651b8c0847f4210bdef246d1 ] Note that with 9730 the wiring is different compared to 9514 found on beagleboard xm for example. On beagleboard xm we have: /sys/bus/usb/devices/1-2 hub /sys/bus/usb/devices/1-2.1 9514 While on omap5-uevm we have: /sys/bus/usb/devices/1-2 hub /sys/bus/usb/devices/1-3 9730 Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Sasha Levin <alexander.levin@verizon.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-11-21ARM: OMAP2+: Fix init for multiple quirks for the same SoCTony Lindgren
[ Upstream commit 6e613ebf4405fc09e2a8c16ed193b47f80a3cbed ] It's possible that there are multiple quirks that need to be initialized for the same SoC. Fix the issue by not returning on the first match. Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Sasha Levin <alexander.levin@verizon.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-11-21ARM: dts: Fix am335x and dm814x scm syscon to probe childrenTony Lindgren
[ Upstream commit 1aa09df0854efe16b7a80358a18f0a0bebafd246 ] Without these changes children of the scn syscon won't probe. Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Sasha Levin <alexander.levin@verizon.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-11-21ARM: dts: Fix compatible for ti81xx uarts for 8250Tony Lindgren
[ Upstream commit f62280efe8934a1275fd148ef302d1afec8cd3df ] When using 8250_omap driver, we need to specify the right compatible value for the UART to work on dm814x and dm816x. Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Sasha Levin <alexander.levin@verizon.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-11-21arm: crypto: reduce priority of bit-sliced AES cipherEric Biggers
[ Not upstream because this is a minimal fix for a bug where arm32 kernels can use a much slower implementation of AES than is actually available, potentially forcing vendors to disable encryption on their devices.] All the aes-bs (bit-sliced) and aes-ce (cryptographic extensions) algorithms had a priority of 300. This is undesirable because it means an aes-bs algorithm may be used when an aes-ce algorithm is available. The aes-ce algorithms have much better performance (up to 10x faster). Fix it by decreasing the priority of the aes-bs algorithms to 250. This was fixed upstream by commit cc477bf64573 ("crypto: arm/aes - replace bit-sliced OpenSSL NEON code"), but it was just a small part of a complete rewrite. This patch just fixes the priority bug for older kernels. Signed-off-by: Eric Biggers <ebiggers@google.com> Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
2017-11-21MLK-16266-02 ARM: imx: Enhance the code to support new TO for imx6qpBai Ping
Previous code don't take care about the i.MX6QP revision update of new TO. So improve the code to include future TO support for i.MX6QP. Signed-off-by: Bai Ping <ping.bai@nxp.com> (cherry picked from commit 513e1c9f70cfd74cb758a2c56efccd2f031b4f1b)
2017-11-21MLK-16266-01 ARM: imx: improve the soc revision calculation flowBai Ping
On our i.MX6 SOC, the DIGPROG register is used for represent the SOC ID and silicon revision. The revision has two part: MAJOR and MINOR. each is represented in 8 bits in the register. bits [15:8]: reflect the MAJOR part of the revision; bits [7:0]: reflect the MINOR part of the revision; In our linux kernel, the soc revision is represented in 8 bits. MAJOR part and MINOR each occupy 4 bits. previous method does NOT take care about the MAJOR part in DIGPROG register. So reformat the revision read from the HW to compatible the revision format used in kernel. Signed-off-by: Bai Ping <ping.bai@nxp.com> (cherry picked from commit cf6fa1477149d4bddd096c71b46fa6c4cf9cf750)
2017-11-20mach-imx7d.c: use enet_out clk to decide on PHY clockMax Krummenacher
The i.MX 7 can provide a reference clock to the PHY or use a reference clock from an external circuit. If the device-tree node with compatible "fsl,imx7d-fec" has a clock named enet_out then provide the clock from the i.MX 7, if such a clock is missing use a clock provided from an external circuit. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Signed-off-by: Stefan Agner <stefan.agner@toradex.com> (cherry picked from commit 73c06d69321c45b69ffc864cbaaa7143da87d186) (cherry picked from commit d46df0826a9f948f05b71da80aa9397cb9337537)
2017-11-20ARM: imx: enet1: output reference clockMax Krummenacher
Enable output driver of Ethernet reference clock. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Signed-off-by: Stefan Agner <stefan.agner@toradex.com> (cherry picked from commit dab46121a94916a253d7283c8b85ea6dcfb6e628) (cherry picked from commit 0adde3fe0129ae91e71e079c495b5c28974663c8)
2017-11-20ARM: 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> (cherry picked from commit 8528181d20c3b1d8abe36f53cee95f7c62721e66)
2017-11-20ARM: 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> (cherry picked from commit e7495a45a76de4c738c429c07047a8173c2fd533)
2017-11-20ARM: dts: imx7-colibri: add Carrier Board 3.3V/5V regulatorsStefan Agner
Model the Carrier Board power distribution by adding a fixed 3.3V and 5V regulator. The 3.3V regulator is connected to the backlight as well as the display supply. The 5V regulator is used to supply USB VBUS. Signed-off-by: Stefan Agner <stefan@agner.ch> Signed-off-by: Shawn Guo <shawnguo@kernel.org> (cherry picked from commit 746380186d12159de1697c80e406783888478670)
2017-11-20ARM: dts: imx7-colibri: remove 1.8V fixed regulatorStefan Agner
The ADC is directly supplied by the PMIC 1.8V rail, remove the superfluous fixed regulator. Signed-off-by: Stefan Agner <stefan@agner.ch> Signed-off-by: Shawn Guo <shawnguo@kernel.org> (cherry picked from commit c9171bb5a9ed0d5168e0788189042a33b73d7616)
2017-11-20ARM: dts: imx7-colibri: allow to disable Ethernet railStefan Agner
The regulator-always-on property on the Ethernet rail prevents Linux from disabling the rail when Ethernet is shut down (suspend or simply link down). With this change the regulator framework will disable the rail when the Ethernet PHY is not used, saving power especially on carrier board not using Ethernet. Signed-off-by: Stefan Agner <stefan@agner.ch> Signed-off-by: Shawn Guo <shawnguo@kernel.org> (cherry picked from commit 8f4c8bd9561cafd10d3a885900213ce4a544edbe)
2017-11-20ARM: dts: imx7-colibri: fix PMIC voltagesStefan Agner
Fix wrong voltage of PWR_EN_+V3.3 rail. The error had no noticeable effect since no consumer explicitly requested a specific voltage. Also use round voltages as it is common in other device trees. Signed-off-by: Stefan Agner <stefan@agner.ch> Signed-off-by: Shawn Guo <shawnguo@kernel.org> (cherry picked from commit 55dfc902b87c506b90e11dc34f5acc2a840c4e78)
2017-11-18Revert "ARM: dts: imx53-qsb-common: fix FEC pinmux config"Greg Kroah-Hartman
This reverts commit 62b9fa2c436ffd9b87e6ed81df7f86c29fee092b which is commit 8b649e426336d7d4800ff9c82858328f4215ba01 upstream. Turns out not to be a good idea in the stable kernels for now as Patrick writes: As discussed for 4.4 stable queue this patch might break existing machines, if they use a different pinmux configuration with their own bootloader. Reported-by: Patrick BrĂ¼nn <P.Bruenn@beckhoff.com> Cc: Shawn Guo <shawnguo@kernel.org> Cc: Sasha Levin <alexander.levin@verizon.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-11-15ARM: 8720/1: ensure dump_instr() checks addr_limitMark Rutland
commit b9dd05c7002ee0ca8b676428b2268c26399b5e31 upstream. When CONFIG_DEBUG_USER is enabled, it's possible for a user to deliberately trigger dump_instr() with a chosen kernel address. Let's avoid problems resulting from this by using get_user() rather than __get_user(), ensuring that we don't erroneously access kernel memory. So that we can use the same code to dump user instructions and kernel instructions, the common dumping code is factored out to __dump_instr(), with the fs manipulated appropriately in dump_instr() around calls to this. Signed-off-by: Mark Rutland <mark.rutland@arm.com> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-11-15ARM: dts: STiH410-family: fix wrong parent clock frequencyPatrice Chotard
[ Upstream commit b9ec866d223f38eb0bf2a7c836e10031ee17f7af ] The clock parent was lower than child clock which is not correct. In some use case, it leads to division by zero. Signed-off-by: Gabriel Fernandez <gabriel.fernandez@st.com> Signed-off-by: Sasha Levin <alexander.levin@verizon.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-11-15ARM: omap2plus_defconfig: Fix probe errors on UARTs 5 and 6Tony Lindgren
[ Upstream commit 4cd6a59f5c1a9b0cca0da09fbba42b9450ffc899 ] We have more than four uarts on some SoCs and that can cause noise with errors while booting. Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Sasha Levin <alexander.levin@verizon.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-11-15ARM: dts: imx53-qsb-common: fix FEC pinmux configPatrick Bruenn
[ Upstream commit 8b649e426336d7d4800ff9c82858328f4215ba01 ] The pinmux configuration in device tree was different from manual muxing in <u-boot>/board/freescale/mx53loco/mx53loco.c All pins were configured as NO_PAD_CTL(1 << 31), which was fine as the bootloader already did the correct pinmuxing for us. But recently u-boot is migrating to reuse device tree files from the kernel tree, so it seems to be better to have the correct pinmuxing in our files, too. Signed-off-by: Patrick Bruenn <p.bruenn@beckhoff.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org> Signed-off-by: Sasha Levin <alexander.levin@verizon.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-11-08ARM: dts: mvebu: pl310-cache disable double-linefillYan Markman
commit cda80a82ac3e89309706c027ada6ab232be1d640 upstream. Under heavy system stress mvebu SoC using Cortex A9 sporadically encountered instability issues. The "double linefill" feature of L2 cache was identified as causing dependency between read and write which lead to the deadlock. Especially, it was the cause of deadlock seen under heavy PCIe traffic, as this dependency violates PCIE overtaking rule. Fixes: c8f5a878e554 ("ARM: mvebu: use DT properties to fine-tune the L2 configuration") Signed-off-by: Yan Markman <ymarkman@marvell.com> Signed-off-by: Igal Liberman <igall@marvell.com> Signed-off-by: Nadav Haklai <nadavh@marvell.com> [gregory.clement@free-electrons.com: reformulate commit log, add Armada 375 and add Fixes tag] Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-11-08ARM: 8715/1: add a private asm/unaligned.hArnd Bergmann
commit 1cce91dfc8f7990ca3aea896bfb148f240b12860 upstream. The asm-generic/unaligned.h header provides two different implementations for accessing unaligned variables: the access_ok.h version used when CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS is set pretends that all pointers are in fact aligned, while the le_struct.h version convinces gcc that the alignment of a pointer is '1', to make it issue the correct load/store instructions depending on the architecture flags. On ARMv5 and older, we always use the second version, to let the compiler use byte accesses. On ARMv6 and newer, we currently use the access_ok.h version, so the compiler can use any instruction including stm/ldm and ldrd/strd that will cause an alignment trap. This trap can significantly impact performance when we have to do a lot of fixups and, worse, has led to crashes in the LZ4 decompressor code that does not have a trap handler. This adds an ARM specific version of asm/unaligned.h that uses the le_struct.h/be_struct.h implementation unconditionally. This should lead to essentially the same code on ARMv6+ as before, with the exception of using regular load/store instructions instead of the trapping instructions multi-register variants. The crash in the LZ4 decompressor code was probably introduced by the patch replacing the LZ4 implementation, commit 4e1a33b105dd ("lib: update LZ4 compressor module"), so linux-4.11 and higher would be affected most. However, we probably want to have this backported to all older stable kernels as well, to help with the performance issues. There are two follow-ups that I think we should also work on, but not backport to stable kernels, first to change the asm-generic version of the header to remove the ARM special case, and second to review all other uses of CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS to see if they might be affected by the same problem on ARM. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-11-08arm/arm64: kvm: Disable branch profiling in HYP codeJulien Thierry
commit f9b269f3098121b5d54aaf822e0898c8ed1d3fec upstream. When HYP code runs into branch profiling code, it attempts to jump to unmapped memory, causing a HYP Panic. Disable the branch profiling for code designed to run at HYP mode. Signed-off-by: Julien Thierry <julien.thierry@arm.com> Acked-by: Marc Zyngier <marc.zyngier@arm.com> Cc: Christoffer Dall <christoffer.dall@linaro.org> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Will Deacon <will.deacon@arm.com> Cc: Russell King <linux@armlinux.org.uk> Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-11-08arm/arm64: KVM: set right LR register value for 32 bit guest when inject abortDongjiu Geng
commit fd6c8c206fc5d0717b0433b191de0715122f33bb upstream. When a exception is trapped to EL2, hardware uses ELR_ELx to hold the current fault instruction address. If KVM wants to inject a abort to 32 bit guest, it needs to set the LR register for the guest to emulate this abort happened in the guest. Because ARM32 architecture is pipelined execution, so the LR value has an offset to the fault instruction address. The offsets applied to Link value for exceptions as shown below, which should be added for the ARM32 link register(LR). Table taken from ARMv8 ARM DDI0487B-B, table G1-10: Exception Offset, for PE state of: A32 T32 Undefined Instruction +4 +2 Prefetch Abort +4 +4 Data Abort +8 +8 IRQ or FIQ +4 +4 [ Removed unused variables in inject_abt to avoid compile warnings. -- Christoffer ] Signed-off-by: Dongjiu Geng <gengdongjiu@huawei.com> Tested-by: Haibin Zhang <zhanghaibin7@huawei.com> Reviewed-by: Marc Zyngier <marc.zyngier@arm.com> Signed-off-by: Christoffer Dall <cdall@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-10-11MLK-16564-03 ARM: imx_v7_defconfig: enable rpmsg gpio driverFugang Duan
Enable CONFIG_GPIO_IMX_RPMSG to support rpmsg gpio driver in default. Reviewed-by: Richard Zhu <hongxing.zhu@nxp.com> Reviewed-by: Robin Gong <yibin.gong@nxp.com> Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
2017-10-11MLK-16564-02 dts: imx7ulp-evk: add rpmsg gpio PTA and PTB supportFugang Duan
Add rpmsg gpio PTA and PTB support. Since currently M4 image support dynamical channel allocation, and reserve below memory for kernel service and app channel: * --0x9FF00000~0x9FF0FFFF: pmic,pm,audio,keys,gpio * --0x9FF10000~0x9FF1FFFF: pingpong,virtual tty Change the rpmsg instances of A core part to sync with M core. Test M4 image built from Wayne Feng, M4 image commit ID: b1321d4aca82 Reviewed-by: Richard Zhu <hongxing.zhu@nxp.com> Reviewed-by: Robin Gong <yibin.gong@nxp.com> Signed-off-by: Fugang Duan <fugang.duan@nxp.com>