summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-01-28warp7: defconfig: Switch to DM for I2CBryan O'Donoghue
This commit switches to DM I2C for warp7 and warp7_bl33 defconfigs. Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Reviewed-by: Peng Fan <peng.fan@nxp.com> Cc: Peng Fan <peng.fan@nxp.com> Cc: Fabio Estevam <fabio.estevam@nxp.com> Cc: Stefano Babic <sbabic@denx.de>
2019-01-28warp7: defconfig: Switch on IMX7 GPIO/pinctrl for both portsBryan O'Donoghue
Switches on the IMX7 pinctrl driver for the warp7 and warp7_bl33 ports, necessary to convert over to DM for this board. It is necessary to switch on pinctrl and GPIO in one go. Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Cc: Peng Fan <peng.fan@nxp.com> Cc: Fabio Estevam <fabio.estevam@nxp.com> Cc: Stefano Babic <sbabic@denx.de>
2019-01-28arm: dts: imx7s-warp: Create alias for mmc0 to &usdhc3Bryan O'Donoghue
This patch sets up an alias for mmc0 to usdhc3. Before the DM conversion only usdhc3 was enabled and therefore it appeared as MMC 0 to u-boot. After enabling MMC DM though usdhc3 defaults to MMC 2, which left unattended would drive changes to existing warp7 bootscripts and environment variables that rely on mmc 0. Setup the alias of mmc0 and usdhc3 so that existing warp7 boot code will work unmodified. Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Cc: Albert Aribaud <albert.u.boot@aribaud.net> Cc: Peng Fan <peng.fan@nxp.com> Cc: Fabio Estevam <fabio.estevam@nxp.com> Cc: Stefano Babic <sbabic@denx.de>
2019-01-28arm: imx7s-warp: Convert to DM MMC initializationBryan O'Donoghue
Converts from fixed initialization of MMC to DM initialization of MMC. Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Cc: Albert Aribaud <albert.u.boot@aribaud.net> Cc: Peng Fan <peng.fan@nxp.com> Cc: Fabio Estevam <fabio.estevam@nxp.com> Cc: Stefano Babic <sbabic@denx.de>
2019-01-28arm: imx7s-warp: Add DT file hooksBryan O'Donoghue
This patch adds DT file hooks for imx7s-warp.dtb to the warp7 and warp7_bl33 builds. Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Reviewed-by: Peng Fan <peng.fan@nxp.com> Cc: Albert Aribaud <albert.u.boot@aribaud.net> Cc: Peng Fan <peng.fan@nxp.com> Cc: Fabio Estevam <fabio.estevam@nxp.com> Cc: Stefano Babic <sbabic@denx.de>
2019-01-28arm: dts: imx7s-warp: Import Linux warp7 dtsBryan O'Donoghue
This patch imports the Linux kernel warp7 dts as at upstream kernel commit cf76c364a1e1. Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Cc: Albert Aribaud <albert.u.boot@aribaud.net> Cc: Peng Fan <peng.fan@nxp.com> Cc: Fabio Estevam <fabio.estevam@nxp.com> Cc: Stefano Babic <sbabic@denx.de>
2019-01-28arm: dts: imx7: Correct spelling mistake in GPIO nameBryan O'Donoghue
As pointed out by Lucas WDOD1_WDOG_ANY should be WDOG1_WDOG_ANY. Once corrected we can import the latest kernel DTS unmodified. Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Reported-by: Lukas Auer <lukas.auer@aisec.fraunhofer.de>
2019-01-28imx8: cpu: restrict checking ROM passover info for revAPeng Fan
Passover info only for revA. move get_cpu_rev out of CONFIG_CPU to avoid build failure when using get_cpu_rev in SPL. Add a CONFIG_SPL_BUILD for passover usage, no need to execute it again in normal U-Boot stage. Also if still checking passover info in normal U-Boot stage, need to make the passover code executed after arch_cpu_init_dm. So to make it easy and clean, only execute the code for SPL stage. Signed-off-by: Peng Fan <peng.fan@nxp.com>
2019-01-28imx: Check the PL310 version for applying errataYe Li
Apply errata based on PL310 version instead of compile time. Also set Prefetch offset to 15, since it improves memcpy performance by 35%. Don't enable Incr double Linefill enable since it adversely affects memcpy performance by about 32MB/s and reads by 90MB/s. Tested with 4K to 16MB sized src and dst aligned buffer. Signed-off-by: Nitin Garg <nitin.garg@freescale.com> Signed-off-by: Ye Li <ye.li@nxp.com>
2019-01-28ARM: imx: fix: Provide correct enum values for ONENAND/NOR boot recognitionLukasz Majewski
According to "Table 5-1. Boot Device Select" (page 335, i.MX 6Dual/6Quad Applications Processor Reference Manual, Rev. 4, 09/2017) the BOOT_CFG1[3] have following values (regarding EIM booting): 0 - NOR flash and 1 - ONENAND This commit provides correct identification of the boot medium for IMX6Q boards booting from NOR memory (MCCMON6 is one of them). Signed-off-by: Lukasz Majewski <lukma@denx.de>
2019-01-28dm: arm: imx: migrate cx9020 to CONFIG_DM_MMCPatrick Bruenn
Enable esdhc1/2 device nodes for cx9020 and build with CONFIG_DM_MMC=y Signed-off-by: Patrick Bruenn <p.bruenn@beckhoff.com>
2019-01-28arm: imx: Add esdhc1/2 nodes to imx53.dtsiPatrick Bruenn
These nodes are required by CX9020 when build with CONFIG_DM_MMC=y They are copied from Linux 4.20 Signed-off-by: Patrick Bruenn <p.bruenn@beckhoff.com>
2019-01-28mmc: fsl_esdhc: add compatible for fsl, imx53-esdhcPatrick Bruenn
Add compatible "fsl,imx53-esdhc" to keep mmc working on i.MX53 platforms with CONFIG_DM_MMC=y Signed-off-by: Patrick Bruenn <p.bruenn@beckhoff.com>
2019-01-28imx8mq_evk/README: remove ARCH environment variableBaruch Siach
There is no need to set the ARCH variable when building U-Boot. In fact, the ARCH name in U-Boot is 'arm'. Signed-off-by: Baruch Siach <baruch@tkos.co.il>
2019-01-28MTD: nand: mxs_nand_spl: Fix empty function pointer for BBTAdam Ford
The initialization function calls a nand_chip.scan_bbt(mtd) but scan_bbt is never initialized resulting in an undefined function pointer. This will direct the function pointer to nand_default_bbt defined in the same file. Signed-off-by: Adam Ford <aford173@gmail.com> Acked-by: Stefan Agner <stefan.agner@toradex.com>
2019-01-28spi: mxc_spi: Fix build warning on ARM64 platformsYe Li
When building mxc_spi driver on ARM64 platforms, get below build warnings. Fix it in this patch. In file included from include/common.h:48:0, from drivers/spi/mxc_spi.c:9: drivers/spi/mxc_spi.c: In function ‘spi_xchg_single’: drivers/spi/mxc_spi.c:232:21: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] _func_, bitlen, (u32)dout, (u32)din); ^ include/log.h:135:26: note: in definition of macro ‘debug_cond’ printf(pr_fmt(fmt), ##args); \ ^~~~ drivers/spi/mxc_spi.c:231:2: note: in expansion of macro ‘debug’ debug("%s: bitlen %d dout 0x%x din 0x%x\n", ^~~~~ drivers/spi/mxc_spi.c:232:32: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] _func_, bitlen, (u32)dout, (u32)din); ^ include/log.h:135:26: note: in definition of macro ‘debug_cond’ printf(pr_fmt(fmt), ##args); \ ^~~~ drivers/spi/mxc_spi.c:231:2: note: in expansion of macro ‘debug’ debug("%s: bitlen %d dout 0x%x din 0x%x\n", ^~~~~ Signed-off-by: Ye Li <ye.li@nxp.com> Reviewed-by: Peng Fan <peng.fan@nxp.com>
2019-01-28imx: Fix potential lmb memory overwritten by stackYe Li
At default, u-boot reserves the memory from SP - 4KB to DRAM end for lmb in arch_lmb_reserve. So lmb won't allocate any memory from it. But we found the 4K gap for SP is not enough now, because some FDT updating operations are added in our u-boot before jumping to kernel, which needs larger stack. This causes the lmb allocated memory is overwritten by stack. Fix the issue by implementing the board_lmb_reserve to reserve from SP - 16KB to memory end for lmb. Signed-off-by: Ye Li <ye.li@nxp.com>
2019-01-28pinctrl: imx: Fix select input issueYe Li
The pinctrl supports to set any bit in input register on iMX6 if the MSB of input value is 0xff. But the driver uses signed int for input value, so when executing the codes below, it won't meet. Because this is arithmetic right shift. if (input_val >> 24 == 0xff) Fix the issue by changing the input_val, config_val and mux_mode to u32. Signed-off-by: Ye Li <ye.li@nxp.com> Reviewed-by: Fugang Duan <fugang.duan@nxp.com> Reviewed-by: Peng Fan <peng.fan@nxp.com>
2019-01-28imx8qxp: mek: update READMEPeng Fan
Update README after we switch to use SPL Signed-off-by: Peng Fan <peng.fan@nxp.com>
2019-01-28imx8qxp: mek: default enable SPLPeng Fan
Enable SPL for i.MX8QXP MEK, and currently use SPL FIT. The SPL enable SPL_DM to use MMC/PINCTRL/POWER DOMAIN/CLK. Note: SPL FIT could not support secure boot chain, because i.MX8/8X only support i.MX container format. This container format has not been upstreamed, so we use FIT for now. When SPL container supported, we could switch to that. Signed-off-by: Peng Fan <peng.fan@nxp.com>
2019-01-28imx: build flash.bin for i.MX8Peng Fan
Build flash.bin for i.MX8 when SPL enabled. Signed-off-by: Peng Fan <peng.fan@nxp.com>
2019-01-28imx: mkimage_fit_atf: introduce BL33_BASE_ADDRPeng Fan
Introduce BL33_BASE_ADDR, then we could reuse this script for i.MX8QXP. Signed-off-by: Peng Fan <peng.fan@nxp.com>
2019-01-28dts: imx8qxp-mek: introduce u-boot dtsiPeng Fan
Introduce u-boot dtsi for i.MX8QXP MEK board. we do not introduce a common dtsi for SoC, because different board has different requirement on which needs to be enabled in SPL DM. Signed-off-by: Peng Fan <peng.fan@nxp.com>
2019-01-28spl: imx8: add spl boot devicePeng Fan
Add spl_boot_device for i.MX8, also add BOOT_DEVICE_MMC2_2 for spl_boot_mode. Signed-off-by: Peng Fan <peng.fan@nxp.com>
2019-01-28gpio: introduce CONFIG_SPL_DM_PCA953XPeng Fan
Introduce CONFIG_SPL_DM_PCA953X for SPL usage. Signed-off-by: Peng Fan <peng.fan@nxp.com>
2019-01-28arm: imx: build mach-imx for i.MX8Peng Fan
To enable SPL for i.MX8, we could reuse code in arch/arm/mach-imx. Signed-off-by: Peng Fan <peng.fan@nxp.com>
2019-01-28imx8: scu: use dedicated MU for SPLPeng Fan
SPL runs in EL3 mode, except MU0_A, others are not powered on, and could not be used. However normal U-Boot use MU1_A, so we could not reuse the one in dts. And we could not replace the one in dts with MU0_A, because MU0_A is reserved in secure world. Signed-off-by: Peng Fan <peng.fan@nxp.com>
2019-01-28imx8qxp: add SUPPORT_SPL optionPeng Fan
Enable SUPPORT_SPL option for i.MX8QXP, then we could enable SPL. Signed-off-by: Peng Fan <peng.fan@nxp.com>
2019-01-28MAINTAINERS: imx: Change Fabio's email addressFabio Estevam
I prefer to use my personal email address for U-Boot related work. Signed-off-by: Fabio Estevam <festevam@gmail.com>
2019-01-28configs: add default configuraiton for Colibri iMX7 with eMMCStefan Agner
Add a default configuration for Colibri iMX7D 1GB (with eMMC NAND flash). Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2019-01-28configs: colibri_imx7: use distro defaultsStefan Agner
The defconfig already use most features implied by distro defaults. Make sure we enable all features required by distro boot by making use of CONFIG_DISTRO_DEFAULTS. Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2019-01-28configs: colibri_imx7: use DFU for NAND instead of MMCStefan Agner
The colibri_imx7_defconfig is for Colibri iMX7 raw NAND devices. Hence DFU for NAND is more useful then for MMC devices. Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2019-01-28configs: colibri_imx7: enable CAAM driverStefan Agner
Access to CAAM in non-secure mode must be enabled by the boot loader first. The U-Boot CAAM driver enables access to CAAM in non-secure mode by default. Hence enable the CAAM driver to allow Linux accessing CAAM directly. This prevents error messages like the following on Linux boot: caam 30900000.caam: Entropy delay = 3200 caam 30900000.caam: failed to acquire DECO 0 caam 30900000.caam: failed to instantiate RNG Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2019-01-28colibri_imx7: drop legacy usdhc supportStefan Agner
Drop legacy pinmux/usdhc board configuration. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2019-01-28configs: colibri_imx7: use DM_MMCStefan Agner
Now that device tree is in place use DM_MMC for Colibri iMX7 devices. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2019-01-28arm: dts: imx7: colibri: add usdhci peripherals to device treeStefan Agner
Add usdhci peripherals to device tree. This allows to use DM_MMC for Colibri iMX7 devices. Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2019-01-28configs: colibri_imx7: use separate device treeStefan Agner
Use OF_SEPARATE as suggested by the build system. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2019-01-28configs: colibri_imx7: enable DM for raw NAND devicesStefan Agner
Use DM and device trees for raw NAND devices by default. This fixes -74 NAND read errors since it makes sure the ECC settings are the same as used in Linux and our downstream U-Boot. Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2019-01-28arm: dts: imx7: colibri: split dt for raw NAND and eMMC devicesStefan Agner
In preparation of adding CONFIG_DM_MMC support use separate device trees for raw NAND and eMMC devices. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2019-01-28colibri_imx7: fix boot commandsStefan Agner
Fix mixed up boot commands between raw NAND and eMMC variant. Also make sure that the boot_file is defined for the eMMC boot command. Fixes: a62c60610f51 ("colibri_imx7_emmc: add Colibri iMX7D 1GB (eMMC) module support") Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2019-01-28Revert "tools: imx8image: set dcd_skip to true"Fabio Estevam
This reverts commit f7e475db4011d18b4ae974154eb022c3af6a4d16. This commit breaks the boot on imx8qxp evk and it should only be re-applied after imx8qxp evk is converted to SPL. Revert it for now, so that imx8qxp evk can be functional. Reported-by: Breno Lima <breno.lima@nxp.com> Signed-off-by: Fabio Estevam <festevam@gmail.com> Reviewed-by: Peng Fan <peng.fan@nxp.com> Tested-by: Breno Lima <breno.lima@nxp.com>
2019-01-28tools: imx8image: use correct printf escape sequenceHeinrich Schuchardt
core is of type uint64_t. So for printing we need "%"PRIu64 (not "%lu"). Without the patch a warning is issued when building on a 32bit system. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2019-01-28m53menlo: fix addmtd cmd in default environmentOlaf Mandel
The original definition added the string mtdparts= to the Linux Kernel args twice: mtdparts=mtdparts=. Fix that. Signed-off-by: Olaf Mandel <o.mandel@menlosystems.com> Reviewed-by: Marek Vasut <marex@denx.de>
2019-01-28m53menlo: fix splashfile locationOlaf Mandel
After merging the boot partition into the root partition, the splashfile resides in the /boot subdirectory: update the default environment to reflect that. Signed-off-by: Olaf Mandel <o.mandel@menlosystems.com> Reviewed-by: Marek Vasut <marex@denx.de>
2019-01-28pico-imx7d: Add LCD supportFabio Estevam
Add support for the VXT VL050-8048NT-C01 panel connected through the 24 bit parallel LCDIF interface. Signed-off-by: Fabio Estevam <festevam@gmail.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2019-01-28mx7: Do not call lcdif_power_down() in the SPL caseFabio Estevam
Like it was done on imx6 in commit 9236269de57d ("imx: mx6: Fix implementantion reset_misc") Do not call lcdif_power_down() in the SPL case to fix the following build error: LD spl/u-boot-spl MKIMAGE u-boot.img arch/arm/mach-imx/built-in.o: In function `reset_misc': /home/fabio/ossystems/u-boot/arch/arm/mach-imx/mx7/soc.c:372: undefined reference to `lcdif_power_down' scripts/Makefile.spl:375: recipe for target 'spl/u-boot-spl' failed Signed-off-by: Fabio Estevam <festevam@gmail.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Fabio Estevam <festevam@gmail.com> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Reviewed-by: Peng Fan <peng.fan@nxp.com>
2019-01-28imx: Add PHYTEC phyBOARD-i.MX6UL-SeginMartyn Welch
Port for the PHYTEC phyBOARD-i.MX6UL-Segin single board computer. Based on the PHYTEC phyCORE-i.MX6UL SOM (PCL063). CPU: Freescale i.MX6UL rev1.2 528 MHz (running at 396 MHz) CPU: Industrial temperature grade (-40C to 105C) at 44C Reset cause: POR Board: PHYTEC phyCORE-i.MX6UL I2C: ready DRAM: 256 MiB NAND: 512 MiB MMC: FSL_SDHC: 0 In: serial Out: serial Err: serial Net: FEC0 Working: - Eth0 - i2C - MMC/SD - NAND - UART (1 & 5) - USB (host & otg) Signed-off-by: Martyn Welch <martyn.welch@collabora.com>
2019-01-28Enable FEC driver to retrieve PHY address from device treeMartyn Welch
Currently if we have more than one phy on the MDIO bus, we do not have a good mechanism for determining which should be used at runtime. Enable the FEC driver to determine the address for the PHY from the device tree. Signed-off-by: Martyn Welch <martyn.welch@collabora.com> Reviewed-by: Lukasz Majewski <lukma@denx.de>
2019-01-28imx: hab: Convert non-NULL IVT DCD pointer warning to an errorBreno Matheus Lima
The following NXP application notes and manual recommend to ensure the IVT DCD pointer is Null prior to calling HAB API authenticate_image() function: - AN12263: HABv4 RVT Guidelines and Recommendations - AN4581: Secure Boot on i.MX50, i.MX53, i.MX 6 and i.MX7 Series using HABv4 - CST docs: High Assurance Boot Version 4 Application Programming Interface Reference Manual Commit ca89df7dd46f ("imx: hab: Convert DCD non-NULL error to warning") converted DCD non-NULL error to warning due to the lack of documentation at the time of first patch submission. We have warned U-Boot users since v2018.03, and it makes sense now to follow the NXP recommendation to ensure the IVT DCD pointer is Null. DCD commands should only be present in the initial boot image loaded by the SoC ROM. Starting in HAB v4.3.7 the HAB code will generate an error if a DCD pointer is present in an image being authenticated by calling the HAB RVT API. Older versions of HAB will process and run DCD if it is present, and this could lead to an incorrect authentication boot flow. Signed-off-by: Breno Lima <breno.lima@nxp.com> Reviewed-by: Fabio Estevam <festevam@gmail.com>
2019-01-26linker: Modify linker scripts to be more genericTom Rini
Make use of "IMAGE_MAX_SIZE" and "IMAGE_TEXT_BASE" rather than CONFIG_SPL_MAX_SIZE and CONFIG_SPL_TEXT_BASE. This lets us re-use the same script for both SPL and TPL. Add logic to scripts/Makefile.spl to pass in the right value when preprocessing the script. Cc: Stefano Babic <sbabic@denx.de> Cc: Fabio Estevam <fabio.estevam@nxp.com> Cc: Jagan Teki <jagan@openedev.com> Cc: Maxime Ripard <maxime.ripard@bootlin.com> Cc: Andreas Bießmann <andreas@biessmann.org> Cc: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Cc: Michal Simek <monstr@monstr.eu> Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Cc: York Sun <york.sun@nxp.com> Cc: Bin Meng <bmeng.cn@gmail.com> Cc: Heiko Schocher <hs@denx.de> Cc: Adam Ford <aford173@gmail.com> Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Tested-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com> Tested-by: Adam Ford <aford173@gmail.com> #da850evm & omap3_logic_somlv Reviewed-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>