Age | Commit message (Collapse) | Author |
|
Enable CONFIG_IP_DEFRAG and set CONFIG_TFTP_BLOCKSIZE to 16384 (resp.
1536 on Colibri T20). This increases the tftp download speed
considerably.
While at it enable CONFIG_TFTP_TSIZE which limits the progress bar to
fifty '#' independent of the downloaded file size.
While at it also fix some spacing from using spaces to tabs.
|
|
This is a copy/paste error from the Apalis T30 configuration as there
we show the Linux framebuffer console by default on the second
framebuffer instance being the DVI-D aka HDMI one due to analogue VGA
not being available. This patch changes it for the Colibri T30 back to
the first framebuffer instance being the parallel RGB aka TFTLCD one
which usually gets converted to analogue VGA via an on-carrier RAMDAC
(e.g. at least on the Colibri Evaluation board as well as Iris this is
the case).
|
|
Use the correct I2C instance for the I2C going to SODIMM_194/196.
|
|
|
|
use Apalis GPIO1 to switch on VPGM
|
|
commit 2da77958e96151295e72f8f85aee352d0b4010fe added a configuration option
to include commands used during production.
Fixing the use of the CONFIG macro.
|
|
Some firmwares running on the secondary core rely on UART pins
muxed at start time. Mux the Vybrid UART2 (which maps to Colibri
UART_B) at startup.
|
|
Add support for ARM global timer. This allows to save the platform
wide PIT timer for other purposes such as MQX on the secondary
Cortex-M4 core.
|
|
Fixup the device-tree with the property fsl,has-cke-reset-pulls
which annotates that the board has pull-ups/downs which are required
to put the memory into self-refresh mode. The self-refresh mode in
turn is a requirement to put the SoC into deep sleep mode LPSTOP.
|
|
Use device-tree fixup to communicate the MTD partitions to the
kernel. U-Boot's mtdparts environment variable will be used as
partition source for the device-tree based partition table too.
|
|
Allow to boot eCos, MQX and bare-metal firmwares to boot on the
secondary Cortex-M4. The boot code is equal for all those firmware
types, the argument register will be set to 0 and the code will
jump to the specified entry point directly.
|
|
Add new identifiers for Cortex-M4 related (RT)OS eCos, MQX and
Bare-metal.
|
|
Move entry point is Thumb2 check just after reading the entry point
from the FIT image.
|
|
Include vf610m4bootldr, a mini boot loader for the Cortex-M4 CPU
inside Freescale Vybrid SoC. The mini loader enables caches and
copies the pointer to the device tree from the platform specific
argument register (PERSISTENT_ARG1) to the Cortex-M4 r2 register,
where the Linux kernel expects the pointer. The mini loader hence
essentially takes over the parts of the m4boot command which can
not be done from the Cortex-A5 main CPU.
|
|
Add m4boot command which allows to boot FIT images on the Cortex-M4
kernel. The command currently only supports FIT image, which allows
to provide entry point and load addresses for all boot artifacts.
Currently, the Cortex-M4 mini loader needs to be loaded manually
to Kernel loadaddr - 0x80 (e.g. 0x8f000000, if kernel is loaded at
0x8f000080).
|
|
Do not configure all interrupts to the primary core by default since
newer Linux versions configure the MSCM interrupt router correctly
by themself. This also prevents warnings due to already routed
interrupts when booting Linux on the secondary Cortex-M4 CPU.
|
|
Enable CONFIG_IP_DEFRAG and set CONFIG_TFTP_BLOCKSIZE to 16384.
This increases the tftp download speed from ~2.5 to ~8.2MiB/s.
While at it enable CONFIG_TFTP_TSIZE which limits the progress bar
to 50 '#' indepent off the downloaded file size.
|
|
Increase console IO buffer size to 1024 from the previous value of 256.
The previous value was too short for editing environment variables like
ubiboot, from the console.
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
|
|
Enable CONFIG_IP_DEFRAG and set CONFIG_TFTP_BLOCKSIZE to 16384.
This increases the tftp download speed considerably.
While at it enable CONFIG_TFTP_TSIZE which limits the progress bar to
fifty '#' indepent off the downloaded file size.
|
|
CONFIG_TFTP_TSIZE should limit a tftp downloads progress to 50 '#' chars.
Make this work also for small files.
If the file size is small, i.e. smaller than 2 tftp block sizes the number
of '#' can get much larger. i.e. with a 1 byte file 65000 characters are
printed, with a 512 byte file around 500.
When using CONFIG TFTP BLOCKSIZE together with CONFIG_IP_DEFRAG the issue
is more notable.
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
Fix setsdupdate by adding missing 'usb start' command.
While at it also add USB start to setethupdate as doing it twice won't
hurt (e.g. it returns immediately only 'usb reset' does a full rescan).
|
|
In order to use the gpio commandline feature of U-Boot the pins
one wants to control must be muxed to GPIO.
Do that for Apalis pins GPIO[1:8] and for WAKE1_MICO.
This feature can be used as follows:
e.g. set GPIO1 to 1:
Apalis iMX6 # gpio set 36
gpio: pin 36 (gpio 36) value is 1
e.g. read the state of GPIO8:
Apalis iMX6 # gpio input 6
gpio: pin 6 (gpio 6) value is 1
|
|
In order to use the gpio commandline feature of U-Boot the pins
one wants to control must be muxed to GPIO.
Do that for all unused pins which in the default kernel device tree also gets
muxed to gpio for userspace use.
This feature can be used as follows:
e.g. change the LCD brightness signal from 0V to 3.3V:
Colibri iMX6 # gpio set 41
gpio: pin 41 (gpio 41) value is 1
e.g. read the state of gpio 111:
Colibri iMX6 # gpio input 111
gpio: pin 111 (gpio 111) value is 1
|
|
Out of reset EMI_ADDR22 is output and connected to GPIO01.
As we want to use GPIO01 as an output for backlight control
mux EMI_ADDR22 to a GPIO which by default is input.
|
|
Add an alias for the ESDHC0 which provides the standard MMC connection
on Colibri iMX6.
Add an alias for the ESDHC0/1 which provides the standard MMC/SD connection
on Apalis iMX6.
|
|
Enable OF system setup to add hardware revision and serial number
information to the device-tree in case a mainline Linux kernel with any
such is booted.
While at it default back to the regular 8 MB DFU data buffer size.
|
|
Enable optional raw initrd support to allow boot using an initrd.
|
|
Introduce cache alignment bounce buffer to workaround issues as follows:
Loading file '/boot/zImage' to addr 0x01000000 with size 4499152 (0x0044a6d0)...
ERROR: v7_dcache_inval_range - start address is not aligned - 0x1f7f0108
ERROR: v7_dcache_inval_range - stop address is not aligned - 0x1f7f1108
Done
Kernel image @ 0x1000000 [ 0x000000 - 0x44a6d0 ]
Starting kernel ...
undefined instruction
pc : [<005ff03c>] lr : [<0000800c>]
sp : 0144b6e8 ip : 01000188 fp : 0144a6c8
r10: 00000000 r9 : 411fc090 r8 : 00000100
r7 : 00000cfb r6 : 0144a6d0 r5 : 00000000 r4 : 00008000
r3 : 0000000c r2 : 00000100 r1 : 00000cfb r0 : 00000000
Flags: nZCv IRQs off FIQs off Mode SVC_32
Resetting CPU ...
|
|
Various U-Boot adoptions/extensions to MTD/NAND/UBI did not take buffer
alignment into account which led to failures of the following form:
ERROR: v7_dcache_inval_range - start address is not aligned - 0x1f7f0108
ERROR: v7_dcache_inval_range - stop address is not aligned - 0x1f7f1108
|
|
Fix build of configurations without the Toradex config block. Also
move away from the ifdefery through the file, but create a global
ifdef which distingush between the two variants on a global level.
|
|
The USB product ID's for the Colibri/Apalis family of Toradex can
be calculated by using the Toradex product ID (as provided by the
config block) plus a fixed offset of 0x4000.
|
|
Use the boot loader splash screen from WinCE, which maches positionwise
our wallpapers. Altough the logo is a 8-Bit indexed BMP as well, colors
looked odd at first on U-Boot. After converting to full RGB pallette
and coverting back to indexed BMP using imagemagick, the Logo showed
up properly.
$ convert tools/logos/toradex-rgb.bmp -type Palette -colors 256 \
-compress none -verbose BMP3:tools/logos/toradex.bmp
|
|
This fixes the following warning (and the runtime error reporting):
../common/image-fdt.c:491:4: warning: 'fdt_ret' may be used uninitialized in this function [-Wmaybe-uninitialized]
|
|
|
|
When there is no framebuffer allocated, e.g. no video environment
variable or an error during initialization, the framebuffer location
ends up to be NULL, in which case the fixup function calculates a
bogus memory size. Use the framebuffer size to make sure that memory
size is calculated right in any case.
|
|
Set board revision and Toradex product ID as device tree property.
This transfers the Toradex configblock information to Linux user-
space, where it can be read conviniently through the proc file
system files:
- /proc/device-tree/serial-number
- /proc/device-tree/toradex,board-rev
- /proc/device-tree/toradex,product-id
In case the Toradex config block is missing or corrupted, the
device tree properties won't be created by the boot loader and
hence those file won't exist in that case.
|
|
Use ft_system_setup to set Toradex specific device-tree properties.
At first, this is only the serial-number, which is using a property
which is about to be standardized in the binding documentation of
the Linux kernel.
|
|
Move setting of environment variables to common code. This prepares
for further enhancements which will enhance the device tree with
module specific information from the configblock.
|
|
CONFIG_TRDX_CMD_IMX_MFGR in menu 'ARM architecture'
While at it remove unused include g_dnl.h
|
|
|
|
This uses the tools/logos/toradex.bmp instead of the default
tux logo and places it centered on screen.
While at it group the display releated variables together.
|
|
In U-Boot use the following display outputs a:
- Test the panel environment variable and if set use it
- Use HDMI if connected
- Use parallel output otherwise configured for VGA 640x480
The following strings can be set for the panel variable:
HDMI vga-rgb wvga-rgb
|
|
The ipu has two display interfaces. Make the used one a parameter
in struct display_info_t instead of using unconditionally DI0.
|
|
|
|
|
|
Swap the order of the Toradex factory configuration block location in
respect to the U-Boot environment. This to again be in-line with
mainline.
Move the Toradex factory configuration block to a 3 MB offset.
|
|
did not work:
Colibri T30 # crc32 0x80000000 0x100
crc32 for 80000000 ... 800000ff ==> 9eb4f5ca
Colibri T30 # crc32 -v 0x80000000 0x100 c9a057b3
crc32 for 80000000 ... 800000ff ==> 9eb4f5ca != ffffffff ** ERROR **
Colibri T30 # crc32 -v 0x80000000 0x100 9eb4f5ca
crc32 for 80000000 ... 800000ff ==> 9eb4f5ca != 301eeead ** ERROR **
now works again:
Colibri T30 # crc32 0x80000000 0x100
crc32 for 80000000 ... 800000ff ==> 9eb4f5ca
Colibri T30 # crc32 -v 0x80000000 0x100 c9a057b3
crc32 for 80000000 ... 800000ff ==> 9eb4f5ca != c9a057b3 ** ERROR **
Colibri T30 # crc32 -v 0x80000000 0x100 9eb4f5ca
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
Add consoleblank=0 to disable console blanking by default. To use
initramfs without the need of creating a U-Boot image using mkimage,
enable CONFIG_SUPPORT_RAW_INITRD too.
|
|
Rename the serial loader boot mode to "serial". Also add an alias
for the ESDHC1 controller, which provides the standard MMC connection
for the Colibri SO-DIMM default pinout.
|
|
Some functionality is repetitve accross the boards. This creates
a common place for U-Boot functions which need to be implemented
similarly for all Toradex modules.
|