summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)Author
2020-06-17imx8: fuse_prog: drop additional confirmation for ECC fusesIgor Opaniuk
This will to automate programming ECC fuses using only "-y" for a full confirmation when invoking "fuse prog" command. Relates-to: ELB-2764 Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
2020-05-04ARM: dts: imx8mm-verdin: eeprom nodes adjustmentsIgor Opaniuk
1. Rename EEPROM nodes. 2. Create aliases for EEPROM to unify their order: eeprom0 - on-module EEPROM eeprom1 - carrier-board EEPROM eeprom2 - MIPI-DSI to HDMI adapter EEPROM Relates-to: ELB-1402 Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
2020-04-14apalis-imx8x: usb3 bringupVerdin-iMX8MM_Console-Image_3.0b4.254-20200421Colibri-iMX8X_Console-Image_3.0b4.254-20200421Apalis-iMX8_Console-Image_3.0b4.254-20200421Apalis-iMX8X_Console-Image_3.0b4.254-20200421Philippe Schenker
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2020-03-10ARM64: dts: Remove RGMII RXC delay from MACPhilippe Schenker
Not needed as it is provided by the PHY. Related-to: ELB-1299 Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com> (cherry picked from commit a0ac1f6ca5d5eaf7b7b9833f5438c78ee11d9474)
2020-03-05fsl-imx8mm-verdin.dts: fix eth phy power upMax Krummenacher
The PHY reset circuitry may keep the PHY in reset for up to 200ms after powerup. Use the regulator startup-delay-us property to wait that time before talking to the PHY. While at it unify that regulator with the Linux dts file. Related-to: ELB-1970 Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2020-03-05fsl-imx8mm-verdin.dts: remove fsl,rgmii_rxc_dly et. al.Max Krummenacher
The FEC in the i.MX8MM doesn't have this feature. So don't pretend one can use it. Additionally in the 2018.03 downstream U-Boot the property is not evaluated, not even for the i.MX8 and i.MX8X based machines. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2020-03-05ARM: dts: apalis-imx8qm: update node fec1Philippe Schenker
It turned out that on the new Apalis iMX8 QuadPlus V1.1A the ethernet is no longer working. I suspect this due to missing muxing for 1.8V/3.3V. Due to that I copy the whole ethernet pinmux and node over from the Linux side. Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2020-03-05verdin-imx8mm: fix usb_1 device aka peripheral operationMarcel Ziswiler
With this e.g. fastboot or UMS work. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2020-03-05board: toradex: add verdin imx8mm 2gb wb it v1.0a module supportMax Krummenacher
This commit adds initial support for the Toradex Verdin iMX8MM 2GB WB IT V1.0A module. They are now strapped to boot from eFuses which are factory fused to properly boot from their on-module eMMC. U-Boot supports either booting from the on-module eMMC or may be used for recovery purpose using the universal update utility (uuu) aka mfgtools 3.0. Functionality wise the following is known to be working: - eMMC, 8-bit and 4-bit MMC/SD card slots - Gigabit Ethernet - GPIOs - I2C - USB_1 peripheral: fastboot or ums - USB_2 host: USB mass storage To prepare the program image for eMMC fastboot using imx-mkimage and subsequently flash it using U-Boot proceed as follows: cd imx-mkimage/ make SOC=iMX8MM flash_evk_emmc_fastboot load mmc 1:1 $loadaddr flash.bin setexpr blkcnt ${filesize} + 0x1ff && setexpr blkcnt ${blkcnt} / 0x200 mmc dev 0 1 mmc write ${loadaddr} 0x2 ${blkcnt} To prepare the program image for use with USB recovery aka serial downloader using imx-mkimage and subsequently download using uuu with an uuu.auto script proceed as follows: cd imx-mkimage/ make SOC=iMX8MM flash_evk uuu_version 1.3.34 SDP: boot -f flash.bin CFG: SDPU: -vid 0x0525 -pid 0xb4a4 SDPU: delay 1000 SDPU: write -f flash.bin -offset 0x57c00 SDPU: jump Fusing i.MX 8MM SoC and configuring eMMC for fastboot (already done during manufacturing): fuse prog 1 3 0x100020d6 (BT_FUSE_SEL, eMMC boot, SD1, fast boot, 4-bit DDR, high speed, 1.8V) fuse prog 2 2 0x00000001 (enable boot ack) mmc bootbus 0 1 0 2 (4-bit, reset bus width, DDR) mmc partconf 0 1 1 0 (booting from boot area partition 1, send acknowledge) SD manufaccture boot: SD manufacture boot only works as long as the module is un-fused and SD_1_PWR_EN is bypassed on the carrier board. cd imx-mkimage/ make SOC=iMX8MM flash_evk sudo dd if=iMX8M/flash.bin of=/dev/mmcblk0 bs=1024 seek=33 Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2020-03-05arm: mach-imx: hard-code emmc to mmc1 and sd to mmc2 for i.mx 8mmMarcel Ziswiler
Just like on any and all other i.MX 8 Series devices use MMC1 for eMMC and SD2 for SD card. This fixes previously reverted commit 6c6206ad1a5a ("MLK-18243-17: arm: mach-imx: fix sd to mmc1 and emmc to mmc2 for i.MX8MM"). Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2020-03-05Revert "MLK-18243-17: arm: mach-imx: fix sd to mmc1 and emmc to mmc2 for ↵Marcel Ziswiler
i.MX8MM" Nope, hard-coding SD to mmc1 and eMMC to mmc2 is wrong in so many ways! This reverts commit 6c6206ad1a5a3c70118a3ecf526b0ff00088adf7.
2020-03-05apalis/colibri imx8/8x: unify kconfig descriptionsMarcel Ziswiler
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2020-03-05apalis imx8: change kconfig spellingMarcel Ziswiler
Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2020-03-05ARM: dts: imx8qxp-apalis: Remove phy-reset-post-delayPhilippe Schenker
It was decided to get rid of the extra capacitor on the reset line so this is no longer needed Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2020-03-05Machine: Apalis-iMX8X: Change name from apalis-imx8qxp to apalis-imx8xPhilippe Schenker
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2020-03-05fec_mxc.c: add possibility for phy-reset-post-delayPhilippe Schenker
This adds the possibility to add a delay after a reset in DT. Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2020-03-05apalis-imx8qxp: initial addPhilippe Schenker
Initial board support for Apalis iMX8QXP using a copy of Colibri iMX8QXP. Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
2020-03-05imx8: allow overriding memory layoutMarcel Ziswiler
Introduce weak function board_mem_get_layout() which allows overriding the memory layout from board code e.g. handy to do our SKU handling. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2020-03-05apalis-imx8: clean-up ethernet functionalityMax Krummenacher
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2020-03-05apalis-imx8: clean-up device treeMax Krummenacher
Clean-up device tree syncing with Linux one as well. Delete nodes not used by U-Boot. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2020-03-05apalis-imx8: change top-level compatibleMax Krummenacher
Change the top-level compatible to use common toradex,apalis-imx8 notation. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2020-03-05apalis-imx8: adjust copyright/licensing headersMax Krummenacher
Adjust copyright/licensing headers e.g. universally using SPDX license identifier. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2020-03-05colibri-imx8qxp: dts: clean-up whitespaceMax Krummenacher
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2020-03-05colibri-imx8qxp: fix ethernet functionalityMarcel Ziswiler
Fix Ethernet functionality. The FEC clock on i.MX 8X really has an additional by 2 divider plus our design requires the ENET0_RCLK50M_OUT on the ENET0_RGMII_TXC pin to be turned on for the Micrel PHY. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2020-03-05colibri-imx8qxp: fix usb device/host functionalityMarcel Ziswiler
Fix USB device aka UMS as well as USB host functionality. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2020-03-05colibri-imx8qxp: clean-up device treeMarcel Ziswiler
Clean-up device tree syncing with Linux one as well. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2020-03-05colibri-imx8qxp: fix top-level compatibleMarcel Ziswiler
Fix top-level compatible to use common toradex,colibri-imx8qxp notation. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2020-03-05colibri-imx8qxp: adjust copyright/licensing headersMarcel Ziswiler
Adjust copyright/licensing headers e.g. universally using SPDX license identifier. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2020-03-05colibri-imx8qxp: add unused pins as gpioMax Krummenacher
This also enables pullups on the uart forceoff pins. The UART transceivers on an Iris carrier board can be disabled by controlling SODIMM pins 102 and/or 104. Make sure that the pins by default have pullups to have the debug UART working. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2020-03-05scfw: add additional controls for pmic i2c accessMax Krummenacher
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> (cherry picked from commit 6c2303c6419943e7c81f8ec385c60050a090c7ac) (cherry picked from commit 7e0886f0a114bf3e81294a5b392855548a3081e8) Conflicts: arch/arm/include/asm/mach-imx/sci/types.h
2020-03-05colibri-imx8qxp: move debug uart to lpuart3Max Krummenacher
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> (cherry picked from commit 969f430f983d602afd83b6dd75b299e51463eae9) (cherry picked from commit 2963361493e0f3df76f3a25202a56a76e69fd63f)
2020-03-05colibri-imx8qxp: initial addMax Krummenacher
Initial board support for Colibri iMX8QXP using a copy of Apalis iMX8. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> (cherry picked from commit 62f0f03e1acb4bb6b0fcca8d4e9bd4d2df04ad33) (cherry picked from commit be14c3ea1850e2614883c86b62fd1c3a1828eac2)
2020-03-05apalis-imx8: use UART1 as console UARTStefan Agner
NXP LPUART1 is used as Apalis UART1, which is the main console on our Linux BSP. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> (cherry picked from commit 360629c1fd6187de19d0f50feb85c725995e49cc) (cherry picked from commit 63030dac6afc51d17b04d23ce41af4788f03717e) (cherry picked from commit 7bbe1708e0cebf3432c234ea74f8d6fb632a023b) (cherry picked from commit d58fa8f3247edc18bdbf716fa9a45bcf5fce9cb8)
2020-03-05imx8: support UART1 as console UART for Apalis iMX8Stefan Agner
Make sure we return the clock of UART1 when building for Apalis iMX8. NXP LPUART1 is used as Apalis UART1, which is typically the main console on our Linux BSP. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> (cherry picked from commit f62ce2a12e69b30c4ac6d533b6eef247916bf968) (cherry picked from commit 53afce50e18bfb12d4a1cdef9e8a8b9272893df3) (cherry picked from commit d248c3d4c39c24b6f66972f4076cf72b2a5ece1f) Conflicts: arch/arm/cpu/armv8/imx8/clock.c, file moved (cherry picked from commit 4bae89e54bfc8ecda93fac50d2112dc9d762b6fd)
2020-03-05apalis-imx8: remove PCA9557 GPIO controllersStefan Agner
The Apalis iMX8 module does not have PCA9557 GPIO controllers on the module. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> (cherry picked from commit c80b3bfbe693d5a8851129f4878d0cd3a7325d13) (cherry picked from commit 898ae105703cd0019a542bc0a17649339c934fa6) (cherry picked from commit 69d385444efa79d2909f772c4a4b404d1bd7274d) (cherry picked from commit 0f5887d5b80f8535a7f422b73d7a0bf4a4e445af)
2020-03-05apalis-imx8: remove unavailable peripheralsStefan Agner
Signed-off-by: Stefan Agner <stefan.agner@toradex.com> (cherry picked from commit 6c6ac6c8a0107947a9c0952eee65a015c66043a0) (cherry picked from commit 41602d51fd56396a2647734c530a389d099ee47b) (cherry picked from commit 73fe13597170f39d943d5dbc67c2416506cf7997) (cherry picked from commit b8fbd7377cc6e38a90793b01c2a085f85d54a6fa)
2020-03-05apalis-imx8: fix eMMC/MMC/SD interface muxingStefan Agner
Signed-off-by: Stefan Agner <stefan.agner@toradex.com> (cherry picked from commit fa3d4f980a515b135778a74ce1b7476f61ef20d0) (cherry picked from commit 2ee92bc1dd56b44343079a5474d0fc4e79f28f4a) (cherry picked from commit 649afbe0aec4089112772a49a7e6f7d34c3741a7) (cherry picked from commit 81591346d11ffdf9a2442ad976390ffe0e61abda)
2020-03-05apalis-imx8: add Apalis iMX8 specific device treeStefan Agner
Signed-off-by: Stefan Agner <stefan.agner@toradex.com> (cherry picked from commit aa830cb6a7c953ce85232b2ae951543ab1060948) (cherry picked from commit f6c37cdf31633a541078d0813ab4f59f6b80babb) (cherry picked from commit ae70d02213beabcd60853f655e2ff9849375c45c) (cherry picked from commit ba629689c627a571d5902a1c50fe9927424b45c6)
2020-03-05apalis-imx8: initial addStefan Agner
Initial board support for Apalis iMX8 using a copy of NXP iMX8QM ARM2 LPDDR4 board. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> (cherry picked from commit 68e401998ba0654292b7914b85433d8453202ec8) (cherry picked from commit 6b9234fa1f5889f0eeecc6147afffbc859933c99) (cherry picked from commit 0b7feded806717b4292615373ed6c018324b8ef5) Conflicts: arch/arm/cpu/armv8/imx8/Kconfig, file moved (cherry picked from commit 393dd8dd4061833fcc3cfd85886d49160b515ce0)
2020-02-05SSI-87: imx8: snvs: Update behaviorFranck LENORMAND
Changes: - warning about behavior of B0 and C0 SoCs - support of interruption configuration - porperly support code for 8QM - Fix the clear acommand Signed-off-by: Franck LENORMAND <franck.lenormand@nxp.com> Reviewed-by: Silvano Di Ninno <silvano.dininno@nxp.com> (cherry picked from commit 12534e02bbca7b9746a3d3e60d2f6157b9131149)
2020-02-05TEE-502 imx: refactor optee bindings additionSilvano di Ninno
- Remove code duplication betwee imx8 and imx8m support - add reserved memory node to prevent Linux accessing optee reserved memory Signed-off-by: Silvano di Ninno <silvano.dininno@nxp.com> Reviewed-by: Ye Li <ye.li@nxp.com> (cherry picked from commit 8beac7ef22c16b72ad337b44a0516436a4a0d00c)
2020-01-15MLK-23241 imx8dx_mek: Add iMX8DX MEK board supportYe Li
iMX8DX MEK board has similar design with 8QXP MEK. The major changes are 1. DDR changed to 16bits 1GB DDR part 2. USB3.0 is removed and only support OTG on typec port. (No SW change needed) This patch adds new defconfigs and DTS file for this new board. Signed-off-by: Ye Li <ye.li@nxp.com> Reviewed-by: Peng Fan <peng.fan@nxp.com> (cherry picked from commit 5efb4275f6cfefb5dd342f2e498834b40b989883)
2019-12-27MA-16095 set evk_8mm/evk_8mn usb dr_mode to "otg"faqiang.zhu
When trying to remove "CONFIG_USB_TCPC=y" to avoid ramdom issue of synchronous abort when enter fastboot, evk_8mm and evk_8mn can't enter fastboot mode, it's because init_type of the usb udevice private data is host if tcpc configuration is removed, if this init_type is host/peripheral, then the usb is forced to be this mode, can not be initialized as another. init_type of the usb udevice private data is firstly set based on the "dr_mode" in dtb, if "dr_mode" is not set, it will be set by other ways. here set the "dr_mode" property for the usb device to be "otg", then the device can be configured as either host or peripheral. Change-Id: Idadab7bb07e74bfc1f8768490c07127a35a02572 Signed-off-by: faqiang.zhu <faqiang.zhu@nxp.com>
2019-12-13MLK-23093 imx8m: Enable WDOG_B for timeoutYe Li
When doing reset_cpu, in normal case the WDOG_B outputs immediately after we clean WDA bit. But on mscale, the WDOG_B may be later than internal reset, and cause PMIC not reset. As we enabled the SD3.0 support, the PMIC must be reset to reset SD card. Change the reset_cpu to enable the WDOG_B for timeout as well, and set WDOG timeout to 1s. Signed-off-by: Ye Li <ye.li@nxp.com> Acked-by: Peng Fan <peng.fan@nxp.com> (cherry picked from commit e78f889637636d8b67fe6250623f3473514f1a23)
2019-12-05MLK-23088 imx8mn: Fix u-boot hang when ENV_IS_NOWHERE is enabledYe Li
By default we enable two env storage devices: SD/emmc or Flexspi. And u-boot will select it according to boot device. Some customer does not save env, so he removes these storage devices and enable ENV_IS_NOWHERE. But current env_get_location does not process the ENV_IS_NOWHERE, returns ENVL_UNKNOWN and causes u-boot hang. Signed-off-by: Ye Li <ye.li@nxp.com> Reviewed-by: Peng Fan <peng.fan@nxp.com> (cherry picked from commit 8ca25fba643e4cdbd71f8c7a41d0991e57388fc8)
2019-12-05MLK-22998-1 iimx8qm/imx8qxp: Update to latest SCFW APIRanjani Vaidyanathan
Sync SCFW API to commit b3c575a62b0e2 SCFW API version 16 Signed-off-by: Ranjani Vaidyanathan <ranjani.vaidyanathan@nxp.com> (cherry picked from commit 83014c2cdab9aeef0e1cbeb97820369b21995ea9)
2019-12-05SSI-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> (cherry picked from commit 75aa7f2254f0883aa14568ac32702b1ca15367e4)
2019-11-20MLK-22998 iimx8qm/imx8qxp: Update to latest SCFW APIRanjani Vaidyanathan
Sync SCFW API to commit 6dcd0242ae Signed-off-by: Ranjani Vaidyanathan <ranjani.vaidyanathan@nxp.com>
2019-11-05MA-15813-2 [Android] imx8q: Enable reset in spl stageJi Luo
The psci driver is not available at spl stage, calling reset_misc() will lead to panic. Guard the reset_misc() with "CONFIG_SPL_BUILD" config, leave the reset_cpu() to trigger board reset. Test: reset om imx8qm_mek. Change-Id: Icf95eb4505ba444f9930aa0320d34456fa22733f Signed-off-by: Ji Luo <ji.luo@nxp.com>
2019-10-28MLK-22851-4 imx8mm/imx8mn: Enable eMMC HS400ES and SD UHS mode on EVKYe Li
Both imx8mn/imx8mm EVK boards have eMMC 5.1 chip and support SD3.0 So we enable the HS400ES and UHS configs to enhance eMMC/SD access. The change also needs to set usdhc clock to 400Mhz and update compatible string to fsl,imx8mm-usdhc Signed-off-by: Ye Li <ye.li@nxp.com> Reviewed-by: Peng Fan <peng.fan@nxp.com>