summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-11-29arm: dts: imx7: specify keypad port clocktoradex_imx_4.1.15_1.0.0_ga-nextStefan 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>
2016-11-29ARM: 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>
2016-11-25rpmsg: 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>
2016-11-25rpmsg: 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 coping and TTY buffer resizing if necessary. Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2016-11-25hexdump: 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)
2016-11-25ARM: 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>
2016-11-23gpio: 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>
2016-11-10ARM: imx: adjust vring location to be at 256MB boundaryStefan Agner
The VirtIO vring descriptors are currently at the end of the 1024MiB boundary of DDR memory 0xbfff8000. For the Colibri iMX7S and iMX7D this is outside of the addressable DDR memory. In practise VirtIO still worked because when accessing memory at out-of-bound addresses it usually just accesses memory from lower addresses (most significant address line is ignored). However, we should not rely on that behavior. Move the hardcoded vring to the end of the 256MiB boundary at 0x8fff0000. Note: This needs a Cortex-M4 firmware which uses the same hardcoded vring address. Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2016-11-10arm: dts: imx7: decrease DMA CMA to 128MBStefan Agner
Currently DMA CMA is set to 320MB which is rather large and cannot be allocated on Colibri iMX7S. Lower the reserved amount to 128MB which should be enouth for most use cases and works with systems which have only 256MiB memory available. Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2016-11-09ARM: dts: imx7-colibri: Fix use of pull-up by SODIMM 45Sanchayan Maity
The iMX7 wakeup pin currently has a 47k pullup configured. Thus one has to pull the pin to 0V to generate the wakeup event. All other Colibri modules use pull downs and require 3.3V to generate an event. Also on the Colibri Evaluation Board an external 100kOhm pulldown is connected, thus the pin is neither at 0V nor 3.3V but at 2.2V potentially increasing power consumption. Change logic to use pulldown and require 3.3V to generate wakeup event. Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com> Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2016-11-08ARM: colibri_imx7_defconfig: 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>
2016-10-24arm: dts: imx7: fix CAN interrupt sourceMax Krummenacher
The SPI CAN controller MCP2515 was set up to use the wrong interrupt source. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Stefan Agner <stefan.agner@toradex.com>
2016-09-29ARM: imx7d: clk: add 240MHz sys main clock to init_onColibri_iMX7_LinuxImageV2.6.1Beta1_20160929toradex_imx_4.1.15_1.0.0_gaStefan Agner
Add the 240MHz sys main clock to the init on list to make sure it is kept enabled by Linux. This allows to enable/debug the M4 core after Linux started. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2016-09-29arm: 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>
2016-09-29arm: dts: imx7: assign CAN interrupt pin explicitlyStefan Agner
The SPI CAN controller MCP2515 uses a dedicated interrupt line. Assign the interrupt line to the CAN controller node explicitly. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2016-09-29arm: 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>
2016-09-29arm: dts: imx7: move standard pinctrl to module level dtStefan Agner
We traditionally have all standard pinctrl in the module level device tree. Move pinctrl accordingly. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2016-09-29arm: 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>
2016-09-29ARM: configs: colibri_imx7: Enable extcon usb gpio supportSanchayan Maity
Enable extcon usb gpio support required for usb host/device switch on Colibri iMX7. Signed-off-by: Sanchayan Maity <sanchayan.maity@toradex.com> Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2016-09-29ARM: dts: imx7d/imx7s-colibri: Enable usb device/host switch using extconSanchayan Maity
Use USBC_DET feature of standard Colibri SODIMM pin 137 for USB device/host switching using the generic extcon USB gpio implementation. Signed-off-by: Sanchayan Maity <sanchayan.maity@toradex.com> [remove pin from FEC and fixed pinmux assignment] Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2016-09-29usb: chipidea: Use extcon framework for ID and VBUS detectionSanchayan Maity
Rather than relying on special USB/PHY pins/registers use the generic extcon framework with its extcon-usb-gpio implementation to detect ID and VBUS changes. Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com> Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2016-09-29ARM: dts: imx7-colibri: use VGA resolution by defaultStefan Agner
Use VGA (640x480) timings by default. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2016-09-29ARM: dts: imx7-colibri: disable internal RTC on i.MX 7SoloStefan Agner
Disable internal RTC on i.MX 7Solo since writing to it is currently not possible. This leads to freezes/lockups especially on carrier boards which do not come with an external RTC (where the system tries to use the internal RTC automatically). Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2016-09-29arm: dts: imx7: Add support for PWM polarity controlBhuvanchandra DV
Update #pwm-cells to 3 in order to support PWM signal polarity control. Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com> Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2016-09-29pwm: imx: Add support for polarity controlBhuvanchandra DV
Add support for PWM polarity control Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com> Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2016-09-29arm: dts: imx7-colibri: Use enable-gpios for BL_ONBhuvanchandra DV
Use pwm-backlight driver 'enable-gpios' property for backlight on/off control. Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com> Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2016-09-29ARM: dts: imx7-colibri: add ENET sleep stateStefan Agner
Add sleep state for FEC pins to avoid pull-ups feeding the Ethernet PMIC while the Ethernet rail is turned off. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2016-09-29ARM: dts: imx7-colibri: add GPIO wakeup keyStefan Agner
Add wakeup GPIO key which is able to wake the system from sleep modes (e.g. Suspend-to-Memory). Also rename the intermediate node to imx7d-colibri. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2016-09-29ARM: dts: imx7-colibri: explicitly disable write-protectStefan Agner
Use the disable-wp property since we don't have a concept of write protect. This also gets rid of the following warning: mmc0: host does not support reading read-only switch, assuming write-enable Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2016-09-29cpufreq: imx7: don't support OPP table from platform dataStefan Agner
Remove check if a OPP table has been supplied already (e.g. via platform data). i.MX 7 always uses OPP tables from device tree hence this check is superfluous. This also gets rid of the following error message: cpu cpu0: dev_pm_opp_get_opp_count: device OPP not found (-19) Note: There is no i.MX 7 specific cpufreq driver upstream hence this issue won't appear in newer kernels. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2016-09-29ARM: dts: imx7-colibri: rename display nodeStefan Agner
Rename display node to avoid node name duplication: device-tree: Duplicate name in lcdif@30730000, renamed to "display#1" Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2016-09-29ARM: dts: imx7-colibri: make use of the native-mode propertyStefan Agner
We can store multiple modes now and select the mode used by the driver by default using the native-mode property. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2016-09-29video: fbdev: mxsfb: honor native-modeStefan Agner
Honor the native-mode property by adding only that mode to the mode list. With that we loose the list of modes, but we currently don't make use of it anyway. Also, the mode list lacks the pixel clock polarity information since struct fb_videomode does not store this information. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2016-09-29video: mxsfb: simplify parsingStefan Agner
Use the timing count from the parsed struct display_timings instead of looping through the device tree again. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2016-09-29ARM: 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>
2016-09-29Revert "sgtl5000.c: HACK, defer probe when I2C not yet running"Stefan Agner
This reverts commit 150c9ee190ebd236f7693b82b9328d49440d0a33. Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2016-09-29ARM: dts: imx7-colibri: select MCLK in SGTL5000 nodeStefan Agner
The SGTL5000 requires a MCLK frequency in the range of 8 to 27MHz to work properly. Make sure the clocking requirements are met by setting the clock within the codecs node. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2016-09-29ARM: dts: imx7-colibri: add MCLK pinmux to codecStefan Agner
The SAI1 MCLK pad is connected to the Codecs MCLK and essential for the codec to function. This allows to probe the Codec before the DAI which happens to happen by default. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2016-07-18Merge remote-tracking branch 'nxp/imx_4.1.15_1.0.0_ga' into ↵Stefan Agner
toradex_imx_4.1.15_1.0.0_ga-next
2016-07-14compiler-gcc: disable -ftracer for __noclone functionsPaolo Bonzini
[ Upstream commit 95272c29378ee7dc15f43fa2758cb28a5913a06d ] -ftracer can duplicate asm blocks causing compilation to fail in noclone functions. For example, KVM declares a global variable in an asm like asm("2: ... \n .pushsection data \n .global vmx_return \n vmx_return: .long 2b"); and -ftracer causes a double declaration. Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Michal Marek <mmarek@suse.cz> Cc: stable@vger.kernel.org Cc: kvm@vger.kernel.org Reported-by: Linda Walsh <lkml@tlinx.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Sasha Levin <sasha.levin@oracle.com> (cherry picked from commit 9b561b878bc40703e21144def6a5c2c8d436b883)
2016-07-14compiler-gcc: integrate the various compiler-gcc[345].h filesJoe Perches
[ Upstream commit cb984d101b30eb7478d32df56a0023e4603cba7f ] As gcc major version numbers are going to advance rather rapidly in the future, there's no real value in separate files for each compiler version. Deduplicate some of the macros #defined in each file too. Neaten comments using normal kernel commenting style. Signed-off-by: Joe Perches <joe@perches.com> Cc: Andi Kleen <andi@firstfloor.org> Cc: Michal Marek <mmarek@suse.cz> Cc: Segher Boessenkool <segher@kernel.crashing.org> Cc: Sasha Levin <levinsasha928@gmail.com> Cc: Anton Blanchard <anton@samba.org> Cc: Alan Modra <amodra@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Sasha Levin <sasha.levin@oracle.com> (cherry picked from commit f320793e52aee78f0fbb8bcaf10e6614d2e67bfc)
2016-06-30MLK-12948 ARM: dts: imx7d-sdb: change the hardware reset gpio for mipi dsirel_imx_4.1.15_1.2.0_gaFancy Fang
Change the hardware reset gpio to 'GPIO6_IO15' for mipi dsi to allow fec2 and mipi dsi can run at the same time. This needs some hardware rework as follows: " 1. Replace R631 with 100K resistor; 2. Remove D14, D24; 3. Solder the Cathode of the diode to R471, you can use BAT54HT1(ONSEMI) or NSR0320MW2T1G(ONSEMI); 4. Solder the wire to the Anode end of the diode; 5. Scrape the solder mask(Green oil) of the MIPI Reset via, then solder the end of the wire to the via. " Signed-off-by: Fancy Fang <chen.fang@nxp.com> (cherry picked from commit 0af28564e73f006f742a9af0db4bc5b8588e3490)
2016-06-30MLK-12946 media: pxp-v4l2: correct the 32 bpp pixel format passed to pxpFancy Fang
The 32 bpp pixel format which is passed to pxp should be 'PXP_PIX_FMT_RGB32' instead of 'PXP_PIX_FMT_RGB24', since only 'PXP_PIX_FMT_RGB32' can be recognized by lcdif. Signed-off-by: Fancy Fang <chen.fang@nxp.com> (cherry picked from commit c98efc59e1bc6d1814b2179f1b7e9f22cb177f47)
2016-06-29mmc: mmc: fix switch timeout issue caused by jiffies precisionChaotian Jing
with CONFIG_HZ=100, the precision of jiffies is 10ms, and the generic_cmd6_time of some card is also 10ms. then, may be current time is only 5ms, but already timed out caused by jiffies precision. Signed-off-by: Chaotian Jing <chaotian.jing@mediatek.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> (cherry picked from commit 8bcce64faaaf07165453e6600ae9ffb887e79b1a) Signed-off-by: Haibo Chen <haibo.chen@nxp.com> (cherry picked from commit 38f639884a2cfd65cbe29ac2fbfe4ab3fcb1f1af)
2016-06-29mmc: core: fix __mmc_switch timeout caused by preemptChaotian Jing
there is a time window between __mmc_send_status() and time_afer(), on some eMMC chip, the timeout_ms is only 10ms, if this thread was scheduled out during this period, then, even card has already changes to transfer state by the result of CMD13, this part of code also treat it to timeout error. So, need calculate timeout first, then call __mmc_send_status(), if already timeout and card still in programing state, then treat it to the real timeout error. Signed-off-by: Chaotian Jing <chaotian.jing@mediatek.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> (cherry picked from commit 3bbb0deea6d5c6d5ed38ae927a5bf9b0cd7c8639) Signed-off-by: Haibo Chen <haibo.chen@nxp.com> (cherry picked from commit b9b8249b98b9128d8931887eccb38cd45a0f8bf3)
2016-06-29MLK-12934-2 mmc: sdhci-esdhc-imx: do not touch other bit when config DTOCVHaibo Chen
Now, when call esdhc_set_timeout() to set the data timeout counter value, IPP_RST_N(bit 23) is wrongly affected. This patch add a mask to avoid this. Signed-off-by: Haibo Chen <haibo.chen@nxp.com> (cherry picked from commit 6713b713dda4382677bc31a16d6ff3ef23f2d1ac)
2016-06-29MLK-12934-1 mmc: sdhci-esdhc-imx: correct the max timeout countHaibo Chen
Our Reference Manual has a mistake, for the register SYS_CTRL,the DTOCV(bit 19~16) means the data timeout counter value. When DTOCV is set to 0xF, it means SDCLK << 29, not SDCLK << 28. This patch correct this in our usdhc driver. Signed-off-by: Haibo Chen <haibo.chen@nxp.com> (cherry picked from commit df9598d6dd617ed87b2e41e29bfc794b69831e86)
2016-06-28ARM: colibri_imx7_defconfig: add Fusion and GPIO resetColibri_iMX7_LinuxImageV2.6Beta2_20160701Stefan Agner
Add TouchRevolution's Fusion multi-touch driver and GPIO power capabilities (useful for custom carrier boards). Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2016-06-28ARM: 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>
2016-06-28touchscreen: fusion_F0710A: Reset controller if clear interrupt operation failsSanchayan Maity
Add support for resetting the controller using the gpio reset pin if interrupt could not be cleared. If clearing the interrupt fails, the interrupt line stays high and no further interrupts are generated resulting in a non functioning touchscreen until next reboot, when we reset the controller again in probe. Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com> Signed-off-by: Stefan Agner <stefan.agner@toradex.com>