summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-07-26imx: imx93_evk: Add basic board supportPeng Fan
Add basic board codes and defconfig for i.MX93 11x11 EVK board. Signed-off-by: Ye Li <ye.li@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2022-07-26arm: dts: Add i.MX93 SoC DTSi filePeng Fan
Add the DTSi file and DT header files for i.MX93 SoC Signed-off-by: Ye Li <ye.li@nxp.com> Signed-off-by: Alice Guo <alice.guo@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2022-07-26ddr: imx9: enable Performance monitor counterYe Li
Add Kconfig for enabling reference events counter in DDRC performance monitor by default Signed-off-by: Ye Li <ye.li@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2022-07-26ddr: imx: Add i.MX9 DDR controller driverYe Li
Since i.MX9 uses same DDR PHY with i.MX8M, split the DDRPHY to a common directory under imx, then use dedicated ddr controller driver for each iMX9 and iMX8M. The DDRPHY registers are space compressed, so it needs conversion to access the DDRPHY address. Introduce a common PHY address remap function for both iMX8M and iMX9 for all PHY registers accessing. Signed-off-by: Ye Li <ye.li@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2022-07-26imx: imx9: clock: Add DDR clock supportYe Li
Implement the DDR driver clock interfaces for set DDR rate and bypass DDR PLL Signed-off-by: Ye Li <ye.li@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2022-07-26imx: imx9: Support multiple env storages at runtimeYe Li
Select env storages according to boot device at runtime Signed-off-by: Ye Li <ye.li@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2022-07-26imx: imx9: Support booting m33 from AcorePeng Fan
Add bootaux command to support on-demand booting M33 from u-boot. It kicks M33 via ATF by "bootaux 0x201e0000 0" Signed-off-by: Peng Fan <peng.fan@nxp.com>
2022-07-26imx: imx9: Add M33 release prepare functionPeng Fan
To support on-demand booting M33 image from A core. SPL needs to follow M33 kick up sequence to release M33 firstly, then set M33 CPUWAIT signal. ATF will clear CPUWAIT to kick M33 to run. The prepare function also works around the M33 TCM ECC issue by clean the TCM. Also enable sentinel handshake and WDOG1 clock for M33 stop and reset. Signed-off-by: Ye Li <ye.li@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2022-07-26imx: imx9: Add MIX power initPeng Fan
Add power init of MEDIAMIX, MLMIX and DDRMIX. And clear isolation of MIPI DSI/CSI, USBPHY after the power up. SPL should call the power init in its boot sequence before accessing above three MIX and USB. Signed-off-by: Peng Fan <peng.fan@nxp.com>
2022-07-26imx: imx9: Add gpio registers structureYe Li
Add GPIO registers structure for iMX93, so that we can enable lpgpio driver Signed-off-by: Ye Li <ye.li@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2022-07-26misc: fuse: update the code for accessing fuse of i.MX93Alice Guo
Sentinel have read access of OTP shadow register 0-511, and fsb have read access of shadow 0-51/312-511. Reviewed-by: Ye Li <ye.li@nxp.com> Signed-off-by: Alice Guo <alice.guo@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2022-07-26misc: fuse: support to access fuse on i.MX93Alice Guo
i.MX93 fuse can be accessed through FSB and s400-api. Add mapping tables for i.MX93. The offset address of FSB accessing OTP shadow registers is different between i.MX8ULP and i.MX93, so use macro to define the offset address instead of hardcode. Signed-off-by: Alice Guo <alice.guo@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2022-07-26misc: imx8ulp: move fuse.c from imx8ulp to sentinelAlice Guo
The i.MX93 platform wants to reuse drivers/misc/imx8ulp/fuse.c. Moving fuse.c from the folder imx8ulp to sentinel makes it can be used by other platforms. Signed-off-by: Alice Guo <alice.guo@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2022-07-26misc: S400_API: Rename imx8ulp_s400_msg to sentinel_msgYe Li
Use more generic name for S40x msg structure Signed-off-by: Ye Li <ye.li@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2022-07-26imx: imx9: Get the chip revision through S400 APIPeng Fan
Update the get chip revision methond to use S400 API, also record other information like lifecycle and UID to global data. Signed-off-by: Peng Fan <peng.fan@nxp.com>
2022-07-26imx: imx9: Add AHAB boot supportYe Li
Add AHAB driver for iMX9 to do authentication by calling sentinel API Signed-off-by: Ye Li <ye.li@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2022-07-26imx: imx9: Add TRDC driver for TRDC initYe Li
Add TRDC driver to iMX9. The TRDC init splits to two phases: 1. Early init phase will release TRDC from Sentinel and open write permission to the memory where SPL image runs. Sentinel will set the memory to RX only after ROM authentication for the OEM closed part. 2. Init phase will configure TRDC to allow non-secure master to access DDR. So the peripherals can work in u-boot. Signed-off-by: Ye Li <ye.li@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2022-07-26misc: s400_api: introduce ahab_release_m33_troutPeng Fan
Introduce Sentinel API ahab_release_m33_trout to make sure sentinel release M33 trout and make sure M33 could boot. Signed-off-by: Peng Fan <peng.fan@nxp.com>
2022-07-26misc: S400_API: New API for FW status and chip infoPeng Fan
Add new API to get sentinel FW status and SoC chip info Signed-off-by: Ye Li <ye.li@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2022-07-26misc: S400_API: Update release RDC APIYe Li
To support more RDC instances on i.MX93, update API to latest definition. Signed-off-by: Ye Li <ye.li@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2022-07-26misc: s4mu: Support iMX93 with Sentinel MUPeng Fan
Support iMX93 communicate with Sentinel Signed-off-by: Peng Fan <peng.fan@nxp.com>
2022-07-26misc: imx: S400_API: Move S400 MU and API to a common placeYe Li
Since iMX9 uses S401 which shares the API with iMX8ULP. So move S400 MU driver and API to a common place and selected by CONFIG_IMX_SENTINEL Signed-off-by: Ye Li <ye.li@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2022-07-26imx: imx9: support romapiPeng Fan
i.MX9 shares same ROM API with i.MX8ULP, so make the i.MX8ULP the function prototype common and usable by i.MX9. Also include mmc env functions that use ROM API. Signed-off-by: Peng Fan <peng.fan@nxp.com>
2022-07-26imx: imx9: disable watchdogYe Li
Disable all 3 wdogs on AIPS2 and unmask SRC reset trigger for WDOG3-5 Signed-off-by: Ye Li <ye.li@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2022-07-26imx: imx9: Add function to initialize timerJian Li
Add timer_init to update ARM arch timer with correct frequency from system counter and enable system counter. Signed-off-by: Jian Li <jian.li@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2022-07-26spl: Use SPL_FIT_IMAGE_TINY for iMX9Peng Fan
Select SPL_FIT_IMAGE_TINY for i.MX9 Signed-off-by: Peng Fan <peng.fan@nxp.com>
2022-07-26mmc: fsl_esdhc_imx: Support i.MX9Peng Fan
Support i.MX9 for fsl_esdhc_imx driver Signed-off-by: Peng Fan <peng.fan@nxp.com>
2022-07-26imx: imx9: Add CCM and clock API supportPeng Fan
Add clock API to support CCM root clock and LPCG setting Set the CCM AUTHEN register to allow non-secure world to set root clock and lpcg. Signed-off-by: Ye Li <ye.li@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2022-07-26imx: pinctrl: add pinctrl and pinfunc file for i.MX93Peng Fan
Add the pinctrl driver and pinfunc header file to support iMX93 Signed-off-by: Peng Fan <peng.fan@nxp.com>
2022-07-26gpio: pca953x: support pcal6524Peng Fan
Support pcal6524 IO expander driver Signed-off-by: Peng Fan <peng.fan@nxp.com>
2022-07-26fsl_lpuart: add i.MX9 supportPeng Fan
i.MX9 shares same register layout as i.MX7ULP, so add the i.MX9 define here. Signed-off-by: Peng Fan <peng.fan@nxp.com>
2022-07-26imx: add basic i.MX9 supportPeng Fan
Add i.MX9 Kconfig and basic files for the new SoC Signed-off-by: Peng Fan <peng.fan@nxp.com>
2022-07-26imx: add USB2_BOOT typePeng Fan
Add USB2_BOOT type for i.MX8ULP and i.MX9 Signed-off-by: Peng Fan <peng.fan@nxp.com>
2022-07-26imx: move get_boot_device to common filePeng Fan
i.MX8MN/P/ULP supports ROM API, they have almost same get_boot_device implementation, so move to a common file. And when support i.MX9, no need to include the other function copy. Since sys_proto.h is included in imx_romapi.c, there will be build warning for i.MX8M because wdog_regs not defined, so include imx-regs.h in i.MX8M sys_proro.h Signed-off-by: Peng Fan <peng.fan@nxp.com>
2022-07-26imx: move get_boot_device to common headerPeng Fan
Most i.MX implements get_boot_device, move it to common header to simplify code Signed-off-by: Peng Fan <peng.fan@nxp.com>
2022-07-26imx: simplify dependency with SPL_BOOTROM_SUPPORTPeng Fan
For SoCs support ROM API, CONFIG_SPL_BOOTROM_SUPPORT is needed, so use this macro to guard the code to avoid extend the list. And drop the guard with structure definition, there is no need. Signed-off-by: Peng Fan <peng.fan@nxp.com>
2022-07-26imx: spl: Allow iMX7/8/8M to overwrite spl_board_boot_deviceYe Li
Move the default mapping of spl_boot_device to weak function of spl_board_boot_device. So that every board of iMX7/8/8M can overwrite this function to implement specific mapping. Reviewed-by: Peng Fan <peng.fan@nxp.com> Signed-off-by: Ye Li <ye.li@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2022-07-26imx: Change USB boot device typeYe Li
The SPL SDP is configured as BOOT_DEVICE_BOARD, so when booting from USB, change its type to BOOT_DEVICE_BOARD, so we can use SDP. Signed-off-by: Ye Li <ye.li@nxp.com> Signed-off-by: Peng Fan <peng.fan@nxp.com>
2022-07-26arm: makefile: cleanup mach-imx usagePeng Fan
All the SoCs use mach-imx has CONFIG_MACH_IMX selected, so the macro could be the gate to build arch/arm/mach-imx to simplify the rules. Signed-off-by: Peng Fan <peng.fan@nxp.com>
2022-07-26spl: imx8mm: enlarge SPL_MAX_SIZEPeng Fan
The CONFIG_SPL_MAX_SIZE could be 0x27000 for i.MX8MM when SPL_TEXT_BASE set to 0x7E1000. The DDR firmware max uses 96KB, there is a 4KB padding header before SPL_TEXT_BASE, so the SPL MAX SIZE is `256KB - 96KB - 4KB`. Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Fabio Estevam <festevam@denx.de>
2022-07-26MAINTAINERS: Update file list for ARM Freescale IMXMartyn Welch
The MAINTAINERS file currently lists files in arch/arm/include/asm/arch-imx/ being part of the IMX maintainers purview, however the arch/arm/include/asm/ directory also contains the directories arch-imx8, arch-imx8m, arch-imx8ulp and arch-imxrt which would also appear to be relevant to the team. Tweak the entry to cover these directories so that tools like get_maintainers.pl will suggest relevant maintainers when making changes just in these directories. Signed-off-by: Martyn Welch <martyn.welch@collabora.com>
2022-07-26imx: syscounter: support timer_get_boot_usJun Nie
With supporting timer_get_boot_us, we can profile boot up time with below configs and function bootstage_mark_name(). CONFIG_BOOTSTAGE=y CONFIG_BOOTSTAGE_REPORT=y CONFIG_CMD_BOOTSTAGE=y Signed-off-by: Jun Nie <jun.nie@linaro.org> Acked-by: Shawn Guo <shawn.guo@linaro.org> Reviewed-by: Fabio Estevam <festevam@denx.de>
2022-07-26configs: imx8mm-cl-iot-gate: enable extension commandYing-Chun Liu (PaulLiu)
For imx8mm-cl-iot-gate we can use extension command to scan extension boards attached on the mainboard. We enable the extension command by default for users to detect the extension boards. Signed-off-by: Ying-Chun Liu (PaulLiu) <paulliu@debian.org> Cc: Stefano Babic <sbabic@denx.de> Cc: Fabio Estevam <festevam@gmail.com> Cc: NXP i.MX U-Boot Team <uboot-imx@nxp.com>
2022-07-26configs: imx8mp_venice: remove unnecessary FEC_QUIRK_ENET_MACTim Harvey
FEC_QUIRK_ENET_MAC is defined in the imx-regs.h include file and thus does not need to be defined in the various board config includes. Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2022-07-25imx8mm: synchronise device tree with linuxMarcel Ziswiler
Synchronise device tree with linux v5.19-rc5. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2022-07-25board: toradex: apalis-imx8: fix file names in maintainersMarcel Ziswiler
Fix device tree file names in MAINTAINERS file. Fixes: 3d6036650059 ("board: toradex: add apalis imx8qm 4gb wb it v1.0b module support") Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2022-07-25imx8mq: synchronise device tree with linuxMarcel Ziswiler
Synchronise device tree with linux v5.19-rc5. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2022-07-25verdin-imx8mp: synchronise device tree with linuxMarcel Ziswiler
Synchronise device tree with linux v5.19-rc5. Please note that this also means that instead of the previous "generic" U-Boot specific carrier board agnostic device tree we are now using the regular one for the Verdin Development (carrier) board (e.g. imx8mp-verdin-wifi-dev.dtb rather than the previous imx8mp-verdin.dtb). Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2022-07-25imx8mp-rsb3720-a1: fix pwms property warningsMarcel Ziswiler
Fix the following build-time pwms property warnings: w+arch/arm/dts/imx8mp-rsb3720-a1.dtb: Warning (pwms_property): /lvds_backlight@0:pwms: property size (12) too small for cell size 3 w+arch/arm/dts/imx8mp-rsb3720-a1.dtb: Warning (pwms_property): /lvds_backlight@1:pwms: property size (12) too small for cell size 3 Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2022-07-25imx8mp: synchronise device tree with linuxMarcel Ziswiler
Synchronise device tree with linux v5.19-rc5. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>