Age | Commit message (Collapse) | Author |
|
Remove duplicate MX6_PAD_LCD_CLK__LCDIF_CLK, provide pad configuration
MX6_PAD_LCD_VSYNC__LCDIF_VSYNC.
Relates-to: ELB-2725
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
|
|
Update the Toradex Easy Installer recovery vidargs for the recent DRM
update.
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
- Drop "config@1" for apalis-t30, since that's the only config, we do
not have to explicitly set it to config 1.
- Change the configuration for apalis-tk1 to use the actual fdt files.
- Change the configuration for colibri_imx7 to use the actual fdt
files.
- Also fix a wrong fdtfile setting for colibri_imx7.
Related-to: TEI-498
Signed-off-by: Ming Liu <ming.liu@toradex.com>
|
|
Add function which checks USBC_DET pin value for switching to
proper usb phy mode.
Now USB OTG works in both host/otg modes:
U-Boot 2016.11-00011-ga26e924efb-dirty (Jul 19 2019 - 12:14:09 +0300)
...
Colibri iMX6 # usb start
starting USB...
USB0: USB EHCI 1.00
scanning bus 0 for devices... 2 USB Device(s) found
USB1: USB EHCI 1.00
scanning bus 1 for devices... 2 USB Device(s) found
scanning usb for storage devices... 1 Storage Device(s) found
scanning usb for ethernet devices... 0 Ethernet Device(s) found
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
|
|
Provide proper configuration for USBC_DET pin.
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
|
|
Receive DHCP configuration before running tftp command for fetching
proper dtb. When `run nfsboot` is invoked before DHCP configuration
is received, the booting process is stuck on:
Colibri iMX6 # run nfsboot
Booting via DHCP/TFTP/NFS...
Using FEC device
TFTP from server 192.168.10.1; our IP address is 192.168.10.2
Filename '---.dtb'.
Load address: 0x12100000
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
|
|
Receive DHCP configuration before running tftp command for fetching
proper dtb. When `run nfsboot` is invoked before DHCP configuration
is received, the booting process is stuck on:
Colibri iMX6 # run nfsboot
Booting via DHCP/TFTP/NFS...
Using FEC device
TFTP from server 192.168.10.1; our IP address is 192.168.10.2
Filename '---.dtb'.
Load address: 0x12100000
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
|
|
Receive DHCP configuration before running tftp command for fetching
proper dtb. When `run nfsboot` is invoked before DHCP configuration
is received, the booting process is stuck on:
Colibri iMX6 # run nfsboot
Booting via DHCP/TFTP/NFS...
Using FEC device
TFTP from server 192.168.10.1; our IP address is 192.168.10.2
Filename '---.dtb'.
Load address: 0x12100000
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
|
|
Receive DHCP configuration before running tftp command for fetching
proper dtb. When `run nfsboot` is invoked before DHCP configuration
is received, the booting process is stuck on:
Colibri iMX6 # run nfsboot
Booting via DHCP/TFTP/NFS...
Using FEC device
TFTP from server 192.168.10.1; our IP address is 192.168.10.2
Filename '---.dtb'.
Load address: 0x12100000
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
|
|
Receive DHCP configuration before running tftp command for fetching
proper dtb. When `run nfsboot` is invoked before DHCP configuration
is received, the booting process is stuck on:
Colibri iMX6 # run nfsboot
Booting via DHCP/TFTP/NFS...
Using FEC device
TFTP from server 192.168.10.1; our IP address is 192.168.10.2
Filename '---.dtb'.
Load address: 0x12100000
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
|
|
Receive DHCP configuration before running tftp command for fetching
proper dtb. When `run nfsboot` is invoked before DHCP configuration
is received, the booting process is stuck on:
Colibri iMX6 # run nfsboot
Booting via DHCP/TFTP/NFS...
Using FEC device
TFTP from server 192.168.10.1; our IP address is 192.168.10.2
Filename '---.dtb'.
Load address: 0x12100000
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
|
|
Disable ODT values in PHY register set. This has shown more stable
results in temperature chamber.
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
|
|
This reverts commit 01e720ec56c7979a139a3089502dacb784d5d0d8.
The PHY ODT values are the ones which show better result if
deactivated in temperatur chamber. Revert this change which
disabled ODT in the main register set.
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
|
|
Currently default values are used which seem not to match well
with the latest version of the datasheet (NXP Rev. 0, 10/2016).
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
|
|
The Vybrid reference manual VFXXXRM Rev. 0 10/2016 states in chapter
5.2.6.1 DUMMY PADS (DDR/QuadSPI) that those pads need to be programed
for correct operation of DDR. Assume the default DDR pin configuration
which seems to work well on a Colibri VF50.
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
(cherry picked from commit a95d444055134fd8f0e1f2bd4c11222170fe6dc5)
|
|
Disable ODT entirly, it seems to work more stable accross a
variety of modules.
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
Remove video=tegrafb0:640x480-16@60 aka VESA VGA mode from vidargs in
order for the panel specification in the device tree to be used. This
causes the default to be the 10.1" LVDS display which will be available
in the Toradex webshop shortly.
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
Commit 2196085dc58e ("colibri_imx7_emmc: add configuration for tezi")
also enabled FDT relocation, however, this is causing the Linux kernel
to freeze if the M4 firmware was previously started from within U-Boot.
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
Commit 66200a6d2d ("colibri_imx7: add configuration for tezi") also
enabled FDT relocation, however, this is causing the Linux kernel to
freeze if the M4 firmware was previously started from within U-Boot.
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
Increasing PHY_ANEG_TIMEOUT from the default 4000 to 10000.
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Philippe Schenker <philippe.schenker@toradex.com>
|
|
This patch centers the timing around 16ms instead of 8ms as it is in
reset.
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
Disable output driver of PAD CCM_PMIC_STBY_REQ. This prevents the
SOC to request for a lower voltage during sleep. This is necessary
because the voltage is changing too slow for the SOC to wake up
properly.
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
If the SoC is fused with eMMC reset enabled, the detection GPIO is
still set as an output.
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
Linux seems to require memory to be aligned by 2MiB to properly
use it as lowmem.
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
The whole thing meanwhile diverged heavily. Fix this.
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Philippe Schenker <philippe.schenker@toradex.com>
|
|
Currently, the Colibri T20 sdboot variable tries to load the kernel from
the second MMC/SD device instance. However, given the Colibri T20 having
on-module NAND flash the MMC/SD card is actually the primary instance.
Fix this to load the kernel and device tree from the first (typically
FAT) partition of the MMC/SD card as customary on all Toradex modules.
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Philippe Schenker <philippe.schenker@toradex.com>
|
|
This reverts commit cb4e847cbfe791a4093b0dec7b7467df4406f845.
We had some issues with USB2.0 devices when using OTG,
reverting for now.
Signed-off-by: Dominik Sliwa <dominik.sliwa@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
Just give the new Ethernet PHY power save mode circuitry time to settle.
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
Some Colibri iMX6 IT were found which were freezing at higher temperature.
Using the SPL to do a dynamic calibration at each boot fixes the issue.
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
Print all ddr calibration output in the same style.
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
The DDR calibration routines are gated by conditionals for the
i.MX6DQ SOCs, but with the use of the sysinfo parameter, these
are usable on at least i.MX6SDL and i.MX6SL variants with DDR3.
Also, since only the Novena board currently uses the dynamic
DDR calibration routines, these routines waste space on other
boards using SPL.
Add a KConfig entry to allow boards to selectively include the
DDR calibration routines.
Signed-off-by: Eric Nelson <eric@nelint.com>
(cherry picked from commit a425bf72816abbc3996540e42c33a386e8b8a221)
|
|
Add routine mmdc_read_calibration() to return the output of DDR
calibration. This can be used for debugging or to aid in construction
of static memory configuration.
This routine will be used in a subsequent patch set adding a virtual
"mx6memcal" board, but could also be useful when gathering statistics
during an initial production run.
Signed-off-by: Eric Nelson <eric@nelint.com>
(cherry picked from commit 48c7d4379bcf70ce331e441b135cfbf3546dd574)
|
|
The DDR calibration routines have scattered support for bus
widths other than 64-bits:
-- The mmdc_do_write_level_calibration() routine assumes the
presence of PHY1, and
-- The mmdc_do_dqs_calibration() routine tries to determine
whether one or two DDR PHYs are active by reading MDCTL.
Since a caller of these routines must have a valid struct mx6_ddr_sysinfo
for use in calling mx6_dram_cfg(), and the bus width is available in the
"dsize" field, use this structure to inform the calibration routines which
PHYs are active.
This allows the use of the DDR calibration routines on CPU variants
like i.MX6SL that only have a single MMDC port.
Signed-off-by: Eric Nelson <eric@nelint.com>
Reviewed-by: Marek Vasut <marex@denx.de>
(cherry picked from commit 7f17fb7400ff091dd48f86977655c6a57d06b17c)
|
|
The DDR calibration code is only setting flag DG_CMP_CYC (DQS gating sample
cycle) for the first PHY.
Set the 32-cycle flag for both PHYs and clear when done so the MPDGCTRL0
output value isn't polluted with calibration artifacts.
Signed-off-by: Eric Nelson <eric@nelint.com>
Reviewed-by: Marek Vasut <marex@denx.de>
(cherry picked from commit b33f74ead4dfd1ec0b500dc3d1cfef0e308b45c3)
|
|
Fix the nreset_out() and only pull-down nRESET_OUT reset case
was not a power-on reset.
Cannot use get_imx_reset_cause() because static variable reset_cause
is not initialized, normal done by get_reset_cause() much later.
Signed-off-by: Stefan Bigler <stefan.bigler@securiton.ch>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
Add more comments resp. debug output concerning block size and ECC
requirements of NAND flashes. This in aiding further investigation/
integration of support for future NAND flash parts.
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
There are two issues with the zeroing out code currently:
The cache flush does not take the zeroed out section into account!
The M4 firmware is started right after copying the firmware, and
might use the memory area. Since the M4 and the A7 (where U-Boot is
running) are not cache coherent, flushing cache could overwrite
the M4's variable at any point in time, leading to crashes of the
M4 firmware...
Secondly, the program header of a Cortex-M4 firmware might look like
this:
LOAD off 0x00007240 vaddr 0x20000240 paddr 0x1fffdcdc align 2**12
filesz 0x000001d0 memsz 0x000055c4 flags rw-
The code uses paddr as base, and zeros out everything which is
beyond file size. This might overlap into the next section! It
seems that memsz is in vaddr space and not paddr...
Since zeroing out is not strictly necessary (the firmwares C
initialization code should do that anyway) better play safe and
don't initialize the empty bytes...
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
Currently Vybrids sdboot variable tries to load the kernel from /boot of
the root partition (typically second partition when using the sdcard
image). However, since we moved to flash the kernel in a separate UBI
volume, we no longer deploy the kernel/device tree to /boot, hence
sdboot does not work in its current state.
Load the kernel and device tree from the first (typically FAT) partition
as customary on all Toradex modules.
Signed-off-by: Gerard Salvatella <gerard.salvatella@toradex.com>
Acked-by: Stefan Agner <stefan.agner@toradex.com>
|
|
U-Boot typically tears down the display controller before handing
control over to Linux. On LCD displays disabling pixel clock leads to a
fading out effect with vertical/horizontal lines. Make sure to disable
back light before booting Linux.
Signed-off-by: Gerard Salvatella <gerard.salvatella@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
Some boards require specific configuration prior to booting the kernel.
For instance, our boards require shutting down the display to avoid
fading transitions before the drivers are reloaded by the kernel. This
can be facilitated by adding an extra hook during the os booting
process.
Signed-off-by: Gerard Salvatella <gerard.salvatella@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
The PMIC on apalis/colibri_imx6 may have ECC errors in fuses that will
prevent correct settings. Up to one bit error per fuse bank can be
reported and corrected by the ECC logic. Two bit errors can only be
reported.
Signed-off-by: Gerard Salvatella <gerard.salvatella@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
When mainline kernels reboot TK1 they use SW_RESET,
that reset mode does not reset PMIC. Some rails
need to be off for RAM Re-repair to work correctly.
Signed-off-by: Dominik Sliwa <dominik.sliwa@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Stefan Agner <stefan.agner@toradex.com>
|
|
Currently $loadaddr and $fdt_addr_r point to the same address. This
might be not ideal for some distro boot scripts which make use of
$loadaddr after loading the device tree.
Make sure the two variables point to two different addresses. Moving
$loadaddr is not entirly trivial since it is defined in mx6_common.h.
Move $fdt_addr_r and $ramdisk_addr_r by 1MiB, which should be enough
for scripts.
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
In case of Tezi recovery do not stop regular auto booting but rather
load the tezi.itb which got put at a fixed offset of 1M from the
regular loadaddr.
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Stefan Agner <stefan.agner@toradex.com>
|
|
Modify configuration for Tezi:
- Use distroboot by default
- Boot from external SD cards by default
- Disable USB PID from config block (otherwise recovery mode download
in U-Boot stage fails)
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Stefan Agner <stefan.agner@toradex.com>
|
|
In case of Tezi recovery do not stop regular auto booting but rather
load the tezi.itb which got put at a fixed offset of 1M from the
regular loadaddr.
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Stefan Agner <stefan.agner@toradex.com>
|
|
Modify configuration for Tezi:
- Use distroboot by default
- Boot from external SD cards by default
- Disable USB PID from config block (otherwise recovery mode download
in U-Boot stage fails)
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Stefan Agner <stefan.agner@toradex.com>
|
|
Modify configuration for Tezi:
- Enable SDP in U-Boot
- Enable FDT relocation (in-place is causing issues with FIT images)
- Use distroboot by default
- Boot from external SD cards by default
- Disable USB PID from config block (otherwise recovery mode download
in U-Boot stage fails)
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
Modify configuration for Tezi unified recovery mode:
- Enable SDP in U-Boot
- Enable FDT relocation (in-place is causing issues with FIT images)
- Remove video output
- Currently only for recovery (no flash/eMMC support)
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
Modify configuration for Tezi:
- Enable SDP in U-Boot
- Enable FDT relocation (in-place is causing issues with FIT images)
- Remove video output
- Boot from external SD cards using distroboot first by default
- Disable USB PID from config block (otherwise recovery mode download
in U-Boot stage fails)
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|