summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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>
2016-06-28input: touchscreen: fusion: implement multitouch with slot handlingStefan Agner
According to multi-touch-protocol.txt the kernel knows two type of devices: - Type A: devices which provide anonymous contacts - Type B: devices which are capable of tracking individual contacts The Fusion touch screen is a Type B device: The Touch ID field allows to differentiate between 2 different fingers. This updates the driver to properly allocate a slot for each identified contact and use the helper functions available from the input core system.
2016-06-28input: touchscreen: fusion: use level triggered interruptStefan Agner
Use level triggered interrupt which makes sure that even we miss a rising edge (due to latencies in the kernel), the interrupt still will be handled later, and doesn't freeze the input device.
2016-06-28input: touchscreen: fusion: add device tree integrationMax Krummenacher
Add device tree integration and add the device to the dtb. i2c device, interrupt and reset GPIO can be specified in the dts as follows: Note that additionally you may have to set the pinmuxing for the pins to be GPIO. &i2c1 { status = "okay"; pcap@10 { /* TouchRevolution Fusion 7 and 10 multi-touch controller */ compatible = "touchrevolution,fusion-f0710a"; reg = <0x10>; gpios = <&gpio6 10 0 /* MXM-11, Pen down interrupt */ &gpio6 9 0 /* MXM-13, Reset interrupt */ >; };
2016-06-28input: touchscreen: fusion: platform independent GPIO descriptionStefan Agner
Use platform independent description for requested GPIOs. (cherry picked from commit c300f3a605f8984449c1a5324fd3edda6f2fd8ff)
2016-06-28input: touchscreen: fusion: fix error handlingStefan Agner
Fix chip reset by sleeping long enought after reset. Do proper error handling (free GPIO on failure). Use dev_* for message logging to get similar messages for all fusion driver related errors and warnings. (cherry picked from commit 63b293000723e61a880470f093fbe82e86ebd81b)
2016-06-28input: touchscreen: fusion: use new I2C PM functionsStefan Agner
To avoid warnings use the new I2C power management function for suspend and resume. (cherry picked from commit 9d996316a470d37fb71c521f27106b014f3f0b23)
2016-06-28input: touchscreen: added platform data for Fusion touchscreenStefan Agner
Added platform data struct to define interrupt and reset GPIO. This allows to initialize the touchscreen controller inside the driver rather then in each platform and use the driver as a module. (cherry picked from commit cb82730b70f31af3b43041ac4e47de69c18016c9)
2016-06-28input: touchscreen: fix race condition in Fusion driverStefan Agner
When the next interrupt request apeares between the confirmation of the previous (a write via I2C, fusion_F0710A_write_complete) and the reenable of the GPIO interrupt, the driver hangs and no more touch inputs are reported. This patch moves the confirmation after the reenabling of the GPIO interrupt. (cherry picked from commit e95019a4f20b8cdfbe03658e4f73b69cdcf97540)
2016-06-28input: touchscreen: add ABS_X/ABS_Y axis for Fusion touchscreenStefan Agner
Recent evdev X-Server input driver implementation complain when only multitouch axes have been reported ("found only multitouch-axes. That shouldn't happen."). Therefor also report the primary touch detection with default axis. (cherry picked from commit dda7a631ac901e4d140e8a6612c5c6b5506b6a91)
2016-06-28input: touchscreen: add Fusion 7 and 10 multi-touch driverMax Krummenacher
This patch adds the multi-touch input driver for the TouchRevolution Fusion 7 and 10 panels (See Fusion 7 and 10 drivers for Linux.pdf and Linux Drivers Fusion 10.zip) as downloaded in 07.2014
2016-06-28ARM: dts: imx7-colibri: Add MCP2515 SPI CAN controller to DTMax Krummenacher
MCP2515 is available on colibri evaluation board, include it in the device tree for Colibri iMX7. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Stefan Agner <stefan.agner@toradex.com>
2016-06-28ARM: dts: imx7-colibri: reduce SPI clock to datasheet maximumMax Krummenacher
According to the datasheet the SPI clock (for read) must not exceed 1 / 43ns for i.MX7. Reflect that correctly in the device tree. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Stefan Agner <stefan.agner@toradex.com>