summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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>
2022-07-25imx8mn: 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-25imx8mm-mx8menlo/verdin-imx8mm: 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. imx8mm-verdin-wifi-dev.dtb rather than the previous imx8mm-verdin.dtb). Please further note that the PMIC node name got changed from a pmic label to pmic@25 which required adjustment in resp. board SPL file board/toradex/verdin-imx8mm/spl.c. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2022-07-25imx8mm-kontron-n801x-s-lvds: fix pwms property warningsMarcel Ziswiler
Fix the following build-time pwms property warnings: w+arch/arm/dts/imx8mm-kontron-n801x-s-lvds.dtb: Warning (pwms_property): /backlight:pwms: property size (12) too small for cell size 3 Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2022-07-25imx8mm-venice-gw700x: prepare to synchronise device trees with linuxMarcel Ziswiler
As a preparatory step remove the pinctrl_pmic reference which does not exist in the Linux upistream device tree. This avoids the following error once synchronised: +Error: arch/arm/dts/imx8mm-venice-gw700x-u-boot.dtsi:26.1-14 Label or path pinctrl_pmic not found Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2022-07-25colibri_vf: 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 Colibri Evaluation (carrier) board V3 (e.g. vf610-colibri-eval-v3.dtb rather than the previous vf610-colibri.dtb). Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2022-07-25vf500/vf610: synchronise device trees with linuxMarcel Ziswiler
Synchronise device trees with linux v5.19-rc5. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2022-07-25ARM: DTS: bk4r1/pcm052: prepare to synchronise device trees with linuxMarcel Ziswiler
As a preparatory step rename the included SoC dtsi from vf.dtsi to vf610.dtsi as this is how it is named in Linux upstream. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2022-07-25colibri-imx7d/-emmc: synchronise device tree with linuxMarcel Ziswiler
Synchronise device tree with linux-next next-20220708. Please note that this also means that instead of the previous "generic" U-Boot specific carrier board agnostic device trees we are now using the regular ones for the Colibri Evaluation (carrier) board V3 (e.g. imx7d-colibri-eval-v3.dtb rather than the previous imx7-colibri-rawnand.dtb and imx7d-colibri-emmc-eval-v3.dtb rather than the previous imx7-colibri-emmc.dtb). Please further note that the PMIC node name got changed from rn5t567@33 to pmic@33 which required adjustment in resp. board file board/toradex/colibri_imx7/colibri_imx7.c. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2022-07-25imx7s/d: synchronise device trees with linuxMarcel Ziswiler
Synchronise device tree with linux-next next-20220708. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2022-07-25imx: imx7d-sdb: prepare to synchronise device trees with linuxMarcel Ziswiler
As a preparatory step remove the epdc reference which does not exist in the Linux upstream device tree and rename the qspi1 reference to qspi as this is how it is named in the Linux upstream device tree. This avoids the following error once synchronised: +Error: arch/arm/dts/.imx7d-sdb-qspi.dtb.pre.tmp:10.1-6 Label or path epdc not found +Error: arch/arm/dts/.imx7d-sdb-qspi.dtb.pre.tmp:29.1-7 Label or path qspi1 not found +Error: arch/arm/dts/imx7d-sdb-qspi-u-boot.dtsi:6.1-7 Label or path qspi1 not found Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2022-07-25imx: imx7-cm: prepare to synchronise device trees with linuxMarcel Ziswiler
As a preparatory step rename the qspi1 reference to qspi as this is how it is named in the Linux upstream device tree. This avoids the following error once synchronised: +Error: arch/arm/dts/.imx7-cm.dtb.pre.tmp:96.1-7 Label or path qspi1 not found Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>