summaryrefslogtreecommitdiff
path: root/board/freescale/imx8qm_mek
AgeCommit message (Collapse)Author
2022-04-20MA-19023 Add is_recovery_key_pressing() for imx8/imx8m/imx8ulpJi Luo
This is_recovery_key_pressing() will simply return as we don't support it on the reference board. Change-Id: I4748450f5d571737aa457662da7c972d613e15df Signed-off-by: Ji Luo <ji.luo@nxp.com> (cherry picked from commit 9a4f698436b44a8cd3e83733343efbd44e257fe7)
2022-04-20MA-17916-1 Clean Up: Guard codes with correct configsJi Luo
This commit does some clean-up to guard the codes/configs with correct configs, so we can enable/disable the feature without modifying the codes. Test: builds and boots on imx8qm. Signed-off-by: Ji Luo <ji.luo@nxp.com> Change-Id: Ic4cf4d9f47bd5a4317b2621a5378cb4b192e52fb (cherry picked from commit 2c2363e47b858bd178c44869328eca211b2c3f62) (cherry picked from commit cdf01e8a0fbf29df6230344889d1ec5035b6c978) (cherry picked from commit b89b45f60d56b5fe7c138b67792e84cd356bab53)
2022-04-18MA-17046-3 Add implementation to get ONOFF button statusJi Luo
Add board level implementation to get the ON-OFF button status for imx8q/imx8m. Test: Get ON-OFF button status on imx7ulp/imx8m/imx8q. Change-Id: I8e4ea61ec1c52ab7cfa20b5498756a25f3cd2f8d Signed-off-by: Ji Luo <ji.luo@nxp.com> (cherry picked from commit 44c6edfbd2607f1458220031467fc7de20dc46be) (cherry picked from commit f7584f25285b94e2ea0f312399d1aef9671673b2)
2022-04-18MA-15813 [Android] imx8q: Enable reset in spl stageJi Luo
To avoid both A/B slots are marked as unbootable because of some random failures, we will need to reset at spl stage when current slot load/verify fail but already with flag "successful_boot" set. imx8q can't be reset via the psci driver because the atf is not avaiable at spl stage, porting the sc_pm_reboot() scu api so we can do reset at spl stage for imx8qm/imx8qxp mek boards. Test: reset on imx8qm_mek and imx8qxp_mek. Change-Id: Ifa0bdea9393e413942a8a0188a4f937fa0aa9ab8 Signed-off-by: Ji Luo <ji.luo@nxp.com> (cherry picked from a5c5748101c383bc3afb424a3ef2689ab2664846) (cherry picked from c9f8d7c19a7fc20c99e061beabbb094b6bd50f52) (cherry picked from e42f06dbc70934ff9f535104f7322b9ac36491ce)
2022-04-18MA-16966 Add hdmi rx/tx fw loading functionJi Luo
Add implementation to load hdmi rx/tx firmwares, use different config to guide the function. Change-Id: Ibb43c2301b5f6cdc8b5103bd04cc30baefac9b9f Signed-off-by: Ji Luo <ji.luo@nxp.com> (cherry picked from commit 942bf95ae42750a1f8b8092040ebb3ca144777fd) (cherry picked from commit 6e0bd811e1901cfb91e3f3fa0e5520b0ee143025)
2022-04-06MLK-18577-7 imx8qm: mek: support uboot in vmPeng Fan
We are targeting let uboot loading images from emmc to boot android. Currently only emmc1 is enabled, so other devices are disabled. Also change memory layout according to VM layout. The memory layout needs to be samesize as what you configured in as "memory = "3584"". Add a new dts dedicated for this kind uboot, add a new defconfig to select CONFIG_XEN/CONFIG_XEN_DEBUG_SERIAL, deselect CONFIG_DM_SERIAL, select CONFIG_ENABLE_ARM_SOC_BOOT0_HOOK, and disable some devices compared with imx8qm_mek_androidauto_defconfig. Reviewed-by: Ye Li <ye.li@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com> (cherry picked from commit a4e932cae433b9d2e1cff6a94b12e4abcac45543) (cherry picked from commit a26de6e05563d3e3e6734e0d99e464437aa89db5) (cherry picked from commit 74ac579ee195c4a2f6651ccc0f86efb0eebd889e) (cherry picked from commit 7258e558b51a7f56d2b895c9c554423e12037ed3) (cherry picked from commit 4f9ed8ef50bd1ab4841787b6448dd796af252735) (cherry picked from commit af0a15a89e916d737e92a1345fb97e4cb7a241a1)
2022-04-06MLK-25346: Add support for cockpit on i.MX8QM MEK boardNitin Garg
This allows the u-boot to be built separately for different clusters (A53 or A72) on i.MX8QM. Signed-off-by: Seb Fagard <sebastien.fagard@nxp.com> Signed-off-by: Fabrice Goucem <fabrice.goucem@nxp.com> Signed-off-by: Abel Vesa <abel.vesa@nxp.com> Signed-off-by: Nitin Garg <nitin.garg@nxp.com> (cherry picked from commit edb54f88b014bdd0379370678d54de60e3962b38) (cherry picked from commit e8ec7faa4cb53461da3c397ee3d95fc4a82a5d21) (cherry picked from commit f0f26c2b9a13467879e31aadca9d9cd596d50dab) (cherry picked from commit 8c7819c39f870648a40bce6dcda44c6065b508f0)
2022-04-06MLK-24426-3 imx8: Move build_info to board_late_initYe Li
Currently we call the build_info in checkboard which is a board_f function. At this moment the u-boot env is not ready, so we can't set any variable successfully in build_info. So moving the call to board_late_init to fix the problem. Signed-off-by: Ye Li <ye.li@nxp.com> Reviewed-by: Peng Fan <peng.fan@nxp.com> (cherry picked from commit 43e1e40c6e9d65f861095989b098c2db73d11a67) (cherry picked from commit 23533910e20e76de34b21094923b4e9721f7bc4e) (cherry picked from commit 66ca35dbc63816df6b10686e6fb05f603e114f38) (cherry picked from commit 6672df929889024b4e8b06d253e1b36da4909167)
2022-04-06MLK-23875 imx8qm_mek: Add the reset pins control for video cardsYe Li
The reset pins for LVDS to HDMI video card and MIPI to HDMI card are not added in current codes, but kernel requires u-boot to reset cards to resolve the shared reset pin in dual display case. So add the reset pins control back. Signed-off-by: Ye Li <ye.li@nxp.com> Reviewed-by: Peng Fan <peng.fan@nxp.com> (cherry picked from commit 0d21ea335db19005dac0bb4900724ebdd96d2cd7) (cherry picked from commit 65fa58eba5eba05f1e9b0eb335ce8a1dc6952ad9) (cherry picked from commit d2f8a66cae25869373a3085d38c3a34d12b4960a)
2022-04-06SSI-87: imx8: Configure SNVSFranck LENORMAND
Add a module to configure the tamper and secure violation of the SNVS using the SCU API. The module also adds some commands: - snvs_cfg: Configure the SNVS HP and LP registers - snvs_dgo_cfg: Configure the SNVS DGO bloc if present (8QXP) - tamper_pin_cfg: Change the configuration of the tamper pins - snvs_clear_status: Allow to write to LPSR and LPTDSR to clear status bits Signed-off-by: Franck LENORMAND <franck.lenormand@nxp.com> Reviewed-by: Silvano Di Ninno <silvano.dininno@nxp.com> (cherry picked from commit b84be4fa1454ee0cd718be329d630b55aff34273) (cherry picked from commit 24b0be839ea2166ee80194b93d8efcca70b81539) (cherry picked from commit 74c0afb1f9e822f10b138c978be87757dfa19317) (cherry picked from commit a689af8cb4b09ca14daa7b0c181c2611f72fff1b)
2022-04-06MLK-20542 imx8qm: xen: mek: add magic numberPeng Fan
Write magic number in board early init, and clear magic when booting Linux. This is to let XEN know the current EL1 code is U-Boot or Linux when reset/reboot. This is just a workaround because CM41 could not communicate with XEN now, even XEN knows that EL1 is reseting/rebooting. Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Flynn xu <flynn.xu@nxp.com> (cherry picked from commit 8132f6b5848d45cab795bb472d6484130985415d) (cherry picked from commit c9dc0848f0ccf01f3a7c048d1a309ab99c46bd48) (cherry picked from commit ace8af3d53a8e3ebb06a72099a2ebe274703d057) (cherry picked from commit 6b7e424be522b775799d9d69ed0060614c89e0e1) (cherry picked from commit 3abdb33bb1a28e08124dcb3d62791911baac0a9d)
2022-04-06MLK-20654-2 imx8: SPL: Move arch_cpu_init to board_init_fYe Li
Since we have data section save/restore in arch_cpu_init, need it in early stage, so move arch_cpu_init to board_init_f Signed-off-by: Ye Li <ye.li@nxp.com> (cherry picked from commit 736ea652c6dbc7bb9f52bceff35a5f4bb98ca4dc) (cherry picked from commit 724a10ad40720fd13bdd3c43cfc7f9e317aeb0a5) (cherry picked from commit 045596df84d831e5d2a2a91f4a5464d53cbbc3eb) (cherry picked from commit aacdb3cf43fe1084bbd41f0bde4f081d797ff281)
2022-04-06MLK-18161-12 imx8qm/imx8qxp - Power down devices enabled by uboot before ↵Ye Li
launching the kernel Make sure that all devices that are powered up by uboot are powered down before bringing up kernel. Else the subsystem/device will never be powered down by SCFW even though from the kernel's point of view it should be powered down. Benefiting from power domain driver, We have implemented the function "power_off_pd_devices" to power off all active devices. No need to explicitly power off them in board_quiesce_devices. Apply the same power off interface to SPL as well. Signed-off-by: Ranjani Vaidyanathan <Ranjani.Vaidyanathan@nxp.com> Signed-off-by: Ye Li <ye.li@nxp.com> (cherry picked from commit 3ab7cc26500eb78407bc6454a48f4d5f0ebf4f60) (cherry picked from commit f6c3e3191de31f0249a89a24a477d82feecb526f) (cherry picked from commit 1105214ef0023bf3df1e0b8071a795d42013a35e) (cherry picked from commit ceb72ffe30c554a45010505ef3c94681a0791aba) (cherry picked from commit 57bc9bacf03e44ef03e69884269b9ac620d89b0d)
2022-04-06MLK-18129-2 imx8qm/qxp: Add secure boot environmentYe Li
Add the secure boot relevant environment variables to MEK. When CONFIG_AHAB_BOOT is enabled, we will switch to boot in this new way: 1. Load the OS container to address 0x98000000 2. Using auth_cntr to authenticate the OS container. It will load the kernel and FDT to destination address. 3. Using booti to boot kernel. Signed-off-by: Ye Li <ye.li@nxp.com> Acked-by: Peng Fan <peng.fan@nxp.com> (cherry picked from commit 545c8fe112244f20377e97921389c86eacc8551f) (cherry picked from commit cba5acebbe6be0736f229ef719b1a1e5835e1a5f) (cherry picked from commit 07b9850354b27dafa4cc774c59770931af2ac898) (cherry picked from commit 149006de99c9c214232d30cc2e9795401766fe4b) (cherry picked from commit 6de1f4e766b547d7949ce720edd7b4ac0ed0752b) (cherry picked from commit e8ef9ddbf72abd9e304121592219e7d4f2c03f3b)
2022-04-06MLK-21840-2 imx8qm_mek: Update iMX8QM MEK boardYe Li
Add board codes and defconfig file for iMX8QM MEK board. Support peripherals: UART, USB3 host/gadget, Flexspi, SD/eMMC, ENET, i2c. Signed-off-by: Ye Li <ye.li@nxp.com> (cherry picked from commit f449c4873a21b1600e49998ab158cfb2eb4ec165) (cherry picked from commit 213712e4b8f911902bfafa6f3f1faa087387abe1) (cherry picked from commit 59128ddbfad7e1e4a343e22768d531931682fa11)
2022-04-06MLK-21852 imx: Update runtime SD/MMC boot env device and env variablesYe Li
Since we enabled MMC alias, the USDHC index in u-boot is the usdhc port. So we don't need to convert them for kernel and u-boot env device. Signed-off-by: Ye Li <ye.li@nxp.com> (cherry picked from commit 8fd6e14f5c1598684bc08a7917f89cd94e988d8f) (cherry picked from commit 96bc8f724159a3a9e2ba9f605b84f53534bc3e1f) (cherry picked from commit 83a2f62405d0aa3b1fe7140e320a1b297d6b4883) (cherry picked from commit 733b8ad42e057bd025cd97a570ecbcb2ebc4191c) (cherry picked from commit b709f85064c002c83f211bad9bda57d7f6a812df) (cherry picked from commit b2b29f11dd1732abdc4597c6a7299bb932ef3c80)
2022-04-06crypto/fsl: i.MX8: Enable Job ring driver model.Gaurav Jain
i.MX8(QM/QXP) - added support for JR driver model. sec is initialized based on job ring information processed from device tree. Signed-off-by: Gaurav Jain <gaurav.jain@nxp.com> Signed-off-by: Horia Geantă <horia.geanta@nxp.com> Reviewed-by: Ye Li <ye.li@nxp.com>
2022-02-08imx: Don't define __ASSEMBLY__ in source filesSimon Glass
This is supposed to be a build-system flag. Move it there so we can define it before linux/kconfig.h is included. Signed-off-by: Simon Glass <sjg@chromium.org>
2021-08-31imx: Finish migration of IMX_CONFIG to KconfigTom Rini
- Provide a default Kconfig value of the default script - Largely continue to define this via the board Kconfig file - For the boards that select a script based on defconfig rather than TARGET, keep this within the defconfig. Signed-off-by: Tom Rini <trini@konsulko.com>
2021-05-02imx: imx8: Update README with somewhat correct firmware versionsPriit Laes
Current setup instructions for i.MX8QM MEK board include somewhat conflicting instructions, so here's an attempt to fix it. After trying both sets of firmwares, I can conclude that both of them fail to work: - no boot at all with imx-sc-firmware-0.7 / firmware-imx-7.6 - partial success with imx-sc-firmware-1.1 / firmware-imx-8.0: U-Boot 2021.04-rc3-00135-ge0669a43c8 (Mar 08 2021 - 16:49:08 +0200) CPU: NXP i.MX8QM RevB A53 at 1200 MHz Model: Freescale i.MX8QM MEK Board: iMX8QM MEK mu_hal_receivemsg timeout Build: SCFW 65afe5f6, SECO-FW 65afe5f6, ATF a-20190 mu_hal_receivemsg timeout sc_misc_get_boot_dev: res:16 Boot: SD0 DRAM: mu_hal_sendmsg timeout sc_rm_is_memreg_owned: mr:0 res:21 ... Signed-off-by: Priit Laes <priit.laes@paf.com>
2021-03-02reset: Remove addr parameter from reset_cpu()Harald Seiler
Historically, the reset_cpu() function had an `addr` parameter which was meant to pass in an address of the reset vector location, where the CPU should reset to. This feature is no longer used anywhere in U-Boot as all reset_cpu() implementations now ignore the passed value. Generic code has been added which always calls reset_cpu() with `0` which means this feature can no longer be used easily anyway. Over time, many implementations seem to have "misunderstood" the existence of this parameter as a way to customize/parameterize the reset (e.g. COLD vs WARM resets). As this is not properly supported, the code will almost always not do what it is intended to (because all call-sites just call reset_cpu() with 0). To avoid confusion and to clean up the codebase from unused left-overs of the past, remove the `addr` parameter entirely. Code which intends to support different kinds of resets should be rewritten as a sysreset driver instead. This transformation was done with the following coccinelle patch: @@ expression argvalue; @@ - reset_cpu(argvalue) + reset_cpu() @@ identifier argname; type argtype; @@ - reset_cpu(argtype argname) + reset_cpu(void) { ... } Signed-off-by: Harald Seiler <hws@denx.de> Reviewed-by: Simon Glass <sjg@chromium.org>
2021-02-02common: Drop asm/global_data.h from common headerSimon Glass
Move this out of the common header and include it only where needed. In a number of cases this requires adding "struct udevice;" to avoid adding another large header or in other cases replacing / adding missing header files that had been pulled in, very indirectly. Finally, we have a few cases where we did not need to include <asm/global_data.h> at all, so remove that include. Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Rini <trini@konsulko.com>
2020-07-17treewide: convert bd_t to struct bd_info by coccinelleMasahiro Yamada
The Linux coding style guide (Documentation/process/coding-style.rst) clearly says: It's a **mistake** to use typedef for structures and pointers. Besides, using typedef for structures is annoying when you try to make headers self-contained. Let's say you have the following function declaration in a header: void foo(bd_t *bd); This is not self-contained since bd_t is not defined. To tell the compiler what 'bd_t' is, you need to include <asm/u-boot.h> #include <asm/u-boot.h> void foo(bd_t *bd); Then, the include direcective pulls in more bloat needlessly. If you use 'struct bd_info' instead, it is enough to put a forward declaration as follows: struct bd_info; void foo(struct bd_info *bd); Right, typedef'ing bd_t is a mistake. I used coccinelle to generate this commit. The semantic patch that makes this change is as follows: <smpl> @@ typedef bd_t; @@ -bd_t +struct bd_info </smpl> Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
2020-05-18common: Drop log.h from common headerSimon Glass
Move this header out of the common header. Signed-off-by: Simon Glass <sjg@chromium.org>
2020-05-18common: Drop init.h from common headerSimon Glass
Move this uncommon header out of the common header. Signed-off-by: Simon Glass <sjg@chromium.org>
2020-05-18common: Drop image.h from common headerSimon Glass
Move this uncommon header out of the common header. Signed-off-by: Simon Glass <sjg@chromium.org>
2020-05-10imx: imx8qm: update fdt_file according to m4 statePeng Fan
Update fdt_file according to m4 parts state Signed-off-by: Peng Fan <peng.fan@nxp.com>
2020-05-10imx: imx8qm/imx8qxp: Power down the resources before SPL jump to u-bootPeng Fan
Make sure that all devices that are powered up by SPL are powered down before entering into the u-boot. Otherwise the subsystem/device will never be powered down by SCFW, due to SPL and u-boot are in different partitions. Benefiting from power domain driver, this patch implements the function "imx8_power_off_pd_devices" to power off all active devices. Signed-off-by: Peng Fan <peng.fan@nxp.com>
2020-01-21Merge tag 'u-boot-imx-20200121' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-imx --------------------------------- imx8: cleanup, fix warnings imx6ull: add VisionSOM SoM and EVK mx7ulp: fix warning due network, cleanup mx7dsabre: Fix dm probe pmic imx6: fixed for vining2000 Travis: https://travis-ci.org/sbabic/u-boot-imx/builds/639512296
2020-01-20imx8qm_mek: Remove unused function detail_board_ddr_info()Alifer Moraes
detail_board_ddr_info() is not used anywhere, so simply remove it. This function is only used by Layerscape, not by i.MX. This was detected by the following sparse warning: board/freescale/imx8qm_mek/imx8qm_mek.c:102:6: warning: no previous prototype for ‘detail_board_ddr_info’ [-Wmissing-prototypes]
2020-01-20imx8qm_mek: Include fdt_support.h headerAlifer Moraes
Include fdt_support.h header file to fix the following sparse warning: board/freescale/imx8qm_mek/imx8qm_mek.c:116:5: warning: no previous prototype for ‘ft_board_setup’ [-Wmissing-prototypes] Signed-off-by: Alifer Moraes <alifer.wsdm@gmail.com>
2020-01-17common: Move reset_cpu() to the CPU headerSimon Glass
Move this function out of common.h and into a relevant header file. Signed-off-by: Simon Glass <sjg@chromium.org>
2019-12-15dm: gpio: Allow control of GPIO uclass in SPLSimon Glass
At present if CONFIG_SPL_GPIO_SUPPORT is enabled then the GPIO uclass is included in SPL/TPL without any control for boards. Some boards may want to disable this to reduce code size where GPIOs are not needed in SPL or TPL. Add a new Kconfig option to permit this. Default it to 'y' so that existing boards work correctly. Change existing uses of CONFIG_DM_GPIO to CONFIG_IS_ENABLED(DM_GPIO) to preserve the current behaviour. Also update the 74x164 GPIO driver since it cannot build with SPL. This allows us to remove the hacks in config_uncmd_spl.h and Makefile.uncmd_spl (eventually those files should be removed). Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2019-12-02common: Move some board functions out of common.hSimon Glass
A number of board function belong in init.h with the others. Move them. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@konsulko.com>
2019-11-05imx8qm: mek: enable dm-spl for pmPeng Fan
with u-boot,dm-spl added for imx8qm-pm node, and SPL_SIMPLE_BUS enabled, the bind and probe code in board file could be removed. Also we need to enlarge SYS_MALLOC_F_LEN to avoid calloc fail. Signed-off-by: Peng Fan <peng.fan@nxp.com>
2019-10-08imx8: update READMEPeng Fan
After u-boot.cnt is padded to flash.bin automatically by script, no need to burn the image mannually, so drop the step. Signed-off-by: Peng Fan <peng.fan@nxp.com>
2019-10-08imx8qm_mek: switch to use container imagePeng Fan
Because FIT could not be used for AHAB secure boot on i.MX8, so switch to use container image that could let SPL verify ATF and U-Boot with AHAB. Enable HUSH_PARSER in defconfig to make run netboot could work. Note: The AHAB related code has not been added. Signed-off-by: Peng Fan <peng.fan@nxp.com>
2019-08-11env: Drop environment.h header file where not neededSimon Glass
This header file is now only used by files that access internal environment features. Drop it from various places where it is not needed. Acked-by: Joe Hershberger <joe.hershberger@ni.com> Signed-off-by: Simon Glass <sjg@chromium.org>
2019-08-11env: Move env_set() to env.hSimon Glass
Move env_set() over to the new header file. Acked-by: Joe Hershberger <joe.hershberger@ni.com> Signed-off-by: Simon Glass <sjg@chromium.org>
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-04-25imx: support i.MX8QM MEK boardPeng Fan
Add i.MX8QM MEK board support. Included a basic dts, enabled SPL FIT Boot log as below: U-Boot SPL 2019.01-rc1-00029-gf002213219 (Dec 24 2018 - 10:28:30 +0800) Normal Boot Trying to boot from MMC2_2 U-Boot 2019.01-rc1-00029-gf002213219 (Dec 24 2018 - 10:28:30 +0800) CPU: NXP i.MX8QM RevB A53 at 142933 MHz Model: Freescale i.MX8QM MEK Board: iMX8QM MEK Build: SCFW 9330215b Boot: SD1 DRAM: 6 GiB MMC: FSL_SDHC: 0, FSL_SDHC: 1 Loading Environment from MMC... *** Warning - bad CRC, using default environment In: serial@5a060000 Out: serial@5a060000 Err: serial@5a060000 Net: Error: ethernet@5b040000 address not set. eth-1: ethernet@5b040000 Hit any key to stop autoboot: 0 Signed-off-by: Peng Fan <peng.fan@nxp.com>