Age | Commit message (Collapse) | Author |
|
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>
|
|
during __sdhci_read_caps
The sdhci capabilities register can be incorrect. The sdhci-caps-mask
and sdhci-caps dt properties specify which bits of the register are
incorrect and what their values should be. This patch makes the sdhci
driver use those properties to correct the caps during
__sdhci_read_caps.
During __sdhci_read_caps
Use the sdhci-caps-mask property to turn off the incorrect bits of the
sdhci register after reading them.
Use the sdhci-caps to turn on bits after using sdhci-caps-mask to turn
off the incorrect ones.
Signed-off-by: Zach Brown <zach.brown@ni.com>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
(cherry picked from commit 92e0c44b92e463a47746b520ea9aa9ef154f27e7)
|
|
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>
|
|
Forward porting of 35928d6c6a to 6e9e049fa introduced a bug for host
controllers which are not aliased in the device tree. Instead of
instantiating the driver it fails with:
sdhci-esdhc-imx 2194000.usdhc: sdhci_pltfm_init failed -12
sdhci-esdhc-imx: probe of 2194000.usdhc failed with error -12
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
This reverts commit 5f60d82d38a8af8529d1493463e301e548595ccb.
Several modules have issues with HS400 at 100MHz at room temperature
but they seem to work fine at HS400 at 200MHz. Do not restrict
frequency for now.
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@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>
|
|
Entry into recent versions of ARM Trusted Firmware will invalidate the CPU
branch predictor state in order to protect against aliasing attacks.
This patch exposes the PSCI "VERSION" function via psci_ops, so that it
can be invoked outside of the PSCI driver where necessary.
Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
(cherry picked commit from a6df699da786079b7e2249df3f3211be7862f0e1)
Signed-off-by: Jason Liu <jason.hui.liu@nxp.com>
|
|
A9, A12 and A17
In order to prevent aliasing attacks on the branch predictor,
invalidate the BTB on CPUs that are known to be affected when taking
a prefetch abort on a address that is outside of a user task limit.
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
(cherry picked from commit a07373c8c365746583f25f49fee41b1bc0ff94b2)
Signed-off-by: Jason Liu <jason.hui.liu@nxp.com>
|
|
In order to avoid aliasing attacks against the branch predictor,
some implementations require to invalidate the BTB when switching
from one user context to another.
For this, we reuse the existing implementation for Cortex-A8, and
apply it to A9, A12 and A17.
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
(cherry picked commit from efcd0e857a656bbd1c1da15ff984ad6402332c61)
[jason: adapted to 4.9]
Signed-off-by: Jason Liu <jason.hui.liu@nxp.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>
|
|
pci-imx6.c:303:20: warning: unused variable 'pp' [-Wunused-variable]
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
|
|
4.9 1.0.x imx stable merge
|
|
SDHCI falls back to fixed sampling if there is an error during tuning.
However it also reports an error unless there is periodic re-tuning.
That is not the best option because:
a) there is a reasonable chance that fixed sampling will work, especially
at room temperature.
b) re-tuning will be done again anyway if there are CRC errors.
Change to return no error always when falling back to fixed sampling.
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
(cherry picked from commit 0760c355525c08dd598e86edb2a310688ac8af4c)
|
|
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>
|
|
This seems to limit possible baud rates due to lower input clock.
Since Toradex modules do not use UART3 as console, do not set
clock explicitly.
This reverts commit 89869792e2f59c81354f9a53280c4eb6e95f4a9a.
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
Remove duplicate nodes introduced with the move to L4.9.11
release.
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
The new Apalis iMX6 Mezzanine board allows access to the MIPI-CSI2
interface from the evaluation board. The current device tree has
different GPIO pin assignments for the camera reset and power pins.
Change the pin assignment to use Apalis GPIO1 for reset and Apalis
GPIO2 for power down.
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
Add timings for LTTD1280800101-L4WH-CT1 panel used in the new
Capacitive Touch 10.1" LVDS display.
Note that the color mapping is to be set as follows:
fsl,data-mapping = "spwg";
fsl,data-width = <24>;
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
The Atmel maXTouch multitouch controller driver does not control the
reset line connected to the chip. Use a GPIO reset controller node to
release the reset line and make the controller work.
Note that both the reset controller's and the mxt mutitouch controller's
node are set to disabled. Either change this in the dtsi source or fix
this from U-Boot if you use an Atmel maXTouch multitouch controller.
setenv fdt_fixup 'fdt addr ${fdt_addr_r} && fdt set /soc/aips-bus@02100000/i2c@021a0000/atmel_mxt_ts@4a status okay && fdt set /mxt-reset status okay'
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
Add support to allow configuring the display timings via
kernel command line.
e.g.:
video=mxsfb:800x480M-16@60,pixclockpol=1,outputen=1
Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
(cherry picked from commit 22db6beb45cba5a67cab9e9a55cd60d7471591d9)
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Conflicts:
drivers/video/fbdev/mxsfb.c
|
|
Configure Ethernet clock source for each FEC instance individually.
This allows to use different clock source setting for the two FEC
controllers.
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
Exit early in case General-Purpose Registers are missing. This makes
sure that clock is always freed properly (clk_put).
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
Add alias for Ethernet controllers. This allows code to determine
id of controllers using of_alias_get_id.
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
Commit 95c163471135 ("usb: chipidea: use of extcon framework to
work for non OTG case") requires both pins to be specified (ID and
VBUS pin) to work correctly.
Fix the remaining dts.
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
Commit 95c163471135 ("usb: chipidea: use of extcon framework to
work for non OTG case") requires both pins to be specified (ID and
VBUS pin) to work correctly.
Fix the remaining dts.
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|