summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
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-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-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-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-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-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-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-28fbcon: logo: allow easy integration of a custom Linux boot logoMarcel Ziswiler
This patch allows for easy integration of a custom Linux boot logo to replace the Tux' being shown by default. Use gimp or the like to create a raw PPM in your desired resolution. Reduce the number of colours in the image to 224: user@host:~$ ppmquant 224 Toradex-640x480.ppm > \ Toradex-640x480-224.ppm ppmquant: making histogram... ppmquant: 370 colors found ppmquant: choosing 224 colors... ppmquant: mapping image to new colors... Convert it from raw PPM to ASCII format: user@host:~$ pnmnoraw Toradex-640x480-224.ppm > \ Toradex-640x480-ascii-224.ppm Copy it into the Linux sources: cp Toradex-640x480-ascii-224.ppm linux-toradex/drivers/video/logo/\ logo_custom_clut224.ppm Activate exclusively custom Linux logo in the kernel configuration: Device Drivers -> Graphics support -> Bootup logo -> Custom 224-color Linux logo And re-compile the kernel. (cherry picked from commit fa2371bff9ac03581881849d8f95678ef3992719)
2016-06-24spi: spidev: invent a new hw device to work around spidev warningStefan Agner
Upstream discussions would like to get rid of spidev in device trees since it is a Linux software artifact. However, we would like to provide a spidev interface for our standard SPI port available to tinker with on our Toradex Colibri Evaluation Board. Invent a new device called evalspi... Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2016-06-24MLK-12706-2 net: bcmdhd: set the bcmdhd driver default build inHaibo Chen
Bcmdhd wifi driver default build as module, now default build in this wifi driver. To support this build in feature, this patch add flag ENABLE_INSMOD_NO_FW_LOAD, and use extern function sdio_reset_comm() as instead. Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
2016-06-24MLK-12706-1 mmc: sdio: add sdio reset function for bcmdhd wifiHaibo Chen
This patch add function sdio_reset_comm() to support bcmdhd wifi dirver build-in type. Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
2016-06-24MLK-12617 mmc: Fix compile error when CONFIG_MMC=mHaibo Chen
When CONFIG_MMC=m, compile error shows up ERROR: "of_alias_max_index" [drivers/mmc/core/mmc_core.ko] undefined! ERROR: "mmc_get_reserved_index" [drivers/mmc/card/mmc_block.ko] undefined! ERROR: "mmc_first_nonreserved_index" [drivers/mmc/card/mmc_block.ko] undefined! make[1]: *** [__modpost] Error 1 make: *** [modules] Error 2 make: *** Waiting for unfinished jobs.... This patch export the upper three symbol for module runtime load. Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
2016-06-24MLK-12623-01 cpufreq: imx: Add support for 700MHz setpoint in cpufreqBai Ping
On i.MX6UL EVK board, we use a external GPIO DC regulator to control the VDD_ARM_SOC_IN voltage, if default voltage is 1.4V when the system is bootup. Per design team, when the highest setpoint freq is not bigger than 528MHz, we can decrease this regulator voltage to 1.3V. On i.MX6UL TO1.1, we add a 700MHz setpoint. When the highest setpoint freq is 700MHz, the DC regulator should be at 1.4V to to cover the IR drop. Signed-off-by: Bai Ping <ping.bai@nxp.com> (cherry picked from commit 0e3293e53f4bd5b122abc250b610dd61850e3ce9)
2016-06-24pinctrl: pinctrl-imx: add support for LPSR GPR padctrlStefan Agner
The LPSR IOMUXC also has a general purpose (GPR) part which is able to define pad settings for GPIO8-15. Implement it as yet another pinctrl driver. Note: 4 GPIO's share one register, the values are currently over- written, hence the current code only allows one GPIO per register to be configured... Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2016-06-24mfd: rn5t618: register restart handlerStefan Agner
Use the PMIC repower capabilities to reboot the module. Register the register_restart_handler handler to trigger a cold reboot. Also only register power off if the PMIC is defined as system power controller (see Documentation/devicetree/bindings/power/ power-controller.txt). Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2016-06-24drivers/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-06-24regulator: rn5t618: 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-06-24video: 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-06-24Input: ad7879 - add device tree supportStefan Agner
Add device tree support for the I2C and SPI variant of AD7879(-1). This allows to specify the touchscreen controller as a I2C client node or SPI slave device. Most of the options available in platform data are also available as device tree properties, the only exception being GPIO capabilities, which can not be activated through device tree currently. Signed-off-by: Stefan Agner <stefan@agner.ch> Acked-by: Rob Herring <robh@kernel.org> Acked-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> [revert back to touchscreen_parse_of_params] (cherry picked from commit fa6e3ca274429b66e12d06abc5a6c013cef66471)
2016-06-24Input: ad7879 - fix default x/y axis assignmentStefan Agner
The X/Y position measurements read from the controller 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 and a swap option has been introduced: commit 6680884a4420 ("Input: ad7879 - add option to correct xy axis") However, the meaning of the new boolean is inverted since the underlying values are already swapped. Let ts->swap_xy set to true actually be the swapped configuration of the two axis. Signed-off-by: Stefan Agner <stefan@agner.ch> Acked-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> (cherry picked from commit 5f2940c4a544ae9040d0feff6da06a994cc201ff)
2016-06-24Input: ad7879 - move header to platform_data directoryStefan Agner
The header file is used by the SPI and I2C variant of the driver. Therefore, move it to a more generic place under platform_data. Signed-off-by: Stefan Agner <stefan@agner.ch> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> (cherry picked from commit 4774f400935fbb44a25f5e8fd5c5583431e28ac1)
2016-06-24video: mxsfb: add compile dependenciesStefan Agner
mxsfb seems to have dependencies into mxcfb (it requires mxc_dispdrv_gethandle), hence compile mxc_dispdrv.c unconditionally. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2016-06-24chipidea: 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-06-24regulator: rn5t618: Add RN5T567 PMIC supportStefan Agner
Extend the driver to support Ricoh RN5T567. Support the additional DCDC and slightly different voltage range of LDORTC1. Signed-off-by: Stefan Agner <stefan@agner.ch> Reviewed-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2016-06-24mfd: add Ricoh RN5T567 PMIC suppportStefan Agner
The Ricoh RN5T567 is from the same family as the Ricoh RN5T618 is, the differences are: + DCDC4 + Slightly different output voltage/currents + 32kHz Output - ADC/Charger capabilities Reviewed-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Signed-off-by: Stefan Agner <stefan@agner.ch>
2016-06-16MLK-12902: usdhc: Revert "MLK-11685-5 mmc: sdhci-esdhc-imx: no need busfreq ↵Haibo Chen
for imx6qdl" This reverts commit 312979d1fcbd068d4ba0f461e974e7cbcc889548. When busfreq is at low bus mode, which is 24MHz, it means DDR/AHB/AXI will drop to 24MHz. At the same time, when in low busfreq mode, cpuidle can be in low power idle, DRAM will be put into self-refresh and DRAM IO will in low power mode to save power, so DMA will NOT work. So all peripherals that needs DMA, need to request bus freq to high setpoint when it is active. Signed-off-by: Haibo Chen <haibo.chen@nxp.com> (cherry picked from commit 2c01452f4d7c0f65553b365adc27a1b7b6ba8644)
2016-06-14MLK-12899-2 video: mipi_dsi_samsung: add panel 'TFT3P5581' driver.Fancy Fang
Add the mipi panel 'TFT3P5581' driver. Signed-off-by: Fancy Fang <chen.fang@nxp.com> (cherry picked from commit 17a4dce7f9a80166ddcc76205b13c1999767899c)
2016-06-14MLK-12901-3 video: mipi_dsi_samsung: alwasy use video mode to transfer data ↵Fancy Fang
and cmds. Since the lcdif uses RGB interface to transfer image data to mipi dsi, video mode should be used to transfer the image data. So, the commands transfer should also use video mode to avoid unnecessary mode switches. Signed-off-by: Fancy Fang <chen.fang@nxp.com> (cherry picked from commit 57d2d01a4fbdf6fb8f71515a74765492d1d34dab)
2016-06-14MLK-12901-2 video: mipi_dsi_samsung: add 10msec delay after all the pkt ↵Fancy Fang
write operation. Add 10msec delay after all the pkt write operations to let the data to take effect on the panel's side. Signed-off-by: Fancy Fang <chen.fang@nxp.com> (cherry picked from commit f53d88d5996f3384533b50d21503b6e5e3e06b06)
2016-06-14MLK-12901-1 video: mipi_dsi_samsung: correct the hardware reset calling ↵Fancy Fang
position. The hardware reset should be done on LP-11 mode which is the data/clk stop state. Signed-off-by: Fancy Fang <chen.fang@nxp.com> (cherry picked from commit cfab3dd4f519adf4e14247e6d09169a1d7833f13)
2016-06-14MLK_12886-2 video: mxsfb: handle the assert gpio in driver to support ↵Fancy Fang
deferred probe The assert gpio comes from 'gpio_spi' module, so the framebuffer depends on the 'gpio_spi' driver loading. And in the case that the framebuffer driver is loaded earlier than the 'gpio_spi' driver, the gpio asserting will fail. So handle this gpio in the framebuffer driver and add deferred probed support. Signed-off-by: Fancy Fang <chen.fang@nxp.com> (cherry picked from commit 3e1b050fd0d9f39292208c6bcd1a474063234f89)
2016-06-13MLK-12898: ov5640 mipi: Add more delay to wait sensor stableSandor Yu
Add more delay to wait sensor stable. Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
2016-06-02MLK-12876: mipi csi: Remove regulator enable code when driver probeSandor Yu
Mipi CSI PHY regulator will enabled in function of s_power. So remove regulator enable code when driver probe. Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
2016-05-31MLK-12860-4 usb: chipidea: imx: add HSIC support for imx7dPeter Chen
Add HSIC support for imx7d. We have not supported HSIC as system wakeup as well as HSIC remote wakeup function at DSM mode, since the 24M OSC can't be off and the SoC internal regulators can't be off at this mode, that will keep power consumption much higher. Signed-off-by: Peter Chen <peter.chen@freescale.com>
2016-05-26MGS-1851 [#2332] fix the integer id resource leakXianzhong
the original fix (MGS-755) for vg memory leak is incomplete, further destroy the node handle to free the integer id with vg memory. Date: May 26, 2016 Signed-off-by: Xianzhong <xianzhong.li@nxp.com>