summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2017-06-18colibri_imx7: set default vidargs to VGA resolutionColibri-iMX7_LXDE-Image_2.7b3-20170630Colibri-iMX6_LXDE-Image_2.7b3-20170630Colibri-VF_LXDE-Image_2.7b3-20170630Colibri-T30_LXDE-Image_2.7b3-20170630Colibri-T20_LXDE-Image_2.7b3-20170630Apalis-iMX6_LXDE-Image_2.7b3-20170630Apalis-TK1_LXDE-Image_2.7b3-20170630Apalis-T30_LXDE-Image_2.7b3-20170630Bhuvanchandra DV
Set vidargs default to VGA resolution Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-06-18configs: apalis-tk1: fix boot failure using ext4 rootfsSanchayan Maity
Trying to boot from an ext4 rootfs fails due to us defaulting to ext3. While the downstream T20/T30 L4T kernel has issues with ext4 later TK1 L4T should work just fine with it. Hence enable ext4 for sdboot and usbboot on TK1. Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-06-05colibri_imx7: enable bad block table in U-BootStefan Agner
Use the same on-flash bad block table in U-Boot as we already use/maintain in Linux. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Brandon Shibley <brandon.shibley@toradex.com>
2017-05-29apalis/colibri_t30: improve vdd core pmic handlingMarcel Ziswiler
Make sure TPS62362 set 0 defaults to 1.200V as the Linux kernel may switch to set 0 using TPS65911 GPIO1 (EN_CORE_DVFS_N) connected to TPS62362 VSEL1 prior to actually setting it to a sane value dependent on the current CPU frequency. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Stefan Agner <stefan.agner@toradex.com>
2017-03-30ARM: vf610: move to standard arch/board approachStefan Agner
Move Freescale/NXP Vybrid to a standard arch/board approach, similar to what has been done to i.MX 6 earlier in commit 89ebc82137be ("ARM: mx6: move to a standard arch/board approach"). Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-03-30colibri_imx7: use device-tree for MTD partitionsStefan Agner
Use device-tree fixup to communicate the MTD partitions to the kernel. Remove mtdparts from the kernel command line. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-01-18imx: move imximage header to common locationStefan Agner
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>
2017-01-18usb: gadget: add SDP driverStefan Agner
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>
2017-01-11apalis_imx6: use both sd/mmc interfaces for setsdupdateMax Krummenacher
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>
2017-01-11colibri_vf: disable UBIFS support by defaultStefan Agner
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>
2017-01-11apalis/colibri t20/t30/tk1: distro boot integrationMarcel Ziswiler
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>
2017-01-11apalis_t30: add optional pcie evalboard initialisationMarcel Ziswiler
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)
2017-01-11apalis/colibri_t30: vdd core pmic handlingMarcel Ziswiler
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)
2017-01-11colibri_t20: implement early pmic rail configurationMarcel Ziswiler
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)
2017-01-11apalis_t30: enable display driverMarcel Ziswiler
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)
2017-01-11colibri_t30: enable display driverMarcel Ziswiler
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)
2017-01-11tegra: lcd: video: integrate display driver for t30Marcel Ziswiler
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)
2017-01-11colibri_t20: migrateMarcel Ziswiler
Migrate Colibri T20 to U-Boot 2016.11. (cherry picked from commit 92d747bf338ceb8d6dbdd3e5e5f7f72226ce0792)
2017-01-11apalis/colibri_t30: migrateMarcel Ziswiler
Migrate Apalis/Colibri T30 to U-Boot 2016.11. (cherry picked from commit 81a38df0631cfa6b3a85c97e631abf73dc0a2226)
2017-01-11Revert "dm: tegra: Enable driver model for serial"Marcel Ziswiler
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)
2017-01-11colibri_imx7: disable usb start when using distroboot DHCPStefan Agner
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>
2017-01-11colibri_vf: synchronize environmentStefan Agner
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>
2017-01-11colibri_imx7/vf: set fdtfile for distrobootStefan Agner
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>
2017-01-11colibri_vf/imx7: add distroboot supportStefan Agner
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>
2017-01-11apalis/colibri_imx6: add distroboot supportStefan Agner
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_mmc1 run bootcmd_mmc2 run bootcmd_usb run bootcmd_dhcp ... Refer to doc/README.distro fo details. While at it, remove the CONFIG_DRIVE_TYPES define which has not been used and was meant to be used for multi device boot support which is now provided by distroboot. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2017-01-11distro: allow to overwrite NET USB start commandStefan Agner
Boards with native ethernet support don't require USB start. This change lets a board configuration overwrite the NET USB command, so that U-Boot does not start USB for network boot by default. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2017-01-11toradex: colibri_vf: Add default environment for framebuffer supportStefan Agner
Add environment variables for default framebuffer support using a default VGA mode. Also remove memargs, since we use memory size to reserve the framebuffer which does not get overwritten by the Linux kernel. Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com> Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2017-01-11video: dcu: fix framebuffer to the end of memoryStefan Agner
Fix the framebuffer location to the very end of the available memory. This allows to remove the area from available memory for the kernel, which in turn allows to display the splash screen through the while Linux kernel boot process. Ideas has been taken from the sunxi display driver, e.g. 20779ec3a5 ("sunxi: video: Dynamically reserve framebuffer memory") Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com> Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2017-01-11video: dcu: Add DCU support for Vybrid SoCStefan Agner
The Vybrid SoC family has the same display controller unit (DCU) like the LS1021A SoC. This patch adds platform data, pinmux defines and clock control to enable the driver for Vybrid based boards too. Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com> Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2017-01-11colibri_vf: synchronize/improve memory optionsStefan Agner
Synchronize initramfs related configuration options and improve memory layout. The memory layout with an offset of 16MiB allows to boot bigger kernels. With AUTO_ZRELADDR, which is pretty much the standard nowadays, the kernel relacates itself to PC masked with 0xf8000000 plus a text offset of 0x8000 (hence 0x80008000 for Vybrid). With a 16MiB offset from the start of memory and a 16MiB distance to the device-tree, we allow kernel up to ~16MiB. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-01-11colibri_vf: sort fdt_file alphabeticallyStefan Agner
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-01-11configs: colibri_vf: Add fdt_fixup environment variableSanchayan Maity
u-boot allows modifying a device tree after it is loaded into memory. Add fdt_fixup hook in u-boot environment which can facilitate such modifications. Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com> (cherry picked from commit faf1e62bf04b01dc7110a459f558aaf414bfcac0)
2017-01-11colibri_vf: introduce automatic ethernet update capabilitySanchayan Maity
Introduce Ethernet update capability via setethupdate which is automatically tried by setupdate as well should SD and USB update fail (e.g. neither an SD card nor an USB memory stick with our flash_blk.img script and accompanying artefacts is inserted. Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com> Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2017-01-11colibri_vf: Read kernel and device tree from static UBI volumesSanchayan Maity
Our update scripts write the kernel and device tree in seperate UBI volumes. This allows to use a lot less UBI/UBIFS support in U-Boot, which should lower the risk of hitting bugs in this area. Boot times are also slightly faster (measurements showed an improvement of ~150ms). Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com> Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2017-01-11common: fdt_support: Add support for setting usable memorySanchayan Maity
Add support for setting the linux,usable-memory in the memory node of device tree. Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com> Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2017-01-11cmd_writebcb_mx7: add command to write FCB and DBBT for i.MX 7Max Krummenacher
Code mostly ported from imx-kobs-5.3. MTD partitioning is set accordingly. writebcb: Write Boot Control Block (FCB and DBBT) Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> [ported to U-Boot 2016.11] Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2017-01-11imx: add writebcb commandStefan Agner
Add writebcb command which creates a NAND Boot Configuration Block (BCB) at the beginning of the active flash device. The BCB stores the information for the SoC internal boot ROM where the application with a valid IVT header can be found on the NAND device. The first two argument of the command need an offset of the NAND device where the primary and secondary application can be found. Typically, U-Boot is the application which gets loaded by the boot ROM. Hence, the offset address need to be the address where U-Boot (u-boot.imx along with a 0x400 long prefix) is stored on the device. At least one location is mandatory. Currently only the FCB (Firmware Configuration Block) is written to the device. The DBBT (Discovered Bad Block Table) is optional and not created by writebcb currently. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2017-01-11colibri_imx7: split and resize firmware MTD partitionStefan Agner
Use two separate partitions for the two firmware instances. Also resize them to be of the same size which also makes the start of the UBI partition nicely aligned to 0x400000. In order to detect the new MTD layout and whether we run a U-Boot with the new BCB format or not, introduce a variable called "updlevel" which we can use in update/upgrade scripts. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2017-01-11colibri_imx7/colibri_imx6/apalis_imx6: limit bootm memoryStefan Agner
Limit memory used for relocation of FDT or initrd. This is required to make sure that relocated artifacts are within lowmem. If fdt_high or initrd_high are not set, U-Boot automatically relocates artifacts to the end of memory. But this area won't be part of lowmem and hence will not be accessible by the kernel during early boot. With VM split set to 2G/2G (i.MX default), only the 2GB Apalis iMX6 is affected by that issue. With VM split set to 3G/1G (ARM default) also modules with 1GB of memory are affected. With the latter the amount of lowmem will be 760MiB. The value must also not exceed available memory! Use a safe value of 512MiB for Apalis and 256MiB for Colibri. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2017-01-11spl: dfu: move DFU Kconfig to SPL KconfigStefan Agner
The DFU Kconfig menu entries should be part of the SPL Kconfig file. Also avoid using the top level Makefile by moving the config dependent build artifacts to the driver/ and driver/usb/gadget/ Makfiles. With that, DFU can be built again in SPL if CONFIG_SPL_DFU_SUPPORT is enabled. Fixes: 6ad6102246d8 ("usb:gadget: Disallow DFU in SPL for now") Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Reviewed-by: Simon Glass <sjg@chromium.org> Acked-by: Lukasz Majewski <l.majewski@samsung.com> (cherry picked from commit 5991703e88f320767d9390d64a6a9bd62560696b)
2017-01-11arm: mx6: specify SPL paddingStefan Agner
Specify standard padding for payload to 68KB. This is derived from the maximum header size plus maximum SPL size. It matches the already defined offset for SD/eMMC devices (69KB) too. This allows to use the u-boot-with-spl.imx build target to generate a directly flashable image which can be flashed using: dd if=u-boot-with-spl.imx of=/dev/mmcblk0 bs=512 skip=2 While the patch has been created with SD/eMMC in mind, this also works with other boot media. The board file needs to configure the media specific (absolute) payload offset accordingly. Especially the IVT offset is boot media specific and can be retrieved from the reference manual (Table 8-25. Image Vector Table Offset and Initial Load Region Size). For NAND boot a define like this should do the job: #define CONFIG_SYS_NAND_U_BOOT_OFFS (SPL_PAD_TO + 0x400) Signed-off-by: Stefan Agner <stefan.agner@toradex.com> (cherry picked from commit 0405092bd21a44f5af22f17aeb0b82a0a11e1252)
2017-01-11mmc: tegra: move CONFIG_TEGRA_MMC from headers to defconfigsMarcel Ziswiler
Basically running the following script: tools/moveconfig.py CONFIG_TEGRA_MMC Note that I left the SPL specific handling in include/configs/tegra-common-post.h unchanged. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2017-01-11arm: tegra: initial support for apalis tk1Marcel Ziswiler
This patch adds board support for the Toradex Apalis TK1 a computer on module which can be used on different carrier boards. The module consists of a Tegra TK1 SoC, a PMIC solution, 2 GB of DDR3L RAM, a bunch of level shifters, an eMMC, a TMP451 temperature sensor chip, an I210 gigabit Ethernet controller and a SGTL5000 audio codec. Furthermore, there is a Kinetis MK20DN512 companion micro controller for analogue, CAN and resistive touch functionality. For the sake of ease of use we do not distinguish between different carrier boards for now as the base module features are deemed sufficient enough for regular booting. The following functionality is working so far: - eMMC boot, environment storage and Toradex factory config block - Gigabit Ethernet - MMC/SD cards (both MMC1 as well as SD1 slot) - USB client/host (dual role OTG port as client e.g. for DFU/UMS or host, other two ports as host) Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2017-01-11arm: imx: initial support for colibri imx6Max Krummenacher
This adds board support for the Toradex module family Colibri iMX6. The familiy consists of a module with i.MX6 DualLite, i.MX6 Solo, both with a version for commercial and industrial temperature range. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> (cherry picked from commit a02d517b0182f83771565eba1329fb323674ec58)
2017-01-11arm: imx: initial support for apalis imx6Max Krummenacher
This adds board support for the Toradex module family Apalis iMX6. The familiy consists of a module with i.MX6 Dual, i.MX6 Quad with commercial and industrial temperature range. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> (cherry picked from commit 592f4aed6db765172e21f228800b49f9a27ff201)
2017-01-11nand: force BBT scan for controllers which need itStefan Agner
Commit 35c204d8a9d0 ("nand: reinstate lazy bad block scanning") introduced lazy BBT scanning. However, some controller do parts of the initialization (mxs_nand.c) during scan_bbt, hence for those controllers the BBT must be scanned at initialization time. In most situation the U-Boot environment gets read first, and the U-Boot environment code checks for bad blocks first. Checking for bad blocks will ask for scan_bbt before reading the first page, hence in most situation the issue does not appear in practice. However, when there is no environment configured, other code might access NAND first which does not explicitly checks for bad blocks, in those cases ECC reads will fail always. Cc: Rostislav Lisovy <lisovy@gmail.com> Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2017-01-11colibri_pxa270: transition to driver model for serialMarcel Ziswiler
Add serial platform data to board file. Enable driver model for PXA serial driver. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> (cherry picked from commit 136179bec19f4bc84227cba138214ea392a723ea)
2017-01-11colibri_pxa270: drop edit, elf, fpga, hush, regex et al. for space reasonMarcel Ziswiler
With em humble DM and Kconfig migraters U-Boot binary size keeps increasing. Drop a bunch of less needed stuff to save another precious 20+ KB. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> (cherry picked from commit fc127d184aea293ec415dd66e3282dba0b66c5f3)
2017-01-11serial: pxa: integrate optional driver model handlingMarcel Ziswiler
Optional driver model handling integration. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Reviewed-by: Marek Vasut <marex@denx.de> (cherry picked from commit cbfa67a16b345cfb94840a41ee2fa0f728be296a)
2017-01-11serial: pxa: use kconfig for serial configurationMarcel Ziswiler
Migrate the PXA serial driver to be configured via Kconfig. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Reviewed-by: Marek Vasut <marex@denx.de> (cherry picked from commit d804a5e1c369e59f23723cd21e1e422b7702a0ac)