summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge tag 'u-boot-imx-20190101' of git://www.denx.de/git/u-boot-imxTom Rini2019-01-01106-564/+8718
|\ | | | | | | | | | | | | | | | | imx for 2019.01 - introduce support for i.MX8M - fix size limit for Vhybrid / pico boards - several board fixes - w1 driver for MX2x / MX5x
| * pico-imx7d: Increase the CONFIG_ENV_OFFSET sizeFabio Estevam2019-01-011-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | U-Boot binary has grown in such a way that it goes beyond the reserved area for the environment variables. Running "saveenv" causes U-Boot to hang because of this overlap. Fix this problem by increasing the CONFIG_ENV_OFFSET size. Also, in order to prevent this same problem in the future, use CONFIG_BOARD_SIZE_LIMIT, which will detect the overlap in build-time. CONFIG_BOARD_SIZE_LIMIT does not accept math expressions, so declare CONFIG_ENV_OFFSET with its direct value instead. Signed-off-by: Fabio Estevam <festevam@gmail.com> Acked-by: Otavio Salvador <otavio@ossystems.com.br>
| * nand: vybrid: Extend the vf610 NFC NAND driver to support device tree (and DM)Lukasz Majewski2019-01-011-0/+47
| | | | | | | | | | | | | | This commit adds support for device tree and enumeration via device model for the Vybrid's NFC NAND driver. Signed-off-by: Lukasz Majewski <lukma@denx.de>
| * Kconfig: Add entry for VF610 NAND NFC device tree aware driverLukasz Majewski2019-01-011-0/+11
| | | | | | | | | | | | | | This commit provides code to add proper entry to Kconfig to enable support for VF610 device tree aware driver. Signed-off-by: Lukasz Majewski <lukma@denx.de>
| * nand: vybrid: Use calloc() instead of malloc() to allocate struct nfcLukasz Majewski2019-01-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without this change it is possible that Vybrid's NFC driver malloc() call will obtain some memory used (and correctly free'd) by some previous driver (in this case pinctrl for Vybrid). As a result some fields of struct nfc - in out case mtd->_get_device - are "pre initialized" with some random values. On the latter stage of booting, when e.g. somebody calls 'mtdparts default' the "data abort" is observed when __get_mtd_device() function is called. The mtd->_get_device pointer is not NULL and wrong value is referenced. Signed-off-by: Lukasz Majewski <lukma@denx.de> Reviewed-by: Stefan Agner <stefan.agner@toradex.com>
| * imx: mx53ppd: fix build errorPeng Fan2019-01-011-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | board/ge/mx53ppd/mx53ppd.c: In function 'board_late_init': board/ge/mx53ppd/mx53ppd.c:359:23: error: passing argument 2 of 'read_vpd' from incompatible pointer type [-Werror=incompatible-pointer-types] res = read_vpd(&vpd, vpd_callback); ^~~~~~~~~~~~ In file included from board/ge/mx53ppd/mx53ppd.c:37:0: board/ge/mx53ppd/../../ge/common/vpd_reader.h:19:5: note: expected 'int (*)(struct vpd_cache *, u8, u8, u8, size_t, const u8 *) {aka int (*)(struct vpd_cache *, unsigned char, unsigned char, unsigned char, unsigned int, const unsigned char *)}' but argument is of type 'int (*)(void *, u8, u8, u8, size_t, const u8 *) {aka int (*)(void *, unsigned char, unsigned char, unsigned char, unsigned int, const unsigned char *)}' int read_vpd(struct vpd_cache *cache, ^~~~~~~~ cc1: all warnings being treated as errors Signed-off-by: Peng Fan <peng.fan@nxp.com> Acked-by: Stefano Babic <sbabic@denx.de>
| * pcm058: fix NAND flash not using badblock tableHarald Seiler2019-01-011-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, U-Boot ignores the BBT stored in the last 4 blocks of NAND flash because the NAND_BBT_USE_FLASH flag is not set. This leads to two issues: * U-Boot silently uses a memory-only BBT which is initialized with all blocks marked as good. This means, actual bad blocks are marked good and U-Boot might try writing to or reading from them. * The BBT in flash, which will be created once Linux boots up, is not off limits for a driver ontop, like UBI. While it does not seem to consistently produce an error, sometimes UBI will fail to attach because the BBT blocks obviously don't contain valid UBI data. To fix this, this patch sets the CONFIG_SYS_NAND_USE_FLASH_BBT option, which is used in ./drivers/mtd/nand/raw/mxs_nand.c to decide whether a BBT in flash is used. Signed-off-by: Harald Seiler <hws@denx.de>
| * imx8m: ddr: removed unused macrosPeng Fan2019-01-011-188/+0
| | | | | | | | | | | | Remove unused DDRC register macros. Signed-off-by: Peng Fan <peng.fan@nxp.com>
| * imx: add i.MX8MQ EVK supportPeng Fan2019-01-0113-0/+3671
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add i.MX8MQ EVK support. SPL will initialize ddr and load ddr phy firmware. Then loading FIT image, ATF to OCRAM, U-Boot and DTB to DRAM. The boot log with Arm trusted firmware console enabled: " U-Boot SPL 2018.11-00142-g9ae14e7274 (Nov 20 2018 - 18:13:16 +0800) PMIC: PFUZE100 ID=0x10 Normal Boot Trying to boot from MMC2 NOTICE: Configureing TZASC380 NOTICE: BL31: v1.5(release):p9.0.0_1.0.0-beta-20180928-8-ge09c4b62-dirty NOTICE: BL31: Built : 09:28:54, Nov 8 2018 lpddr4 swffc start NOTICE: sip svc init U-Boot 2018.11-00142-g9ae14e7274 (Nov 20 2018 - 18:13:16 +0800) CPU: Freescale i.MX8MQ rev2.0 at 1000 MHz Reset cause: POR Model: Freescale i.MX8MQ EVK DRAM: 3 GiB MMC: FSL_SDHC: 0, FSL_SDHC: 1 In: serial Out: serial Err: serial Net: Warning: ethernet@30be0000 using MAC address from ROM eth0: ethernet@30be0000 Hit any key to stop autoboot: 0 " Signed-off-by: Peng Fan <peng.fan@nxp.com> Cc: Fabio Estevam <fabio.estevam@nxp.com> Cc: Stefano Babic <sbabic@denx.de>
| * drivers: ddr: introduce DDR driver for i.MX8MPeng Fan2019-01-0112-0/+2084
| | | | | | | | | | | | | | Introduce DDR driver for i.MX8M. The driver will be used by SPL to initialze DDR PHY and DDR Controller. Signed-off-by: Peng Fan <peng.fan@nxp.com>
| * imx: imx8m: add lpddr4 header filePeng Fan2019-01-011-0/+97
| | | | | | | | | | | | Introduce lpddr4 header file Signed-off-by: Peng Fan <peng.fan@nxp.com>
| * imx: imx8m: not build bootaux when building SPLPeng Fan2019-01-011-0/+2
| | | | | | | | | | | | No need to build bootaux in SPL stage Signed-off-by: Peng Fan <peng.fan@nxp.com>
| * imx: imx8mq: build flash.binPeng Fan2019-01-013-0/+73
| | | | | | | | | | | | | | | | Build flash.bin for i.MX8MQ, it will include signed hdmi firmware, spl, ddr firmware, fit image(bl31.bin, u-boot-nodtb.bin, dtb). Burn it to 33KB offset of SD card. Signed-off-by: Peng Fan <peng.fan@nxp.com>
| * imx: imx8m: introduce imximage cfg filePeng Fan2019-01-011-0/+17
| | | | | | | | | | | | imximage.cfg will be used to generate the flash.bin Signed-off-by: Peng Fan <peng.fan@nxp.com>
| * imx: imx8m: introduce script to generate fit imagePeng Fan2019-01-011-0/+137
| | | | | | | | | | | | Introduce script to generate fit image for i.MX8M Signed-off-by: Peng Fan <peng.fan@nxp.com>
| * imx: imx8m: clock refactor dram pll partPeng Fan2019-01-012-24/+132
| | | | | | | | | | | | | | Refactor dram_pll_init to accept args to configure different pll freq. Introduce dram_enable_bypass and dram_disable_bypass Signed-off-by: Peng Fan <peng.fan@nxp.com>
| * imx: spl: add MMC BOOT Device for i.MX8MPeng Fan2019-01-011-1/+10
| | | | | | | | | | | | Add MMC BOOT Device for i.MX8M Signed-off-by: Peng Fan <peng.fan@nxp.com>
| * imx: rename mx8m,MX8M to imx8m,IMX8MPeng Fan2019-01-0127-62/+62
| | | | | | | | | | | | | | Rename mx8m,MX8M to imx8m,IMX8M Signed-off-by: Peng Fan <peng.fan@nxp.com> Signed-off-by: Jon Nettleton <jon@solid-run.com>
| * imx: introduce is_imx8mq helperPeng Fan2019-01-011-0/+1
| | | | | | | | | | | | Introduce is_imx8mq header macro Signed-off-by: Peng Fan <peng.fan@nxp.com>
| * imx: cpu: add CHIP_REV_2_1 macroPeng Fan2019-01-011-0/+1
| | | | | | | | | | | | Introduce CHIP_REV_2_1 macro. Signed-off-by: Peng Fan <peng.fan@nxp.com>
| * imx8m: Enable CONFIG_SPL_FIT_IMAGE_TINY for iMX8MYe Li2019-01-011-0/+1
| | | | | | | | | | | | | | | | | | | | If we don't define CONFIG_SPL_FIT_IMAGE_TINY, when loading images from FIT, the SPL will record all loadables' info to u-boot's FDT. This causes problem when HAB is enabled, because FDT's content is modified before we authenticate it. Signed-off-by: Ye Li <ye.li@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
| * Introduce CONFIG_FIT_EXTERNAL_OFFSETPeng Fan2019-01-012-1/+11
| | | | | | | | | | | | | | Introduce CONFIG_FIT_EXTERNAL_OFFSET to give user a choice to choose where to put the external data. Signed-off-by: Peng Fan <peng.fan@nxp.com>
| * arm: imx8qxp: build u-boot-dtb.cfgout before checking filesPeng Fan2019-01-011-1/+1
| | | | | | | | | | | | | | | | Build u-boot-dtb.cfgout before checking files, otherwise u-boot-dtb.cfgout is generated at late stage and cause final image not generated. Signed-off-by: Peng Fan <peng.fan@nxp.com>
| * tools: add i.MX8M image supportPeng Fan2019-01-017-1/+650
| | | | | | | | | | | | | | | | | | | | | | i.MX8M bootable image type is like i.MX6/7, but there is signed HDMI firmware image in front of A53 bootable image, which is also has an IVT header. Here we also include fit image to generate a bootable image. Signed-off-by: Peng Fan <peng.fan@nxp.com> Signed-off-by: Stefano Babic <sbabic@denx.de>
| * imx: hab: extend hab_auth_img to calculate ivt_offsetParthiban Nallathambi2019-01-011-2/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Current implementation of hab_auth_img command needs ivt_offset to authenticate the image. But ivt header is placed at the end of image date after padding. This leaves the usage of hab_auth_img command to fixed size or static offset for ivt header. New function "get_image_ivt_offset" is introduced to find the ivt offset during runtime. The case conditional check in this function is same as boot_get_kernel in common/bootm.c With this variable length image e.g. FIT image with any random size can have IVT at the end and ivt_offset option can be left optional Can be used as "hab_auth_img $loadaddr $filesize" from u-boot script Signed-off-by: Parthiban Nallathambi <pn@denx.de> Reviewed-by: Breno Lima <breno.lima@nxp.com>
| * arm: imx7d: cl-som-imx7: migration to CONFIG_BLKYaniv Levinsky2019-01-011-1/+5
| | | | | | | | | | | | | | Enable driver model for USB, MMC and REGULATOR drivers. Set run-time configuration via Device Tree. Signed-off-by: Yaniv Levinsky <yaniv.levinsky@compulab.co.il>
| * ARM: DTS: Provide pinfunc definitions for vybrid vf610 from Linux kernelLukasz Majewski2019-01-011-0/+810
| | | | | | | | | | | | | | This file is in sync with v4.20-next tree: e4dda4f5a4df "x86/kaslr, ACPI/NUMA: avoid including asm/kaslr.h on arm64" Signed-off-by: Lukasz Majewski <lukma@denx.de>
| * ARM: DTS: Add iomux node to vf.dtsi for Vybrid devicesLukasz Majewski2019-01-011-0/+6
| | | | | | | | | | | | | | This node is in sync with v4.20-next tree: e4dda4f5a4df "x86/kaslr, ACPI/NUMA: avoid including asm/kaslr.h on arm64" Signed-off-by: Lukasz Majewski <lukma@denx.de>
| * ARM: vybrid: Provide pinctrl driver for Vybrid (vf610)Lukasz Majewski2019-01-013-0/+55
| | | | | | | | | | | | | | This implementation comply with other iMX devices pinctrl drivers already available in U-boot. Signed-off-by: Lukasz Majewski <lukma@denx.de>
| * spl: introduce function prototypesPeng Fan2019-01-011-0/+12
| | | | | | | | | | | | | | Introduce function prototypes for board_spl_fit_size_align and board_spl_fit_post_load Signed-off-by: Peng Fan <peng.fan@nxp.com>
| * SPL: Add HAB image authentication to FITYe Li2019-01-013-8/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce two board level callback functions to FIT image loading process, and a SPL_FIT_FOUND flag to differentiate FIT image or RAW image. Implement functions in imx common SPL codes to call HAB funtion to authenticate the FIT image. Generally, we have to sign multiple regions in FIT image: 1. Sign FIT FDT data (configuration) 2. Sign FIT external data (Sub-images) Because the CSF supports to sign multiple memory blocks, so that we can use one signature to cover all regions in FIT image and only authenticate once. The authentication should be done after the entire FIT image is loaded into memory including all sub-images. We use "-p" option to generate FIT image to reserve a space for FIT IVT and FIT CSF, also this help to fix the offset of the external data (u-boot-nodtb.bin, ATF, u-boot DTB). The signed FIT image layout is as below: -------------------------------------------------- | | | | | | | | | FIT | FIT | FIT | | U-BOOT | ATF | U-BOOT | | FDT | IVT | CSF | | nodtb.bin | | DTB | | | | | | | | | -------------------------------------------------- Signed-off-by: Ye Li <ye.li@nxp.com> Reviewed-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Tom Rini <trini@konsulko.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
| * imx: bootaux: fix stack and pc assignment on 64-bit platformsGary Bisson2019-01-011-2/+2
| | | | | | | | | | | | | | | | | | | | | | Using ulong is wrong as its size depends on the Host CPU architecture (32-bit vs. 64-bit) although the Cortex-M4 is always 32-bit. Without this patch, the stack and PC are obviously wrong and it generates an abort when used on 64-bit processors such as the i.MX8MQ. Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com> Reviewed-by: Peng Fan <peng.fan@nxp.com>
| * imx: mx8m: add memory mapping for CAAM and TCMGary Bisson2019-01-011-0/+16
| | | | | | | | | | | | | | | | Otherwise can't boot the M4 core as it is impossible to load its firmware into the TCM memory. Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com> Reviewed-by: Peng Fan <peng.fan@nxp.com>
| * tools: improve portability of imx_cntr_image.shMartin Husemann2019-01-011-1/+1
| | | | | | | | | | | | | | Replace non-portable operator == with = The operator == in sh(1) / test(1) is non-POSIX and only implemented by some shells (like bash). It is equivalent to the standard defined operator =.
| * embestmx6boards: Add SPL supportFabien Lahoudere2019-01-015-0/+111
| | | | | | | | | | | | | | In order to boot faster with falcon mode, we need to add SPL support to riotboard. Signed-off-by: Fabien Lahoudere <fabien.lahoudere@collabora.com>
| * imx: imx8qxp_mek: imximage: remove config.hPeng Fan2019-01-011-1/+0
| | | | | | | | | | | | config.h is not needed, remove it. Signed-off-by: Peng Fan <peng.fan@nxp.com>
| * doc: imx: fix typos in mxsimage.txtMichael Heimpold2019-01-011-2/+2
| | | | | | | | | | | | | | This fixes two small typos in mxsimage.txt. Signed-off-by: Michael Heimpold <mhei@heimpold.de> Reviewed-by: Breno Lima <breno.lima@nxp.com>
| * doc: imx: fix typo in imximage.txtMichael Heimpold2019-01-011-1/+1
| | | | | | | | | | Signed-off-by: Michael Heimpold <mhei@heimpold.de> Reviewed-by: Breno Lima <breno.lima@nxp.com>
| * configs: mx23_olinuxino_defconfig: disable bootefi commandMichael Heimpold2019-01-011-0/+1
| | | | | | | | | | | | | | | | | | CONFIG_CMD_BOOTEFI is enabled by Kconfig default, but rarely used on this board/platform. So let's disable it for the boards default config. This also saves around 16 KiB in the final u-boot.sb. Signed-off-by: Michael Heimpold <mhei@heimpold.de>
| * configs: mx23_olinuxino_defconfig: fix status led definitionMichael Heimpold2019-01-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While migrating individual status led usages to Kconfig stuff, a (random) value was introduced for this board which does not work but produces the following error message during boot: __led_init: failed requesting GPIO59! Since Kconfig does not seem to accept a define as this point, but the mxs gpio driver requires not only a simple integer value, we need to use the plain value of MX23_PAD_SSP1_DETECT__GPIO_2_1. Signed-off-by: Michael Heimpold <mhei@heimpold.de> Fixes: 2d8d190c8394 ("status_led: Kconfig migration")
| * w1: Add driver for i.MX bus master controllerMartin Fuzzey2019-01-014-0/+284
| | | | | | | | | | | | | | | | | | | | | | | | | | Two variants of controllers are supported: V1 (bitwise only) found in i.MX21, i.MX27, i.MX31, i.MX51 V2 (byte operations) found in i.MX25, i.MX35, i.MX50, i.MX53 Only tested on i.MX53 hardware but in both modes (by modifying the device tree). Signed-off-by: Martin Fuzzey <martin.fuzzey@flowbird.group>
| * watchdog: imx: add config to disable wdog resetXiaoliang Yang2019-01-013-0/+10
| | | | | | | | | | | | | | | | Add Kconfig option WATCHDOG_RESET_DISABLE to disable watchdog reset in imx_watchdog driver, so that the watchdog will not be fed in u-boot if CONFIG_WATCHDOG_RESET_DISABLE is enabled. Signed-off-by: Xiaoliang Yang <xiaoliang.yang_1@nxp.com>
| * watchdog: driver support for fsl-lsch2Xiaoliang Yang2019-01-013-0/+18
| | | | | | | | | | | | | | | | Support watchdog driver for fsl-lsch2. It's disabled in default. If you want to use it, please enable CONFIG_IMX_WATCHDOG. Define CONFIG_WATCHDOG_TIMEOUT_MSECS to set watchdog timeout. Signed-off-by: Xiaoliang Yang <xiaoliang.yang_1@nxp.com>
| * board: ge: Move VPD reading to the vpd_readerDenis Zalevskiy2019-01-014-76/+63
| | | | | | | | | | | | | | | | | | | | Merge functionality duplicated in bx50v3 and mx53ppd: the logic is the same except that process_vpd is called at different phases. Also read_vpd could end up in error, so there is no VPD data in this case - it shouldn't be processed. Signed-off-by: Denis Zalevskiy <denis.zalevskiy@ge.com> Signed-off-by: Fabien Lahoudere <fabien.lahoudere@collabora.com>
| * board: ge: Move VPD EEPROM configuration to the defconfigDenis Zalevskiy2018-12-177-23/+45
| | | | | | | | | | | | | | | | | | Use standard configuration logic to define EEPROM constants. Names are based on VPD_EEPROM_ prefix because EEPROM_ is already used by i2c_eeprom driver. Signed-off-by: Denis Zalevskiy <denis.zalevskiy@ge.com> Signed-off-by: Fabien Lahoudere <fabien.lahoudere@collabora.com>
| * board: ge: Remove EEPROM bus param from read_vpd()Denis Zalevskiy2018-12-172-6/+6
| | | | | | | | | | | | | | | | The bus is statically defined, so remove redundant parameters from read_vpd() for PPD and Bx50v3. Signed-off-by: Denis Zalevskiy <denis.zalevskiy@ge.com> Signed-off-by: Fabien Lahoudere <fabien.lahoudere@collabora.com>
| * warp7: configs: add CONFIG_FIT optionPierre-Jean Texier2018-12-171-0/+2
| | | | | | | | | | | | This enable FIT image support. Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
* | riscv: bootm: Support booting VxWorksBin Meng2018-12-312-2/+8
| | | | | | | | | | | | | | Register the 'bootm' function for booting VxWorks kernel for RISC-V architecture. Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
* | bootm: vxworks: Make do_bootm_vxworks() non-staticBin Meng2018-12-312-2/+4
| | | | | | | | | | | | | | For future extension to other architectures, make do_bootm_vxworks() a non-static function. Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
* | bootm: vxworks: Make do_bootvx_fdt() staticBin Meng2018-12-312-2/+1
| | | | | | | | | | | | | | Change the scope of do_bootvx_fdt() to static since it is only used in common/bootm_os.c. Signed-off-by: Bin Meng <bmeng.cn@gmail.com>