summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-09-20mx6: ddr: allow 32 cycles for DQS gating calibrationEric Nelson
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)
2018-09-20colibri_imx6: apply nreset_out only if no power-onStefan Bigler
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>
2018-09-20mtd: nand: colibri_t20: more comments/debug outputMarcel Ziswiler
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>
2018-09-13imx: imx-common: do not zero out outside of regionsStefan Agner
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>
2018-09-13colibri_vf: Fix sdboot in vf modulesGerard Salvatella
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>
2018-09-13board: toradex: turn off lcd backlight before OS handoverGerard Salvatella
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>
2018-09-13common: add board specific hook for os pre-boot configGerard Salvatella
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>
2018-09-13board: apalis/colibri_imx6: check for and report ecc errors in fusesGerard Salvatella
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>
2018-07-27apalis-tk1: remove non-esential power rails on bootDominik Sliwa
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>
2018-07-27apalis/colibri_imx6/imx6ull: make sure loadaddr does not collideStefan Agner
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>
2018-07-27apalis_t30: integrate tezi recoveryMarcel Ziswiler
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>
2018-07-27apalis_t30: add configuration for teziMarcel Ziswiler
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>
2018-07-27apalis-tk1: integrate tezi recoveryMarcel Ziswiler
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>
2018-07-27apalis-tk1: add configuration for teziMarcel Ziswiler
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>
2018-07-27colibri-imx6ull: add configuration for teziStefan Agner
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>
2018-07-27colibri_imx7: add configuration for tezi recoveryStefan Agner
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>
2018-07-27colibri_imx7_emmc: add configuration for teziStefan Agner
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>
2018-07-27colibri_imx7: add configuration for teziStefan Agner
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>
2018-07-27mtest: disable physical memory cell test for teziStefan Agner
For faster test time shorten the alternative memory test to only do the stuck address/data line tests instead of full memory write pattern tests. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2018-07-27colibri_imx6: add configuration for teziStefan Agner
Modify configuration for Tezi: - Enable SDP in SPL and U-Boot - Enable FDT relocation (in-place is causing issues with FIT images) - Remove video output - 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>
2018-07-27apalis_imx6: add configuration for teziStefan Agner
Modify configuration for Tezi: - Enable SDP in SPL and U-Boot - Enable FDT relocation (in-place is causing issues with FIT images) - Remove video output - 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>
2018-07-27toradex: add easy installer configurabilityMarcel Ziswiler
Allow setting Toradex Easy Installer aka Tezi specific configuration options like not enabling SATA, directly continuing with the SDP command upon recovery, distrobooting otherwise or not storing the environment. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Stefan Agner <stefan.agner@toradex.com>
2018-07-27colibri_imx7_emmc: legacy update from external sd cardStefan Eichenberger
Use the external SD interface for legacy SD update instead of eMMC. Signed-off-by: Stefan Eichenberger <stefan.eichenberger@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2018-06-19apalis-tk1: apalis_t30: colibri_t30: display reset reasonColibri-iMX7_LXDE-Image_2.8b3.111-20180627Colibri-iMX6_LXDE-Image_2.8b3.111-20180627Colibri-iMX6ULL_LXDE-Image_2.8b3.111-20180627Colibri-VF_LXDE-Image_2.8b3.111-20180626Colibri-T30_LXDE-Image_2.8b3.111-20180627Colibri-T20_LXDE-Image_2.8b3.111-20180626Apalis-iMX6_LXDE-Image_2.8b3.111-20180626Apalis-TK1_LXDE-Image_2.8b3.111-20180626Apalis-TK1-Mainline_LXDE-Image_2.8b3.111-20180627Apalis-T30_LXDE-Image_2.8b3.111-20180626Dominik Sliwa
Signed-off-by: Dominik Sliwa <dominik.sliwa@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2018-06-19apalis-tk1: invoking ram_repair before powerup_cpus()Dominik Sliwa
Invoking tegra124_ram_repair() before powerup_cpus() is being invoked to avoid race-conditions if arises further. (based on downstream: fe1c9e4d523d6727afb62f03ef9fa5c0f04e7859) Signed-off-by: Dominik Sliwa <dominik.sliwa@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2018-06-19colibri-imx6ull: set module variant depending on config blockStefan Agner
Using CPU temperature grading as a discriminator if the Wi-Fi / Bluetooth chip is populated is no longer possible due to upcoming SKUs. Set variant to -wifi only if a valid config block is present and the product id mentions a SKU with Wi-Fi / Bluetooth. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2018-06-19tdx-cfg-block: simplify i.MX 6 module detectionStefan Agner
Use CONFIG_TARGET_... at compile time to differentiate between Apalis iMX6, Colibri iMX6 and Colibri iMX6ULL. Avoid code duplication by moving question about Wi-Fi / Bluetooth before IT/non-IT decision. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2018-06-18tdx-cfg-block: add support for new Colibri iMX6ULL SKUsGerard Salvatella
Signed-off-by: Gerard Salvatella <gerard.salvatella@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2018-06-18colibri_imx7_emmc: add fatwrite supportGerard Salvatella
Tested on Colibri iMX7 1GB aka eMMC V1.1A Signed-off-by: Gerard Salvatella <gerard.salvatella@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2018-06-18colibri-vf: use leveling evaluated by DDR validation toolsStefan Agner
The DDR validation tool (which is part of Processor Expert) allows to evaluate leveling parameters for CR105/CR106/CR110. Several runs have been made with Colibri VF50 and VF61 and it seems to evaluate very similar values. Use this values by default. Note: The newly evaluated parameters seem to require CTLUPD_AREF to be enabled! Note 2: The tool also evaluated 6 as a new value for PHY02/18 GATE_CFG (Coarse adjust of gate open time). However, this seems not to work in practise. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2018-06-18colibri-vf: adjust timing according to data sheetStefan Agner
Using the DDR Validation tool in Processor Expert uncovered two timing inconsistencies. Since those timings are related to the suspend mode they do not affect or change regular memory behavior. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2018-06-06ARM: vf610: ddrmc: do not write CR79 by defaultStefan Agner
The current value CTLUPD_AREF(0) is the reset value of the register, so there is no need to write a value. If needed, the register can be written using board specific CR settings. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2018-06-06ARM: vf610: ddrmc: fix CR138 preprocessor defineStefan Agner
According to the data sheet bits 10-8 are PHYDRAM_CK_EN. Fix mask to allow setting PHYDRAM_CK_EN correctly. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2018-06-06ARM: vf610: fix initialization completion detectionStefan Agner
The CR80 register has multiple interrupt bits, the code is supposed to check bit 8 but instead uses a logical and. In most cases this probably did not affect real operations since at that stage typically none of the other bits are set. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2018-06-06arm: vf610: add UART2 pinmux/clock supportStefan Agner
Add support for Vybrid's UART2 (Colibri UART_B). Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2018-06-06colibri-imx6: added nreset gpio on rebootGerard Salvatella
RGMII_RD1 pin (active high, GPIO6_IO27) is triggered on reboot during the SPL phase. This asserts (active low) nReset_Out from the PMIC. Only V1.1 and later Colibri iMX6 modules implement this in hw. Previous versions do not use this pin, so it is safe to leave it enabled at all times. Signed-off-by: Gerard Salvatella <gerard.salvatella@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2018-06-06cmd: ubi: print load size after establishing volume sizeStefan Agner
When using static volumes, the file size stored in the volume is determined at runtime. Currently the ubi command prints the file size specified on the console, which leads to a rather confusing series of messages: # ubi read ${fdt_addr_r} testvol Read 0 bytes from volume testvol to 82000000 No size specified -> Using max size (179924992) Make sure to print the actual size read in any case: # ubi read ${fdt_addr_r} testvol No size specified -> Using max size (179924992) Read 179924992 bytes from volume testvol to 82000000 Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2018-06-06cmd: set filesize variable in ubi readHolger Dengler
After a successful read of a UBI volume, the variable filesize is set to the number of read bytes. To boot linux with a raw initramfs/initrd, you must specify the exact size of the initramfs/initrd image in boot command. If the initramfs/inird is read from UBI volume, $filesize is required to access the number of read bytes. Example: ubi read ${loadaddr} kernelvol ubi read ${fdtaddr} dtbvol ubi read ${initrd_addr} initrdvol bootz ${loadaddr} ${initrd_addr}:${filesize} ${fdt_addr} Signed-off-by: Holger Dengler <dengler@linutronix.de> Reviewed-by: Heiko Schocher <hs@denx.de> (cherry picked from commit 985fa93e61706a78fad130b006aefa1c098145de) [backported to 2016.11] Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2018-06-06colibri-imx6ull: fix card detect GPIO of SD cardStefan Agner
Use GPIO 0 of instance GPIO5 which is used as card detect on Colibri iMX6ULL. This fixes SD card detection. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2018-06-06apalis-tk1: change usb_port_owner_info to 3 in defargsDominik Sliwa
Change usb_port_owner_info to 3 in defargs to allow for USB 3.0 SuperSpeed functionality on USBO1 in host mode. Signed-off-by: Dominik Sliwa <dominik.sliwa@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2018-06-06colibri-imx6ull: Set the DDR RAM ASR bitSven Guggisberg
Set the ASR bit to enable auto self refresh for RAM in mode register 2. In ASR the refresh rate is dynamically adjusted to temperature which is more power efficient in suspend to RAM. Signed-off-by: Sven Guggisberg <sven.guggisberg@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2018-06-06tdx-cfg-block: fix off by one issueMarcel Ziswiler
Fix toradex_modules array off by one issue potentially leading to spurious printout during boot e.g. Model: Toradex V1.2A, instead of Model: Toradex UNKNOWN MODULE V1.2A. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2018-03-21colibri_t20: fix passing mac address via dtColibri-iMX7_LXDE-Image_2.8b2.97-20180331Colibri-iMX6_LXDE-Image_2.8b2.97-20180331Colibri-iMX6ULL_LXDE-Image_2.8b2.97-20180331Colibri-VF_LXDE-Image_2.8b2.97-20180331Colibri-T30_LXDE-Image_2.8b2.97-20180331Colibri-T20_LXDE-Image_2.8b2.97-20180331Apalis-iMX6_LXDE-Image_2.8b2.97-20180331Apalis-TK1_LXDE-Image_2.8b2.97-20180331Apalis-TK1-Mainline_LXDE-Image_2.8b2.97-20180331Apalis-T30_LXDE-Image_2.8b2.97-20180331Marcel Ziswiler
T20 uses different addresses for its EHCI controllers which I missed. Fix this. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Stefan Agner <stefan.agner@toradex.com>
2018-03-21apalis_t30/tk1/colibri_t20/t30: integrate mac address via dtMarcel Ziswiler
Use device tree to set MAC address of the Ethernet chip. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Stefan Agner <stefan.agner@toradex.com>
2018-03-21colibri_t20: integrate mtd partitions via dtMarcel Ziswiler
Use device tree to set MTD partitions of the NAND chip. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Stefan Agner <stefan.agner@toradex.com>
2018-03-21tools/env: allow equal sign as key value separationStefan Agner
Treat the first equal sign as a key/value separation too. This makes the script files compatible with mkenvimage input file format. It won't support variables with equal signs anymore, but this seems not really like a loss. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2018-03-21apalis/colibri_imx6: remove white space after string endStefan Agner
The white spaces after the zero string terminator are applied to the following environment entry. This is not what was intended. Remove the superfluous white spaces. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2018-03-21script: Make the get_default_envs.sh script working with newest u-bootLukasz Majewski
This commit fixes several issues: - Use ${OBJCOPY} if available, fallback to system default's objcopy if not present. - Extend the script to accept different build directory than current one. It is extremely handy with OE usage, where source code is separated from build. Signed-off-by: Lukasz Majewski <lukma@denx.de> Tested-by: Alex Kiernan <alex.kiernan@gmail.com> [Backported to 2016.11] Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> (cherry picked from commit 0778e7c50ba1904943a1d6b5194c29d1fee33334)
2018-03-21colibri_vf_defconfig: enable MTD partitions via dtStefan Agner
Use device tree to set MTD partitions of the NAND chip. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2018-03-21arm: dts: imx7: add UART2/UART3Stefan Agner
This allows to change U-Boots default UART by simply changing stdout-path in the device tree. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>