project/bcm63xx/u-boot.git
5 years agocolibri_vf: adjust timing according to data sheet
Stefan Agner [Mon, 25 Mar 2019 16:25:10 +0000 (17:25 +0100)]
colibri_vf: adjust timing according to data sheet

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 behaviour.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
5 years agoarm: vf610: add uart2 clock/pinmux support
Stefan Agner [Mon, 25 Mar 2019 16:25:09 +0000 (17:25 +0100)]
arm: vf610: add uart2 clock/pinmux support

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>
5 years agoconfig: colibri_vf: enable mtd partitions via dt
Stefan Agner [Mon, 25 Mar 2019 16:25:08 +0000 (17:25 +0100)]
config: colibri_vf: enable mtd partitions via dt

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>
Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
5 years agocolibri_vf: disable undefined instruction events in user debug
Stefan Agner [Mon, 25 Mar 2019 16:25:07 +0000 (17:25 +0100)]
colibri_vf: disable undefined instruction events in user debug

It turns out that OpenSSL calls undefined instructions to detect
ARM capabilities at runtime (via SIGILL handler). This leads to
stack traces e.g. when logging in using SSH:
  [  877.464442] sshd (613): undefined instruction: pc=76ee2da8
  ...

Disable undefined instruction events since it is used as an
autodetecion mechanism.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
5 years agocolibri_vf: enable user debug by default
Stefan Agner [Mon, 25 Mar 2019 16:25:06 +0000 (17:25 +0100)]
colibri_vf: enable user debug by default

Let the kernel print some debug messages when a user program
crashes due to an exception.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
5 years agocolibri_vf: sync the board info message
Bhuvanchandra DV [Mon, 25 Mar 2019 16:25:05 +0000 (17:25 +0100)]
colibri_vf: sync the board info message

Use similar info message as on other modules.

Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
5 years agocolibri_vf: set fdtfile for distroboot
Stefan Agner [Mon, 25 Mar 2019 16:25:04 +0000 (17:25 +0100)]
colibri_vf: set fdtfile for distroboot

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>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
5 years agocolibri_vf: add distroboot support
Stefan Agner [Mon, 25 Mar 2019 16:25:03 +0000 (17:25 +0100)]
colibri_vf: add distroboot support

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.

While at it also re-order boot command macros as well as the
CONFIG_EXTRA_ENV_SETTINGS.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
5 years agoconfig: colibri_vf: use macros from linux/sizes.h
Marcel Ziswiler [Mon, 25 Mar 2019 16:25:02 +0000 (17:25 +0100)]
config: colibri_vf: use macros from linux/sizes.h

Use SZ_X{MK} macros from linux/sizes.h for include/configs/colibri_vf.h.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
5 years agocolibri_vf: migrate fec, esdhc, nfc and usb to driver model
Marcel Ziswiler [Mon, 25 Mar 2019 16:25:01 +0000 (17:25 +0100)]
colibri_vf: migrate fec, esdhc, nfc and usb to driver model

Migrate FEC, ESDHC, NFC and USB to driver model.

While at it also do no longer enable optional I2C clock in board file as
the generic clock code now handles this. Note for space reason and as
it is not required just for booting we do not enable I2C in U-Boot by
default.

While at it also update copyright period.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
5 years agocolibri_vf: migrate pinctrl and regulators to dtb/dm
Marcel Ziswiler [Mon, 25 Mar 2019 16:25:00 +0000 (17:25 +0100)]
colibri_vf: migrate pinctrl and regulators to dtb/dm

Migrate pinctrl and regulators to device tree resp. driver model: DDR,
DSPI, ENET, ESDHC, I2C, NFC and UART.

Enable CMD_DM, PINCTRL and DM_REGULATOR.

While at it also update copyright period and sort include files.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
5 years agoconfigs: colibri_vf: disable obscure options
Marcel Ziswiler [Mon, 25 Mar 2019 16:24:59 +0000 (17:24 +0100)]
configs: colibri_vf: disable obscure options

Disable more obscure options to save another 26 KB in preparation of
the upcoming driver model migration.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
5 years agoARM: dts: colibri_vf: update device trees
Marcel Ziswiler [Mon, 25 Mar 2019 16:24:58 +0000 (17:24 +0100)]
ARM: dts: colibri_vf: update device trees

Update device tree in preparation of further driver model migration:
Ethernet FEC, ESDHC aka MMC/SD card, I2C, NFC aka NAND flash controller,
USBH_PEN GPIO regulator.

Add iomux resp. pinctrl entries to be removed from proprietary platform
data: DSPI, ESDHC, FEC, I2C, NFC, UART, USBH_PEN GPIO.

Introduce a U-Boot specific device tree with some required
u-boot,dm-pre-reloc properties: soc, aips0, pinctrl_ddr and uart0 incl.
pinctrl.

While at it also update the MAINTAINERS file.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
5 years agoconfigs: move CONFIG_MXC_OCOTP to Kconfig
Marcel Ziswiler [Mon, 25 Mar 2019 16:24:57 +0000 (17:24 +0100)]
configs: move CONFIG_MXC_OCOTP to Kconfig

While commit 3e020f03e94f ("driver: misc: add MXC_OCOTP Kconfig entry")
introduced a Kconfig entry it did not actually migrate all
configurations to using it.

As CONFIG_MXC_OCOTP was in mx{6/7}_common.h enable it by default on
those architectures. Additionally, also enable it on ARCH_IMX8M and
ARCH_VF610 where all current members enabled it through their legacy
configuration header files.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Lukasz Majewski <lukma@denx.de>
5 years agoconfigs: colibri_vf: limit size of malloc() pool before relocation
Marcel Ziswiler [Mon, 25 Mar 2019 16:24:56 +0000 (17:24 +0100)]
configs: colibri_vf: limit size of malloc() pool before relocation

Limit the size of the malloc() pool before relocation
(SYS_MALLOC_F_LEN).

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
5 years agoconfigs: colibri_vf: remove obsolete mmc/sd card environment
Marcel Ziswiler [Mon, 25 Mar 2019 16:24:55 +0000 (17:24 +0100)]
configs: colibri_vf: remove obsolete mmc/sd card environment

Remove obsolete MMC/SD card environment configuration dating back to
un-fused samples times.

While at it also remove meanwhile spurious "USB Storage" comment.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
5 years agoconfigs: move CONFIG_USB_EHCI_VF to Kconfig
Marcel Ziswiler [Mon, 25 Mar 2019 16:24:54 +0000 (17:24 +0100)]
configs: move CONFIG_USB_EHCI_VF to Kconfig

Move CONFIG_USB_EHCI_VF to drivers/usb/host/Kconfig and update the one
and only user thereof being colibri_vf.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
5 years agoimx: bootaux: add dependency on vf610
Marcel Ziswiler [Mon, 25 Mar 2019 16:24:53 +0000 (17:24 +0100)]
imx: bootaux: add dependency on vf610

Allow using bootaux also on VF610 aka Vybrid.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
5 years agovf610: ddrmc: add missing include
Marcel Ziswiler [Mon, 25 Mar 2019 16:24:52 +0000 (17:24 +0100)]
vf610: ddrmc: add missing include

The DDR memory controller include file for the Vybrid uses
iomux_v3_cfg_t without actually including iomux-vf610.h.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
5 years agoAdd missing space in comment
Marcel Ziswiler [Mon, 25 Mar 2019 16:24:51 +0000 (17:24 +0100)]
Add missing space in comment

Spotted two missing spaces in comments.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
5 years agoimx6: wandboard: convert to DM_MMC
Anatolij Gustschin [Mon, 18 Mar 2019 22:29:47 +0000 (23:29 +0100)]
imx6: wandboard: convert to DM_MMC

Move SDHC init to SPL code since it is not required with
DM_MMC. Enable DM_MMC support.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
5 years agoimx6: wandboard: convert to DM_I2C
Anatolij Gustschin [Mon, 18 Mar 2019 22:29:46 +0000 (23:29 +0100)]
imx6: wandboard: convert to DM_I2C

Allow building with DM_I2C enabled.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
5 years agoimx6: wandboard: convert to DM_PMIC
Anatolij Gustschin [Mon, 18 Mar 2019 22:29:45 +0000 (23:29 +0100)]
imx6: wandboard: convert to DM_PMIC

Enable DM_PMIC_PFUZE100 driver and add PMIC description to DTS.
Rework power_init_board() code.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
5 years agoimx6: wandboard: convert to DM_VIDEO
Anatolij Gustschin [Mon, 18 Mar 2019 22:29:44 +0000 (23:29 +0100)]
imx6: wandboard: convert to DM_VIDEO

Enable DM_VIDEO in defconfig.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
5 years agoimx6: wandboard: convert to DM_USB
Anatolij Gustschin [Mon, 18 Mar 2019 22:29:43 +0000 (23:29 +0100)]
imx6: wandboard: convert to DM_USB

Drop CONFIG_USB_MAX_CONTROLLER_COUNT and enable DM_USB
in defconfig.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
5 years agoimx6: wandboard: convert to DM_GPIO and enable pinctrl driver
Anatolij Gustschin [Mon, 18 Mar 2019 22:29:42 +0000 (23:29 +0100)]
imx6: wandboard: convert to DM_GPIO and enable pinctrl driver

Enable DM_GPIO and pinctrl in defconfig and add gpio_request()
calls where required.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
5 years agoimx6: wandboard: add device tree
Anatolij Gustschin [Mon, 18 Mar 2019 22:29:41 +0000 (23:29 +0100)]
imx6: wandboard: add device tree

Add device trees from Linux in preparation for driver model
conversions.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
5 years agomx6sabreauto: convert to DM_VIDEO
Anatolij Gustschin [Mon, 18 Mar 2019 22:29:40 +0000 (23:29 +0100)]
mx6sabreauto: convert to DM_VIDEO

Enable DM_VIDEO in defconfig.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
5 years agomx6sabresd: convert to DM_VIDEO
Anatolij Gustschin [Mon, 18 Mar 2019 22:29:39 +0000 (23:29 +0100)]
mx6sabresd: convert to DM_VIDEO

Enable DM_VIDEO in defconfig.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
5 years agocolibri_imx6: convert to DM_VIDEO
Anatolij Gustschin [Mon, 18 Mar 2019 22:29:38 +0000 (23:29 +0100)]
colibri_imx6: convert to DM_VIDEO

Enable DM_VIDEO in defconfig.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
5 years agoimx6: ge_bx50v3: convert to DM_VIDEO
Anatolij Gustschin [Mon, 18 Mar 2019 22:29:37 +0000 (23:29 +0100)]
imx6: ge_bx50v3: convert to DM_VIDEO

Enable DM_VIDEO in defconfig.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
5 years agoimx6: icore: convert to DM_VIDEO
Anatolij Gustschin [Mon, 18 Mar 2019 22:29:36 +0000 (23:29 +0100)]
imx6: icore: convert to DM_VIDEO

Enable DM_VIDEO in defconfigs.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
5 years agoapalis_imx6: convert to DM_VIDEO
Anatolij Gustschin [Mon, 18 Mar 2019 22:29:35 +0000 (23:29 +0100)]
apalis_imx6: convert to DM_VIDEO

Enable DM_VIDEO in defconfig.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
5 years agoimx6: dts: add 'u-boot, dm-pre-reloc' to soc and ipu nodes
Anatolij Gustschin [Mon, 18 Mar 2019 22:29:34 +0000 (23:29 +0100)]
imx6: dts: add 'u-boot, dm-pre-reloc' to soc and ipu nodes

u-boot,dm-pre-reloc is required for reserving video memory
when binding DM_VIDEO driver.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
5 years agoimx: move CONFIG_VIDEO_IPUV3 to defconfigs
Anatolij Gustschin [Mon, 18 Mar 2019 22:29:33 +0000 (23:29 +0100)]
imx: move CONFIG_VIDEO_IPUV3 to defconfigs

Signed-off-by: Anatolij Gustschin <agust@denx.de>
5 years agovideo: move ipuv3 files to subdirectory
Anatolij Gustschin [Mon, 18 Mar 2019 22:29:32 +0000 (23:29 +0100)]
video: move ipuv3 files to subdirectory

Place ipuv3 files and headers in custom driver subdirectory.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
5 years agovideo: ipuv3: add DM_VIDEO support
Anatolij Gustschin [Mon, 18 Mar 2019 22:29:31 +0000 (23:29 +0100)]
video: ipuv3: add DM_VIDEO support

Extend the driver to build with DM_VIDEO enabled. DTS files
must additionally include 'u-boot,dm-pre-reloc' property in
soc and ipu nodes to enable driver binding to ipu device.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
5 years agoboard: tbs2910: Convert mmc to driver model
Soeren Moch [Fri, 1 Mar 2019 12:11:01 +0000 (13:11 +0100)]
board: tbs2910: Convert mmc to driver model

So we don't need to duplicate settings from the device tree in the board file.

Signed-off-by: Soeren Moch <smoch@web.de>
5 years agoboard: tbs2910: Convert sata to ahci driver model
Soeren Moch [Fri, 1 Mar 2019 12:11:00 +0000 (13:11 +0100)]
board: tbs2910: Convert sata to ahci driver model

While at it, also configure 64-bit LBA support.

Signed-off-by: Soeren Moch <smoch@web.de>
5 years agoata: dwc_ahsata: Add ahci driver model support
Soeren Moch [Fri, 1 Mar 2019 12:10:59 +0000 (13:10 +0100)]
ata: dwc_ahsata: Add ahci driver model support

Disable this support for cm_fx6 to avoid breakage.

Signed-off-by: Soeren Moch <smoch@web.de>
5 years agoata: dwc_ahsata: Fix sector reports for large disks
Soeren Moch [Fri, 1 Mar 2019 12:10:58 +0000 (13:10 +0100)]
ata: dwc_ahsata: Fix sector reports for large disks

Do not report negative sector numbers for disks > 1TB, do not limit
sector numbers to 32 bit if CONFIG_SYS_64BIT_LBA is enabled.

Signed-off-by: Soeren Moch <smoch@web.de>
5 years agoboard: tbs2910: Convert i2c and rtc to driver model
Soeren Moch [Fri, 1 Mar 2019 12:10:57 +0000 (13:10 +0100)]
board: tbs2910: Convert i2c and rtc to driver model

So we don't need to duplicate settings from the device tree in the board file.

Signed-off-by: Soeren Moch <smoch@web.de>
5 years agoboard: tbs2910: Convert usb to driver model
Soeren Moch [Fri, 1 Mar 2019 12:10:56 +0000 (13:10 +0100)]
board: tbs2910: Convert usb to driver model

So we don't need to duplicate settings from the device tree in the board file.

Signed-off-by: Soeren Moch <smoch@web.de>
5 years agoboard: tbs2910: Add pinctrl driver and convert gpio to driver model
Soeren Moch [Fri, 1 Mar 2019 12:10:55 +0000 (13:10 +0100)]
board: tbs2910: Add pinctrl driver and convert gpio to driver model

We need this for additional driver model conversions.

Signed-off-by: Soeren Moch <smoch@web.de>
5 years agoboard: tbs2910: Add device tree
Soeren Moch [Fri, 1 Mar 2019 12:10:54 +0000 (13:10 +0100)]
board: tbs2910: Add device tree

... as preparation for additional driver model coonversions.

We use CONFIG_OF_EMBED here to keep u-boot.imx as final binary name. So we
maintain compatibility with the original TBS u-boot and available HOWTOs
for u-boot updates.

Signed-off-by: Soeren Moch <smoch@web.de>
5 years agoboard: tbs2910: Remove efi loader support in defconfig to reduce u-boot size
Soeren Moch [Fri, 1 Mar 2019 12:10:53 +0000 (13:10 +0100)]
board: tbs2910: Remove efi loader support in defconfig to reduce u-boot size

Signed-off-by: Soeren Moch <smoch@web.de>
5 years agoboard: colibri_imx6: check for and report ecc errors in fuses
Gerard Salvatella [Fri, 8 Feb 2019 17:42:29 +0000 (18:42 +0100)]
board: colibri_imx6: check for and report ecc errors in fuses

The PMIC on the 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>
5 years agocolibri_imx6: added nreset gpio on reboot
Gerard Salvatella [Fri, 8 Feb 2019 17:42:28 +0000 (18:42 +0100)]
colibri_imx6: added nreset gpio on reboot

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>
5 years agocolibri_imx6: switch to zimage
Bhuvanchandra DV [Fri, 8 Feb 2019 17:42:27 +0000 (18:42 +0100)]
colibri_imx6: switch to zimage

Switch to the generic compressed Kernel image type (zImage) instead of
the U-Boot specific uImage format.

While at it also fix device tree naming for MMC DFU.

Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
5 years agocolibri_imx6: use SDP if USB serial downloader has been used
Stefan Agner [Fri, 8 Feb 2019 17:42:26 +0000 (18:42 +0100)]
colibri_imx6: use SDP if USB serial downloader has been used

In case USB serial downloader has been used to load U-Boot start the
serial download protocol (SDP) emulation. This allows to download
complete images such as Toradex Easy Installer over USB SDP as well.
This code uses the boot ROM provided boot information to reliably
detect USB serial downloader.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
5 years agoconfigs: colibri_imx6: Use ext4 file system by default
Sanchayan Maity [Fri, 8 Feb 2019 17:42:25 +0000 (18:42 +0100)]
configs: colibri_imx6: Use ext4 file system by default

Use ext4 file system by default.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
5 years agotoradex: colibri_imx6: overwrite CMA memory set in device tree
Bhuvanchandra DV [Fri, 8 Feb 2019 17:42:24 +0000 (18:42 +0100)]
toradex: colibri_imx6: overwrite CMA memory set in device tree

Make sure CMA memory is not greater than 50% of available physical
memory.

Allow user to change the CMA memory via 'cma-size' U-Boot environment
variable.

Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
5 years agocolibri_imx6: revert fuse value set in mfgr_fuse
Max Krummenacher [Fri, 8 Feb 2019 17:42:23 +0000 (18:42 +0100)]
colibri_imx6: revert fuse value set in mfgr_fuse

We have two commands to change the bootmode fuses:
mfgr_fuse which set fuse 0/5 and 0/6
and
updt_fuse which burns bit 4 of 0/5.

Before Image 2.6 we fused in mfgr_fuse 0x5062, which boots
from the user partition of the eMMC.
To workaround certain hangs we moved to fastboot mode and
using the first bootpartition of the eMMC requiring a fuse
value of 0x5072 which could be achived by the then added
updt_fuse command. At the same time the mfgr_fuse command
was changed to also fuse 0x5072, revert that second change
so that one can fuse both values, one with just mfgr_fuse
and the later with mfgr_fuse;updt_fuse.

Note that the mfgr_fuse command is only needed at module
production time, a customer might need to use updt_fuse
when upgrading an older module to be compatible with a
newer image. The command is integrated into the image
update scripts.

Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Acked-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
5 years agocolibri_imx6: change pmic fusing according to hw 1.1 requirements
Max Krummenacher [Fri, 8 Feb 2019 17:42:22 +0000 (18:42 +0100)]
colibri_imx6: change pmic fusing according to hw 1.1 requirements

Colibri iMX6 V1.1 HW can use the PMIC GEN3 to power the NVCC_SD1.
Change the settings fused into the PMIC's OTP to powerup with
GEN3 set to output 3.3V.

Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Acked-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
5 years agocolibri imx6: disable ri and dcd irq in uarts
Max Krummenacher [Fri, 8 Feb 2019 17:42:21 +0000 (18:42 +0100)]
colibri imx6: disable ri and dcd irq in uarts

If the UART is used in DTE mode the RI and DCD bits in UCR3 become
irq enable bits. Both are set to enabled after reset and both likely
are pending.

Disable the bits also on UARTs not used in the boot loader to prevent
an interrupt storm when Linux enables the UART interrupts.

Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
5 years agocolibri imx6: pf0100: reorder and cleanup message printing
Max Krummenacher [Fri, 8 Feb 2019 17:42:20 +0000 (18:42 +0100)]
colibri imx6: pf0100: reorder and cleanup message printing

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>
5 years agocolibri_imx6: unify sd/mmc drive strenght with linux kernel settings
Max Krummenacher [Fri, 8 Feb 2019 17:42:19 +0000 (18:42 +0100)]
colibri_imx6: unify sd/mmc drive strenght with linux kernel settings

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>
5 years agocolibri_imx6: add distroboot support
Stefan Agner [Fri, 8 Feb 2019 17:42:18 +0000 (18:42 +0100)]
colibri_imx6: add distroboot support

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_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>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
5 years agocolibri_imx6: print also 64-bit IT
Max Krummenacher [Fri, 8 Feb 2019 17:42:17 +0000 (18:42 +0100)]
colibri_imx6: print also 64-bit IT

Print also for Colibri iMX6 512MB IT with 64-bit RAM bus.

Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
5 years agocolibri_imx6: drop CONFIG_OF_SYSTEM_SETUP
Max Krummenacher [Fri, 8 Feb 2019 17:42:16 +0000 (18:42 +0100)]
colibri_imx6: drop CONFIG_OF_SYSTEM_SETUP

This doesn't do anything anymore, probably never did.

Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
5 years agocolibri_imx6: migrate usb to using driver model
Marcel Ziswiler [Fri, 8 Feb 2019 17:42:15 +0000 (18:42 +0100)]
colibri_imx6: migrate usb to using driver model

Migrate USB to using driver model.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
5 years agocolibri_imx6: migrate mmc to using driver model
Marcel Ziswiler [Fri, 8 Feb 2019 17:42:14 +0000 (18:42 +0100)]
colibri_imx6: migrate mmc to using driver model

Migrate MMC to using driver model.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
5 years agocolibri_imx6: migrate pmic and regulator to using driver model
Marcel Ziswiler [Fri, 8 Feb 2019 17:42:13 +0000 (18:42 +0100)]
colibri_imx6: migrate pmic and regulator to using driver model

Migrate PMIC and regulator to using driver model.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
5 years agocolibri_imx6: migrate i2c to using driver model
Marcel Ziswiler [Fri, 8 Feb 2019 17:42:12 +0000 (18:42 +0100)]
colibri_imx6: migrate i2c to using driver model

Migrate I2C to using driver model.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
5 years agocolibri_imx6: enable pin control driver
Marcel Ziswiler [Fri, 8 Feb 2019 17:42:11 +0000 (18:42 +0100)]
colibri_imx6: enable pin control driver

Enable pin control driver as required for further driver model
migration.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
5 years agocolibri_imx6: clean-up and migrate gpios to using driver model
Marcel Ziswiler [Fri, 8 Feb 2019 17:42:10 +0000 (18:42 +0100)]
colibri_imx6: clean-up and migrate gpios to using driver model

Migrate GPIOs to using driver model, properly request backlight, MMC/SD
card detect and USB power enable GPIOs and also enable SION bit in pin
muxing for auxiliary, backlight and USB power enable GPIOs.

While at it also update copyright year, clean-up/re-order includes, add
some comments clarifying ifdef scope and do some white-space clean-up.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
5 years agocolibri_imx6: migrate to using device tree
Marcel Ziswiler [Fri, 8 Feb 2019 17:42:09 +0000 (18:42 +0100)]
colibri_imx6: migrate to using device tree

Migrate to using device tree required for further driver model
integration.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
5 years agocolibri_imx6: remove obsolete USB_GADGET_MASS_STORAGE configuration
Marcel Ziswiler [Fri, 8 Feb 2019 17:42:08 +0000 (18:42 +0100)]
colibri_imx6: remove obsolete USB_GADGET_MASS_STORAGE configuration

Remove obsolete USB_GADGET_MASS_STORAGE configuration.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
5 years agocolibri_imx6: enable fit image, gpt, imx thermal, efi loader support
Marcel Ziswiler [Fri, 8 Feb 2019 17:42:07 +0000 (18:42 +0100)]
colibri_imx6: enable fit image, gpt, imx thermal, efi loader support

Enbale FIT image, GPT command, i.MX thermal and EFI loader support.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
5 years agocolibri_imx6: move console in env from header file to defconfig
Marcel Ziswiler [Fri, 8 Feb 2019 17:42:06 +0000 (18:42 +0100)]
colibri_imx6: move console in env from header file to defconfig

Move console in env from header file to defconfig.

While at it also update copyright year.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
5 years agocolibri_imx6: use distro defaults
Marcel Ziswiler [Fri, 8 Feb 2019 17:42:05 +0000 (18:42 +0100)]
colibri_imx6: use distro defaults

Use distro defaults and minimise default configuration again using
savedefconfig.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
5 years agocolibri_imx6: get rid of obsolete nospl configurations
Marcel Ziswiler [Fri, 8 Feb 2019 17:42:04 +0000 (18:42 +0100)]
colibri_imx6: get rid of obsolete nospl configurations

Now with SPL long since being in place even for recovery using SDP
finally get rid of those nospl configurations.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
5 years agoboard: apalis_imx6: check for and report ecc errors in fuses
Gerard Salvatella [Fri, 8 Feb 2019 17:12:26 +0000 (18:12 +0100)]
board: apalis_imx6: check for and report ecc errors in fuses

The PMIC on Apalis iMX6 may have ECC errors in fuses that will prevent
correct settings. Up to one bit error per fuse bank may 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>
5 years agoapalis_imx6: switch to zimage
Marcel Ziswiler [Fri, 8 Feb 2019 17:12:25 +0000 (18:12 +0100)]
apalis_imx6: switch to zimage

Switch to the generic compressed Kernel image type (zImage) instead of
the U-Boot specific uImage format.

While at it also fix device tree naming for MMC DFU.

Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
5 years agoapalis_imx6: use SDP if USB serial downloader has been used
Stefan Agner [Fri, 8 Feb 2019 17:12:24 +0000 (18:12 +0100)]
apalis_imx6: use SDP if USB serial downloader has been used

In case USB serial downloader has been used to load U-Boot start the
serial download protocol (SDP) emulation. This allows to download
complete images such as Toradex Easy Installer over USB SDP as well.
This code uses the boot ROM provided boot information to reliably
detect USB serial downloader.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
5 years agoconfigs: apalis_imx6: Use ext4 file system by default
Sanchayan Maity [Fri, 8 Feb 2019 17:12:23 +0000 (18:12 +0100)]
configs: apalis_imx6: Use ext4 file system by default

Use ext4 file system by default.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
5 years agoapalis_imx6: revert fuse value set in mfgr_fuse
Max Krummenacher [Fri, 8 Feb 2019 17:12:22 +0000 (18:12 +0100)]
apalis_imx6: revert fuse value set in mfgr_fuse

We have two commands to change the bootmode fuses:
mfgr_fuse which set fuse 0/5 and 0/6
and
updt_fuse which burns bit 4 of 0/5.

Before BSP 2.6 we fused in mfgr_fuse 0x5062, which boots
from the user partition of the eMMC.
To workaround certain hangs we moved to fastboot mode and
using the first bootpartition of the eMMC requiring a fuse
value of 0x5072 which could be achieved by the then added
updt_fuse command. At the same time the mfgr_fuse command
was changed to also fuse 0x5072, revert that second change
so that one can fuse both values, one with just mfgr_fuse
and the later with mfgr_fuse;updt_fuse.

Note that the mfgr_fuse command is only needed at module
production time, a customer might need to use updt_fuse
when upgrading an older module to be compatible with a
newer image. The command is integrated into the image
update scripts.

Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Acked-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
5 years agoapalis_imx6: disable ri and dcd irq in uarts
Max Krummenacher [Fri, 8 Feb 2019 17:12:21 +0000 (18:12 +0100)]
apalis_imx6: disable ri and dcd irq in uarts

If the UART is used in DTE mode the RI and DCD bits in UCR3 become
irq enable bits. Both are set to enabled after reset and both likely
are pending.

Disable the bits also on UARTs not used in the boot loader to prevent
an interrupt storm when Linux enables the UART interrupts.

Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
5 years agoapalis_imx6: pf0100: reorder and cleanup message printing
Marcel Ziswiler [Fri, 8 Feb 2019 17:12:20 +0000 (18:12 +0100)]
apalis_imx6: pf0100: reorder and cleanup message printing

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>
5 years agoapalis_imx6: unify sd/mmc drive strength with linux kernel settings
Max Krummenacher [Fri, 8 Feb 2019 17:12:19 +0000 (18:12 +0100)]
apalis_imx6: unify sd/mmc drive strength with linux kernel settings

In the Linux device tree we use 40Ohm drive strength. 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>
5 years agoapalis_imx6: use both sd/mmc interfaces for setsdupdate
Max Krummenacher [Fri, 8 Feb 2019 17:12:18 +0000 (18:12 +0100)]
apalis_imx6: use both sd/mmc interfaces for setsdupdate

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>
5 years agoapalis_imx6: add distroboot support
Marcel Ziswiler [Fri, 8 Feb 2019 17:12:17 +0000 (18:12 +0100)]
apalis_imx6: add distroboot support

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 for 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>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
5 years agoapalis_imx6: drop CONFIG_OF_SYSTEM_SETUP
Marcel Ziswiler [Fri, 8 Feb 2019 17:12:16 +0000 (18:12 +0100)]
apalis_imx6: drop CONFIG_OF_SYSTEM_SETUP

This doesn't do anything anymore, probably never did.

Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
5 years agoapalis_imx6: migrate usb to using driver model
Marcel Ziswiler [Fri, 8 Feb 2019 17:12:15 +0000 (18:12 +0100)]
apalis_imx6: migrate usb to using driver model

Migrate USB to using driver model.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
5 years agoapalis_imx6: migrate mmc and sata to using driver model
Marcel Ziswiler [Fri, 8 Feb 2019 17:12:14 +0000 (18:12 +0100)]
apalis_imx6: migrate mmc and sata to using driver model

Migrate MMC and SATA to using driver model.

While at it also enable SCSI driver model.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
5 years agoapalis_imx6: migrate pmic and regulator to using driver model
Marcel Ziswiler [Fri, 8 Feb 2019 17:12:13 +0000 (18:12 +0100)]
apalis_imx6: migrate pmic and regulator to using driver model

Migrate PMIC and regulator to using driver model.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
5 years agoapalis_imx6: migrate i2c to using driver model
Marcel Ziswiler [Fri, 8 Feb 2019 17:12:12 +0000 (18:12 +0100)]
apalis_imx6: migrate i2c to using driver model

Migrate I2C to using driver model.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
5 years agoapalis_imx6: enable pin control driver
Marcel Ziswiler [Fri, 8 Feb 2019 17:12:11 +0000 (18:12 +0100)]
apalis_imx6: enable pin control driver

Enable pin control driver as required for further driver model
migration.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
5 years agoapalis_imx6: clean-up and migrate gpios to using driver model
Marcel Ziswiler [Fri, 8 Feb 2019 17:12:10 +0000 (18:12 +0100)]
apalis_imx6: clean-up and migrate gpios to using driver model

Migrate GPIOs to using driver model, properly request backlight,
Ethernet PHY reset, MMC/SD card detect and USB power GPIOs and also
enable SION bit in pin muxing for Apalis, backlight, eMMC reset,
Ethernet PHY reset and USB power enable GPIOs.

While at it also update copyright year, clean-up/re-order includes,
add some comments clarifying ifdef scope and do some White-space
clean-up.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
5 years agoapalis_imx6: migrate to using device tree
Marcel Ziswiler [Fri, 8 Feb 2019 17:12:09 +0000 (18:12 +0100)]
apalis_imx6: migrate to using device tree

Migrate to using device tree required for further driver model
integration.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
5 years agoapalis_imx6: remove obsolete USB_GADGET_MASS_STORAGE configuration
Marcel Ziswiler [Fri, 8 Feb 2019 17:12:08 +0000 (18:12 +0100)]
apalis_imx6: remove obsolete USB_GADGET_MASS_STORAGE configuration

Remove obsolete USB_GADGET_MASS_STORAGE configuration.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
5 years agoapalis_imx6: enable fit image, gpt, imx thermal, efi loader support
Marcel Ziswiler [Fri, 8 Feb 2019 17:12:07 +0000 (18:12 +0100)]
apalis_imx6: enable fit image, gpt, imx thermal, efi loader support

Enbale FIT image, GPT command, i.MX thermal and EFI loader support.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
5 years agoapalis_imx6: move console in env from header file to defconfig
Marcel Ziswiler [Fri, 8 Feb 2019 17:12:06 +0000 (18:12 +0100)]
apalis_imx6: move console in env from header file to defconfig

Move console in env from header file to defconfig.

While at it also update copyright year and remove spurious comments and
new lines.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
5 years agoapalis_imx6: use distro defaults
Marcel Ziswiler [Fri, 8 Feb 2019 17:12:05 +0000 (18:12 +0100)]
apalis_imx6: use distro defaults

Use distro defaults and minimise default configuration again using
savedefconfig.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
5 years agoapalis_imx6: get rid of obsolete nospl configurations
Marcel Ziswiler [Fri, 8 Feb 2019 17:12:04 +0000 (18:12 +0100)]
apalis_imx6: get rid of obsolete nospl configurations

Now with SPL long since being in place even for recovery using SDP
finally get rid of those nospl configurations.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
5 years agomx53ppd: fix unsupported set command
Ian Ray [Thu, 31 Jan 2019 14:21:22 +0000 (16:21 +0200)]
mx53ppd: fix unsupported set command

Fix the NFS commands which used `set' to instead use `setenv'.

Signed-off-by: Ian Ray <ian.ray@ge.com>
5 years agomx53ppd: bring dock out of reset at boot
Ian Ray [Thu, 31 Jan 2019 14:21:21 +0000 (16:21 +0200)]
mx53ppd: bring dock out of reset at boot

Configure GPIO BUFFERED_HOST_CONTROLLED_RESET_TO_DOCKING_CONNECTOR_N to
bring the dock out of reset at boot.

Signed-off-by: Ian Ray <ian.ray@ge.com>
5 years agoboard: ge: bx50v3: Network booting of fitImage with nfs rootfs
Joonas Aijala [Thu, 31 Jan 2019 14:21:20 +0000 (16:21 +0200)]
board: ge: bx50v3: Network booting of fitImage with nfs rootfs

New boot command introduced to automate network booting.

Signed-off-by: Joonas Aijala <joonas.aijala@ge.com>
Signed-off-by: Ian Ray <ian.ray@ge.com>
5 years agoboard: ge: bx50v3: Specific ARP timeout removed
Joonas Aijala [Thu, 31 Jan 2019 14:21:19 +0000 (16:21 +0200)]
board: ge: bx50v3: Specific ARP timeout removed

Specific ARP timeout sometimes causes ARP timeout during nfs loading
of the fitImage.

Signed-off-by: Joonas Aijala <joonas.aijala@ge.com>
Signed-off-by: Ian Ray <ian.ray@ge.com>
5 years agoboard: ge: store version information in fdt
Ian Ray [Thu, 31 Jan 2019 14:21:18 +0000 (16:21 +0200)]
board: ge: store version information in fdt

Add board-specific FDT function to store U-Boot version in device tree.

Signed-off-by: Ian Ray <ian.ray@ge.com>