diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2020-08-20 10:59:07 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2020-08-21 10:57:24 +0200 |
commit | f1d8cd1a03ee4823c7b7d851ff0e320bc872c770 (patch) | |
tree | f6722934619d7f784034b08f5a2f6ba6f3249eab /configs/platform-v8a | |
parent | b52d3dce7ad5484ac8dbcf8ad4eca064cac107e6 (diff) | |
download | DistroKit-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')
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 |