Age | Commit message (Collapse) | Author |
|
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)
|
|
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)
|
|
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)
|
|
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)
|
|
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)
|
|
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)
|
|
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)
|
|
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)
|
|
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)
|
|
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)
|
|
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)
|
|
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)
|
|
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)
|
|
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)
|
|
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)
|
|
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)
|
|
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>
|
|
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>
|
|
- 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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Move this header out of the common header.
Signed-off-by: Simon Glass <sjg@chromium.org>
|
|
Move this uncommon header out of the common header.
Signed-off-by: Simon Glass <sjg@chromium.org>
|
|
Move this uncommon header out of the common header.
Signed-off-by: Simon Glass <sjg@chromium.org>
|
|
Update fdt_file according to m4 parts state
Signed-off-by: Peng Fan <peng.fan@nxp.com>
|
|
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>
|
|
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
|
|
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]
|
|
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>
|
|
Move this function out of common.h and into a relevant header file.
Signed-off-by: Simon Glass <sjg@chromium.org>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|