Age | Commit message (Collapse) | Author |
|
Enable Serial Download Protocol (SDP) in SPL. This is useful to
make use of imx_usb to download the complete U-Boot (u-boot.img)
after SPL has been downloaded.
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
Use a completely independent USB Product ID for SPL. This allows
to differentiate a SDP running in SPL and SDP running in a U-Boot
which could not read the config block successfully.
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
Add USB serial download protocol support to SPL. If the SoC started
in recovery mode the SPL will immediately switch to SDP and wait for
further downloads/commands from the host side.
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
Before commit 81c4eccb55cc ("imx: mx6: fix USB bmode to use
reserved value") a non-reserved value has been used to trigger
Serial Downloader using bmode. On some boards this value lead to
unreliable bmode command. With the above mentioned commit, U-boot
switched to use [7:4] b0001, which translates to GPR9 0x10 for
Serial Downloader mode. Check for this new bmode and classify it
as Serial Downloader.
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
When starting i.MX SoC's with BOOT_MODE b01, the boot ROM enteres
Serial Downloader mode. However, serial download does not necessarily
means booting from UART. The boot ROM also supports booting from USB.
Create a technology neutral boot mode called SDP (serial download
protocol).
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
Move the imximage.h header file to a common location so we can make
use of it from U-Boot too.
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
Add new command to start USB Serial Download Protocol (SDP) state
machine.
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
Support U-Boot images in SPL (which makes it possible to download
u-boot.img) and U-Boot scripts in full U-Boot.
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
Add SDP (Serial Downloader Protocol) implementation for U-Boot. The
protocol is used in NXP SoCs boot ROM and allows to download program
images. Beside that, it can also be used to read/write registers and
download complete Device Configuration Data (DCD) sets. Currently,
this implementation only supports downloading images and reading
registers.
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
When booting we see:
DRAM: 256 MiB
<strange characters>FSL_SDHC: 0, FSL_SDHC: 1
auto-detected panel vga-rgb
The should be:
DRAM: 256 MiB
PMIC: device id: 0x10, revision id: 0x11, programmed
MMC: FSL_SDHC: 0, FSL_SDHC: 1
auto-detected panel vga-rgb
This seems to be caused by the call to initr_serial which
in our configuration goes into drivers/serial/serial-uclass.c
serial_initialize().
Printing an empty line helps. The empty line gets deleted and
no strange characters appear.
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
Keep debug code at the end of the function.
Use a one line informational message for the PMIC only.
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
SATA is not accessible on the Colibri iMX6, so remove include and
conditionally executed code.
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
We rely on u-boot to patch up the "fsl,vf610-ddrmc" node to have
the fsl,has-cke-reset-pulls property without which the Vybrid PM
code does not enable suspend to mem option. If Toradex config
block option is enabled, patch up the device tree for the same.
Signed-off-by: Sanchayan Maity <sanchayan.maity@toradex.com>
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
|
|
Fix the following boot hang observed when booting our downstream L4T
R16.5 based BSP:
[ 0.900129] kernel BUG at /build/linuxdev/oe-core_V2.7/build/tmp-
glibc/work-shared/colibri-t20/kernel-source/drivers/spi/spi-tegra.c:258!
[ 0.912478] Internal error: Oops - undefined instruction: 0 [#1]
PREEMPT SMP
[ 0.919525] Modules linked in:
[ 0.922586] CPU: 0 Not tainted (3.1.10-v2.7b1+g7e628fd #1)
[ 0.928428] PC is at spi_tegra_isr.part.0+0x14/0x18
[ 0.933310] LR is at spi_tegra_isr+0x38/0x7c
[ 0.937580] pc : [<c05c25e8>] lr : [<c0334d4c>] psr: 60000193
[ 0.937585] sp : c8075c40 ip : c8075c50 fp : c8075c4c
[ 0.949062] r10: c08a2f20 r9 : c08a2f74 r8 : 00000000
[ 0.954285] r7 : c8074000 r6 : c81545c0 r5 : c08a2f74 r4 : c81545b0
[ 0.960810] r3 : 00000000 r2 : 00000001 r1 : 60000193 r0 : 60000193
[ 0.967336] Flags: nZCv IRQs off FIQs on Mode SVC_32 ISA ARM
Segment kernel
[ 0.974734] Control: 10c5387d Table: 0000404a DAC: 00000015
While at it also fix the following clock initialisation related errors:
[ 0.000000] tegra_dvfs: rate 216000000 too high for dvfs on sdmmc1
[ 0.000000] Unable to set clock sdmmc1 to rate 48000000: -22
[ 0.000000] tegra_dvfs: rate 216000000 too high for dvfs on sdmmc3
[ 0.000000] Unable to set clock sdmmc3 to rate 48000000: -22
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
The EFI loader is for most use cases not necessary so disable it
by default.
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
(cherry picked from commit df9aa4068201394a9b2d7c30fbf34a815467c2d2)
|
|
In the linux device tree we use 40Ohm drive strenght. So use the same
value in U-Boot.
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
In the linux device tree we use 40Ohm drive strenght. So use the same
value in U-Boot.
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
During porting to 2016.11 the check of a SD (mmc2) interface
was dropped, this was unintended.
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
|
|
Enable default boot command.
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
U-Boot has grown to big with the enablement of FIT image. Since we
boot from a separate UBI volume, U-Boot does not need access to the
UBIFS. Also fix the maximum size, also consider the text base offset
in gfxRAM.
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
FIT image support is used by the upcoming Toradex Easy Installer
and also can be useful for more advanced boot scenarios.
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
Rather than relying on our separate proprietary storage media dependent
boot commands use regular distro boot as a fall back.
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
Implement optional PCIe EvalBoard initialisation which properly reset the PLX
(now Avago) PEX 8605 PCIe switch plus PCIe devices on the Apalis Evaluation
carrier board.
Please note that you will have to enable the second PCIe port in the dts as well
e.g.:
diff --git a/arch/arm/dts/tegra30-apalis.dts b/arch/arm/dts/tegra30-apalis.dts
index be4f4d6..321c7d6 100644
--- a/arch/arm/dts/tegra30-apalis.dts
+++ b/arch/arm/dts/tegra30-apalis.dts
@@ -59,6 +59,7 @@
};
pci@2,0 {
+ status = "okay";
nvidia,num-lanes = <1>;
};
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
(cherry picked from commit 340f51a210df1da640a57267e6c7fa56b8a852ed)
|
|
If U-Boot was launched via USB recovery mode stop auto booting.
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
Just release TPS65911 GPIO1 (EN_CORE_DVFS_N) connected to TPS62362
VSEL1 to switch VDD_CORE back to boot set 1 defaulting to 1.200V.
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
(cherry picked from commit 622d408fea7af6d2ed778b546de346e90ea1a21f)
|
|
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
(cherry picked from commit 0a9606863b0e7b8edfad02467a4e63c6c68025ee)
|
|
Implement early TPS6586X PMIC rail configuration setting SM0 being
VDD_CORE_1.2V to 1.2 volts and SM1 being VDD_CPU_1.0V to 1.0 volts.
While those are PMIC power-up defaults the SoC might have been reset
separately with certain rails being left at lower DVFS states which
is e.g. the case upon watchdog reset while otherwise nearly idling.
(cherry picked from commit f7c3186985ebb244d075b04ed7c055f39f485670)
|
|
Enable the display driver on Apalis T30. Unfortunately the PWM pin
muxing wasn't any good neither which made that display stay dark.
(cherry picked from commit 2da21c1d130fa11a5bd9876c8e72fa0d57585106)
|
|
On popular request enable the display driver on Colibri T30. A few
notes about some things encountered during porting: While analogue VGA
(e.g. via the on-carrier RAMDAC) worked just fine from the beginning
the EDT display flickered like crazy which turned out to be a pin
muxing issue. Unfortunately the PWM pin muxing wasn't any good neither
which made that display stay dark. Enjoy.
(cherry picked from commit 201cc6d4e4c8213fbd103e74b0f2f2ca591edf54)
|
|
On popular request make the display driver from T20 work on T30 as
well. Turned out to be quite straight forward. However a few notes
about some things encountered during porting: Of course the T30 device
tree was completely missing host1x as well as PWM support but it turns
out this can simply be copied from T20. The only trouble compiling the
Tegra video driver for T30 had to do with some hard-coded PWM pin
muxing for T20 which is quite ugly anyway. On T30 this gets handled by
a board specific complete pin muxing table. The older Chromium U-Boot
2011.06 which to my knowledge was the only prior attempt at enabling a
display driver for T30 for whatever reason got some clocking stuff
mixed up. Turns out at least for a single display controller T20 and
T30 can be clocked quite similar. Enjoy.
(cherry picked from commit 5a472ddd7a2a017747d6c05c65eba2cd3804c02f)
|
|
Add a comment about the disabled PCIe port nodes.
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
(cherry picked from commit f0adaf95b3edd1e8e23ebb0feab1f86eb77c9d84)
|
|
Fix ULPI reset polarity which caused a hard hang on Colibri T20 upon
attempting to start the USB subsystem:
This fixes my late commit d5a24d8b53d350364bd429b7104ec369b817e4b8
(colibri_t20: fix usb operation and controller order) inadvertently
having overwritten Stephen's previous commit
2f6a7e8ce5df8b99d84bfd486c6f99d92322ce04 (ARM: tegra: fix USB ULPI PHY
reset signal inversion confusion).
While at it also fix comment about on-module USB port.
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
(cherry picked from commit 3f33bd299fd438a04d37c3c25af1ab02a9b0d2f9)
|
|
Migrate Colibri T20 to U-Boot 2016.11.
(cherry picked from commit 92d747bf338ceb8d6dbdd3e5e5f7f72226ce0792)
|
|
Integrate 16-bit BCH ECC handling required e.g. for the latest NAND
parts assembled on Colibri T20.
(cherry picked from commit dcca76ea36fc778fa750473aee09fa0297dc5e2b)
|
|
Device tree overlays might prove useful in the future, enable it
by default on all our modules.
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
There are lots of reason why a FDT application might fail, the
error code might give an indication. Let the error code translate
in a error string so users can try to understand what went wrong.
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
When there is no symbols section in the device tree,
overlay_fixup_phandles should return FDT_ERR_NOTFOUND instead of
FDT_ERR_BADOFFSET.
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
Fix the following boot hang observed when booting our downstream L4T
R16.5 based BSP:
[ 4.174349] tegra_dvfs: rate 408000000 too high for dvfs on sbc1
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
Migrate Apalis/Colibri T30 to U-Boot 2016.11.
(cherry picked from commit 81a38df0631cfa6b3a85c97e631abf73dc0a2226)
|
|
Add our support email address as well as our developer website as
official maintenance point of contacts:
Toradex ARM Support <support.arm@toradex.com>
http://developer.toradex.com/software/linux/linux-software
(cherry picked from commit c675aa26ad6a4a25d09c1079dda61ef24abd3770)
|
|
Migrating our BSPs towards mainline U-Boot I noticed it suddenly booting
slower. With mainline Linux I noticed about a 1 to 2 second increase
while booting downstream L4T takes 10 to 15 seconds longer!
This reverts commit 858530a8c0a7ce7e573e513934804a00d6676813.
Conflicts:
drivers/serial/Makefile
(cherry picked from commit 752aae30a791326581efafbb761c0cebaba8d3ea)
Conflicts:
drivers/serial/serial_tegra.c
include/configs/tegra-common.h
(cherry picked from commit 4b97c4173ef96cfa4eb3ba4ea9121320efa90091)
|
|
There is no need to enumerate USB when trying to boot using DHCP.
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
Synchronize environment with current layout, order variables by
name.
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
Hack driver to avoid the following error for now. This is required for
unprogrammed i210 operation.
e1000: e1000#0: ERROR: Hardware Initialization Failed
(cherry picked from commit 02bf24ad4a7c882e25771f656b973d5458695cf0)
(cherry picked from commit 68cecfdbe342f800a0b1f10a1f8fb019b491f04b)
(cherry picked from commit 2d8ea651b6da79047b6fa729863d25b5eb9e15d7)
|
|
Set fdtfile to represent the current board. This allows distribution
to load the correct device tree, which in the module case often
deviates from the common fallback ${soc}-${board}${boardver}.dtb...
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
Use default CONFIG_OF_SEPARATE configuration which appends the device
tree at the end of the U-Boot binary.
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
The EFI loader is for most use cases not necessary so disable it
by default.
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
Not all Vybrid boards are using the new Vybrid image format, only
add it as default target for boards which make use of it.
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
Add support for distro boot. This is especially helpful for external
devices. There is a global boot command which scans a predefined
list of boot targets:
run distro_bootcmd
As well as direct boot commands such as:
run bootcmd_mmc0
run bootcmd_usb
run bootcmd_dhcp
...
Refer to doc/README.distro fo details.
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
|