summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-01-10apalis imx6 dt: don't configure pwmledsColibri_iMX7_LinuxImageV2.7Beta1_20170112Colibri_iMX6_LinuxImageV2.7Beta1_20170112Apalis_iMX6_LinuxImageV2.7Beta1_20170112Max Krummenacher
With /sys/class/pwm a more versatile interface to pwm exists now. e.g. configure a 1kHz 25% on PWM<C>: (period and duty cycle in nano seconds) $ cd /sys/class/pwm/pwmchip3 $ echo 0 > export $ echo 1000000 > pwm0/period $ echo 250000 > pwm0/duty_cycle $ echo 1 > pwm0/enable Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-01-10colibri imx6 dt: don't configure pwmledsMax Krummenacher
With /sys/class/pwm a more versatile interface to pwm exists now. PWM<A>: pwmchip3 export 0 PWM<B>: pwmchip1 export 0 PWM<C>: pwmchip4 export 0 PWM<B>: pwmchip2 export 0 e.g. configure a 1kHz 25% on PWM<C>: (period and duty cycle in nano seconds) $ cd /sys/class/pwm/pwmchip3 $ echo 0 > export $ echo 1000000 > pwm0/period $ echo 250000 > pwm0/duty_cycle $ echo 1 > pwm0/enable Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-01-10colibri imx6 dt: fix backlight pwm referenceMax Krummenacher
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-01-10ARM: apalis/colibri_imx6_defconfig: compile CAAM test driver as moduleMax Krummenacher
Follow commit 0a0778946a4fd433de7f1ce7dd9da6bfefed5e17 to stay in sync. The CAAM Secure Memory Keystore Test/Example driver is not used by most customers and dumps a lot of keys, add it as a module by default. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-01-10arm: dts: imx7: specify keypad port clockStefan Agner
To access the keypad port registers the IPG clocks need to be on, specify the clock accordingly. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-01-10ARM: imx7d: clk: add root clock for keypad portStefan Agner
The keypad port (KPP) module is clocked by the IPG root clock through clock gate CCM_CCGR170. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-01-10rpmsg: use _debug variants for print_hex_dumpStefan Agner
Using print_hex_dump_debug avoids printing of every rpmsg message which is crucial when exchanging messages in higher rates. Using a #define DEBUG at the beginning of the file allows to reenable the full debug dump messages if necessary. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-01-10rpmsg: imx: do not push data when no reader is availableStefan Agner
Pushing data while there is no reader seems to lock/crash the TTY layer in some way. Especially when a reader gets attached again, the kernel crashes with Unable to handle kernel paging request at virtual address 00002248 Also use tty_insert_flip_string which handels the copying and TTY buffer resizing if necessary. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-01-10hexdump: do not print debug dumps for !CONFIG_DEBUGLinus Walleij
print_hex_dump_debug() is likely supposed to be analogous to pr_debug() or dev_dbg() & friends. Currently it will adhere to dynamic debug, but will not stub out prints if CONFIG_DEBUG is not set. Let's make it do the right thing, because I am tired of having my dmesg buffer full of hex dumps on production systems. Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> (cherry picked from commit cdf17449af1d9b596742c260134edd6c1fac2792)
2017-01-10ARM: imx: define buffer count per VirtIO queueStefan Agner
Let RPMSG_NUM_BUFS to be the number of buffers per VirtIO queue, so that each queue (TX/RX) has 256 buffers. The change does not affect the number of buffers. But specifing per VirtIO queue aligns better with the way buffer sizes are specified on the FreeRTOS side (in platform_info.c). Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-01-10gpio: mxc: clear interrupt mask/status optionallyStefan Agner
Add a kernel parameter ("gpio-mxc.noclearirq") to disable unconditional interrupt mask/clearing. This is useful when a second CPU (the Cortex-M4) is accessing the same GPIO bank. Using the same GPIO bank from the Cortex-A7 and M4 sounds risky, but it seems to work quite well. Most registers are write only (e.g. interrupt status register can be cleared with a single write), which makes them safe for concurrent access. However, sharing a single GPIO bank between two cores does not allow to use the Resource Domain Controller. Hence for secure applications assigning a dedicated GPIO bank is still preferable. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-01-10ARM: dts: mx6 toradex: use Toradex evalspiMax Krummenacher
Use the device evalspi for spidev nodes. This prevents a lot of useless warnings that spidev should not be used. see commit 5c27aa11b23c3b6960e46f5cb5dee37c842bb8b6 Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-01-10imx6qdl-colibri.dtsi: mmc settingsMax Krummenacher
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-01-10imx6qdl-apalis.dtsi: mmc settingsMax Krummenacher
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-01-10colibri imx6 cleanup defconfig and add usb gadgetMax Krummenacher
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-01-10apalis imx6 cleanup defconfig and add usb gadgetMax Krummenacher
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-01-10ARM: imx: remove 'unused' warningMax Krummenacher
Depending on configuration the imx_gpcv2_add_m4_wake_up_irq() stub might not be used anywhere. (e.g. when configuring for i.MX6Q only). Set unused attribute to the function so that this does not trigger a compile time warning. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-01-10tty: serial: imx: disable DCD and RI interruptsMax Krummenacher
Move the solution from a83490c48b69b7a913f1cb7595a052d3a9166c5c to a location executed before the UART interrupt gets requested. Withour this, on a i.MX6 DL, the kernel did block before any console output appeared. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-01-10apalis/colibri dtb: add 3rd pwm parameter to specify pos. neg. logicMax Krummenacher
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-01-10imx6qdl.dtsi: include bindings gpio.hMax Krummenacher
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-01-10apalis/colibri imx6 dtb: follow flexcan lable name changeMax Krummenacher
flexcanX -> canX Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-01-10apalis_imx6/colibri_imx6: configure IPv6 SIT driver as moduleStefan Agner
SIT tunnels (IPv6 over IPv4) are not often used hence configure the driver as a module. This also gets rid of the extra network interface sit0 by default. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-01-10imx6qdl-apalis.dtsi: correct timing ldb node nameMax Krummenacher
The wxga timing node was called 1200x800 while 1280x800 would be more meaningfull. Note that the change is cosmetic. This node will not be accessed by its name. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> (cherry picked from commit 3894f6d783c8f1d3a8381d3a9746bc8fc75036a6)
2017-01-10imx6qdl-apalis.dtsi: Update display timings for LDB (LVDS)Bhuvanchandra DV
Update the display timings for LDB (LVDS), as LDB driver now supports the native-mode property. Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com> (cherry picked from commit 4ee83828023d9fe6abbe47881d6fd3ae0e5e3c31)
2017-01-10video: mxc: ldb: Add support for LVDS configuration via kernel boot argumentsBhuvanchandra DV
Add support for LVDS frame buffer configuration via kernel boot arguments. Fix use of the device tree native-mode property. Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com> (cherry picked from commit 122acb64708ac40faa8c5755624a0bcfbebcb9e8)
2017-01-10colibri_imx6:Add MCP2515 SPI CAN controller to DTDominik Sliwa
MCP2515 is available on colibri evaluation board, include it in the device tree for colibri i.mx6. Signed-off-by: Dominik Sliwa <dominik.sliwa@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com> (cherry picked from commit 8524bd40fddfd03e9ee028f430aee5078a0dd431)
2017-01-10apalis_imx6/colibri_imx6: Enable ADV7280 decoder for iMX6 modulesSanchayan Maity
Enable ADV7280 decoder for iMX6 modules. ADV7280 and ADV7180 have same addresses viz. 0x21 respectively, changing the ADV7280 address to 0x20 would result in a conflict with MAX9526. As a result enable ADV7280 by default and disable ADV7180. Signed-off-by: Sanchayan Maity <sanchayan.maity@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> (cherry picked from commit b7798ad9dccd6b1f54a0c1bbbfa3290934dc5d9b)
2017-01-10media: Add support for ADV7280 decoder driverSanchayan Maity
Add support for ADV7280 decoder found on Toradex Analogue Camera Adapter V2.0A Signed-off-by: Sanchayan Maity <sanchayan.maity@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> (cherry picked from commit 481bf320816c56c726197d6155341c2f94aeb6be)
2017-01-10mxc_v4l2_capture: Change error message to print on debugSanchayan Maity
Change the "unsupported ioctrl" message to print only on debug. This otherwise results in an error message ERROR: v4l2 capture: unsupported ioctrl! which does not seem to effect the gstreamer pipeline or rendering of video. >From debugging, root@apalis-imx6:~# gst-launch-1.0 imxv4l2videosrc ! imxeglvivsink Setting pipeline to PAUSED ... [ 385.174543] ERROR: v4l2 capture: unsupported ioctrl 9a091b! Pipeline is live and does not need PREROLL ... Setting pipeline to PLAYING ... New clock: GstSystemClock >From v4l2-controls.h V4L2_CTRL_CLASS_CAMERA 0x009a0000 V4L2_CID_CAMERA_CLASS_BASE V4L2_CTRL_CLASS_CAMERA | 0x900 V4L2_CID_3A_LOCK V4L2_CID_CAMERA_CLASS_BASE + 27 So the ioctrl requested seems to be V4L2_CID_3A_LOCK. "The V4L2_CID_3A_LOCK bitmask control allows applications to pause or resume the automatic exposure, focus and wite balance adjustments. It can be used, for example, to lock the 3A adjustments right before a still image is captured, for pre-focus, etc. The applications can control each of the algorithms independently, through a corresponding control bit, if driver allows that." https://patchwork.linuxtv.org/patch/10719/ Since we have no such feature available we can safely disable the error message. Signed-off-by: Sanchayan Maity <sanchayan.maity@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> (cherry picked from commit f1b52e225091711d60704717af34c2f321c032b3)
2017-01-10mxc_v4l2_capture: Allow clock setting for de-interlaced video inputSanchayan Maity
Make provision for a decoder driver to specify clock mode for progressive in case the decoder provides deinterlaced output. This is required for ADV7280 decoder where we can use the hardware deinterlace capabity of ADV7280. Without setting the clock mode to progressive but having hardware deinterlace on for ADV7280 results in a non working setup. Signed-off-by: Sanchayan Maity <sanchayan.maity@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> (cherry picked from commit 0368155fc985c8e2bf6334fc5b56ff2ac6082908)
2017-01-10imx6qdl-apalis-eval.dtsi: follow changed compatibility stringMax Krummenacher
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> (cherry picked from commit 56d10e53f3ccd59b5af434dda2f7f2d10a504416)
2017-01-10ARM: dts: apalis_imx6: specify 512MiB of memoryStefan Agner
Specify a safe value for the memory node. Apalis iMX6 Dual is the module with the least amount of memory of our Apalis module family, hence specify 512MiB. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com> (cherry picked from commit db82cf8b592901290bf560e274f149e38e915264)
2017-01-10imx6 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> (cherry picked from commit c34080f3883684576b7629b3571dc9a1e018d511)
2017-01-10imx6dl-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> (cherry picked from commit 60bc22ab87825d102639ab5977a8340861e4a7ac)
2017-01-10apalis/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> (cherry picked from commit f8515e706120de1f34a97d263cebbd17b0eaea73)
2017-01-10tty: 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> (cherry picked from commit 2d027fec8264daa4cda1bcc81cabb91bd97cde0b)
2017-01-10PCI: 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> (cherry picked from commit 408da680a57dfa782b4f70c77616ff765a87823f)
2017-01-10ARM: 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> (cherry picked from commit b8a2c8165076246e9491e622592da1067dd95196)
2017-01-10ARM: 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> (cherry picked from commit a75c056d28ecb601de74474c01ace5ed56802d07)
2017-01-10ARM: 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> (cherry picked from commit 4b03faec7e89d1267bb1709d82afe6ab416c3366)
2017-01-10ARM: 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> (cherry picked from commit 5a679632d70bf2cec6cc182d601cd194da88b4fd)
2017-01-10PCI: 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> (cherry picked from commit 3eaf56fc694e8b960a29e0205f40380cf59f9fc9)
2017-01-10ARM: dts: apalis_imx6: happy new yearMarcel Ziswiler
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com> (cherry picked from commit 7c3a3a038c2ec354c9dab0ce8114cc8039c9a399)
2017-01-10process.c: if power off fails, do at least a haltMax Krummenacher
Otherwise power_machine_power_off() returns and e.g. unexpected interrupts create stack traces. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> (cherry picked from commit 8d35764ee16976d81ac7dd0b75b3c0b11f977ad1)
2017-01-10apalis/colibri_imx6: Enable RTL8192CU driverBhuvanchandra DV
Enable RTL8192CU driver to support LM006 USB WiFi adapter. Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com> Signed-off-by: Stefan Agner <stefan.agner@toradex.com> (cherry picked from commit bc45801b17dbf13b5139ad1a5bb1375b85c04933)
2017-01-10Input: sentelic - use "static inline" instead of "inline"Khem Raj
gcc-5 defaults to gnu11 which used c99 inline semantics in c99 'inline' is not externally visible unlike gnu89, therefore we use 'static inline' which has same semantics between gnu89 and c99 Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> (cherry picked from commit 709e2e3d201fbf70074aeae27a13a5b39f572d72)
2017-01-10imx6qdl-apalis.dtsi: adapt to changed ldb driver (LVDS)Max Krummenacher
The ldb driver which controls the LVDS output got heavily overhauled and its configuration from the cmdline seems no longer working. This adds a configuration to the device tree which can be activated from the cmdline with: video=mxcfb0:dev=ldb Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> (cherry picked from commit f0e3839440a3145ba373c9e30764a532b5bd7381)
2017-01-10ARM: apalis/colibri_imx6: add namespace support in defconfigStefan Agner
Newer systemd variants need network namespace support for various services such as systemd-hostnamed or systemd-localed. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com> (cherry picked from commit 4bb3acd58f8d2074cd8e7a6ddb914a0954d0906a) (cherry picked from commit 65cd6dd5b198f9ca2fab48dc5c7db283db19b58c)
2017-01-10apalis/colibri_imx6: remove duplicate stmpe adc from defconfigMarcel Ziswiler
Remove duplicate CONFIG_STMPE_ADC from both defconfigs. While at it also remove obsolete commented out CONFIG_NET_VENDOR_ATHEROS being not set on Colibri iMX6. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com> (cherry picked from commit 2bc238c55974901ca3078a8e39edaeaa4d9b3d62)
2017-01-10Apalis/Colibri iMX6 dtbs: add routing for line-inMax Krummenacher
We do provide the line in jack, so add it in the routing. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> (cherry picked from commit 9891837ccdc54aef449207e726293670fc4cefa8)