Age | Commit message (Collapse) | Author |
|
Add the pinmuxing and a inactive node for flexcan1 on SODIMM 55/63
and move the inactive flexcan modes to imx6ull-colibri-eval-v3.dtsi
where they belong.
Note that this commit does not enable flexcan functionality, but rather
eases the effort needed to do so.
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
(cherry picked from commit 1865142fd6a9dff221ace05fcbd704b5d86523df)
|
|
Some Micrel KSZ8041NL PHY chips exhibit continous RX errors after
using the power down mode bit (0.11). If the PHY is taken out of
power down mode in a certain temperature range, the PHY enters a
weird state which leads to continously reporting RX errors. In that
state, the MAC is not able to receive or send any Ethernet frames
and the activity LED is constantly blinking. Since Linux is using
the suspend callback when the interface is taken down, ending up
in that state can easily happen during a normal startup.
Micrel confirmed the issue, caused by abnormal clock recovery when
using power down mode. Even the latest revision (A4, Revision ID
0x1513) seems to suffer that problem.
Remove the suspend/resume callback to avoid using the power down
mode completely.
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
(cherry picked from commit a76182f34d2963ee5dca3bc026cbddb44b19be7c)
|
|
Fix obvious typo that first return value is set but not checked.
Signed-off-by: Max Uvarov <muvarov@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from commit a0da456bbf95d2a9294799bb05c61bfb24736bb7)
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
(cherry picked from commit 5f0a65495d895df2be2ddd681662f877f1a05b7f)
|
|
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
(cherry picked from commit fb97f0b4043af52820cb4c2ca40fe855f8746e90)
|
|
The current reset-gpio support triggers an interrupt storm on platforms
using the maxtouch with level based interrupt. The Motorola Droid 4,
which I used for some of the tests is not affected, since it uses a edge
based interrupt.
This change avoids the interrupt storm by enabling the device while its
interrupt is disabled. Afterwards we wait 100ms. This is important for
two reasons: The device is unresponsive for some time (~22ms for
mxt224E) and the CHG (interrupt) line is not working properly for 100ms.
We don't need to wait for any following interrupts, since the following
mxt_initialize() checks for bootloader mode anyways.
This fixes a boot issue on GE PPD (watchdog kills device due to
interrupt storm) and does not cause regression on Motorola Droid 4.
Fixes: f657b00df22e ("Input: atmel_mxt_ts - add support for reset line")
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
Reviewed-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
(cherry picked from commit ca1cd36cef00260db6b35b32d863e0c580c0488d)
(cherry picked from commit 6d7ffbea51c1f314a4435065147b36159169571f)
|
|
This reverts commit 6df9c073cb10a0f10d2fc2bea28f8133b5a89a66.
This fixes gpmi-nand being defunct on i.MX 6ULL and i.MX 7S/D just
hanging the ubifs background task during DMA.
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Philippe Schenker <philippe.schenker@toradex.com>
|
|
from clks_init_on[]"
This reverts commit 04b647fe39e7b1f2ccbcde2e9eccc596b5f2b9da.
This fixes eMMC on sdhci3 being defunct just erroring out with -110.
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Philippe Schenker <philippe.schenker@toradex.com>
|
|
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Philippe Schenker <philippe.schenker@toradex.com>
|
|
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
This fixes commit 7511009a7642 ("MLK-15937-4: ASoC: fsl_spdif: Use DMA
workaround for SPDIF").
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
All PWM clock instances have their clock gate. Add these consistently.
Fixes freezing the kernel when one of these instances is used with
IMX6UL_CLK_DUMMY as its clock source.
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
(cherry picked from commit cd5d7ba49df7918732915a31bfc0f72827bebc2c)
|
|
The file uses linux,keycode = <KEY_POWER>;, so include
the header which defines KEY_POWER.
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
(cherry picked from commit 479e0bae1ddfe3ec527634c241fadae558966323)
|
|
Introduce the "lrclk-strength" property to allow LRCLK pad drive strength
to be changed via device tree.
When running a stress playback loop test on a mx6dl wandboard channel
swap can be noticed on about 10% of the times.
While debugging this issue I noticed that when probing the SGTL5000
LRCLK pin with the scope the swap did not happen. After removing
the probe the swap started to happen again.
After changing the LRCLK pad drive strength to the maximum value the
issue is gone.
Same fix works on a mx6dl Colibri board as well.
Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
Tested-by: Max Krummenacher <max.krummenacher@toradex.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit 91dca475d4368bef170fe9b20bb2005b241cc4bc)
|
|
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>
(cherry picked from commit 3cb3771edb98e2ae79a887368fc042b89456da7e)
|
|
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>
(cherry picked from commit 65be28e2a2b3761d088b20c43994be97d74c342f)
|
|
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>
(cherry picked from commit 5652dc1ad78303fb246f050ba23c563319d823cf)
|
|
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>
(cherry picked from commit e23e2335dbc3ad604f65886b9b1373a586406b53)
|
|
Missing commit 688f897ddd96 ("Merge remote-tracking branch
'linux-fslc/4.9-1.0.x-imx' into toradex_4.9-1.0.x-imx-next").
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
Reduce the current drawn from VCC_BATT when the main power on the 3V3 pins
to the module are switched off.
This switches off SoC internal pull resistors which are provided on the module
for TAMPER7 and TAMPER9 SoC pin and switches on a pull down instead of a pullup
for the USBC_DET module pin (TAMPER2).
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
Force HS200 by masking bit 63 of the SDHCI capability register.
The i.MX ESDHC driver uses SDHCI_QUIRK2_CAPS_BIT63_FOR_HS400. With
that the stack checks bit 63 to descide whether HS400 is available.
Using sdhci-caps-mask allows to mask bit 63. The stack then selects
HS200 as operating mode.
This prevents rare communication errors with minimal effect on
performance:
sdhci-esdhc-imx 30b60000.usdhc: warning! HS400 strobe DLL status REF not lock!
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
On some systems the sdhci capabilty register is incorrect for one
reason or another.
The sdhci-caps-mask property specifies which bits in the register
are incorrect and should be turned off before using sdhci-caps to turn
on bits.
The sdhci-caps property specifies which bits should be turned on.
Signed-off-by: Zach Brown <zach.brown@ni.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
(cherry picked from commit 426ad975237e880c5ecdc1b74f0a4c34b93d3e14)
|
|
There is no fixed 1.8V regulator. VDDD is connected to the PMIC.
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
Add support for Aster Carrier Board with Colibri iMX6ULL.
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
The current Colibri iMX7 device tree are prepared for flexcan1 and
flexcan2. However their settings are different and the integration
is done to a different degree.
Unify that.
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
Switch on 22 kOhm pull ups and lower the I2C frequency to around 40kHz
to get a more reliable communication.
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
The apalis has a 8 and 4 bit SD/MMC interface.
Switch on a 100k pull up on the card detect pins for carrier boards
which leave the pin floating.
Switch on hysteresis in case the signal has slow rise or fall times.
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
On imx6 the SGTL5000 audio codec supply voltage is 3.3V and
not 2.5V as might have been copied over from other modules.
Output is slightly overamplified if the value is not corrected,
which may lead to signal clipping.
Signed-off-by: Gerard Salvatella <gerard.salvatella@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
The i.MX6 ULL's watchdog is used to reset the SoC on reboot. The watchdog is
configured to use the SoC's internal reset signal which does not generate a
reset pulse on nRESET_OUT. Change the watchdog configuration to use a SoC
external HW signal.
This will additionally change the 'Reset cause' message from U-Boot
from WDOG to POR.
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
Use a pinmux configuration for SD/MMC card detect and SPI chip
select instead of relying on reset/boot settings. There have
been no adverse effects observed, but it seems sensible to mux
the pads explicitly.
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
The device tree got changed to use the simple card driver, so enable it
in the defconfig.
While at it remove the IMX_SGTL5000 driver now replaced by the simple card driver.
While at it remove the unused ESAI driver.
While at it remove the unused CS42XX8_I2C codec driver.
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Acked-by: Stefan Agner <stefan.agner@toradex.com>
|
|
The Capacitive Touch Adapter is an interface board designed to easily
connect the Capacitive Touch Display 7" Parallel to the Colibri Carrier
boards which do not have PCAP connector yet available on board.
Change the pins for interrupt and reset to those defined in the
Capacitive Touch Adapter's datasheet.
While at it remove the '#ifdef PCAP' in favour of disabled nodes.
That way one can fixup the device tree in U-Boot to disable the
pwm nodes and enable the connected touch controller.
e.g. for a Colibri iMX6S/DL:
Colibri iMX6 # setenv fdt_fixup 'fdt addr ${fdt_addr_r} && fdt resize && fdt set /soc/aips-bus@02100000/i2c@021a8000/atmel_mxt_ts@4a status okay; fdt set /soc/aips-bus@02000000/pwm@02080000 status disabled; fdt set /soc/aips-bus@02000000/pwm@0208c000 status disabled'
Colibri iMX6 # saveenv
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
Toradex Carrier boards use the ST M41T0 RTC (not M41T00). The RTC
is almost the same, but the M41T0 needs some special handling in
case the oscillator fails. Now that support for this difference is
available, using the new compatible string to make use of it.
Sync with commit 10e718b1c60c4e490e6972cfa58e97fcf5260685
Signed-off-by: Gerard Salvatella <gerard.salvatella@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
Synced with 558d378d522189ad68fcb00aff05fd134bf20924
Signed-off-by: Gerard Salvatella <gerard.salvatella@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
Add mxt nodes to dts and gpio-reset functionality.
Signed-off-by: Gerard Salvatella <gerard.salvatella@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
Signed-off-by: Gerard Salvatella <gerard.salvatella@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
Synchronize with commit fcfdb9c32075501e64751cc6a79fd91d15933692
Signed-off-by: Gerard Salvatella <gerard.salvatella@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
Provide support for controlling reset pin. If this is not driven
correctly the device will be held in reset and will not respond.
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
(cherry picked from commit f657b00df22e231da217ca0162a75db452475e8f)
Signed-off-by: Gerard Salvatella <gerard.salvatella@toradex.com>
|
|
Switch mxt_data and interrupt to resource managed allocation methods,
which cleans up the driver slightly and prepares for adding
reset GPIO support.
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
(cherry picked from commit 8cc8446b9b62ef954b630ed30e53bd1553e916a6)
Signed-off-by: Gerard Salvatella <gerard.salvatella@toradex.com>
|
|
Prepare FlexCAN use on SODIMM 55/63. Those SODIMM pins are compatible
for CAN bus use with several modules from the Colibri family.
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
Commit 833f2cbf7091 ("ARM: dts: imx6: change the core clock of spdif")
changed many more clocks than only the SPDIF core clock as stated in
the commit message.
The MLB clock has been added and this causes SPDIF regression as
reported by Xavi Drudis Ferran and also in this forum post:
https://forum.digikey.com/thread/34240
The MX6Q Reference Manual does not mention that MLB is a clock related
to SPDIF, so change it back to a dummy clock to restore SPDIF
functionality.
Thanks to Ambika for providing the fix at:
https://community.nxp.com/thread/387131
Fixes: 833f2cbf7091 ("ARM: dts: imx6: change the core clock of spdif")
Cc: <stable@vger.kernel.org> # 4.4.x
Reported-by: Xavi Drudis Ferran <xdrudis@tinet.cat>
Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
Tested-by: Xavi Drudis Ferran <xdrudis@tinet.cat>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
(cherry picked from commit f065e9e4addd75c21bb976bb2558648bf4f61de6)
This fix was correct, but overwritten by commit 833f2cbf7091099baee28136dc68678e974c0ac5.
MLB (Media Local Bus) Clock is in fact not related to SPDIF according to the MX6Q Reference
Manual. Tested playback and record on pulseaudio with 44.1kHz samples.
Signed-off-by: Gerard Salvatella <gerard.salvatella@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
The Colibri iMX6ULL 256MB crashes in resume if the M/F mix domain is
powered down when suspending.
With this workaround this does not happen.
Crash looks as follows:
root@colibri-imx6ull:~# echo +3 > /sys/class/rtc/rtc1/wakealarm; echo mem > /sys/power/state
[ 52.800741] PM: Syncing filesystems ... done.
[ 52.856715] Freezing user space processes ... (elapsed 0.001 seconds) done.
[ 52.865669] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
[ 52.875024] Suspending console(s) (use no_console_suspend to debug)
[ 52.950638] PM: suspend of devices complete after 68.211 msecs
[ 52.952506] PM: late suspend of devices complete after 1.835 msecs
[ 52.954292] PM: noirq suspend of devices complete after 1.757 msecs
[ 52.954300] Disabling non-boot CPUs ...
[ 52.954307] Turn off M/F mix!
[ 52.955663] PM: noirq resume of devices complete after 1.222 msecs
[ 52.956767] imx-sdma 20ec000.sdma: loaded firmware 3.3
[ 52.957669] PM: early resume of devices complete after 1.411 msecs
[ 52.959140] gpmi-nand 1806000.gpmi-nand: use legacy bch geometry
[ 53.005653] Suspended for 2.907 seconds
[ 53.012207] PM: resume of devices complete after 54.507 msecs
[ 53.073751] Restarting tasks ... done.
root@colibri-imx6ull:~# [ 55.049753] gpmi-nand 1806000.gpmi-nand: DMA timeout, last DMA :2
[ 55.056377] gpmi-nand 1806000.gpmi-nand: Show GPMI registers :
[ 55.062835] gpmi-nand 1806000.gpmi-nand: offset 0x000 : 0x00000000
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
dtc recently added PCI bus checks. Fix these warnings.
Signed-off-by: Rob Herring <robh@kernel.org>
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
(cherry picked from commit 3e1b857786f0d46a92b3a4d7878767883ed90bdc)
|
|
This reverts commit 9a4bf05126f42c2632729ab0da503021d74ed454.
With this commit the PCIe enumaration fails. A follow up commit further
addresses the issue.
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
To operate RS-485 on Toradex Carrier Boards a low active RTS signal
is required. Furthermore, a low active RTS signal requires the
receiver to be active (this seems to be a hardware limitation of the
i.MX UART).
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
Add device tree properties to influence RTS polarity and whether
the receiver is enabled during transmission (rs485-rts-active-low,
rs485-rx-during-tx).
This aligns with behavior with upstream Linux, where RTS is active
high by default (SER_RS485_RTS_AFTER_SEND) and the receiver is
disabled by default when using RS485 (SER_RS485_RX_DURING_TX).
Note that for Toradex hardware both properties are required, hence
using RS-485 on Toradex Carrier Boards requires the following
properties being specified in the device tree:
linux,rs485-enabled-at-boot-time;
rs485-rts-active-low;
rs485-rx-during-tx;
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
Signed-off-by: Andri Schmidt <a.schmidt@scewo.ch>
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
|
|
This seems to limit possible baud rates due to lower input clock.
Since Toradex modules do not use UART5/6 as console, do not set
clock explicitly.
This reverts commit 4f447cb8bccb1d40973e46478d7b11aa61961c90.
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|