summaryrefslogtreecommitdiffstats
path: root/configs/platform-v8a
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2020-08-20 10:59:07 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2020-08-21 10:57:24 +0200
commitf1d8cd1a03ee4823c7b7d851ff0e320bc872c770 (patch)
treef6722934619d7f784034b08f5a2f6ba6f3249eab /configs/platform-v8a
parentb52d3dce7ad5484ac8dbcf8ad4eca064cac107e6 (diff)
downloadDistroKit-f1d8cd1a03ee4823c7b7d851ff0e320bc872c770.tar.gz
DistroKit-f1d8cd1a03ee4823c7b7d851ff0e320bc872c770.tar.xz
Add barebox for i.MX8M boards
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'configs/platform-v8a')
-rw-r--r--configs/platform-v8a/barebox-imx8m.config984
-rw-r--r--configs/platform-v8a/patches/barebox-2020.08.1/0001-ARM-nxp-imx8mm-evk-always-set-up-UART.patch46
-rw-r--r--configs/platform-v8a/patches/barebox-2020.08.1/0002-ARM-imx8m-Make-uart-setup-function-name-more-generic.patch54
-rw-r--r--configs/platform-v8a/patches/barebox-2020.08.1/0003-ARM-i.MX8M-boards-always-set-up-UART.patch185
-rw-r--r--configs/platform-v8a/patches/barebox-2020.08.1/0004-clk-imx8mm-fix-CPU-clock.patch53
-rw-r--r--configs/platform-v8a/patches/barebox-2020.08.1/0101-Release-v2020.08.1-imx8m-20200821-1.patch21
-rw-r--r--configs/platform-v8a/patches/barebox-2020.08.1/series14
-rw-r--r--configs/platform-v8a/platformconfig1
-rw-r--r--configs/platform-v8a/platforms/barebox-imx8m.in9
-rw-r--r--configs/platform-v8a/rules/barebox-imx8m.make120
10 files changed, 1487 insertions, 0 deletions
diff --git a/configs/platform-v8a/barebox-imx8m.config b/configs/platform-v8a/barebox-imx8m.config
new file mode 100644
index 0000000..2f6c71d
--- /dev/null
+++ b/configs/platform-v8a/barebox-imx8m.config
@@ -0,0 +1,984 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# Barebox/arm 2020.08.1-20200821-1 Configuration
+#
+CONFIG_ARM=y
+CONFIG_ARM_LINUX=y
+CONFIG_TEXT_BASE=0x0
+
+#
+# System Type
+#
+# CONFIG_ARCH_AT91 is not set
+# CONFIG_ARCH_BCM283X is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_DAVINCI is not set
+# CONFIG_ARCH_DIGIC is not set
+# CONFIG_ARCH_EP93XX is not set
+# CONFIG_ARCH_HIGHBANK is not set
+CONFIG_ARCH_IMX=y
+# CONFIG_ARCH_LAYERSCAPE is not set
+# CONFIG_ARCH_MVEBU is not set
+# CONFIG_ARCH_MXS is not set
+# CONFIG_ARCH_NOMADIK is not set
+# CONFIG_ARCH_OMAP is not set
+# CONFIG_ARCH_PXA is not set
+# CONFIG_ARCH_ROCKCHIP is not set
+# CONFIG_ARCH_SOCFPGA is not set
+# CONFIG_ARCH_S3C24xx is not set
+# CONFIG_ARCH_S5PCxx is not set
+# CONFIG_ARCH_S3C64xx is not set
+# CONFIG_ARCH_STM32MP is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_VEXPRESS is not set
+# CONFIG_ARCH_TEGRA is not set
+# CONFIG_ARCH_UEMD is not set
+# CONFIG_ARCH_ZYNQ is not set
+# CONFIG_ARCH_ZYNQMP is not set
+# CONFIG_ARCH_QEMU is not set
+
+#
+# Processor Type
+#
+CONFIG_PHYS_ADDR_T_64BIT=y
+CONFIG_CPU_64=y
+CONFIG_CPU_V8=y
+CONFIG_CPU_64v8=y
+
+#
+# processor features
+#
+# CONFIG_BOOT_ENDIANNESS_SWITCH is not set
+CONFIG_SYS_SUPPORTS_64BIT_KERNEL=y
+CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y
+CONFIG_BAREBOX_MAX_IMAGE_SIZE=0xffffffff
+CONFIG_ARCH_IMX_IMXIMAGE=y
+
+#
+# Freescale i.MX System-on-Chip
+#
+CONFIG_ARCH_IMX8M=y
+CONFIG_ARCH_IMX8MM=y
+CONFIG_ARCH_IMX8MP=y
+CONFIG_ARCH_IMX8MQ=y
+CONFIG_IMX_MULTI_BOARDS=y
+# CONFIG_MACH_SCB9328 is not set
+# CONFIG_MACH_TX25 is not set
+# CONFIG_MACH_PCA100 is not set
+# CONFIG_MACH_PCM038 is not set
+# CONFIG_MACH_KINDLE_MX50 is not set
+# CONFIG_MACH_CCMX51 is not set
+# CONFIG_MACH_EFIKA_MX_SMARTBOOK is not set
+# CONFIG_MACH_EMBEDSKY_E9 is not set
+# CONFIG_MACH_FREESCALE_MX51_PDK is not set
+# CONFIG_MACH_CCMX53 is not set
+# CONFIG_MACH_FREESCALE_MX53_LOCO is not set
+# CONFIG_MACH_GUF_VINCELL is not set
+# CONFIG_MACH_TQMA53 is not set
+# CONFIG_MACH_FREESCALE_MX53_VMX53 is not set
+# CONFIG_MACH_TX53 is not set
+# CONFIG_MACH_PHYTEC_SOM_IMX6 is not set
+# CONFIG_MACH_PROTONIC_IMX6 is not set
+# CONFIG_MACH_KONTRON_SAMX6I is not set
+# CONFIG_MACH_DFI_FS700_M60 is not set
+# CONFIG_MACH_GUF_SANTARO is not set
+# CONFIG_MACH_REALQ7 is not set
+# CONFIG_MACH_GK802 is not set
+# CONFIG_MACH_ELTEC_HIPERCAM is not set
+# CONFIG_MACH_TQMA6X is not set
+# CONFIG_MACH_TX6X is not set
+# CONFIG_MACH_SABRELITE is not set
+# CONFIG_MACH_SABRESD is not set
+# CONFIG_MACH_FREESCALE_IMX6SX_SABRESDB is not set
+# CONFIG_MACH_NITROGEN6 is not set
+# CONFIG_MACH_SOLIDRUN_MICROSOM is not set
+# CONFIG_MACH_TECHNEXION_PICO_HOBBIT is not set
+# CONFIG_MACH_TECHNEXION_WANDBOARD is not set
+# CONFIG_MACH_EMBEST_MARSBOARD is not set
+# CONFIG_MACH_EMBEST_RIOTBOARD is not set
+# CONFIG_MACH_UDOO is not set
+# CONFIG_MACH_UDOO_NEO is not set
+# CONFIG_MACH_VARISCITE_MX6 is not set
+# CONFIG_MACH_GW_VENTANA is not set
+# CONFIG_MACH_CM_FX6 is not set
+# CONFIG_MACH_ADVANTECH_ROM_742X is not set
+# CONFIG_MACH_WARP7 is not set
+# CONFIG_MACH_VF610_TWR is not set
+# CONFIG_MACH_ZII_RDU1 is not set
+# CONFIG_MACH_ZII_RDU2 is not set
+# CONFIG_MACH_ZII_IMX8MQ_DEV is not set
+# CONFIG_MACH_ZII_VF610_DEV is not set
+# CONFIG_MACH_ZII_IMX7D_DEV is not set
+# CONFIG_MACH_PHYTEC_PHYCORE_IMX7 is not set
+# CONFIG_MACH_FREESCALE_MX7_SABRESD is not set
+# CONFIG_MACH_NXP_IMX6ULL_EVK is not set
+CONFIG_MACH_NXP_IMX8MM_EVK=y
+CONFIG_MACH_NXP_IMX8MP_EVK=y
+CONFIG_MACH_NXP_IMX8MQ_EVK=y
+CONFIG_MACH_PHYTEC_SOM_IMX8MQ=y
+# CONFIG_MACH_GRINN_LITEBOARD is not set
+# CONFIG_MACH_DIGI_CCIMX6ULSBCPRO is not set
+
+#
+# Board specific settings
+#
+# end of Board specific settings
+
+#
+# i.MX specific settings
+#
+# CONFIG_IMX_IIM is not set
+# CONFIG_HABV4 is not set
+# end of i.MX specific settings
+
+# CONFIG_BOARD_ARM_GENERIC_DT is not set
+# end of System Type
+
+CONFIG_64BIT=y
+
+#
+# ARM specific settings
+#
+CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y
+CONFIG_ARM_EXCEPTIONS=y
+CONFIG_ARM_SMCCC=y
+# CONFIG_ARM_PSCI_CLIENT is not set
+# end of ARM specific settings
+
+CONFIG_GREGORIAN_CALENDER=y
+CONFIG_HAS_KALLSYMS=y
+CONFIG_HAS_CACHE=y
+CONFIG_HAS_DMA=y
+CONFIG_GENERIC_GPIO=y
+CONFIG_BLOCK=y
+CONFIG_BLOCK_WRITE=y
+CONFIG_FILETYPE=y
+CONFIG_BINFMT=y
+CONFIG_UIMAGE=y
+CONFIG_LOGBUF=y
+CONFIG_STDDEV=y
+CONFIG_MENUTREE=y
+CONFIG_FILE_LIST=y
+CONFIG_ARCH_DMA_ADDR_T_64BIT=y
+CONFIG_USBGADGET_START=y
+CONFIG_BOOT=y
+CONFIG_FASTBOOT_BASE=y
+
+#
+# General Settings
+#
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_BANNER=y
+CONFIG_MEMINFO=y
+CONFIG_ENVIRONMENT_VARIABLES=y
+CONFIG_GLOBALVAR=y
+CONFIG_NVVAR=y
+
+#
+# memory layout
+#
+CONFIG_HAVE_PBL_IMAGE=y
+CONFIG_HAVE_PBL_MULTI_IMAGES=y
+CONFIG_HAVE_IMAGE_COMPRESSION=y
+CONFIG_PBL_IMAGE=y
+CONFIG_PBL_MULTI_IMAGES=y
+CONFIG_PBL_RELOCATABLE=y
+CONFIG_IMAGE_COMPRESSION=y
+# CONFIG_IMAGE_COMPRESSION_LZ4 is not set
+CONFIG_IMAGE_COMPRESSION_LZO=y
+# CONFIG_IMAGE_COMPRESSION_GZIP is not set
+# CONFIG_IMAGE_COMPRESSION_XZKERN is not set
+# CONFIG_IMAGE_COMPRESSION_NONE is not set
+CONFIG_MMU=y
+CONFIG_MMU_EARLY=y
+CONFIG_BAREBOX_MAX_PBL_SIZE=0xffffffff
+CONFIG_BAREBOX_MAX_BARE_INIT_SIZE=0xffffffff
+CONFIG_STACK_SIZE=0x8000
+CONFIG_MALLOC_SIZE=0x0
+# end of memory layout
+
+# CONFIG_EXPERIMENTAL is not set
+# CONFIG_MALLOC_DLMALLOC is not set
+CONFIG_MALLOC_TLSF=y
+CONFIG_KALLSYMS=y
+CONFIG_RELOCATABLE=y
+# CONFIG_PANIC_HANG is not set
+CONFIG_PROMPT="barebox:"
+CONFIG_BAUDRATE=115200
+CONFIG_CBSIZE=1024
+CONFIG_SHELL_HUSH=y
+# CONFIG_SHELL_SIMPLE is not set
+# CONFIG_SHELL_NONE is not set
+CONFIG_GLOB=y
+CONFIG_GLOB_SORT=y
+CONFIG_PROMPT_HUSH_PS2="> "
+CONFIG_HUSH_FANCY_PROMPT=y
+CONFIG_CMDLINE_EDITING=y
+CONFIG_AUTO_COMPLETE=y
+CONFIG_MENU=y
+# CONFIG_PASSWORD is not set
+CONFIG_DYNAMIC_CRC_TABLE=y
+CONFIG_ERRNO_MESSAGES=y
+CONFIG_TIMESTAMP=y
+CONFIG_BOOTM=y
+CONFIG_BOOTM_SHOW_TYPE=y
+CONFIG_BOOTM_VERBOSE=y
+CONFIG_BOOTM_INITRD=y
+CONFIG_BOOTM_OFTREE=y
+CONFIG_BOOTM_OFTREE_UIMAGE=y
+# CONFIG_BOOTM_AIMAGE is not set
+# CONFIG_BOOTM_ELF is not set
+# CONFIG_BOOTM_FITIMAGE is not set
+CONFIG_BLSPEC=y
+CONFIG_FLEXIBLE_BOOTARGS=y
+CONFIG_BAREBOX_UPDATE=y
+CONFIG_IMD=y
+# CONFIG_IMD_TARGET is not set
+# CONFIG_KERNEL_INSTALL_TARGET is not set
+CONFIG_CONSOLE_FULL=y
+# CONFIG_CONSOLE_SIMPLE is not set
+# CONFIG_CONSOLE_NONE is not set
+# CONFIG_CONSOLE_ACTIVATE_FIRST is not set
+# CONFIG_CONSOLE_ACTIVATE_ALL is not set
+CONFIG_CONSOLE_ACTIVATE_NONE=y
+# CONFIG_CONSOLE_ALLOW_COLOR is not set
+CONFIG_PBL_CONSOLE=y
+CONFIG_CONSOLE_RATP=y
+# CONFIG_RATP_CMD_I2C is not set
+# CONFIG_RATP_CMD_GPIO is not set
+CONFIG_PARTITION=y
+CONFIG_PARTITION_DISK=y
+CONFIG_PARTITION_DISK_DOS=y
+CONFIG_PARTITION_DISK_EFI=y
+CONFIG_PARTITION_DISK_EFI_GPT_NO_FORCE=y
+CONFIG_PARTITION_DISK_EFI_GPT_COMPARE=y
+CONFIG_ENV_HANDLING=y
+CONFIG_DEFAULT_ENVIRONMENT=y
+# CONFIG_DEFAULT_COMPRESSION_GZIP is not set
+# CONFIG_DEFAULT_COMPRESSION_LZO is not set
+CONFIG_DEFAULT_COMPRESSION_NONE=y
+CONFIG_DEFAULT_ENVIRONMENT_GENERIC_NEW=y
+CONFIG_DEFAULT_ENVIRONMENT_GENERIC_NEW_MENU=y
+CONFIG_DEFAULT_ENVIRONMENT_PATH="$(objtree)/.ptxdist-defaultenv"
+# CONFIG_BAREBOXENV_TARGET is not set
+# CONFIG_BAREBOXCRC32_TARGET is not set
+CONFIG_POLLER=y
+# CONFIG_STATE is not set
+# CONFIG_BOOTCHOOSER is not set
+CONFIG_RESET_SOURCE=y
+
+#
+# OP-TEE loading
+#
+# CONFIG_BOOTM_OPTEE is not set
+# CONFIG_PBL_OPTEE is not set
+# end of OP-TEE loading
+
+#
+# Android Fastboot
+#
+CONFIG_FASTBOOT_SPARSE=y
+# CONFIG_FASTBOOT_CMD_OEM is not set
+# end of Android Fastboot
+# end of General Settings
+
+#
+# Debugging
+#
+CONFIG_COMPILE_LOGLEVEL=6
+CONFIG_DEFAULT_LOGLEVEL=7
+# CONFIG_DEBUG_LL is not set
+CONFIG_DEBUG_IMX_UART_PORT=1
+# CONFIG_DEBUG_INITCALLS is not set
+# CONFIG_PBL_BREAK is not set
+# CONFIG_UBSAN is not set
+# CONFIG_COMPILE_TEST is not set
+# end of Debugging
+
+CONFIG_HAS_DEBUG_LL=y
+CONFIG_COMMAND_SUPPORT=y
+CONFIG_COMPILE_HASH=y
+
+#
+# Commands
+#
+
+#
+# Information
+#
+CONFIG_CMD_ARM_CPUINFO=y
+CONFIG_CMD_DEVINFO=y
+CONFIG_CMD_DMESG=y
+CONFIG_CMD_DRVINFO=y
+CONFIG_CMD_HELP=y
+CONFIG_LONGHELP=y
+CONFIG_CMD_IOMEM=y
+CONFIG_CMD_IMD=y
+CONFIG_CMD_MEMINFO=y
+CONFIG_CMD_REGULATOR=y
+CONFIG_CMD_VERSION=y
+# CONFIG_CMD_MMC is not set
+CONFIG_CMD_MMC_EXTCSD=y
+# CONFIG_CMD_POLLER is not set
+# end of Information
+
+#
+# Boot
+#
+CONFIG_CMD_BOOT=y
+CONFIG_CMD_BOOTM=y
+CONFIG_CMD_GO=y
+# CONFIG_CMD_LOADB is not set
+# CONFIG_CMD_LOADS is not set
+# CONFIG_CMD_LOADY is not set
+CONFIG_CMD_RESET=y
+CONFIG_CMD_UIMAGE=y
+# end of Boot
+
+#
+# Partition
+#
+CONFIG_CMD_PARTITION=y
+CONFIG_CMD_AUTOMOUNT=y
+CONFIG_CMD_MOUNT=y
+CONFIG_CMD_UMOUNT=y
+# end of Partition
+
+#
+# Environment
+#
+CONFIG_CMD_NV=y
+CONFIG_CMD_EXPORT=y
+# CONFIG_CMD_DEFAULTENV is not set
+CONFIG_CMD_GLOBAL=y
+CONFIG_CMD_LOADENV=y
+CONFIG_CMD_PRINTENV=y
+CONFIG_CMD_MAGICVAR=y
+CONFIG_CMD_MAGICVAR_HELP=y
+CONFIG_CMD_SAVEENV=y
+# end of Environment
+
+#
+# File
+#
+CONFIG_CMD_BASENAME=y
+CONFIG_CMD_CAT=y
+CONFIG_CMD_CD=y
+CONFIG_CMD_CP=y
+# CONFIG_CMD_CMP is not set
+CONFIG_CMD_DIGEST=y
+CONFIG_CMD_DIRNAME=y
+CONFIG_CMD_FILETYPE=y
+CONFIG_CMD_LN=y
+CONFIG_CMD_LS=y
+CONFIG_CMD_MD5SUM=y
+CONFIG_CMD_MKDIR=y
+CONFIG_CMD_PWD=y
+CONFIG_CMD_READLINK=y
+CONFIG_CMD_RM=y
+CONFIG_CMD_RMDIR=y
+# CONFIG_CMD_SHA1SUM is not set
+# CONFIG_CMD_SHA224SUM is not set
+# CONFIG_CMD_SHA256SUM is not set
+# CONFIG_CMD_SHA384SUM is not set
+# CONFIG_CMD_SHA512SUM is not set
+CONFIG_CMD_UNCOMPRESS=y
+# end of File
+
+#
+# Shell scripting
+#
+CONFIG_CMD_FALSE=y
+CONFIG_CMD_GETOPT=y
+CONFIG_CMD_LET=y
+CONFIG_CMD_MSLEEP=y
+CONFIG_CMD_READF=y
+CONFIG_CMD_SLEEP=y
+CONFIG_CMD_TEST=y
+CONFIG_CMD_TRUE=y
+# end of Shell scripting
+
+#
+# Network
+#
+CONFIG_CMD_DHCP=y
+CONFIG_CMD_HOST=y
+CONFIG_NET_CMD_IFUP=y
+CONFIG_CMD_MIITOOL=y
+CONFIG_CMD_PING=y
+# CONFIG_CMD_TFTP is not set
+CONFIG_CMD_IP_ROUTE_GET=y
+# end of Network
+
+#
+# Console and Framebuffer interaction
+#
+CONFIG_CMD_CLEAR=y
+CONFIG_CMD_ECHO=y
+CONFIG_CMD_ECHO_E=y
+CONFIG_CMD_EDIT=y
+# CONFIG_CMD_LOGIN is not set
+CONFIG_CMD_MENU=y
+CONFIG_CMD_MENU_MANAGEMENT=y
+CONFIG_CMD_MENUTREE=y
+CONFIG_CMD_READLINE=y
+CONFIG_CMD_TIMEOUT=y
+# end of Console and Framebuffer interaction
+
+#
+# Memory
+#
+CONFIG_CMD_CRC=y
+CONFIG_CMD_CRC_CMP=y
+CONFIG_CMD_MD=y
+CONFIG_CMD_MEMCMP=y
+CONFIG_CMD_MEMCPY=y
+CONFIG_CMD_MEMSET=y
+CONFIG_CMD_MEMTEST=y
+CONFIG_CMD_MM=y
+CONFIG_CMD_MW=y
+# end of Memory
+
+#
+# Hardware manipulation
+#
+CONFIG_CMD_CLK=y
+CONFIG_CMD_DETECT=y
+CONFIG_CMD_FLASH=y
+CONFIG_CMD_GPIO=y
+CONFIG_CMD_HWCLOCK=y
+CONFIG_CMD_I2C=y
+CONFIG_CMD_LED=y
+# CONFIG_CMD_POWEROFF is not set
+# CONFIG_CMD_SMC is not set
+CONFIG_CMD_SPI=y
+CONFIG_CMD_LED_TRIGGER=y
+CONFIG_CMD_USB=y
+CONFIG_CMD_USBGADGET=y
+CONFIG_CMD_WD=y
+CONFIG_CMD_WD_DEFAULT_TIMOUT=0
+# end of Hardware manipulation
+
+#
+# Miscellaneous
+#
+# CONFIG_CMD_2048 is not set
+CONFIG_CMD_BAREBOX_UPDATE=y
+# CONFIG_CMD_BLOBGEN is not set
+# CONFIG_CMD_FIRMWARELOAD is not set
+# CONFIG_CMD_OF_DIFF is not set
+CONFIG_CMD_OF_DUMP=y
+CONFIG_CMD_OF_NODE=y
+CONFIG_CMD_OF_PROPERTY=y
+# CONFIG_CMD_OF_DISPLAY_TIMINGS is not set
+# CONFIG_CMD_OF_FIXUP_STATUS is not set
+# CONFIG_CMD_OF_OVERLAY is not set
+CONFIG_CMD_OFTREE=y
+CONFIG_CMD_TIME=y
+# CONFIG_CMD_DHRYSTONE is not set
+# CONFIG_CMD_SPD_DECODE is not set
+# CONFIG_CMD_SEED is not set
+# end of Miscellaneous
+# end of Commands
+
+CONFIG_NET=y
+# CONFIG_NET_NFS is not set
+CONFIG_NET_NETCONSOLE=y
+CONFIG_NET_RESOLV=y
+CONFIG_NET_IFUP=y
+CONFIG_NET_DHCP=y
+# CONFIG_NET_SNTP is not set
+
+#
+# Drivers
+#
+CONFIG_PM_GENERIC_DOMAINS=y
+CONFIG_OFTREE=y
+CONFIG_OFTREE_MEM_GENERIC=y
+CONFIG_DTC=y
+CONFIG_OFDEVICE=y
+CONFIG_OF_GPIO=y
+CONFIG_OF_BAREBOX_DRIVERS=y
+# CONFIG_OF_BAREBOX_ENV_IN_FS is not set
+# CONFIG_OF_OVERLAY is not set
+# CONFIG_AIODEV is not set
+
+#
+# serial drivers
+#
+CONFIG_SERIAL_DEV_BUS=y
+CONFIG_DRIVER_SERIAL_IMX=y
+# CONFIG_DRIVER_SERIAL_NS16550 is not set
+# CONFIG_DRIVER_SERIAL_CADENCE is not set
+# end of serial drivers
+
+CONFIG_ARCH_HAS_FEC_IMX=y
+CONFIG_PHYLIB=y
+
+#
+# Network drivers
+#
+# CONFIG_DRIVER_NET_ARC_EMAC is not set
+# CONFIG_DRIVER_NET_CALXEDA_XGMAC is not set
+# CONFIG_DRIVER_NET_DESIGNWARE is not set
+# CONFIG_DRIVER_NET_DESIGNWARE_EQOS is not set
+# CONFIG_DRIVER_NET_ENC28J60 is not set
+CONFIG_DRIVER_NET_FEC_IMX=y
+# CONFIG_DRIVER_NET_FSL_FMAN is not set
+# CONFIG_DRIVER_NET_KS8851_MLL is not set
+# CONFIG_DRIVER_NET_MICREL is not set
+# CONFIG_DRIVER_NET_SMC911X is not set
+# CONFIG_DRIVER_NET_SMC91111 is not set
+
+#
+# phylib
+#
+
+#
+# MII PHY device drivers
+#
+# CONFIG_AR8327N_PHY is not set
+# CONFIG_AT803X_PHY is not set
+# CONFIG_DAVICOM_PHY is not set
+CONFIG_DP83867_PHY=y
+# CONFIG_LXT_PHY is not set
+# CONFIG_MARVELL_PHY is not set
+CONFIG_MICREL_PHY=y
+# CONFIG_NATIONAL_PHY is not set
+CONFIG_REALTEK_PHY=y
+# CONFIG_SMSC_PHY is not set
+CONFIG_NET_DSA_MV88E6XXX=y
+
+#
+# MII bus device drivers
+#
+CONFIG_MDIO_BITBANG=y
+CONFIG_MDIO_GPIO=y
+CONFIG_MDIO_BUS_MUX=y
+CONFIG_MDIO_BUS_MUX_GPIO=y
+# end of phylib
+
+CONFIG_NET_USB=y
+CONFIG_NET_USB_ASIX=y
+# CONFIG_USB_NET_AX88179_178A is not set
+CONFIG_NET_USB_SMSC95XX=y
+# end of Network drivers
+
+#
+# SPI drivers
+#
+CONFIG_SPI=y
+CONFIG_SPI_MEM=y
+# CONFIG_DRIVER_SPI_FSL_QUADSPI is not set
+# CONFIG_DRIVER_SPI_GPIO is not set
+CONFIG_DRIVER_SPI_IMX=y
+CONFIG_DRIVER_SPI_IMX_2_3=y
+# end of SPI drivers
+
+CONFIG_I2C=y
+
+#
+# I2C Hardware Bus support
+#
+# CONFIG_I2C_GPIO is not set
+CONFIG_I2C_IMX=y
+# CONFIG_I2C_DESIGNWARE is not set
+# CONFIG_I2C_MV64XXX is not set
+# end of I2C Hardware Bus support
+
+# CONFIG_I2C_MUX is not set
+CONFIG_I2C_IMX_EARLY=y
+CONFIG_MTD=y
+CONFIG_MTD_WRITE=y
+CONFIG_MTD_OOB_DEVICE=y
+# CONFIG_MTD_RAW_DEVICE is not set
+# CONFIG_MTD_CONCAT is not set
+
+#
+# MTD debug options
+#
+# CONFIG_MTD_PEB_DEBUG is not set
+
+#
+# Self contained MTD devices
+#
+CONFIG_MTD_DATAFLASH=y
+# CONFIG_MTD_DATAFLASH_WRITE_VERIFY is not set
+CONFIG_MTD_M25P80=y
+# CONFIG_MTD_SST25L is not set
+# CONFIG_MTD_DOCG3 is not set
+# CONFIG_MTD_MTDRAM is not set
+# end of Self contained MTD devices
+
+# CONFIG_DRIVER_CFI is not set
+# CONFIG_NAND is not set
+CONFIG_MTD_SPI_NOR=y
+# CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set
+# CONFIG_SPI_CADENCE_QUADSPI is not set
+# CONFIG_MTD_UBI is not set
+CONFIG_DISK=y
+CONFIG_DISK_WRITE=y
+
+#
+# drive types
+#
+# CONFIG_DISK_ATA is not set
+# CONFIG_DISK_AHCI is not set
+
+#
+# interface types
+#
+# CONFIG_DISK_INTF_PLATFORM_IDE is not set
+CONFIG_USB=y
+CONFIG_USB_HOST=y
+CONFIG_USB_IMX_CHIPIDEA=y
+CONFIG_USB_IMX_CHIPIDEA_USBMISC=y
+# CONFIG_USB_DWC3 is not set
+# CONFIG_USB_EHCI is not set
+# CONFIG_USB_DWC2_HOST is not set
+# CONFIG_USB_XHCI is not set
+# CONFIG_USB_ULPI is not set
+CONFIG_USB_OTGDEV=y
+CONFIG_USB_STORAGE=y
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_HUB_USB251XB is not set
+CONFIG_USB_GADGET=y
+CONFIG_USB_GADGET_DUALSPEED=y
+CONFIG_USB_GADGET_DRIVER_ARC=y
+CONFIG_USB_GADGET_DRIVER_ARC_PBL=y
+CONFIG_USB_GADGET_AUTOSTART=y
+
+#
+# USB Gadget drivers
+#
+# CONFIG_USB_GADGET_DFU is not set
+CONFIG_USB_GADGET_SERIAL=y
+CONFIG_USB_GADGET_FASTBOOT=y
+# CONFIG_USB_MUSB is not set
+# CONFIG_VIDEO is not set
+CONFIG_MCI_SDHCI=y
+CONFIG_MCI=y
+
+#
+# --- Feature list ---
+#
+# CONFIG_MCI_STARTUP is not set
+CONFIG_MCI_INFO=y
+CONFIG_MCI_WRITE=y
+CONFIG_MCI_MMC_BOOT_PARTITIONS=y
+
+#
+# --- MCI host drivers ---
+#
+# CONFIG_MCI_DW is not set
+CONFIG_MCI_IMX_ESDHC=y
+# CONFIG_MCI_IMX_ESDHC_PIO is not set
+# CONFIG_MCI_ARASAN is not set
+# CONFIG_MCI_SPI is not set
+CONFIG_MCI_IMX_ESDHC_PBL=y
+CONFIG_HAVE_CLK=y
+CONFIG_CLKDEV_LOOKUP=y
+CONFIG_COMMON_CLK=y
+CONFIG_COMMON_CLK_OF_PROVIDER=y
+
+#
+# Clocksource
+#
+CONFIG_CLOCKSOURCE_DUMMY_RATE=1000
+CONFIG_CLOCKSOURCE_ARM_ARCHITECTED_TIMER=y
+# CONFIG_CLOCKSOURCE_DW_APB_TIMER is not set
+# end of Clocksource
+
+#
+# Multifunction device drivers
+#
+# CONFIG_MFD_ACT8846 is not set
+# CONFIG_MFD_DA9053 is not set
+# CONFIG_MFD_DA9063 is not set
+# CONFIG_MFD_LP3972 is not set
+# CONFIG_MFD_MC13XXX is not set
+# CONFIG_MFD_MC34704 is not set
+# CONFIG_MFD_MC9SDZ60 is not set
+# CONFIG_MFD_STMPE is not set
+# CONFIG_MFD_SYSCON is not set
+# CONFIG_MFD_TWL4030 is not set
+# CONFIG_MFD_TWL6030 is not set
+CONFIG_RAVE_SP_CORE=y
+# CONFIG_MFD_STPMIC1 is not set
+# end of Multifunction device drivers
+
+#
+# Misc devices
+#
+# CONFIG_JTAG is not set
+# CONFIG_SRAM is not set
+CONFIG_DEV_MEM=y
+# CONFIG_UBOOTVAR is not set
+# end of Misc devices
+
+CONFIG_LED=y
+CONFIG_LED_GPIO=y
+CONFIG_LED_GPIO_OF=y
+# CONFIG_LED_GPIO_RGB is not set
+# CONFIG_LED_GPIO_BICOLOR is not set
+CONFIG_LED_TRIGGERS=y
+# CONFIG_LED_PCA955X is not set
+
+#
+# EEPROM support
+#
+CONFIG_EEPROM_AT25=y
+CONFIG_EEPROM_AT24=y
+# end of EEPROM support
+
+#
+# Input device support
+#
+# CONFIG_KEYBOARD_GPIO is not set
+# CONFIG_KEYBOARD_IMX_KEYPAD is not set
+# CONFIG_KEYBOARD_QT1070 is not set
+# CONFIG_KEYBOARD_USB is not set
+# CONFIG_INPUT_SPECIALKEYS is not set
+# end of Input device support
+
+CONFIG_WATCHDOG_IMX_RESET_SOURCE=y
+CONFIG_WATCHDOG=y
+# CONFIG_WATCHDOG_POLLER is not set
+# CONFIG_WATCHDOG_DW is not set
+CONFIG_WATCHDOG_IMX=y
+CONFIG_RAVE_SP_WATCHDOG=y
+# CONFIG_PWM is not set
+# CONFIG_HWRNG is not set
+
+#
+# DMA support
+#
+# end of DMA support
+
+CONFIG_GPIOLIB=y
+
+#
+# GPIO
+#
+# CONFIG_GPIO_74164 is not set
+# CONFIG_GPIO_GENERIC_PLATFORM is not set
+CONFIG_GPIO_IMX=y
+# CONFIG_GPIO_PCA953X is not set
+# CONFIG_GPIO_PCF857X is not set
+# CONFIG_GPIO_DESIGNWARE is not set
+# CONFIG_GPIO_SX150X is not set
+# end of GPIO
+
+# CONFIG_W1 is not set
+
+#
+# Pin controllers
+#
+CONFIG_PINCTRL=y
+CONFIG_PINCTRL_IMX_IOMUX_V3=y
+# CONFIG_PINCTRL_SINGLE is not set
+# end of Pin controllers
+
+CONFIG_NVMEM=y
+# CONFIG_NVMEM_SNVS_LPGPR is not set
+CONFIG_IMX_OCOTP=y
+# CONFIG_IMX_OCOTP_WRITE is not set
+CONFIG_RAVE_SP_EEPROM=y
+# CONFIG_EEPROM_93XX46 is not set
+
+#
+# Bus devices
+#
+# CONFIG_IMX_WEIM is not set
+# end of Bus devices
+
+CONFIG_REGULATOR=y
+CONFIG_REGULATOR_FIXED=y
+# CONFIG_REGULATOR_PFUZE is not set
+
+#
+# Remoteproc drivers
+#
+# CONFIG_REMOTEPROC is not set
+# end of Remoteproc drivers
+
+# CONFIG_RESET_CONTROLLER is not set
+CONFIG_HW_HAS_PCI=y
+
+#
+# PCI bus options
+#
+# CONFIG_PCI is not set
+# CONFIG_PCI_IMX6 is not set
+# end of PCI bus options
+
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=y
+
+#
+# I2C RTC drivers
+#
+CONFIG_RTC_DRV_DS1307=y
+# CONFIG_RTC_DRV_ABRACON is not set
+# CONFIG_RTC_DRV_IMXDI is not set
+
+#
+# Firmware Drivers
+#
+# CONFIG_FIRMWARE_ALTERA_SERIAL is not set
+# end of Firmware Drivers
+
+CONFIG_GENERIC_PHY=y
+CONFIG_USB_NOP_XCEIV=y
+CONFIG_PHY_FSL_IMX8MQ_USB=y
+# CONFIG_CRYPTO_HW is not set
+
+#
+# Memory controller drivers
+#
+# end of Memory controller drivers
+
+#
+# i.MX SoC drivers
+#
+CONFIG_IMX_GPCV2_PM_DOMAINS=y
+# end of i.MX SoC drivers
+
+#
+# NVME Support
+#
+# end of NVME Support
+
+#
+# i.MX8M DDR controllers
+#
+CONFIG_IMX8M_DRAM=y
+# end of i.MX8M DDR controllers
+# end of Drivers
+
+#
+# Filesystem support
+#
+CONFIG_FS=y
+CONFIG_FS_LEGACY=y
+
+#
+# Some selected filesystems still use the legacy FS API.
+#
+
+#
+# Consider updating them.
+#
+CONFIG_FS_AUTOMOUNT=y
+# CONFIG_FS_CRAMFS is not set
+CONFIG_FS_EXT4=y
+CONFIG_FS_RAMFS=y
+CONFIG_FS_DEVFS=y
+CONFIG_FS_TFTP=y
+CONFIG_FS_NFS=y
+CONFIG_FS_FAT=y
+CONFIG_FS_FAT_WRITE=y
+CONFIG_FS_FAT_LFN=y
+# CONFIG_FS_JFFS2 is not set
+# CONFIG_FS_BPKFS is not set
+# CONFIG_FS_UIMAGEFS is not set
+# CONFIG_FS_PSTORE is not set
+# CONFIG_FS_SQUASHFS is not set
+
+#
+# ZLIB support disabled
+#
+
+#
+# LZ4 support disabled
+#
+
+#
+# LZO support disabled
+#
+
+#
+# XZ support disabled
+#
+
+#
+# ZSTD support disabled
+#
+CONFIG_FS_RATP=y
+# end of Filesystem support
+
+#
+# Library routines
+#
+CONFIG_PARAMETER=y
+CONFIG_UNCOMPRESS=y
+CONFIG_ZLIB=y
+# CONFIG_BZLIB is not set
+# CONFIG_LZ4_DECOMPRESS is not set
+# CONFIG_ZSTD_DECOMPRESS is not set
+# CONFIG_XZ_DECOMPRESS is not set
+# CONFIG_BASE64 is not set
+CONFIG_GENERIC_FIND_NEXT_BIT=y
+CONFIG_PROCESS_ESCAPE_SEQUENCE=y
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_FNMATCH=y
+CONFIG_QSORT=y
+CONFIG_IMAGE_SPARSE=y
+CONFIG_RATP=y
+# CONFIG_ALLOW_PRNG_FALLBACK is not set
+CONFIG_CRC_CCITT=y
+# CONFIG_CRC8 is not set
+
+#
+# Library gui routines
+#
+# end of Library gui routines
+
+# CONFIG_BAREBOX_LOGO is not set
+CONFIG_PRINTF_UUID=y
+# CONFIG_NLS is not set
+# CONFIG_BLOBGEN is not set
+CONFIG_ARCH_HAS_STACK_DUMP=y
+CONFIG_ARCH_HAS_DATA_ABORT_MASK=y
+# end of Library routines
+
+#
+# Crypto support
+#
+CONFIG_CRC32=y
+CONFIG_CRC_ITU_T=y
+CONFIG_DIGEST=y
+CONFIG_MD5=y
+# CONFIG_DIGEST_CRC32_GENERIC is not set
+CONFIG_DIGEST_MD5_GENERIC=y
+# CONFIG_DIGEST_SHA1_GENERIC is not set
+# CONFIG_DIGEST_SHA224_GENERIC is not set
+# CONFIG_DIGEST_SHA256_GENERIC is not set
+# CONFIG_DIGEST_SHA384_GENERIC is not set
+# CONFIG_DIGEST_SHA512_GENERIC is not set
+# CONFIG_DIGEST_HMAC_GENERIC is not set
+# CONFIG_DIGEST_SHA1_ARM is not set
+# CONFIG_DIGEST_SHA256_ARM is not set
+# CONFIG_CRYPTO_KEYSTORE is not set
+# end of Crypto support
+
+#
+# Firmware files
+#
+CONFIG_EXTRA_FIRMWARE_DIR="firmware"
+CONFIG_FIRMWARE_IMX_LPDDR4_PMU_TRAIN=y
+CONFIG_FIRMWARE_IMX8MM_ATF=y
+CONFIG_FIRMWARE_IMX8MP_ATF=y
+CONFIG_FIRMWARE_IMX8MQ_ATF=y
+# end of Firmware files
+
+#
+# Host Tools
+#
+# CONFIG_COMPILE_HOST_TOOLS is not set
+# CONFIG_ARCH_IMX_USBLOADER is not set
+# end of Host Tools
diff --git a/configs/platform-v8a/patches/barebox-2020.08.1/0001-ARM-nxp-imx8mm-evk-always-set-up-UART.patch b/configs/platform-v8a/patches/barebox-2020.08.1/0001-ARM-nxp-imx8mm-evk-always-set-up-UART.patch
new file mode 100644
index 0000000..377b2f6
--- /dev/null
+++ b/configs/platform-v8a/patches/barebox-2020.08.1/0001-ARM-nxp-imx8mm-evk-always-set-up-UART.patch
@@ -0,0 +1,46 @@
+From: Lucas Stach <l.stach@pengutronix.de>
+Date: Tue, 11 Aug 2020 11:43:29 +0200
+Subject: [PATCH] ARM: nxp-imx8mm-evk: always set up UART
+
+When the TF-A is configured to have some output on the UART it does not
+set up the UART on its own, but just expects a pre-existing configuration.
+If Barebox did not set up the UART in the !DEBUG_LL case, TF-A will just
+hang without any user accessible debug output, which is a very non-obvious
+failure, so better be safe and always set up the UART in case TF-A wants
+to use it.
+
+Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
+Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
+---
+ arch/arm/boards/nxp-imx8mm-evk/lowlevel.c | 10 ++++++----
+ 1 file changed, 6 insertions(+), 4 deletions(-)
+
+diff --git a/arch/arm/boards/nxp-imx8mm-evk/lowlevel.c b/arch/arm/boards/nxp-imx8mm-evk/lowlevel.c
+index cd1f7d168bc6..082aefb8c1c5 100644
+--- a/arch/arm/boards/nxp-imx8mm-evk/lowlevel.c
++++ b/arch/arm/boards/nxp-imx8mm-evk/lowlevel.c
+@@ -32,9 +32,12 @@ static void setup_uart(void)
+
+ imx8mm_setup_pad(IMX8MM_PAD_UART2_TXD_UART2_TX | UART_PAD_CTRL);
+
+- imx8m_uart_setup_ll();
++ imx8mq_uart_setup((void *)MX8M_UART2_BASE_ADDR);
+
+- putc_ll('>');
++ if (IS_ENABLED(CONFIG_DEBUG_LL)) {
++ imx8m_uart_setup_ll();
++ putc_ll('>');
++ }
+ }
+
+ static void pmic_reg_write(void *i2c, int reg, uint8_t val)
+@@ -157,8 +160,7 @@ static void start_atf(void)
+ */
+ static __noreturn noinline void nxp_imx8mm_evk_start(void)
+ {
+- if (IS_ENABLED(CONFIG_DEBUG_LL))
+- setup_uart();
++ setup_uart();
+
+ start_atf();
+
diff --git a/configs/platform-v8a/patches/barebox-2020.08.1/0002-ARM-imx8m-Make-uart-setup-function-name-more-generic.patch b/configs/platform-v8a/patches/barebox-2020.08.1/0002-ARM-imx8m-Make-uart-setup-function-name-more-generic.patch
new file mode 100644
index 0000000..4c7885a
--- /dev/null
+++ b/configs/platform-v8a/patches/barebox-2020.08.1/0002-ARM-imx8m-Make-uart-setup-function-name-more-generic.patch
@@ -0,0 +1,54 @@
+From: Sascha Hauer <s.hauer@pengutronix.de>
+Date: Fri, 21 Aug 2020 06:21:46 +0200
+Subject: [PATCH] ARM: imx8m: Make uart setup function name more generic
+
+So far all i.MX8M variants have the same UART base addresses, so let's
+be optimistic that it stays like that and rename imx8mq_uart_setup() to
+imx8m_uart_setup().
+
+Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
+---
+ arch/arm/boards/nxp-imx8mm-evk/lowlevel.c | 2 +-
+ arch/arm/mach-imx/include/mach/debug_ll.h | 2 +-
+ include/serial/imx-uart.h | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/arch/arm/boards/nxp-imx8mm-evk/lowlevel.c b/arch/arm/boards/nxp-imx8mm-evk/lowlevel.c
+index 082aefb8c1c5..96b78d2c6695 100644
+--- a/arch/arm/boards/nxp-imx8mm-evk/lowlevel.c
++++ b/arch/arm/boards/nxp-imx8mm-evk/lowlevel.c
+@@ -32,7 +32,7 @@ static void setup_uart(void)
+
+ imx8mm_setup_pad(IMX8MM_PAD_UART2_TXD_UART2_TX | UART_PAD_CTRL);
+
+- imx8mq_uart_setup((void *)MX8M_UART2_BASE_ADDR);
++ imx8m_uart_setup((void *)MX8M_UART2_BASE_ADDR);
+
+ if (IS_ENABLED(CONFIG_DEBUG_LL)) {
+ imx8m_uart_setup_ll();
+diff --git a/arch/arm/mach-imx/include/mach/debug_ll.h b/arch/arm/mach-imx/include/mach/debug_ll.h
+index f2114d50e91e..3217fc1c32f6 100644
+--- a/arch/arm/mach-imx/include/mach/debug_ll.h
++++ b/arch/arm/mach-imx/include/mach/debug_ll.h
+@@ -105,7 +105,7 @@ static inline void imx8m_uart_setup_ll(void)
+ {
+ void *base = IOMEM(IMX_UART_BASE(IMX_DEBUG_SOC,
+ CONFIG_DEBUG_IMX_UART_PORT));
+- imx8mq_uart_setup(base);
++ imx8m_uart_setup(base);
+ }
+
+ static inline void PUTC_LL(int c)
+diff --git a/include/serial/imx-uart.h b/include/serial/imx-uart.h
+index 23cee26fcfb0..c0a03ac05401 100644
+--- a/include/serial/imx-uart.h
++++ b/include/serial/imx-uart.h
+@@ -201,7 +201,7 @@ static inline void imx7_uart_setup(void __iomem *uartbase)
+ imx_uart_setup(uartbase, 24000000);
+ }
+
+-static inline void imx8mq_uart_setup(void __iomem *uartbase)
++static inline void imx8m_uart_setup(void __iomem *uartbase)
+ {
+ imx_uart_setup(uartbase, 25000000);
+ }
diff --git a/configs/platform-v8a/patches/barebox-2020.08.1/0003-ARM-i.MX8M-boards-always-set-up-UART.patch b/configs/platform-v8a/patches/barebox-2020.08.1/0003-ARM-i.MX8M-boards-always-set-up-UART.patch
new file mode 100644
index 0000000..77c5a40
--- /dev/null
+++ b/configs/platform-v8a/patches/barebox-2020.08.1/0003-ARM-i.MX8M-boards-always-set-up-UART.patch
@@ -0,0 +1,185 @@
+From: Sascha Hauer <s.hauer@pengutronix.de>
+Date: Fri, 21 Aug 2020 06:18:43 +0200
+Subject: [PATCH] ARM: i.MX8M boards: always set up UART
+
+Quoting Lucas on b96cc34f91 ("ARM: nxp-imx8mm-evk: always set up UART"):
+
+| When the TF-A is configured to have some output on the UART it does not
+| set up the UART on its own, but just expects a pre-existing configuration.
+| If Barebox did not set up the UART in the !DEBUG_LL case, TF-A will just
+| hang without any user accessible debug output, which is a very non-obvious
+| failure, so better be safe and always set up the UART in case TF-A wants
+| to use it.
+
+This patch adopts this for all i.MX8M boards and makes the early UART
+setup consistent across all of them. We also add pbl_set_putc() to
+enable regular PBL console messages. For the i.MX8MM-EVK the unnecessary
+call to imx8m_uart_setup_ll() is dropped; we already configured the
+UART in imx8m_uart_setup(), no need to do that again.
+
+Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
+---
+ arch/arm/boards/nxp-imx8mm-evk/lowlevel.c | 10 +++++-----
+ arch/arm/boards/nxp-imx8mp-evk/lowlevel.c | 9 ++++++---
+ arch/arm/boards/nxp-imx8mq-evk/lowlevel.c | 8 +++++---
+ arch/arm/boards/phytec-som-imx8mq/lowlevel.c | 9 ++++++---
+ arch/arm/boards/zii-imx8mq-dev/lowlevel.c | 10 ++++++----
+ 5 files changed, 28 insertions(+), 18 deletions(-)
+
+diff --git a/arch/arm/boards/nxp-imx8mm-evk/lowlevel.c b/arch/arm/boards/nxp-imx8mm-evk/lowlevel.c
+index 96b78d2c6695..2297dc01e77f 100644
+--- a/arch/arm/boards/nxp-imx8mm-evk/lowlevel.c
++++ b/arch/arm/boards/nxp-imx8mm-evk/lowlevel.c
+@@ -28,16 +28,16 @@ extern char __dtb_imx8mm_evk_start[];
+
+ static void setup_uart(void)
+ {
++ void __iomem *uart = IOMEM(MX8M_UART2_BASE_ADDR);
++
+ imx8m_early_setup_uart_clock();
+
+ imx8mm_setup_pad(IMX8MM_PAD_UART2_TXD_UART2_TX | UART_PAD_CTRL);
++ imx8m_uart_setup(uart);
+
+- imx8m_uart_setup((void *)MX8M_UART2_BASE_ADDR);
++ pbl_set_putc(imx_uart_putc, uart);
+
+- if (IS_ENABLED(CONFIG_DEBUG_LL)) {
+- imx8m_uart_setup_ll();
+- putc_ll('>');
+- }
++ putc_ll('>');
+ }
+
+ static void pmic_reg_write(void *i2c, int reg, uint8_t val)
+diff --git a/arch/arm/boards/nxp-imx8mp-evk/lowlevel.c b/arch/arm/boards/nxp-imx8mp-evk/lowlevel.c
+index 5df1ed078001..e4f994a1d1b8 100644
+--- a/arch/arm/boards/nxp-imx8mp-evk/lowlevel.c
++++ b/arch/arm/boards/nxp-imx8mp-evk/lowlevel.c
+@@ -34,11 +34,15 @@ extern char __dtb_imx8mp_evk_start[];
+
+ static void setup_uart(void)
+ {
++ void __iomem *uart = IOMEM(MX8M_UART2_BASE_ADDR);
++
+ imx8m_early_setup_uart_clock();
+
+ imx8mp_setup_pad(MX8MP_PAD_UART2_TXD__UART2_DCE_TX | UART_PAD_CTRL);
+ imx8mp_setup_pad(MX8MP_PAD_UART2_RXD__UART2_DCE_RX | UART_PAD_CTRL);
+- imx8m_uart_setup_ll();
++ imx8m_uart_setup(uart);
++
++ pbl_set_putc(imx_uart_putc, uart);
+
+ putc_ll('>');
+ }
+@@ -163,8 +167,7 @@ static void start_atf(void)
+ */
+ static __noreturn noinline void nxp_imx8mp_evk_start(void)
+ {
+- if (IS_ENABLED(CONFIG_DEBUG_LL))
+- setup_uart();
++ setup_uart();
+
+ start_atf();
+
+diff --git a/arch/arm/boards/nxp-imx8mq-evk/lowlevel.c b/arch/arm/boards/nxp-imx8mq-evk/lowlevel.c
+index 39358afad196..564621abef57 100644
+--- a/arch/arm/boards/nxp-imx8mq-evk/lowlevel.c
++++ b/arch/arm/boards/nxp-imx8mq-evk/lowlevel.c
+@@ -26,11 +26,14 @@ extern char __dtb_imx8mq_evk_start[];
+
+ static void setup_uart(void)
+ {
++ void __iomem *uart = IOMEM(MX8M_UART1_BASE_ADDR);
++
+ imx8m_early_setup_uart_clock();
+
+ imx8mq_setup_pad(IMX8MQ_PAD_UART1_TXD__UART1_TX | UART_PAD_CTRL);
++ imx8m_uart_setup(uart);
+
+- imx8m_uart_setup_ll();
++ pbl_set_putc(imx_uart_putc, uart);
+
+ putc_ll('>');
+ }
+@@ -53,8 +56,7 @@ static void setup_uart(void)
+ */
+ static __noreturn noinline void nxp_imx8mq_evk_start(void)
+ {
+- if (IS_ENABLED(CONFIG_DEBUG_LL))
+- setup_uart();
++ setup_uart();
+
+ /*
+ * If we are in EL3 we are running for the first time and need to
+diff --git a/arch/arm/boards/phytec-som-imx8mq/lowlevel.c b/arch/arm/boards/phytec-som-imx8mq/lowlevel.c
+index f5b9b6c00882..05226866f828 100644
+--- a/arch/arm/boards/phytec-som-imx8mq/lowlevel.c
++++ b/arch/arm/boards/phytec-som-imx8mq/lowlevel.c
+@@ -29,11 +29,15 @@ extern char __dtb_imx8mq_phytec_phycore_som_start[];
+
+ static void setup_uart(void)
+ {
++ void __iomem *uart = IOMEM(MX8M_UART1_BASE_ADDR);
++
+ imx8m_early_setup_uart_clock();
+
+ imx8mq_setup_pad(IMX8MQ_PAD_UART1_TXD__UART1_TX | UART_PAD_CTRL);
+
+- imx8m_uart_setup_ll();
++ imx8m_uart_setup(uart);
++
++ pbl_set_putc(imx_uart_putc, uart);
+
+ putc_ll('>');
+ }
+@@ -56,8 +60,7 @@ static void phytec_imx8mq_som_sram_setup(void)
+
+ static __noreturn noinline void phytec_phycore_imx8mq_start(void)
+ {
+- if (IS_ENABLED(CONFIG_DEBUG_LL))
+- setup_uart();
++ setup_uart();
+
+ if (get_pc() < MX8MQ_DDR_CSD1_BASE_ADDR) {
+ /*
+diff --git a/arch/arm/boards/zii-imx8mq-dev/lowlevel.c b/arch/arm/boards/zii-imx8mq-dev/lowlevel.c
+index 640083380906..311e61fb1da4 100644
+--- a/arch/arm/boards/zii-imx8mq-dev/lowlevel.c
++++ b/arch/arm/boards/zii-imx8mq-dev/lowlevel.c
+@@ -28,11 +28,14 @@
+
+ static void setup_uart(void)
+ {
++ void __iomem *uart = IOMEM(MX8M_UART1_BASE_ADDR);
++
+ imx8m_early_setup_uart_clock();
+
+ imx8mq_setup_pad(IMX8MQ_PAD_UART1_TXD__UART1_TX | UART_PAD_CTRL);
++ imx8m_uart_setup(uart);
+
+- imx8m_uart_setup_ll();
++ pbl_set_putc(imx_uart_putc, uart);
+
+ putc_ll('>');
+ }
+@@ -118,6 +121,8 @@ static __noreturn noinline void zii_imx8mq_dev_start(void)
+ unsigned int system_type;
+ void *fdt;
+
++ setup_uart();
++
+ if (get_pc() < MX8MQ_DDR_CSD1_BASE_ADDR) {
+ /*
+ * We assume that we were just loaded by MaskROM into
+@@ -194,9 +199,6 @@ ENTRY_FUNCTION(start_zii_imx8mq_dev, r0, r1, r2)
+ imx8mq_cpu_lowlevel_init();
+ relocate_to_current_adr();
+ setup_c();
+-
+- if (IS_ENABLED(CONFIG_DEBUG_LL))
+- setup_uart();
+
+ zii_imx8mq_dev_start();
+ }
diff --git a/configs/platform-v8a/patches/barebox-2020.08.1/0004-clk-imx8mm-fix-CPU-clock.patch b/configs/platform-v8a/patches/barebox-2020.08.1/0004-clk-imx8mm-fix-CPU-clock.patch
new file mode 100644
index 0000000..9d51128
--- /dev/null
+++ b/configs/platform-v8a/patches/barebox-2020.08.1/0004-clk-imx8mm-fix-CPU-clock.patch
@@ -0,0 +1,53 @@
+From: Lucas Stach <l.stach@pengutronix.de>
+Date: Thu, 20 Aug 2020 21:45:47 +0200
+Subject: [PATCH] clk: imx8mm: fix CPU clock
+
+This is a port of the Linux kernel commit d3b70cd87e77 (clk: imx: imx8mm:
+fix a53 cpu cloc). This allows the reparenting as specified in the new DTs
+to succeed.
+
+Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
+Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
+---
+ drivers/clk/imx/clk-imx8mm.c | 13 +++++++++----
+ 1 file changed, 9 insertions(+), 4 deletions(-)
+
+diff --git a/drivers/clk/imx/clk-imx8mm.c b/drivers/clk/imx/clk-imx8mm.c
+index a31741af884f..17cb0177f758 100644
+--- a/drivers/clk/imx/clk-imx8mm.c
++++ b/drivers/clk/imx/clk-imx8mm.c
+@@ -26,6 +26,8 @@ static const char *sys_pll3_bypass_sels[] = {"sys_pll3", "sys_pll3_ref_sel", };
+ static const char *imx8mm_a53_sels[] = {"osc_24m", "arm_pll_out", "sys_pll2_500m", "sys_pll2_1000m",
+ "sys_pll1_800m", "sys_pll1_400m", "audio_pll1_out", "sys_pll3_out", };
+
++static const char *imx8mm_a53_core_sels[] = {"arm_a53_div", "arm_pll_out", };
++
+ static const char *imx8mm_m4_sels[] = {"osc_24m", "sys_pll2_200m", "sys_pll2_250m", "sys_pll1_266m",
+ "sys_pll1_800m", "audio_pll1_out", "video_pll1_out", "sys_pll3_out", };
+
+@@ -396,6 +398,9 @@ static int imx8mm_clocks_init(struct device_node *ccm_np)
+ clks[IMX8MM_CLK_GPU3D_DIV] = imx_clk_divider2("gpu3d_div", "gpu3d_cg", ccm + 0x8180, 0, 3);
+ clks[IMX8MM_CLK_GPU2D_DIV] = imx_clk_divider2("gpu2d_div", "gpu2d_cg", ccm + 0x8200, 0, 3);
+
++ /* CORE SEL */
++ clks[IMX8MM_CLK_A53_CORE] = imx_clk_mux2_flags("arm_a53_core", ccm + 0x9880, 24, 1, imx8mm_a53_core_sels, ARRAY_SIZE(imx8mm_a53_core_sels), CLK_IS_CRITICAL);
++
+ /* BUS */
+ clks[IMX8MM_CLK_MAIN_AXI] = imx8m_clk_composite_critical("main_axi", imx8mm_main_axi_sels, ccm + 0x8800);
+ clks[IMX8MM_CLK_ENET_AXI] = imx8m_clk_composite("enet_axi", imx8mm_enet_axi_sels, ccm + 0x8880);
+@@ -556,11 +561,11 @@ static int imx8mm_clocks_init(struct device_node *ccm_np)
+ clks[IMX8MM_CLK_DRAM_ALT_ROOT] = imx_clk_fixed_factor("dram_alt_root", "dram_alt", 1, 4);
+ clks[IMX8MM_CLK_DRAM_CORE] = imx_clk_mux2_flags("dram_core_clk", ccm + 0x9800, 24, 1, imx8mm_dram_core_sels, ARRAY_SIZE(imx8mm_dram_core_sels), CLK_IS_CRITICAL);
+
+- clks[IMX8MM_CLK_ARM] = imx_clk_cpu("arm", "arm_a53_div",
+- clks[IMX8MM_CLK_A53_DIV],
+- clks[IMX8MM_CLK_A53_SRC],
++ clks[IMX8MM_CLK_ARM] = imx_clk_cpu("arm", "arm_a53_core",
++ clks[IMX8MM_CLK_A53_CORE],
++ clks[IMX8MM_CLK_A53_CORE],
+ clks[IMX8MM_ARM_PLL_OUT],
+- clks[IMX8MM_SYS_PLL1_800M]);
++ clks[IMX8MM_CLK_A53_DIV]);
+
+ imx_check_clocks(clks, ARRAY_SIZE(clks));
+
diff --git a/configs/platform-v8a/patches/barebox-2020.08.1/0101-Release-v2020.08.1-imx8m-20200821-1.patch b/configs/platform-v8a/patches/barebox-2020.08.1/0101-Release-v2020.08.1-imx8m-20200821-1.patch
new file mode 100644
index 0000000..e33e8e8
--- /dev/null
+++ b/configs/platform-v8a/patches/barebox-2020.08.1/0101-Release-v2020.08.1-imx8m-20200821-1.patch
@@ -0,0 +1,21 @@
+From: Sascha Hauer <s.hauer@pengutronix.de>
+Date: Fri, 21 Aug 2020 07:43:53 +0200
+Subject: [PATCH] Release v2020.08.1-imx8m/20200821-1
+
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index d27b78201bda..d6aab4c98507 100644
+--- a/Makefile
++++ b/Makefile
+@@ -2,7 +2,7 @@
+ VERSION = 2020
+ PATCHLEVEL = 08
+ SUBLEVEL = 1
+-EXTRAVERSION =
++EXTRAVERSION =-20200821-1
+ NAME = None
+
+ # *DOCUMENTATION*
diff --git a/configs/platform-v8a/patches/barebox-2020.08.1/series b/configs/platform-v8a/patches/barebox-2020.08.1/series
new file mode 100644
index 0000000..7795aa1
--- /dev/null
+++ b/configs/platform-v8a/patches/barebox-2020.08.1/series
@@ -0,0 +1,14 @@
+# umpf-base: v2020.08.1
+# umpf-name: v2020.08.1-imx8m
+# umpf-version: v2020.08.1-imx8m/20200821-1
+# umpf-topic: v2020.08.0/topic/imx8m
+# umpf-hashinfo: f200913643b0a12af01d045261003de8bc6fc91c
+# umpf-topic-range: 4dcefc03c4db34233cfa49cf48141a75d574070e..19bddd83dd34d8c5b691db298847f351f5bc652d
+0001-ARM-nxp-imx8mm-evk-always-set-up-UART.patch
+0002-ARM-imx8m-Make-uart-setup-function-name-more-generic.patch
+0003-ARM-i.MX8M-boards-always-set-up-UART.patch
+0004-clk-imx8mm-fix-CPU-clock.patch
+# umpf-release: v2020.08.1-imx8m/20200821-1
+# umpf-topic-range: 19bddd83dd34d8c5b691db298847f351f5bc652d..08a8f1cc7a2d6ae1f100d721eeb697ca53889789
+0101-Release-v2020.08.1-imx8m-20200821-1.patch
+# umpf-end
diff --git a/configs/platform-v8a/platformconfig b/configs/platform-v8a/platformconfig
index d36c860..b65c57b 100644
--- a/configs/platform-v8a/platformconfig
+++ b/configs/platform-v8a/platformconfig
@@ -161,6 +161,7 @@ PTXCONF_CONSOLE_SPEED="115200"
# bootloaders
#
# PTXCONF_AT91BOOTSTRAP2 is not set
+PTXCONF_BAREBOX_IMX8M=y
PTXCONF_BAREBOX_ARCH_STRING="arm"
# PTXCONF_BAREBOX is not set
# PTXCONF_BAREBOX_MLO is not set
diff --git a/configs/platform-v8a/platforms/barebox-imx8m.in b/configs/platform-v8a/platforms/barebox-imx8m.in
new file mode 100644
index 0000000..ca11fe2
--- /dev/null
+++ b/configs/platform-v8a/platforms/barebox-imx8m.in
@@ -0,0 +1,9 @@
+## SECTION=bootloader
+
+config BAREBOX_IMX8M
+ select FIRMWARE_IMX
+ select IMX_ATF
+ tristate
+ prompt "Barebox (imx8m)"
+ help
+ FIXME
diff --git a/configs/platform-v8a/rules/barebox-imx8m.make b/configs/platform-v8a/rules/barebox-imx8m.make
new file mode 100644
index 0000000..6db8abf
--- /dev/null
+++ b/configs/platform-v8a/rules/barebox-imx8m.make
@@ -0,0 +1,120 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2020 by Sascha Hauer <s.hauer@pengutronix.de>
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_BAREBOX_IMX8M) += barebox-imx8m
+
+#
+# Paths and names
+#
+BAREBOX_IMX8M_VERSION := 2020.08.1
+BAREBOX_IMX8M_MD5 := d57031878390cb267f6641aedffcda9f
+BAREBOX_IMX8M := barebox-imx8m-$(BAREBOX_IMX8M_VERSION)
+BAREBOX_IMX8M_SUFFIX := tar.bz2
+BAREBOX_IMX8M_URL := $(call barebox-url, BAREBOX_IMX8M)
+BAREBOX_IMX8M_PATCHES := barebox-$(BAREBOX_IMX8M_VERSION)
+BAREBOX_IMX8M_SOURCE := $(SRCDIR)/$(BAREBOX_IMX8M_PATCHES).$(BAREBOX_IMX8M_SUFFIX)
+BAREBOX_IMX8M_DIR := $(BUILDDIR)/$(BAREBOX_IMX8M)
+BAREBOX_IMX8M_BUILD_DIR := $(BAREBOX_IMX8M_DIR)-build
+BAREBOX_IMX8M_CONFIG := $(call ptx/in-platformconfigdir, barebox-imx8m.config)
+BAREBOX_IMX8M_LICENSE := GPL-2.0-only
+BAREBOX_IMX8M_BUILD_OOT := KEEP
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+# use host pkg-config for host tools
+BAREBOX_IMX8M_PATH := PATH=$(HOST_PATH)
+
+BAREBOX_IMX8M_WRAPPER_BLACKLIST := \
+ $(PTXDIST_LOWLEVEL_WRAPPER_BLACKLIST)
+
+BAREBOX_IMX8M_CONF_OPT := \
+ -C $(BAREBOX_IMX8M_DIR) \
+ O=$(BAREBOX_IMX8M_BUILD_DIR) \
+ $(call barebox-opts, BAREBOX_IMX8M)
+
+BAREBOX_IMX8M_MAKE_OPT := $(BAREBOX_IMX8M_CONF_OPT)
+
+BAREBOX_IMX8M_IMAGES := barebox-nxp-imx8mp-evk.img \
+ barebox-nxp-imx8mq-evk.img \
+ barebox-nxp-imx8mm-evk.img
+BAREBOX_IMX8M_IMAGES := $(addprefix $(BAREBOX_IMX8M_BUILD_DIR)/images/,$(BAREBOX_IMX8M_IMAGES))
+
+ifdef PTXCONF_BAREBOX_IMX8M
+$(BAREBOX_IMX8M_CONFIG):
+ @echo
+ @echo "****************************************************************************"
+ @echo " Please generate a bareboxconfig with 'ptxdist menuconfig barebox-imx8m'"
+ @echo "****************************************************************************"
+ @echo
+ @echo
+ @exit 1
+endif
+
+$(STATEDIR)/barebox-imx8m.prepare: $(BAREBOX_IMX8M_CONFIG)
+ @$(call targetinfo)
+ @$(call world/prepare, BAREBOX_IMX8M)
+
+ @for i in lpddr4_pmu_train_1d_dmem.bin lpddr4_pmu_train_1d_imem.bin \
+ lpddr4_pmu_train_2d_dmem.bin lpddr4_pmu_train_2d_imem.bin ; do \
+ cp $(PTXCONF_SYSROOT_TARGET)/firmware/ddr/synopsys/$$i $(BAREBOX_IMX8M_DIR)/firmware/; \
+ done
+
+ @for i in m p q; do \
+ cp $(PTXCONF_SYSROOT_TARGET)/usr/lib/atf/imx8m$$i-bl31.bin \
+ $(BAREBOX_IMX8M_DIR)/firmware/; \
+ done
+
+ @rm -f "$(BAREBOX_IMX8M_BUILD_DIR)/.ptxdist-defaultenv"
+ @ln -s "$(call ptx/in-platformconfigdir, barebox-imx8m-defaultenv)" \
+ "$(BAREBOX_IMX8M_BUILD_DIR)/.ptxdist-defaultenv"
+
+ @$(call touch)
+
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/barebox-imx8m.install:
+ @$(call targetinfo)
+ @$(call touch)
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/barebox-imx8m.targetinstall:
+ @$(call targetinfo)
+ @$(foreach image, $(BAREBOX_IMX8M_IMAGES), \
+ install -m 644 \
+ $(image) $(IMAGEDIR)/$(notdir $(image))-imx8m$(ptx/nl))
+ @$(call touch)
+
+# ----------------------------------------------------------------------------
+# Clean
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/barebox-imx8m.clean:
+ @$(call targetinfo)
+ @$(call clean_pkg, BAREBOX_IMX8M)
+ @$(foreach image, $(BAREBOX_IMX8M_IMAGES), \
+ rm -fv $(IMAGEDIR)/$(notdir $(image))-imx8m$(ptx/nl))
+
+# ----------------------------------------------------------------------------
+# oldconfig / menuconfig
+# ----------------------------------------------------------------------------
+
+barebox-imx8m_oldconfig barebox-imx8m_menuconfig barebox-imx8m_nconfig: $(STATEDIR)/barebox-imx8m.extract
+ @$(call world/kconfig, BAREBOX_IMX8M, $(subst barebox-imx8m_,,$@))
+
+# vim: syntax=make