summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-03-21ARM: disable_nonboot_cpus before poweroffColibri_iMX6_LinuxImageV2.6Beta1_20160331Apalis_iMX6_LinuxImageV2.6Beta1_20160331Stefan Agner
If poweroff takes a bit more time (e.g. due to I2C call), it is quite likely that another timer interrupt fires. Timer interrupt get broadcasted through the timer interrupt callback tick_handle_oneshot_broadcast. This code broadcasts the timer interrupt to all CPU's in tick_broadcast_oneshot_mask. The only function which removes CPU from this mask is tick_shutdown_broadcast_oneshot which ultimately get called by _cpu_down (in kernel/cpu.c). The function disable_nonboot_cpus makes sure that the CPU's get properly taken down and _cpu_down gets called. With that no more broadcasts are sent to CPU's which are no longer online. Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2016-03-18rn5t567: register ARM reset callbackStefan Agner
Use the PMIC repower capabilities to reboot the module. Register arm_pm_restart to trigger a cold reboot using the PMIC. Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2016-03-18rn5t567: do not register poweroffStefan Agner
The Colibri iMX7 uses the SNVS_PMIC_ON_REQ signal (connected to the PMIC's PMIC_ON_EXTIN GPIO) to power off the module. The SNVS RTC driver provides a poweroff callback which causes that signal to go low. However, the current PMIC driver registers a poweroff callback earlier and therefor the kernel uses the PMIC poweroff instead of the SNVS RTC poweroff callback. Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2016-03-18ARM: dts: imx7d-colibri: disable power keyStefan Agner
Disable SNVS power key functionality by default for Colibri i.MX 7 modules. The SNVS power key uses the ONOFF signal, which is directly controlled by reset and therefor not really a power key available to the user. Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2016-03-09imx7d-colibri.dts: fix double declared UART1 DSR/RI pinmuxingColibri_iMX7_LinuxImageV2.6Alpha1_20160315Max Krummenacher
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2016-03-09imx7d-colibri.dts: add PMIC / TOUCH interrupt gpioMax Krummenacher
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2016-03-09imx7d-colibri.dts: implement mmc card detectMax Krummenacher
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2016-03-09rn5txxx-regulator.c: allow GPIO 0 to be used for an enable signalMax Krummenacher
Follow commit 286098c029bda740822e68ba6ac2ba0b2fe7c5d3 GPIO number 0 *is* legal and must be accepted. Set .ena_gpio to -ENODEV on regulators having no GPIO in preparation of a code change to accept GPIO 0 in the config. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2016-03-09colibri_imx7_defconfig: fix NAND / Thermal Sensor / USBMax Krummenacher
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2016-03-09CONFIG_FB_MXS: allow build without configuring IPU alsoMax Krummenacher
Both drivers, FB_MXS and IPUv3 use functionality from mxc_dispdrv.c. Allow for a configuartion which builds only FB_MXS. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2016-03-09drivers/mtd/nand/Kconfig: allow MTD_NAND_GPMI_NAND for i.MX 7Max Krummenacher
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2016-03-09drivers/dma/Kconfig: allow MXS_DMA for i.MX 7Max Krummenacher
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2016-03-09arm/mach-imx: add i.MX7 features to SOC_IMX7Max Krummenacher
Allow for a build targeting iMX 7 devices without relying on configuration from i.MX6 and friends. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2016-03-09colibri_imx7_defconfig: cleanup and sync with Colibri iMX6Stefan Agner
Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2016-03-09ARM: imx: fix i.MX7D build without i.MX6Stefan Agner
Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2016-03-09ARM: dts: imx7d-colibri: use external Ethernet PHY clockMax Krummenacher
Add workaround for M4 NMI issue. Set the Ethernet PHY reference clock to be generated externaly from the i.MX 7 by default (Colibri i.MX 7 V1.1 sample batch) Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2016-03-09mach-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>
2016-03-09sgtl5000.c: HACK, defer probe when I2C not yet runningMax Krummenacher
Without MCLK the sgtl5000 does not answer I2C reads. So defere probing to later if no sgtl5000 is found. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2016-03-09ARM: dts: imx7s-colibri: add working dts for soloMax Krummenacher
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2016-03-09video: fbdev: mxsfb: fix pixelclock polarityStefan Agner
The PIXDATA flags of the display_flags enum are controller centric, e.g. NEGEDGE means the controller shall drive the data signals on pixelclocks negative edge. However, the drivers flag is display centric: Sample the data on negative (falling) edge. Therefore, change the if statement to check for the POSEDGE flag (which is typically not set): Drive on positive edge => sample on negative edge Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2016-03-09ARM: dts: imx7d-colibri: add AD7879 device tree nodeStefan Agner
Add device tree node for resistive touch screen controller AD7879. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2016-03-09input: touchscreen: ad7879: add device tree supportStefan Agner
Add device tree support to the I2C variant of AD7879 (AD7879-1). This allows to specify the touchscreen controller as a I2C client node. Most of the options available as platform data are also available as device tree nodes. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2016-03-09input: touchscreen: ad7879: fix default x/y axis assignmentStefan Agner
The measurements read from the controller which are temporarly stored in conversion_data, are interpreted wrong. The first measurement X+ contains the Y position, and the second measurement Y+ the X position (see also Table 11 Register Table in the data sheet). The problem is already known, the change 6680884a4420 ("Input: ad7879 - add option to correct xy axis") introduced a swap option. However, the meaning of this boolean was inverted since the underlaying values were already swapped. With this change, swap_xy = true actually swaps the two axis. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2016-03-09ARM: dts: imx7d-colibri: add Cortex-M4 related nodesStefan Agner
Add TCM and OCRAM specifications required by the PM code, otherwise booting Linux will fail in imx7d_pm_init. Also add mcctest, mcctty and rpmsg nodes required to enable rpmsg based communciation examples between the two cores. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2016-03-08chipidea: make usb charger optionalMax Krummenacher
The USB charger functionality depends on functions provided by CONFIG_POWER_SUPPLY but this dependency is not forced through Kconfig. Don't compile the functionality in when CONFIG_POWER_SUPPLY is not set. This fixes linker errors of not found symbols. power_supply_changed power_supply_register power_supply_unregister Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2016-03-08ARM: imx: gpc: exit with error if IPG clock is missingMax Krummenacher
If IPG clock of the GPC block is missing, we won't be able to get the IPG bus clock later on. Return with an error if the IPG clock is missing. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> [exit with error on missing IPG clock] Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2016-03-08mmc: sdhci-esdhc-imx: Fixup runtime PM conditions during ->probe()Ulf Hansson
By configure runtime PM prior we enable the use of it, we close the gap for strange and unhandled conditions. Moreover it makes us rely on the driver core, after finalized ->probe(), to request an inactive device to become runtime PM idle/suspended, which earlier potentially could happen already at pm_runtime_set_autosuspend_delay(). Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> (cherry picked from commit 77903c01d8c6c5d2544085ba074aceadc1191d21)
2016-03-08ARM: 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>
2016-03-08colibri_imx7_defconfig: add initialMax Krummenacher
Do not include MXC V4L2 capture drivers for now, they cause compile time errors: | ERROR: "foreground_sdc_deselect" [drivers/media/platform/mxc/capture/mxc_v4l2_capture.ko] undefined! | ERROR: "bg_overlay_sdc_deselect" [drivers/media/platform/mxc/capture/mxc_v4l2_capture.ko] undefined! | ERROR: "bg_overlay_sdc_select" [drivers/media/platform/mxc/capture/mxc_v4l2_capture.ko] undefined! | ERROR: "foreground_sdc_select" [drivers/media/platform/mxc/capture/mxc_v4l2_capture.ko] undefined! | Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2016-03-08ARM: dts: imx7d-colibri: add initial device treeMax Krummenacher
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2016-03-08arm: imx7d-pinfunc: add daisychain setting for UART2_DTE_RXMax Krummenacher
MX7D_PAD_UART2_TX_DATA__UART2_DTE_RX was missing the daisychain register address and value resulting in a non working RX path. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2016-03-08rn5t567: add PMIC driverMax Krummenacher
This adds support for Ricoh RN5T567 PMIC used on Colibri iMX7. The driver should get unified with rn5t618 driver. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2016-03-08watchdog: add driver for Ricoh RN5T618 watchdogBeniamino Galvani
This adds a driver for the watchdog timer available in Ricoh RN5T618 PMIC. The device supports a programmable expiration time of 1, 8, 32 or 128 seconds. Signed-off-by: Beniamino Galvani <b.galvani@gmail.com> Reviewed-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Wim Van Sebroeck <wim@iguana.be> (cherry picked from commit 22b1c841e31510c3124c88a13b8a7ada14e2e2d1)
2016-03-08mfd: Add Ricoh RN5T618 PMIC core driverBeniamino Galvani
Ricoh RN5T618 is a power management IC which integrates 3 step-down DCDC converters, 7 low-dropout regulators, a Li-ion battery charger, fuel gauge, ADC, GPIOs and a watchdog timer. This commit adds a MFD core driver to support the I2C communication with the device. Signed-off-by: Beniamino Galvani <b.galvani@gmail.com> Signed-off-by: Lee Jones <lee.jones@linaro.org> (cherry picked from commit 9bb9e29c78f8d8ee310987fd58a2b908a4ce0c40)
2016-03-08mfd: rn5t618: Document device tree bindingsBeniamino Galvani
This adds the device tree bindings documentation for Ricoh RN5T618. Signed-off-by: Beniamino Galvani <b.galvani@gmail.com> Reviewed-by: Mark Brown <broonie@linaro.org> Signed-off-by: Lee Jones <lee.jones@linaro.org> (cherry picked from commit a654f81640caa0bb648b0e45b792ba846c9bb02d)
2016-03-08regulator: rn5t618: add driver for Ricoh RN5T618 regulatorsBeniamino Galvani
This driver supports the 3 DCDC and 7 LDO regulators available on Ricoh RN5T618 PMIC. Signed-off-by: Beniamino Galvani <b.galvani@gmail.com> Signed-off-by: Mark Brown <broonie@kernel.org> (cherry picked from commit 811b700630ff328c52ddf17d653ffdcb0ba87d30) Conflicts: drivers/regulator/Kconfig drivers/regulator/Makefile
2016-03-08Revert "arm: Export cache flush management symbols when !MULTI_CACHE"Max Krummenacher
This reverts commit 87b3f4287b8a9d31ad4d732fac769d97dcf7469a. Has been fixed upstream differently 3241216e250430a27b30eaf7f7df3e5e006acfb5
2016-03-08imx6 device-tree: reduce SPI clock to datasheet maximumMax Krummenacher
According to the datasheet the SPI clock (for read) must not exceed 1 / 55ns for i.MX6Q/D and 1 / 43ns for i.MX6DL/S. Reflect that correctly in the device tree. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2016-03-08of: fill in new type field on node creationMax Krummenacher
The backport of the extcon subsystem also brought a new field in the of node structure. Set it correctly or code using it will think the node comes from ACPI, not from a device-tree. Fixes gpio-leds which otherwise would not find the gpios from the device tree. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2016-03-08imx6dl-colibri-cam-eval-v3.dts: add fusion_F07 backlight extensionsMax Krummenacher
Synchronize with imx6dl-colibri-eval-v3.dts. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2016-03-08apalis/colibri_imx6: synchronize USB serial optionsStefan Agner
Compile USB device classes such as WDM and CDC ACM as modules. Enable FTDI USB-to-serial adapter chips and serial console which allows to use USB serial device drivers as a serial console at boot time. Compile USB driver for GSM and CDMA modems (Option and others) as a module. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2016-03-08tty: serial: imx: disable DCD and RI interruptsStefan Agner
If the UART is in DTE mode, the signals DCD and RI are inputs. In this case, the control bits in UCR3_DCD and UCR3_RI control the interrupt of those two inputs. The two bits are 1 on reset, hence leading to an interrupt if one of those signal changes... However, as of now the interrupt handler does not handle these interrupts, leading to a interrupt strom. Solve the issue by explicitly disabling the two interrupts during initialization. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2016-03-08ARM: dts: imx: fix invalid #address-cells valueTim Harvey
The invalid value of #address-cells in the imx6 pcie host controller node causes of_irq_parse_raw() to incorrectly advance through an interrupt-map table of more than one interrupt. We also take the opportunity to drop the unused #size-cells here. This patch resolves this issue and allows proper interrupt mapping for an imx6 pcie host connected to a P2P bridge when using legacy interrupts. Signed-off-by: Tim Harvey <tharvey@gateworks.com> Cc: Jason Gunthorpe <jgunthorpe@obsidianresearch.com> Cc: Jingoo Han <jg1.han@samsung.com> Cc: Lucas Stach <l.stach@pengutronix.de> Cc: Mark Rutland <mark.rutland@arm.com> Cc: linux-samsung-soc <linux-samsung-soc@vger.kernel.org> Cc: Richard Zhu <r65037@freescale.com> Cc: Sascha Hauer <kernel@pengutronix.de> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Stephen Warren <swarren@wwwdotorg.org> Cc: Bjorn Helgaas <bhelgaas@google.com> Cc: Simon Horman <horms@verge.net.au> Cc: Thierry Reding <thierry.reding@gmail.com> Cc: Ben Dooks <ben-linux@fluff.org> Cc: linux-tegra <linux-tegra@vger.kernel.org> Cc: Kukjin Kim <kgene.kim@samsung.com> Cc: Shawn Guo <shawn.guo@linaro.org> Cc: Grant Likely <grant.likely@linaro.org>
2016-03-08PCI: Apalis GEN1 forcing quirkMarcel Ziswiler
The Apalis evaluation board needs to set the link speed to 2.5 GT/s (GEN1). The default link speed setting is 5 GT/s (GEN2). 0x98 is the Link Control 2 PCIe Capability Register of the PEX8605 PCIe switch. The switch supports link speed auto negotiation, but falsely sets the link speed to 5 GT/s. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2016-03-08ARM: dts: apalis_imx6: stream-line MMC/SD drive strengthMarcel Ziswiler
This stream-lines the drive strength pad settings across both the MMC and the SD slots. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2016-03-08ARM: dts: apalis_imx6: add explicit okay status to adv7180 & max9526Marcel Ziswiler
This adds explicit okay status' to adv7180 and max9526 nodes to be more in-line with the Evaluation board device-tree. Please note that this does not have any functional effect as by default any node is enabled anyway. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2016-03-08ARM: dts: apalis_imx6: fix Ethernet PHY reset & interruptMarcel Ziswiler
This fixes the Ethernet PHY reset and interrupt handling. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2016-03-08ARM: dts: apalis_imx6: clarify module type and carrier board modelMarcel Ziswiler
Clarify exact Apalis iMX6Q/D module type and Ixora carrier board in model node. While at it also make sure the compatible node fits into 80 char length lines. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2016-03-08PCI: imx6: fix PCIe EP device self-initialisationMarcel Ziswiler
This fixes PCIe EP device self-initialisation in case only a regular reset EP GPIO is used as PERST# which is e.g. the case on our Ixora carrier board by always waiting 20 milliseconds after releasing PERST#. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2016-03-08ARM: dts: apalis_imx6: happy new yearMarcel Ziswiler
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>