summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-07-19arm: imx8: don't duplicate build_info()Anatolij Gustschin
Move build_info() to common place. Signed-off-by: Anatolij Gustschin <agust@denx.de> Cc: Marcel Ziswiler <marcel.ziswiler@toradex.com> Cc: Peng Fan <peng.fan@nxp.com> Reviewed-by: Peng Fan <peng.fan@nxp.com>
2019-07-19arm: imx8: factor out uart init codeAnatolij Gustschin
New imx8 boards started adding duplicated UART init code. Factor out this to common function sc_pm_setup_uart(). Signed-off-by: Anatolij Gustschin <agust@denx.de> Cc: Peng Fan <peng.fan@nxp.com> Cc: Marcel Ziswiler <marcel.ziswiler@toradex.com> Reviewed-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Peng Fan <peng.fan@nxp.com>
2019-07-19colibri_imx7_emmc: enable CONFIG_ARMV7_BOOT_SEC_DEFAULTIgor Opaniuk
Enable CONFIG_ARMV7_BOOT_SEC_DEFAULT by default to avoid a kernel crash when booting NXP linux kernels in non-secure world, when job ring device allocation is done by CAAM hw accelerator driver: caam 30900000.caam: job rings = 3, qi = 0 caam_jr 30901000.jr0: failed to flush job ring 0 caam_jr: probe of 30901000.jr0 failed with error -5 caam_jr 30902000.jr1: failed to flush job ring 1 caam_jr: probe of 30902000.jr1 failed with error -5 caam_jr 30903000.jr2: failed to flush job ring 2 caam_jr: probe of 30903000.jr2 failed with error -5 caam algorithms registered in /proc/crypto Job Ring Device allocation for transform failed caam 30900000.caam: caam pkc algorithms registered in /proc/crypto Unable to handle kernel NULL pointer dereference at virtual address 00000010 pgd = c0004000 [00000010] *pgd=00000000 Internal error: Oops: 5 [#1] PREEMPT SMP ARM Modules linked in: CPU: 0 PID: 1 Comm: swapper/0 Tainted: Hardware name: Freescale i.MX7 Dual (Device Tree) task: ec0d8000 task.stack: ec0ce000 PC is at caam_sm_startup+0x3f8/0x4f4 Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
2019-07-19colibri-imx6ull: fix vidargsMarcel Ziswiler
Unfortunately, that missing M makes the current downstream NXP BSP 4.14.98_2.0.0_ga crash early during Linux kernel boot. Fix this. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com> Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com> Tested-by: Igor Opaniuk <igor.opaniuk@toradex.com>
2019-07-19pico-imx7d: Enable DM_USBJoris Offouga
This patch enable usb support with device-tree Signed-off-by: Joris Offouga <offougajoris@gmail.com> Reviewed-by: Jun Nie <jun.nie@linaro.org>
2019-07-19ARM: imx: m53menlo: Convert WDT support to DMMarek Vasut
Enable DM Watchdog support on iMX53 M53Menlo. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Fabio Estevam <fabio.estevam@nxp.com> Cc: Stefano Babic <sbabic@denx.de>
2019-07-19IMX: serial: dm: Set DM_FLAG_PRE_RELOC in the IMX uart driverLukasz Majewski
The DM_FLAG_PRE_RELOC shall be set unconditionally as this driver is going to be re-used in both early SPL and U-Boot proper's pre-reloc. For i.MX based devices it is crucial to have available the serial console before relocation (otherwise the board may hand). The device definition may be provided either via device tree description or with U_BOOT_DEVICE(mxc_serial) definition. In the latter case the device will not bind in U-Boot proper when DM_FLAG_PRE_RELOC is not set. The !CONFIG_IS_ENABLED(OF_CONTROL) #if check was set as a "workaround" for DM problem described in following commit 4687919684e0 ("serial: Remove DM_FLAG_PRE_RELOC flag in various drivers"). Let's look on this check more thoroughly - we add this flag if the board doesn't support OF_CONTROL. This is a bit strange as the serial_mxc.c can be used with CONFIG_DM_SERIAL but without corresponding device tree description (OF_CONTROL). In such case the aforementioned U_BOOT_DEVICE(mxc_serial) definition is used. Other boards/SoCs have this flag set unconditionally for serial driver. Signed-off-by: Lukasz Majewski <lukma@denx.de>
2019-07-19watchdog: imx: Add DM supportMarek Vasut
Add DM and DT probing support to iMX watchdog driver. This should allow boards to move over to this driver, enable SYSRESET_WATCHDOG to handle cpu_reset() if required. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Peng Fan <Peng.Fan@freescale.com> Cc: Stefano Babic <sbabic@denx.de> Tested-by: Heiko Schocher <hs@denx.de>
2019-07-19watchdog: Split WDT from SPL_WDTMarek Vasut
Use CONFIG_IS_ENABLED(WDT) to permit use of WDT in SPL without DM, while the full U-Boot can use rich DM/DT WDT driver. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Peng Fan <Peng.Fan@freescale.com> Cc: Stefano Babic <sbabic@denx.de> Tested-by: Heiko Schocher <hs@denx.de> Tested-by: Suniel Mahesh <sunil.m@techveda.org>
2019-07-19ARM: display5: Remove U_BOOT_DEVICE definition of serial_mxcLukasz Majewski
Before the wide DM/DTS adoption in the U-Boot proper, the display5 has been using only DM_SERIAL to provide serial console in pre-relocation. After moving to full DM/DTS adoption in the U-Boot proper the U_BOOT_DEVICE definition is not needed anymore, as it has been replaced with udevice creation from provided DTS description. Signed-off-by: Lukasz Majewski <lukma@denx.de> Reviewed-by: Peng Fan <peng.fan@nxp.com>
2019-07-19DTS: Add imx6q-display5-u-boot.dtsi file with u-boot specific propertiesLukasz Majewski
This file setups UART5 based serial to be used as pre-relocation console in the U-Boot proper. On purpose pinux configuration is omitted here as it has been already done in SPL. For early pre-relocation code we only need the serial device from DTS. Signed-off-by: Lukasz Majewski <lukma@denx.de> Reviewed-by: Peng Fan <peng.fan@nxp.com>
2019-07-19DTS: imx: Add display5 board (imx6q based) device tree description (v5.1)Lukasz Majewski
This commit ports from Linux kernel - tag: v5.1 - the device tree description for display5 board. Signed-off-by: Lukasz Majewski <lukma@denx.de> Reviewed-by: Peng Fan <peng.fan@nxp.com>
2019-07-19ARM: display5: Increase the pre-relocation malloc pool size to 4KiBLukasz Majewski
Porting more DTS code from Linux kernel for display5 board required increase of pre-relocation malloc pool size in U-Boot proper. The early malloc memory is necessary for handling parsing and setup of e.g. serial port device (and all its ancestors in DT tree). Signed-off-by: Lukasz Majewski <lukma@denx.de> Acked-by: Peng Fan <peng.fan@nxp.com>
2019-07-19gpio: Add missing parenthesis to the GPIO_TO_PORT defineLukasz Majewski
Add missing parenthesis to the GPIO_TO_PORT macro. Signed-off-by: Lukasz Majewski <lukma@denx.de> Reviewed-by: Peng Fan <peng.fan@nxp.com>
2019-07-19ARM: display5: Fix CS check after moving some SPI related CONFIGs to KconfigLukasz Majewski
After commit 14453fbfadc2 ("Convert CONFIG_SF_DEFAULT_* to Kconfig") and commit abe66b1b5dec ("Convert CONFIG_ENV_SPI_* to Kconfig") ,which moved some SPI related CONFIG_* defines to Kconfig the display5 board has become unbootable as the SPI CS check condition had wrong value. This commit fixes this check and allows proper SPI NOR flash operation in SPL. Signed-off-by: Lukasz Majewski <lukma@denx.de>
2019-07-19cosmetic: Update comment in cmd/eeprom.cLukasz Majewski
This commit just corrects spelling of 'accessed' word in the EEPROM comment. Signed-off-by: Lukasz Majewski <lukma@denx.de> Reviewed-by: Peng Fan <peng.fan@nxp.com>
2019-07-19cosmetic: display5: Remove not needed commentsLukasz Majewski
Some comments are not needed anymore after Kconfig automated conversion. Signed-off-by: Lukasz Majewski <lukma@denx.de> Reviewed-by: Peng Fan <peng.fan@nxp.com>
2019-07-19configs: icorem6: Enable Nand bcb commandShyam Saini
This would be used for writing spl images along nand BCB Signed-off-by: Shyam Saini <shyam.saini@amarulasolutions.com>
2019-07-19configs: icore: Fix U-Boot proper loading from nandShyam Saini
SPL on Engicam i.Core M6 boards enabled DM, so it would require some malloc() pool before relocation in order to load U-Boot proper properly. So, enable SPL malloc() pool of 0x2000 size similarly like what we have used for icore mmc defconfigs. Signed-off-by: Shyam Saini <shyam.saini@amarulasolutions.com>
2019-07-19pwm: imx: add DM_PWM supportHeiko Schocher
add DM support for pwm-imx driver. Signed-off-by: Heiko Schocher <hs@denx.de>
2019-07-19pwm: imx: add Kconfig supportHeiko Schocher
add Kconfig support for this driver. Signed-off-by: Heiko Schocher <hs@denx.de> Acked-by: Martyn Welch <martyn.welch@collabora.co.uk>
2019-07-19opos6uldev: remove board_ehci_hcd_init functionSébastien Szymanski
This function sets the polarity of the PWR signal which is not used on the opos6uldev board. Remove it. Reviewed-by: Fabio Estevam <festevam@gmail.com> Signed-off-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
2019-07-19doc: Update parallel NOR flash related information in README.falconLukasz Majewski
This commit updates the doc/README.falcon regarding Falcon boot on NOR flash memories. This code is used by MCCMON6 board - so for more details please refer to configs/mccmon6_nor_defconfig. Signed-off-by: Lukasz Majewski <lukma@denx.de>
2019-07-19Kconfig: Add CMD_SPL_NOR_OFS config for falcon boot argument offsetLukasz Majewski
This option will provide the offset in the parallel NOR flash memory to, which the falcon boot data is stored. Signed-off-by: Lukasz Majewski <lukma@denx.de>
2019-07-19Kconfig: cosmetic: Update description of CMD_SPL_NAND_OFSLukasz Majewski
The CMD_SPL_NAND_OFS description was a bit misleading, has been updated. Signed-off-by: Lukasz Majewski <lukma@denx.de>
2019-07-19Kconfig: Make CMD_SPL_NAND_OFS only available when proper memory is usedLukasz Majewski
This commit makes the CMD_SPL_NAND_OFS only visible when we use NAND memory. Before this change it was present when only CMD_SPL was enabled (and would stay when board with other falcon boot medium is used). Signed-off-by: Lukasz Majewski <lukma@denx.de>
2019-07-19ARM: imx: Disable 1Gbps support on MCCMON6's KSZ9031 PHYLukasz Majewski
mccmon6 works in 10/100 MiB Ethernet environment, so disabling 1GiB support improves robustness of the network after power up (as one don't need to wait for autoneg). Signed-off-by: Lukasz Majewski <lukma@denx.de>
2019-07-19ARM: imx: config: Disable support for USB on MCCMON6Lukasz Majewski
The IMX6Q based MCCMON6 is not using USB for any purpose. Signed-off-by: Lukasz Majewski <lukma@denx.de>
2019-07-19ARM: imx: cosmetic: Remove not needed comment from the mccmon6.h fileLukasz Majewski
This comment is a leftover from the Kconfig CONFIG_*MTD* move. Signed-off-by: Lukasz Majewski <lukma@denx.de>
2019-07-19mx7ulp_evk: Update DDR freq to 352.8Mhz for ULP B0Ye Li
On i.MX7ULP B0, the DDR clock target is increased from 320Mhz to 380Mhz. We update DDR clock relevant settings to approach the target. But since the limitation on LCDIF pix clock for HDMI output (refer "mx7ulp_evk: Change APLL and its PFD0 frequencies"), we set DDR clock to 352.8Mhz (25.2Mhz * 14) by using the clock path: APLL PFD0 -> DDR CLK -> NIC0 -> NIC1 -> LCDIF clock To reduce the impact to entire system, the NIC0_DIV and NIC1_DIV are kept, so the divider 14 is calculated as: 14 = (NIC0_DIV + 1) * (NIC1_DIV + 1) * (LCDIF_PCC_DIV + 1) NIC0_DIV: 1 NIC1_DIV: 0 LCDIF_PCC_DIV: 6 APLL and APLL PFD0 settings: PFD0 FRAC: 27 APLL MULT: 22 APLL NUM: 1 APLL DENOM: 20 This patch applies the new settings for both DCD and plugin. There is no DDR script change on this new frequency. Overnight memtester is passed. Signed-off-by: Ye Li <ye.li@nxp.com> Reviewed-by: Peng Fan <peng.fan@nxp.com>
2019-07-19mx7ulp: Select the SCG1 APLL PFD as a system clock sourceYe Li
Due to the APLL out glitch issue, the APLLCFG PLLS bit must be set to select SCG1 APLL PFD for generating system clock to align with the design. Signed-off-by: Ye Li <ye.li@nxp.com> Acked-by: Peng Fan <peng.fan@nxp.com>
2019-07-19mx7ulp_evk: Change APLL and its PFD0 frequenciesYe Li
To support HDMI display on EVK board, the LCDIF pix clock must be 25.2Mhz. Since the its PCC divider range is from 1-8, the max rate of LCDIF PCC source clock is 201.6Mhz. This limits the source clock must from NIC1 bus clock or NIC1 clock, other sources from APLL PFDs are higher than this max rate. The NIC1 bus clock and NIC1 clock are from DDRCLK whose parent source is APLL PFD0, so we must change the APLL PFD0 and have impact to DDRCLK, NIC1 and NIC1 bus. Eventually, this requests to set the APLL PFD0 frequency to 302.4Mhz (25.2 * 12), with settings: PFD0 FRAC: 32 APLL MULT: 22 APLL NUM: 2 APLL DENOM: 5 Signed-off-by: Ye Li <ye.li@nxp.com> Tested-by: Fancy Fang <chen.fang@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2019-07-19mx7ulp_evk: Update LPDDR3 scriptYe Li
Update LPDDR3 script with the changes below: -Update the precharge command to CMD=01 at the DDR initialization phase -remove unimplemented registers Write data bit delay --refer to the DDR_TRIM bits in IOMUXC1_DDR_SW_PAD_CTL_PAD_DDRn Test: One EVK board passes overnight stress test. Signed-off-by: Ye Li <ye.li@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2019-07-19mx7ulp: Fix APLL num and denom setting issueYe Li
For the current APLL setting, as we want the APLL PFD0 to meet DDR clock 320Mhz requirement. We set MULT to 20, NUM to 4 and DENOM to 2, to get final 22 multiplier. But according to the RM, the NUM should always be less than the DENOM. So our setting violates the rule. Actually the ROM has already set the MULT to 22 and leave NUM/DENOM in default value. The calculated APLL PFD0 clock is 318.9888Mhz, which also meet the DDR requirement. To fix the issue, we remove the PLL settings in DCD to use default value from ROM, and only set the PFD0 FRAC. Signed-off-by: Ye Li <ye.li@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2019-07-19warp7: Specify a default CONFIG_OPTEE_LOAD_ADDR if non providedBryan O'Donoghue
If no CONFIG_OPTEE_LOAD_ADDR is provided i.e. you are not loading OPTEE into memory in u-boot, then just set the non-existent CONFIG option to zero, elsewise stringify(CONFIG_OPTEE_LOAD_ADDR) will return "CONFIG_OPTEE_LOAD_ADDR" - which looks weird in the u-boot environment. Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
2019-07-19warp7: include: configs: Specify an fdtovaddrBryan O'Donoghue
In the Mbed Linux OS bootflow OP-TEE runs before u-boot and provides a DTB overlay at 0x83100000. This overlay should subsequently be merged into the main DTB before handing over to the kernel. This patch defines fdtovaddr at 0x83100000. Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
2019-07-19warp7_bl33: configs: Enable CONFIG_OF_LIBFDT_OVERLAYBryan O'Donoghue
This commit enables CONFIG_OF_LIBFDT_OVERLAY a requirement to perform a merge of an OPTEE provided DTB overlay into our main kernel DTB image. Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
2019-07-19warp7_bl33: configs: Enable CONFIG_OF_LIBFDTBryan O'Donoghue
In order to switch on DTB overlay support in WaRP7 BL33 we first need to switch on LIBFDT support. Do that now. Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
2019-07-19warp7: include: configs: Differentiate bootscript address from loadaddrBryan O'Donoghue
Reusing the loadaddr to load the boot script breaks some of the logic we want to have around the bootscript/FIT load addresses. Making a dedicated bootscript address allows us to differentiate the bootscript load address from the Linux Kernel or OPTEE load address, thus ensuring that no matter what the load sequence the bootscript and Kernel/OPTEE binary load addresses do not conflict. Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
2019-07-19warp7: include: configs: Specify image name of bootscript in FITBryan O'Donoghue
When obtaining the bootscript from a FIT image we need to specify the name of the bootscript as defined inside of the FIT. This patch makes a define that appends a "bootscr" parameter to the source command when compiling up in FIT mode on warp7. An environment variable is supplied to enable others to use a different name than "bootscr" as the image name of the boot script in their FIT. Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
2019-07-19warp7_bl33: configs: Enable FIT as the boot.scr formatBryan O'Donoghue
This patch switches on FIT verification of boot.scr. After this commit your boot.scr must be in the FIT format. Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
2019-07-19regulator: bd718x7: support ROHM BD71837 and BD71847 PMICsMatti Vaittinen
BD71837 and BD71847 is PMIC intended for powering single-core, dual-core, and quad-core SoC’s such as NXP-i.MX 8M. BD71847 is used for example on NXP imx8mm EVK. Add regulator driver for ROHM BD71837 and BD71847 PMICs. BD71837 contains 8 bucks and 7 LDOS. BD71847 is reduced version containing 6 bucks and 6 LDOs. Voltages for DVS bucks (1-4 on BD71837, 1 and 2 on BD71847) can be adjusted when regulators are enabled. For other bucks and LDOs we may have over- or undershooting if voltage is adjusted when regulator is enabled. Thus this is prevented by default. BD718x7 has a quirk which may leave power output disabled after reset if enable/disable state was controlled by SW. Thus the SW control is only allowed for BD71837 bucks 3 and 4 by default. The impact of this limitation must be evaluated board-by board and restrictions may need to be modified. (Linux driver get's these limitations from DT and we may want to implement same on u-Boot driver). Signed-off-by: Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2019-07-19imx: imx8dx/qxp: enable thermalPeng Fan
Add thermal dts node Enable thermal in defconfig Signed-off-by: Peng Fan <peng.fan@nxp.com>
2019-07-19thermal: add i.MX8 thermal driverPeng Fan
Add i.MX8 thermal driver to support get temperature from SCU. Signed-off-by: Peng Fan <peng.fan@nxp.com>
2019-07-19misc: imx8: add sc_misc_get_tempPeng Fan
Add sc_misc_get_temp to support get temperature Signed-off-by: Peng Fan <peng.fan@nxp.com>
2019-07-19MAINTAINERS: Update lib/optee with my detailsBryan O'Donoghue
Commit 32ce6179fb99 ("optee: Add lib entries for sharing OPTEE code across ports") adds code into lib/optee but neglects to update MAINTAINERS to make me buggable for questions and maintenance. Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Suggested-by: Jens Wiklander <jens.wiklander@linaro.org>
2019-07-19warp7: configs: bl33: Tidy up OPTEE definesBryan O'Donoghue
When booting in BL33 mode i.e. with u-boot loaded by OP-TEE we get the following print-out. Board: WARP7 in secure mode OPTEE DRAM 0xa0000000-0xa0000000 This is incorrect the right range is 0x9e000000-0xa0000000. This patch fixes the defines on the warp7_bl33_defconfig file to tidy up the output. Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Cc: Fabio Estevam <fabio.estevam@nxp.com>
2019-07-19optee: Make TZDRAM config options contingent on CONFIG_OPTEEBryan O'Donoghue
Commit c7b3a7ee5351 ("optee: adjust dependencies and default values for dram") makes the TZDRAM defines for OPTEE show up for all configs as a side-effect. While not harmful its not what we really want. This patch makes the following defines contingent on CONFIG_OPTEE=y CONFIG_OPTEE_TZDRAM_BASE CONFIG_OPTEE_TZDRAM_SIZE Rightly, if you don't have CONFIG_OPTEE=y you don't care about the above two defines. Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Cc: Rui Miguel Silva <rui.silva@linaro.org> Acked-by: Rui Miguel Silva <rui.silva@linaro.org>
2019-07-19spi: mxs: Add support DM/DTS for i.MX28 mxs SPI driver (DM_SPI conversion)Lukasz Majewski
This patch converts mxs_spi driver to support DM/DTS. Signed-off-by: Lukasz Majewski <lukma@denx.de> Reviewed-by: Marek Vasut <marex@denx.de>
2019-07-19pinctrl: mxs: Add support for i.MX2[38] mxs pinctrl driverLukasz Majewski
The code responsible for setting proper values in the MUX registers (in the mxs_pinctrl_set_state()) has been ported from Linux kernel - SHA1: 17bb763e7eaf tag v5.1.11 from linux-stable. As the pinctrl node in the imx28.dtsi file has gpio pins nodes as subnodes, it was necessary to use 'dm_scan_fdt_dev()' (as a .bind method) to also make them 'visible' by the DM's "gpio_mxs" driver. Signed-off-by: Lukasz Majewski <lukma@denx.de> Reviewed-by: Marek Vasut <marex@denx.de>