summaryrefslogtreecommitdiff
path: root/arch/arm
AgeCommit message (Collapse)Author
2017-05-30ARM: make configuration of userspace Thumb support an expert optionRussell King
David Mosberger reports random segfaults and other problems when running his buildroot userspace. It turns out that his kernel did not have support for Thumb userspace, nor did his application, but glibc made use of Thumb instructions in glibc. The kernel Thumb support option already recommends being enabled, and is also so biased, but clearly this is not enough of a recommendation. So, hide this behind CONFIG_EXPERT as well, and include a note to indicate the potential issues if it's turned off and userspace Thumb mode is made use of. Reported-by: David Mosberger <davidm@egauge.net> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2017-05-30ARM: dts: da850: Add interrupt-controller property to gpio nodeKeerthy
The gpio node has 144 gpios. Each gpio is capable of generating an interrupt. Hence add interrupt-controller property to the gpio node. With this in place one can use interrupts property in device tree to request for the gpio interrupts. Signed-off-by: Keerthy <j-keerthy@ti.com> Signed-off-by: Sekhar Nori <nsekhar@ti.com>
2017-05-30ARM: davinci_all_defconfig: Enable CPPI 4.1 USB OTG DMAAlexandre Bailon
CPPI 4.1 DMA is now supported on AM18xx. Update the config to use it instead of PIO mode. Signed-off-by: Alexandre Bailon <abailon@baylibre.com> Signed-off-by: Sekhar Nori <nsekhar@ti.com>
2017-05-30ARM: dts: da850: Add CPPI 4.1 DMA to USB OTG controllerAlexandre Bailon
This adds CPPI 4.1 DMA controller to USB OTG controller. Changes since v2: - Fixed the the property reg-names (had glue register defined) - Removed few useless property Signed-off-by: Alexandre Bailon <abailon@baylibre.com> Signed-off-by: Sekhar Nori <nsekhar@ti.com>
2017-05-30arm: dma-mapping: Reset the device's dma_opsSricharan R
arch_teardown_dma_ops() being the inverse of arch_setup_dma_ops() ,dma_ops should be cleared in the teardown path. Currently, only the device's iommu mapping structures are cleared in arch_teardown_dma_ops, but not the dma_ops. So on the next reprobe, dma_ops left in place is stale from the first IOMMU setup, but iommu mappings has been disposed of. This is a problem when the probe of the device is deferred and recalled with the IOMMU probe deferral. So for fixing this, slightly refactor by moving the code from __arm_iommu_detach_device to arm_iommu_detach_device and cleanup the former. This takes care of resetting the dma_ops in the teardown path. Fixes: 09515ef5ddad ("of/acpi: Configure dma operations at probe time for platform/amba/pci bus devices") Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Sricharan R <sricharan@codeaurora.org> Signed-off-by: Joerg Roedel <jroedel@suse.de>
2017-05-30ARM: dma-mapping: Don't tear down third-party mappingsLaurent Pinchart
arch_setup_dma_ops() is used in device probe code paths to create an IOMMU mapping and attach it to the device. The function assumes that the device is attached to a device-specific IOMMU instance (or at least a device-specific TLB in a shared IOMMU instance) and thus creates a separate mapping for every device. On several systems (Renesas R-Car Gen2 being one of them), that assumption is not true, and IOMMU mappings must be shared between multiple devices. In those cases the IOMMU driver knows better than the generic ARM dma-mapping layer and attaches mapping to devices manually with arm_iommu_attach_device(), which sets the DMA ops for the device. The arch_setup_dma_ops() function takes this into account and bails out immediately if the device already has DMA ops assigned. However, the corresponding arch_teardown_dma_ops() function, called from driver unbind code paths (including probe deferral), will tear the mapping down regardless of who created it. When the device is reprobed arch_setup_dma_ops() will be called again but won't perform any operation as the DMA ops will still be set. We need to reset the DMA ops in arch_teardown_dma_ops() to fix this. However, we can't do so unconditionally, as then a new mapping would be created by arch_setup_dma_ops() when the device is reprobed, regardless of whether the device needs to share a mapping or not. We must thus keep track of whether arch_setup_dma_ops() created the mapping, and only in that case tear it down in arch_teardown_dma_ops(). Keep track of that information in the dev_archdata structure. As the structure is embedded in all instances of struct device let's not grow it, but turn the existing dma_coherent bool field into a bitfield that can be used for other purposes. Fixes: 09515ef5ddad ("of/acpi: Configure dma operations at probe time for platform/amba/pci bus devices") Reviewed-by: Robin Murphy <robin.murphy@arm.com> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Signed-off-by: Joerg Roedel <jroedel@suse.de>
2017-05-29ARM: at91: select CONFIG_ARM_CPU_SUSPENDArnd Bergmann
The reference to cpu_resume requires the corresponding generic code to be enabled when CONFIG_PM is set: arch/arm/mach-at91/pm.o: In function `sama5d2_pm_init': pm.c:(.init.text+0x5e8): undefined reference to `cpu_resume' Fixes: 24a0f5c539f9 ("ARM: at91: pm: Add sama5d2 backup mode") Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
2017-05-29ARM: dts: orange-pi-zero: add node for SPI NORSergey Matyukevich
Add node for SPI NOR flash on orange-pi-zero board. Disable this node by default and leave it to users to enable it if their board has SPI NOR flash chip populated. SPI NOR flash was optional in the first production batch in Dec 2016. In later batches flash chip was pre-populated. However there should be quite a few boards around which do not have flash chip. Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-05-29ARM: sun7i: a20: cubietruck: Tie AXP209's USB power supply to USB PHYChen-Yu Tsai
The USB PHY can use either a GPIO pin or the PMIC's USB power supply to sense VBUS. Since both options are available on the Cubietruck, add the missing property for the USB power supply to the USB PHY node. The device tree provides all usable options. Ultimately, which method is used is up to the driver implementation. Signed-off-by: Chen-Yu Tsai <wens@csie.org> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-05-29ARM: sun6i: a31: hummingbird: Enable AXP221's ACIN power supplyChen-Yu Tsai
The ACIN pins of the AXP221 PMIC on the A31 Hummingbird are tied to the DC jack on the board through a 12V to 5V buck converter. Enable the ACIN power supply. Signed-off-by: Chen-Yu Tsai <wens@csie.org> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-05-29ARM: sun4i: a10: cubieboard: Enable AXP209's ACIN power supplyChen-Yu Tsai
The ACIN pins of the AXP209 PMIC on the Cubieboard are tied to the DC jack on the board. Enable the ACIN power supply. Signed-off-by: Chen-Yu Tsai <wens@csie.org> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-05-29ARM: sun7i: a20: bananapi-m1-plus: Enable AXP209's ACIN power supplyChen-Yu Tsai
The ACIN pins of the AXP209 PMIC on the Bananapi M1 Plus are tied to the "power input" micro USB connector next to the SATA connector on the board. Enable the ACIN power supply. Signed-off-by: Chen-Yu Tsai <wens@csie.org> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-05-29ARM: sun7i: a20: cubieboard2: Enable AXP209's ACIN power supplyChen-Yu Tsai
The ACIN pins of the AXP209 PMIC on the Cubieboard 2 are tied to the DC jack on the board. Enable the ACIN power supply. Signed-off-by: Chen-Yu Tsai <wens@csie.org> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-05-29ARM: sun7i: a20: cubieboard2: Move usb_otg node for alphabetical orderingChen-Yu Tsai
We want to keep node references in alphabetical order, except for instances where node must be #included first. Move the usb_otg node reference so that all references to non-AXP209 device nodes are in alphabetical order. Signed-off-by: Chen-Yu Tsai <wens@csie.org> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-05-27ARM: dts: vf610-zii: Add switch eeprom-length propertiesAndrew Lunn
Two of the Ethernet switches on this board have EEPROMs connected. Add the eeprom-length property to the device tree, making it possible to access the EEPROM using ethtool -e. Signed-off-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2017-05-26ARM: dts: meson: Extend L2 cache controller node for Meson8 and Meson8bCarlo Caione
This patch extends the L2 cache controller node for the Amlogic Meson8 and Meson8b SoCs with some missing parameters. These are taken from the Amlogic GPL kernel source. Signed-off-by: Carlo Caione <carlo@endlessm.com> [apply the change to Meson8 and Meson8b and updated description] Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-05-26ARM: dts: meson8b: inherit meson.dtsi from meson8b.dtsiMartin Blumenstingl
Currently only meson6.dtsi and meson8.dtsi inherit the generic meson.dtsi. However, since the Meson8b platform is basically a slightly updated version of Meson8 we can safely inherit meson.dtsi. An indicator for this are the nodes which are identical in meson.dtsi and meson8b.dtsi (L2, gic, timer, uart_AO, uart_A, uart_B, uart_C). Additionally this makes the following devices available on Meson8b which were not avaialble before (however, since all affected drivers support Meson6, Meson8 and the whole GX series there's no reason to assume that they are not working): - i2c_a and i2c_B - the IR receiver - SPFIC (SPI flash controller) - the dwmac ethernet controller Differences between Meson8 and Meson8b seem to be: - ARM Cortex-A5 core instead of Cortex-A9 on Meson8 - dwmac on Meson8b supports RGMII - small pinctrl updates Inheriting meson.dtsi makes it easier to maintain by removing duplicate definitions. Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-05-26ARM: dts: meson: organize devices in their corresponding bussesMartin Blumenstingl
The Amlogic Meson SoCs have most of the internal peripherals organized in busses. Use them to make the dts easier to read and to avoid duplicated register (bus) offset definitions. The bus information is taken from the vendor kernel: #define IO_CBUS_PHY_BASE 0xc1100000 ///2M #define IO_AOBUS_PHY_BASE 0xc8100000 ///1M There are more internal busses (such as the abp bus which seems to contain audio, HDMI and Mali registers), but since we don't have drivers for them yet these are not added (yet). Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> [khilman: minor whitespace fix] Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-05-26ARM: dts: Configure USB host for 37xx-evmTony Lindgren
Looks like nobody bothered to configure USB host for 37xx-evm when we converted things to device tree, so let's add it. This is similar to beagleboard configuration with few extra quirks to configure the port. And as with beagleboard, OHCI won't work because there is no USB LS/FS PHY. A HS USB hub is needed to use devices like keyboard and mice. Acked-by: Roger Quadros <rogerq@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-05-26ARM: dts: omap: Add generic compatible string for I2C EEPROMJavier Martinez Canillas
The at24 driver allows to register I2C EEPROM chips using different vendor and devices, but the I2C subsystem does not take the vendor into account when matching using the I2C table since it only has device entries. But when matching using an OF table, both the vendor and device has to be taken into account so the driver defines only a set of compatible strings using the "atmel" vendor as a generic fallback for compatible I2C devices. So add this generic fallback to the device node compatible string to make the device to match the driver using the OF device ID table. Signed-off-by: Javier Martinez Canillas <javier@dowhile0.org> Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-05-26ARM: dts: Enable earlycon stdout path for LogicPD torpedoTony Lindgren
As long as the kernel cmdline has "earlycon" in it, this allows seeing debug messages earlier and does not require DEBUG_LL to be enabled. Acked-by: Adam Ford <aford173@gmail.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-05-26ARM: dts: Enable earlycon stdout path for duoveroTony Lindgren
As long as the kernel cmdline has "earlycon" in it, this allows seeing debug messages earlier and does not require DEBUG_LL to be enabled. Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-05-26arm: dts: boneblack-wireless: add WL1835 Bluetooth device nodeRicardo Salveti
This adds the serial slave device for the WL1835 Bluetooth interface. Signed-off-by: Ricardo Salveti <ricardo.salveti@linaro.org> Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-05-26ARM: dts: am571x-idk: Enable the system mailboxes 5 and 6Suman Anna
Enable the System Mailboxes 5 and 6 and the corresponding child sub-mailbox (IPC 3.x) nodes for the AM571x IDK board. This is needed to enable communication with the respective remote processors IPU1, IPU2, and DSP1 from the MPU. Signed-off-by: Suman Anna <s-anna@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-05-26ARM: dts: am572x-idk: Enable the system mailboxes 5 and 6Suman Anna
Enable the System Mailboxes 5 and 6 and the corresponding child sub-mailbox (IPC 3.x) nodes for the AM572x IDK board. This is needed to enable communication with the respective remote processors IPU1, IPU2, DSP1 and DSP2 from the MPU. Signed-off-by: Suman Anna <s-anna@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-05-26ARM: dts: omap4-devkit8000: fix gpmc ranges propertyUwe Kleine-König
With two separate &gpmc nodes the second ranges property overwrites the first. So put nand and ethernet in a single node and merge the ranges. While at it also fix the ethernet suffix. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-05-26ARM: dts: am335x-sl50: Fix cannot claim requested pins for spi0Enric Balletbo i Serra
We don't need to bitbang these pins anymore, instead we muxed these pins as SPI, after this change, done in commit 6c69f726, we introduced the following error: pinctrl-single 44e10800.pinmux: pin PIN85 already requested \ by 44e10800.pinmux; cannot claim for 48030000.spi pinctrl-single 44e10800.pinmux: pin-85 (48030000.spi) status -22 Fixes: 6c69f726 ("ARM: dts: am335x-sl50: Enable SPI0 interface and Flash Memory") Cc: <stable@vger.kernel.org> # 4.11 Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-05-26ARM: dts: am335x-sl50: Fix card detect pin for mmc1Enric Balletbo i Serra
The second version of the hardware moved the card detect pin from gpio0_6 to gpio1_9, as we won't support the first hardware version fix the pinmux configuration of this pin. Fixes: 8584d4fc ("ARM: dts: am335x-sl50: Add Toby-Churchill SL50 board support.") Cc: <stable@vger.kernel.org> # 4.11 Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-05-26ARM: dts: keystone-k2l: fix broken Ethernet due to disabled OSRMurali Karicheri
Ethernet networking on K2L has been broken since v4.11-rc1. This was caused by commit 32a34441a9bd ("ARM: keystone: dts: fix netcp clocks and add names"). This commit inadvertently moves on-chip static RAM clock to the end of list of clocks provided for netcp. Since keystone PM domain support does not have a list of recognized con_ids, only the first clock in the list comes under runtime PM management. This means the OSR (On-chip Static RAM) clock remains disabled and that broke networking on K2L. The OSR is used by QMSS on K2L as an external linking RAM. However this is a standalone RAM that can be used for non-QMSS usage (as well as from DSP side). So add a SRAM device node for the same and add the OSR clock to the node. Remove the now redundant OSR clock node from netcp. To manage all clocks defined for netCP's use by runtime PM needs keystone generic power domain (genpd) driver support which is under works. Meanwhile, this patch restores K2L networking and is correct irrespective of any future genpd work since OSR is an independent module and not part of NetCP anyway. Signed-off-by: Murali Karicheri <m-karicheri2@ti.com> Acked-by: Tero Kristo <t-kristo@ti.com> [nsekhar@ti.com: commit message updates, port to latest mainline] Signed-off-by: Sekhar Nori <nsekhar@ti.com> Cc: stable@vger.kernel.org # for 4.11 Acked-by: Santosh Shilimkar <ssantosh@kernel.org> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2017-05-26arm: Prevent hotplug rwsem recursionThomas Gleixner
The text patching functions which are invoked from jump_label and kprobes code are protected against cpu hotplug at the call sites. Use stop_machine_cpuslocked() to avoid recursion on the cpu hotplug rwsem. stop_machine_cpuslocked() contains a lockdep assertion to catch any unprotected callers. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Ingo Molnar <mingo@kernel.org> Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Sebastian Siewior <bigeasy@linutronix.de> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Russell King <linux@armlinux.org.uk> Cc: linux-arm-kernel@lists.infradead.org Link: http://lkml.kernel.org/r/20170524081549.275871311@linutronix.de
2017-05-26ARM/hw_breakpoint: Use cpuhp_setup_state_cpuslocked()Sebastian Andrzej Siewior
arch_hw_breakpoint_init() holds get_online_cpus() while registerring the hotplug callbacks. cpuhp_setup_state() invokes get_online_cpus() as well. This is correct, but prevents the conversion of the hotplug locking to a percpu rwsem. Use cpuhp_setup_state_cpuslocked() to avoid the nested call. Convert *_online_cpus() to the new interfaces while at it. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Ingo Molnar <mingo@kernel.org> Acked-by: Mark Rutland <mark.rutland@arm.com> Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Will Deacon <will.deacon@arm.com> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Russell King <linux@armlinux.org.uk> Cc: linux-arm-kernel@lists.infradead.org Link: http://lkml.kernel.org/r/20170524081548.170940729@linutronix.de
2017-05-26ARM: dts: gose: add HDMI inputUlrich Hecht
Identical to the setup on Koelsch. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@gmail.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2017-05-26ARM: dts: qcom-apq8064: Collapse usb support into one nodeStephen Boyd
We currently have three device nodes for the same USB hardware block, as evident by the reuse of the same reg address multiple times. Now that the chipidea driver fully supports OTG with the MSM wrapper we can collapse the three nodes into one USB device node, reflecting the true nature of the hardware. Since we're here, we also mark the irq trigger flags correctly, as IRQ_TYPE_LEVEL_HIGH instead of IRQ_TYPE_NONE. Cc: Bjorn Andersson <bjorn.andersson@linaro.org> Cc: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Cc: Nicolas Dechesne <nicolas.dechesne@linaro.org> Cc: John Stultz <john.stultz@linaro.org> Signed-off-by: Stephen Boyd <stephen.boyd@linaro.org> Signed-off-by: Andy Gross <andy.gross@linaro.org>
2017-05-26ARM: dts: qcom-msm8974: Add HS usb node and OTG detection mechanismsStephen Boyd
This USB controller has two phys, so add them both underneath the ULPI bus, but only enable one of them based on the board configuration. To get OTG to work, we need to add the id and vbus detection info and also populate the regulators for the vbus supply. Signed-off-by: Stephen Boyd <stephen.boyd@linaro.org> Signed-off-by: Andy Gross <andy.gross@linaro.org>
2017-05-26ARM: dts: qcom: add charger otg regulatorBird, Tim
Add the otg regulator provided by the charger block. Signed-off-by: Tim Bird <tim.bird@sonymobile.com> Reviewed-by: Bjorn Andersson <bjorn.andersson@sonymobile.com> [stephen.boyd@linaro.org: Fix otg supply property name] Signed-off-by: Stephen Boyd <stephen.boyd@linaro.org> Signed-off-by: Andy Gross <andy.gross@linaro.org>
2017-05-26ARM: dts: qcom: Remove s4/5vs1,2 from RPM pm8941 controlStephen Boyd
These regulators are controlled by the SPMI regulator driver instead of the RPM regulator driver in the downstream android kernel sources. Let's remove them from the DTS here because they'll never be used by the RPM regulator driver. Cc: Bjorn Andersson <bjorn.andersson@linaro.org> Signed-off-by: Stephen Boyd <stephen.boyd@linaro.org> Signed-off-by: Andy Gross <andy.gross@linaro.org>
2017-05-25Merge tag 'arm-soc/for-4.12/devicetree-fixes-2' of ↵Olof Johansson
http://github.com/Broadcom/stblinux into fixes This pull request contains Broadcom ARM-based SoCs Device Tree fixes for 4.12, please pull the following: - Phil provides a fix for the BCM283x (Raspberry Pi) by flagging the first 4KiB of physical memory as a reserved region in order to let the secondary cores successfully spin until they are brought online * tag 'arm-soc/for-4.12/devicetree-fixes-2' of http://github.com/Broadcom/stblinux: ARM: dts: bcm283x: Reserve first page for firmware Signed-off-by: Olof Johansson <olof@lixom.net>
2017-05-25Merge tag 'davinci-fixes-for-v4.12' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci into fixes These fix issues with power management initialization code on DaVinci. Some resources were getting freed prematurely. And there was an issue with resources not being on error. * tag 'davinci-fixes-for-v4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci: ARM: davinci: PM: Do not free useful resources in normal path in 'davinci_pm_init' ARM: davinci: PM: Free resources in error handling path in 'davinci_pm_init' Signed-off-by: Olof Johansson <olof@lixom.net>
2017-05-25ARM: dts: tx6: Remove 'enable-active-low' propertyFabio Estevam
Property 'enable-active-low' does not exist. Only 'enable-active-high' is valid, and when this property is absent the gpio regulator will act as active low by default. So remove the unexisting 'enable-active-low' property. Currently the GPIO flag is GPIO_ACTIVE_HIGH. In order to make the dts description accurate, pass the GPIO_ACTIVE_LOW flag instead. This change is safe because the gpio regulator driver does not take the GPIO flag polarity into account. Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com> Acked-by: Lothar Waßmann <LW@KARO-electronics.de> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2017-05-25ARM: dts: imx23-sansa: Remove 'enable-active-low' propertyFabio Estevam
Property 'enable-active-low' does not exist. Only 'enable-active-high' is valid, and when this property is absent the gpio regulator will act as active low by default. So remove the unexisting 'enable-active-low' property. Currently the GPIO flag is 0, which means active-high. In order to make the dts description accurate, pass the GPIO_ACTIVE_LOW flag instead. This change is safe because the gpio regulator driver does not take the GPIO flag polarity into account. Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2017-05-25ARM: dts: imx7d-pico: Pass 'no-1-8-v' property to the eMMCFabio Estevam
Currently the following eMMC error is seen: mmc1: mmc_select_hs200 failed, error -74 On imx7d-pico the eMMC VCCQ is fixed at 3.15V, so pass the 'no-1-8-v' property to properly describe that 1.8V operation is not possible. Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2017-05-25ARM: dts: imx7d-pico: Add watchdog supportFabio Estevam
imx7d-pico has the WDOG1_B pin connected to the PMIC, so add the wdog1 node and use the 'fsl,ext-reset-output' property to properly describe it. Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2017-05-25ARM: dts: imx: Add generic compatible string for I2C EEPROMJavier Martinez Canillas
The at24 driver allows to register I2C EEPROM chips using different vendor and devices, but the I2C subsystem does not take the vendor into account when matching using the I2C table since it only has device entries. But when matching using an OF table, both the vendor and device has to be taken into account so the driver defines only a set of compatible strings using the "atmel" vendor as a generic fallback for compatible I2C devices. So add this generic fallback to the device node compatible string to make the device to match the driver using the OF device ID table. Signed-off-by: Javier Martinez Canillas <javier@dowhile0.org> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2017-05-25ARM: dts: imx6: use #include "..." to include local DTMasahiro Yamada
Most of DT files in ARM use #include "..." to make pre-processor include DT in the same directory, but we have some exceptional files that use #include <...> for that. Fix them to remove -I$(srctree)/arch/$(SRCARCH)/boot/dts path from dtc_cpp_flags. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2017-05-24ARM: dts: Add clocks to the Gemini SoCLinus Walleij
We have a clock controller for the Gemini SoC, so make use of the driver and add clocks to the peripherals. Remove the hard-coded frequency from the UART and add switch the timer compatible to the generic that uses the clock framework for clock speed look-up. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2017-05-24ARM: dts: Add the Gemini reset controllerLinus Walleij
This adds the Gemini reset controller to the Gemini SoC DTSI file and also adds the reset references to all existing blocks already in the device tree. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2017-05-24ARM/dmaengine: pl08x: pass reasonable memcpy settingsLinus Walleij
We cannot use bits from configuration registers as API between platforms and driver like this, abstract it out to two enums and mimic the stuff passed as device tree data. This is done to make it possible for the driver to generate the ccfg word on-the-fly so we can support more PL08x derivatives. Acked-by: Olof Johansson <olof@lixom.net> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
2017-05-23ARM: 8673/1: Fix __show_regs output timestampsJoe Perches
Multiple line formats are not preferred as the second and subsequent lines may not have timestamps. Lacking timestamps makes reading the output a bit difficult. This also makes arm/arm64 output more similar. Previous: [ 1514.093231] pc : [<bf79c304>] lr : [<bf79ced8>] psr: a00f0013 sp : ecdd7e20 ip : 00000000 fp : ffffffff New: [ 1514.093231] pc : [<bf79c304>] lr : [<bf79ced8>] psr: a00f0013 [ 1514.105316] sp : ecdd7e20 ip : 00000000 fp : ffffffff Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2017-05-23ARM: 8675/1: MCPM: ensure not to enter __hyp_soft_restart from loopback and ↵Sudeep Holla
cpu_power_down Commit 9da5ac236de6 ("ARM: soft-reboot into same mode that we entered the kernel") added support to enter the new kernel in the same processor mode as the previous one when we soft-reboot from one kernel into another by pass a flag to cpu_reset() so it knows what to do exactly. However it missed to make similar changes in MCPM code. Due to the missing flag, the CPUs enter HYP mode which is not supported with MCPM. MCPM works only in secure mode as it manages CCI. This patch aligns the cpu_reset call in MCPM with other changes in the above mentioned commit by making phys_reset_t to follow the prototype of cpu_reset(). Fixes: 9da5ac236de6 ("ARM: soft-reboot into same mode that we entered the kernel") Acked-by: Nicolas Pitre <nico@linaro.org> Signed-off-by: Sudeep Holla <sudeep.holla@arm.com> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2017-05-23KVM: arm/arm64: Simplify active_change_prepare and plug raceChristoffer Dall
We don't need to stop a specific VCPU when changing the active state, because private IRQs can only be modified by a running VCPU for the VCPU itself and it is therefore already stopped. However, it is also possible for two VCPUs to be modifying the active state of SPIs at the same time, which can cause the thread being stuck in the loop that checks other VCPU threads for a potentially very long time, or to modify the active state of a running VCPU. Fix this by serializing all accesses to setting and clearing the active state of interrupts using the KVM mutex. Reported-by: Andrew Jones <drjones@redhat.com> Signed-off-by: Christoffer Dall <cdall@linaro.org> Reviewed-by: Marc Zyngier <marc.zyngier@arm.com>