Age | Commit message (Collapse) | Author |
|
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>
|
|
Add support for PWM polarity control
Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com>
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
|
|
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>
|
|
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>
|
|
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>
|
|
toradex_imx_4.1.15_1.0.0_ga-next
|
|
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)
|
|
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)
|
|
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)
|
|
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)
|
|
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)
|
|
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>
|
|
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.
|
|
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.
|
|
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 */
>;
};
|
|
Use platform independent description for requested GPIOs.
(cherry picked from commit c300f3a605f8984449c1a5324fd3edda6f2fd8ff)
|
|
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)
|
|
To avoid warnings use the new I2C power management function for
suspend and resume.
(cherry picked from commit 9d996316a470d37fb71c521f27106b014f3f0b23)
|
|
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)
|
|
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)
|
|
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)
|
|
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
|
|
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)
|
|
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>
|
|
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>
|
|
This patch add function sdio_reset_comm() to support bcmdhd wifi
dirver build-in type.
Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
|
|
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>
|
|
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)
|
|
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>
|
|
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>
|
|
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
|
|
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>
|
|
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>
|
|
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)
|
|
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)
|
|
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)
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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)
|
|
Add the mipi panel 'TFT3P5581' driver.
Signed-off-by: Fancy Fang <chen.fang@nxp.com>
(cherry picked from commit 17a4dce7f9a80166ddcc76205b13c1999767899c)
|
|
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)
|
|
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)
|
|
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)
|
|
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)
|
|
Add more delay to wait sensor stable.
Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
|
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>
|
|
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>
|
|
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>
|